sqsh-2.1.7/0040775000076500007650000000000011367625415012763 5ustar mpepplermpepplersqsh-2.1.7/.settings/0040775000076500007650000000000011367625412014676 5ustar mpepplermpepplersqsh-2.1.7/.settings/org.eclipse.ltk.core.refactoring.prefs0100664000076500007650000000020711015060434024152 0ustar mpepplermpeppler#Wed May 21 19:19:37 CEST 2008 eclipse.preferences.version=1 org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false sqsh-2.1.7/.cproject0100664000076500007650000003037011056170714014565 0ustar mpepplermpeppler make build true true true make clean true true true sqsh-2.1.7/.gdb_history0100664000076500007650000000015010142721010015244 0ustar mpepplermpepplerfile /home/mpeppler/src/sqsh-cvs/sqsh/src/sqsh b var_set_width r -Usa -P -Slocalhost next cont up quit sqsh-2.1.7/.gdbinit0100664000076500007650000000005710034772562014377 0ustar mpepplermpepplerset args -Usa -P -Sdata-s1 b cmd_connect.c:365 sqsh-2.1.7/.project0100664000076500007650000000450611056170714014424 0ustar mpepplermpeppler sqsh org.eclipse.cdt.managedbuilder.core.genmakebuilder clean,full,incremental, org.eclipse.cdt.make.core.cleanBuildTarget clean org.eclipse.cdt.make.core.enableCleanBuild true ?name? org.eclipse.cdt.make.core.append_environment true org.eclipse.cdt.make.core.stopOnError true org.eclipse.cdt.make.core.buildCommand make org.eclipse.cdt.make.core.contents org.eclipse.cdt.make.core.activeConfigSettings org.eclipse.cdt.make.core.buildLocation ${workspace_loc:/sqsh} org.eclipse.cdt.make.core.useDefaultBuildCmd true org.eclipse.cdt.make.core.enableAutoBuild false org.eclipse.cdt.make.core.enableFullBuild true org.eclipse.cdt.make.core.buildArguments org.eclipse.cdt.make.core.fullBuildTarget all org.eclipse.cdt.make.core.autoBuildTarget all org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder org.eclipse.cdt.managedbuilder.core.ScannerConfigNature org.eclipse.cdt.managedbuilder.core.managedBuildNature org.eclipse.cdt.core.cnature sqsh-2.1.7/.pure0100664000076500007650000000000010034772562013716 0ustar mpepplermpepplersqsh-2.1.7/AUTHORS0100664000076500007650000000072711237553031014024 0ustar mpepplermpeppler$Id: AUTHORS,v 1.2 2009/08/09 13:58:49 mpeppler Exp $ Sqsh was written by Scott C. Gray. Scott did all the work through release 2.1. Sqsh is currently maintained by Michael Peppler (mpeppler@peppler.org) with the principal aim to keep sqsh's features and behavior in sync with Sybase's capabilities as new features are added to ASE. Release 2.1.6 includes a lot of code contributed by Martin Wesdorp (color prompts, better kerberos support, better timeout handling) sqsh-2.1.7/COPYING0100664000076500007650000004310010034772563014006 0ustar mpepplermpeppler GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. sqsh-2.1.7/ChangeLog0100664000076500007650000011766710420411075014534 0ustar mpepplermpeppler2005-12-30 Michael Peppler * src/sqsh_main.c (main): Add support for -P command line argument hiding via a pipe (a la isql). 2005-07-24 Michael Peppler * src/var_dsp.c (var_set_style): Add CSV style (patch from Thomas Depke). 2005-04-09 Michael Peppler * src/cmd_connect.c (check_opt_capability): Add this function to check for ct_option() capability. * src/var.h: Change "chained" to default to NULL. 2004-12-08 Michael Peppler * src/var_passwd.c (var_set_password): Add a check for NULL string (requested by Helmut Ruholl) 2004-11-09 Michael Peppler * src/cmd_bcp.c (cmd_bcp): Add support for BLK_VERSION_150. * src/cmd_connect.c (cmd_connect): Add support for CS_VERSION_150. * src/sqsh_compat.c (sqsh_getinput): Set the interrupted flag if user hits ^D. 2004-11-08 Michael Peppler * aclocal.m4 (AC_SYBASE_ASE): Change library search code to also look for libsybxxx.a and lib[syb]xxx64.a libraries. 2004-11-05 Michael Peppler * src/sqsh_main.c (main): Don't set "width" to the terminal width if it has been set via the .sqshrc file. * src/cmd_connect.c (cmd_connect): Change sprintf() to strncpy() to avoid possible buffer overflow problem. * src/dsp_desc.c (dsp_desc_bind): Comment out code to limit datafmt.maxlength to the column display max len. Avoids "bind resulted in truncation" errors for text/image/varchar/varbinary columns at the expense of disrupting the columnar display. * src/cmd_read.c (cmd_read): Use ctermid() to get the name of the controlling terminal. 2004-11-04 Michael Peppler * src/sqsh_expand.c (expand_skip_comment): Fix bug 1046570 segv if a go is first on a line within a comment. * src/cmd_connect.c (cmd_connect): First try at implementing optionally setting "chained" mode on connect. * aclocal.m4 (AC_SYBASE_ASE): Change the order of the libraries so that static linking will work. * src/cmd_read.c (cmd_read): Add check to make sure that we read data from the terminal in all cases. This means checking sqsh_stdin_isatty() and possibly opening /dev/tty for reading in the case where sqsh is run with its input redirected. 2004-04-12 Michael Peppler * src/cmd_bcp.c (cmd_bcp): Add logic to use the correct BLK_VERSION_xxx value corresponding to the CS_VERSION_xxx used when Client Library was initialized and the CS_CONTEXT was allocated in cmd_connect.h * src/sqsh_global.c (g_cs_ver): Add global variable to hold the value of the current CS_VERSION_xxx. Needed in cmd_bcp.c to correctly initialize the BLK command. * configure.in: Fixed configure script issues with obsolete macros and incorrect handling of libraries for the readline test. 2004-04-10 Michael Peppler * src/dsp_meta.c (dsp_meta): Applied patch from Andrew Pimlott to handle sqsh hanging when one interrupts output that is piped to another program. * src/sqsh_expand.c (expand_variable): Applied patch from Michael Chepelev for core dumps when expanding $$ $, etc. This bit of code is currently #ifdef'd pending complete testing of variable expansion. * src/cmd_func.c (cmd_call): Apply patch from Bin Mu to fix segfault when using \call without a function name. * src/cmd_bcp.c (cmd_bcp): Apply patch from Onno van der Linden to avoid potential divide by 0 error. 2004-04-09 Michael Peppler * src/dsp_desc.c (dsp_desc_fetch): Add support for CS_DATE_TYPE and CS_TIME_TYPE. * src/dsp_meta.c (dsp_meta_transtate): Add support for CS_DATE_TYPE and CS_TIME_TYPE. * src/dsp_desc.c (dsp_desc_fetch): CS_ROW_FAIL return codes from ct_fetch should not be considered fatal errors for the query, as they are usually the result of data overflow/truncation. * src/cmd_connect.c (cmd_connect): Add logic to use the the highest CS_VERSION_xxx value that is available at run-time. This should enable wide varchar() columns to be retrieved correctly when sqsh is built with 12.5.x OpenClient. $Id: ChangeLog,v 1.14 2006/04/16 09:45:33 mpeppler Exp $ Changes from 1.8 to 2.0 o New build system/directory structure. Should build against ASE 12.0 and FreeTDS now. o Added support for varchar2() and varbinary2() for ASE 12.5 (I don't have a 12.5 instance to test against yet though). o New $maxlen configuration variable controls the maximum amount of data that will be displayed for a given column. The default value is 8192 (8K). This will automaticallly truncate large columns (i.e. TEXT columns) to 8K. o Added \if command to perform conditional execution. This includes \elif and \else handling, like so: \if [ $x -lt 10 ] \echo hello \elif [ $x -lt 15 ] \echo hi \else \echo howdy \fi Please read the manual carefully on how expressions work. o Added \while command to perform basic looping conditional expressions: \while [ $x -lt 10 ] \echo $x \set x=`expr $x + 1` \done o Added \break command to break out of current loop o Added \for command to perform basic iteration. \for i in 1 2 3 4 5 6 \echo $i \done o Added \do command to allow the exection of a sqsh script block once per row returned from statement. Also new #[0-9] variables may be used to refer to column names in result set. SELECT name FROM SYSDATABASES \do USE #1 go CHECKPOINT go \done Also note that \do allows flags -U, -S, -P for execution of statements on other server or as other users. o Added \func command to create a sqsh function for later execution. Also, now ${[0-9]} now refer to the parameters to this function when it is called. \func stats SET STATISTICS IO ${1} SET STATISTICS TIME ${1} go \done \call stats on Note that by passing -x to \func, the function will be exported as a full sqsh command, and can be called directly without calling \call. o Added \return to return from current function. o Obviously, added \call to call sqsh function. o New variable $? contains: - Return status of command executed on pipe '|' - Return status of expression evaluated for \while or \if. - Last server error number of severity > 10 (@@error). This is useful for flow-of-control using the new conditional statements. o Added a directory of handy filter scripts. o Fixed \rpc command with @variable names. o \exit now exits sqsh, no matter how many \loop nesting levels you are in. o The user will now be re-prompted to enter a password if a "Login failed." message is received from the server. This may be disabled using the new $password_retry variable. o Fix for signal handling (usually puked on AIX) - Brian Bruns. Changes from 1.7 to 1.8 o Got rid of error message about ct_exit() not being called. o Created new 'make distrib' option to build a self-contained sqsh binary distribution. o $rcfile and $SQSHRC may now be colon delimited lists of sqshrc files. This allows for system-wide rc files to be loaded first before local files. Also, the default $SQSHRC setting is now "/usr/local/etc/sqshrc:$HOME/.sqshrc" (the /usr/local will be automatically replaced by the contents of --prefix when passed to configure). o Fixed -C. o $SQSHRC no longer needs to be writable. o sqsh no longer pays attention to quotes inside of comments during variable expansion. o Fixed bcp'ing of results from stored procedures. o libsybtcl will now be chosen if available. o 'exact' mode keyword expansion should now work better (thanks to Sean Woolcock . o Added $bcp_colsep and $bcp_rowsep configuration variables to control the separators used during "go -m bcp". o Added $bcp_trim to configure whether or not trailing spaces are trimmed in the bcp output. o Fixed segfault in "pretty" display mode. Changes from 1.6 to 1.7 o Added support for Windows NT (many thanks to Vadim Beloborodov for the tips and tricks to get cygwin32 to work properly). o Fixed Linux stropt.h problem. o For better NT support sqsh will now use $SHELL to determine which shell is to be used when processing pipes. o Horizontal output should now make maximal use of the screen width (it used to wrap at $width-1 characters). o Hopefully finally fixed characters being dropped in the output on certain platforms. o Added new `meta' display style. This style suppresses row data and only shows the behind-the-scenes meta information returned instead. I used this primarily for debugging Open Server passthrough gateways. o Added new `pretty' display style. This style prints its out- put in a nicely formatted table output. Also added the variable $colwidth to control the maximum width of a column displayed in this mode. o Finally re-wrote the \rpc command to use CT-Lib. This works as it did in 1.4 with the exception that output parameters can no longer be sent to sqsh variables. o Fixed CTRL-C problem sending sqsh into an infinite loop on some platforms. o Fixed -D flag to connect/reconnect. o Fixed install-wrapper's setting of LD_LIBRARY_PATH. o Added --with-motif support that will cause X support for sqsh to use Motif widgets rather than the rather crude and ugly Athena widgets. See INSTALL for details (thanks to John Griffin for contribted code). o Added --with-static configure flag to allow static linking with sybase libraries. o Added --with-devlib configure flag to allow linking with sybase devlib libraries. o Got rid of some compiler warning messages. o Worked around AIX bug where periodically a 'go | more' would stop displaying a prompt (this was a freaky problem). o The $history environment will now have its contents expanded prior to loading the history file. This allows for such nifty tricks as having a different history file for each server. Thanks to Colin Foss for this submission. o Added ability to pass multiple instances of '-e' to the \loop command. Thanks again to Colin Foss . o Changed password behavior. If password is set to the string "NULL" then the user is prompted. o Fixed problem with -k option being ignored. o Fixed -lsec library problem with HP-UX 10.20. o Fixed `errno' undeclared problem on certain environments. o Added -C flag to allow a single sql statement to be executed. Right now this is a little limited in that it may not contain any double quotes. o Added boolean $output_parms variable to enable to disable the display of output parameter result sets. o Fixed small locale problem when determining the maximum length of a datetime (thanks again to Vadim Beloborodov ). Changes from 1.5 to 1.6 Release 1.6 o Cleaned up the `Password' entry a tad to help programs like `expect' avoid race conditions. o Supplying a password of `-' to the -P flag will now cause your password to be read from the first line of stdin. o Added install-wrapper option to install a shell-script wrapper around sqsh that automatically takes care of setting your LD_LIBRARY_PATH (thanks to Tod Olsen). o Reverted back to the 1.5.2 version of the logic that determines the set of libraries on a given platform. 1.5.3 had some problems on certain Solaris installations. o Fixed redirection problem with the html and bcp display styles when performed non-interactively (say via a sqsh script). o Fixed problem where $database was no longer tracking your current database context (broken in previous release). o Added configurable display format for floats and reals via $float and $real environment variables. o Got rid of setjmp/longjmp in new filtering feature in order to lose some compiler warnings about clobbered variables. o Got rid of packet size limit of 2048 (I don't know why I had it in the first place). o Fixed coredump problem with `\set var' was called without an '=' to specify the value of the variable. o Hopefully got rid of characters being dropped on HP-UX when sqsh is linked with termcap. o Fixed problem with \read failing to echo when -h is not supplied. o Added -a option to \buf-load to append, rather than replace, the buffer being loaded. Release 1.5.3 (internal release) o Fixed bug on AIX where a COMPUTE clause without a BY list would fail to display any results. o Corrected bug where 'SELECT * FROM sysaudits' was not returning a result set. o Fixed problem with certain message headers being displayed when they shouldn't have, such as messages from dbcc's and database dumps. o Added new $filter and $filter_prog variables, and -t flag to \go command to allow the SQL buffer to be filtered through an external program (such as cpp or m4) prior to being sent to SQL Server. o Added new $HOME/.sqsh_readline output which will save away the readline line-by-line history buffer upon exit. Also added new variables $readline_history which allows you to change the default filename, and $readline_histsize which allows you to limit the number of entries in the file. o Added new "exact" option to the $keyword_completion variable which will complete the keyword exactly as it is specified in the .sqsh_words file. o Added new $repeat_batch variable to control whether or not a 'go' with an empty work buffer will repeat the last command executed. Note that this now defaults to 'off' which is the opposite of previous versions. o Added -x flag to the \set command to allow the variable to be exported to the environment. Also, the \set command may now be used to set more than one variable at a time. o Added $semicolon_cmd to set which command will be executed when a semicolon is encountered (only when $semicolon_hack is set to On). o PRINT statements and informational messages will no longer increment batch_failcount because $thresh_fail now defaults to 11. Any several level under 11 is now considered informational. o The -P option of \bcp no longer requires an argument o The \bcp command should deal with transferring identity columns between tables. Also, added the -N option to indiciate that the identity column values are not being supplied. o Fixed memory leak related to editing a SQL Buffer (sqsh was losing approx. 1K every time you ran vi, emacs, or edit). Thanks again to the folks at Pure. Release 1.5.2 o Added -D option to \connect and \reconnect to allow switching of database context during establishing of a new connection. o Return param result sets should now be displayed similar to 11.1 version of isql (anyway, they shouldn't cause sqsh to choke). o Ran sqsh through Purify (a great tool!) and cleaned up a couple of minor memory leaks and array boundry read problems. o Corrected the ability to ^C out of the \lock command (making it virtually useless). o Cleaned up error recovery during result set display so sqsh should no longer go into infinite loops. o SA_RESETHAND and SA_ONESHOT problems should be solved on AIX (which, for some reason does not support these flags). o Fixed problem with -P being ignored during \reconnect and \connect. Release 1.5.1 o Cleaned up 'configure' logic to make it a little smarter in determining whether or not to use siglongjmp() or longjmp(). o Added -lsdna to link line for OSF/1. o On SGI machines using TLI, configure should now choose to include the -lnsl library as well. o Got rid of test for -Xc flag on the SunPro compiler. This was causing sigjmp_buf to be unavailable for use by sqsh. o Fixed (?) problem with SA_RESETHAND being undefined on AIX, sqsh will now also look for SA_ONESHOT instead. o Fixed problem with $thresh_exit being ignored. o Fixed problem with sig_t conflicting with OS defintion on Dec UNIX in sqsh_sig.c. o Fixed formatting problem with REAL and FLOAT data types. o Added configurable date format with the $datetime variable, similar to the strftime(3C) function. o Started documentation on "How to write a sqsh command" in doc/Commands. Changes from 1.4 to 1.5 Release 1.5 o Fixed problem where sqsh was not kicking you out when the server was shut down. o Fixed bug in longjmp() code throughout sqsh that I am totally amazed hasn't caused anyone to coredump during the last year that sqsh has been available. o Fixed bug in signal handling during non-interactive mode. o Replaced entire signal handling mechanism in sqsh with a centralized signal handler (quite an interesting piece of work). This handler will use POSIX signals if they are available on the system, so -D_BSD_SIGNALS is no longer required on SGI IRIX. o Added $batch_pause to cause a "Hit enter to continue" message following each batch sent to the server, useful for use with $echo to debug scripts. o Added '-r sqshrc' option to allow you override the name of the .sqshrc file to read upon start-up. If sqshrc is not supplied then no startup file is read. o Optimized file descriptor handling so that sqsh no longer attempts to fstat() every possible file descriptor upon startup. o The "rows affected" message should come close to emulating isql's and older versions of sqsh. It probably will never match exactly, but should be pretty close. o Cleaned up client and server error handlers to display more closely to the DB-Lib version of sqsh (they still don't quite match, but it looks much better then 1.4.2). o Added -B flag so that sqsh will now attempt to turn off buffering of stdin, stdout, and stderr upon start-up. This should allow it to be controlled by such libraries as 'expect'. o Added --with-gcc flag, and INCDIRS and LIBDIRS environment variables (thanks to Tod Olson ). Release 1.4.2 o Reworked autoconf stuff to determine the set/order of libraries used to link according to OS type; if this fails, autoconf should now take a best guess. Also, added check to define _POSIX_SOURCE. Added --with-x, --x-includes, --x-libraries options to configure. o Got rid of extraneous error messages generated if a login fails (this was do to faulty clean-up code). o If no buffer is supplied, '\go' will now re-execute the last command run (thanks to Daniel Roitman for this patch). o Added '-e ' to the \loop command to execute the contents of within its own SQL Buffer (thanks again to Dan Roitman for this patch). o Horizontal output style (default isql style) will now attempt to pack the data as tight as the current locale will allow. For example, if the datetime format for the current locale uses at most 23 characters, then a 23 character column will be displayed. o Added new X display style if X11 support is compiled in. This also added the new $xgeom variable and -d, -w and -x flags to the \go command. o Semicolon will no longer be interpreted within comments (both "/* */" style and "--" style). o thresh_exit will now only be applicable while in non-interactive mode, rather than any time. o Added a FAQ to the distribution. Release 1.4.1 o Converted all internal Sybase calls from db-lib to ct-lib (a major undertaking that is highly likely to break things, so watch out!). o Fixed faulty test in which sqsh would only abort if $batch_failcount was exactly equal to $thresh_exit. o Added new "html" display style, that generates HTML constructs, this should be useful for running sqsh through a CGI. Right now, the format is not very configurable, but this may change in the future. o Stole some 'configure' logic from Steve Etchelecu (thanks Steve!), so sqsh should now automatically configure the appropriate include and lib directories as well as the required set of libraries. o Thanks to the kind sole that converted CT-Lib for Linux (Steve again?), the -DNO_DB flag has been removed. o Cleaned up many warning messages generated on stricter ANSI compilers (such as SunPro). o Slowly converting my coding style from K&R to BSD (much easier to read), so for those coders out there, you'll now see two different styles intermixed in the code until I am done cleaning everything up. Changes from 1.3 to 1.4 o Fixed bug in vertical display style where garbage was being displayed following certain data types. o Fixed bug in \bcp where it would give an overflow error on non-NULL CHAR(n) columns. o Added code to automatically detect window size change (SIGWINCH) and adjust the $width variable while sqsh is running. The behavior of resizing the screen while a result set is being displayed is undetermined. o Added new \lock command to lock the current session until a password is typed. The default password is the same as your UNIX password, unless the $lock password is set. o Both $password and $lock are no longer available in clear-text, they will now expand to '*password*' and '*lock*' respectively thus providing some semblance of security in sqsh. If you want to keep the old behavior, define -DINSECURE in the Makefile. o Added new \rpc command for calling a remote procedure directly. This is useful for using sqsh to control an Open Server that does not support language calls. Changes from 1.2 to 1.3 o (Hopefully) fixed bug with AIX dropping portions of the output from a command substitution (many thanks to David Whitmarsh !). o Fixed bug where \buf-edit attempted to launch an editor called \buf-edit. o Fixed bug where partial alias names were being expanded (for example just typing the first character of an alias name caused the alias to expand). o Added positional parameters when the -i flag is used, so now you can do nifty things like creating an executable file called sp_who with the contents of: #!/usr/local/bin/sqsh -i sp_who ${1} go o Added transaction count to the '\go' command, similar to isql's. Also added -s flag to \go to pause for a specified number of seconds per transactions. Also changed to statistics output to more closely resemble that of isql. o Corrected some faulty logic with error capturing. Now, the variable $thresh_fail is based upon the error severity as reported by the message handler rather than the error handler (makes a lot more sense). o Added -c flag to \connect and \reconnect to force the commands to ignore the value of $database. That is, to *not* attempt to preserve the current database context upon reconnect. o Added new selectable result set display styles. Currently supported styles are "horizontal" (traditional isql output), "vertical", "bcp", and "none" (thanks to Bob Stent for example vertical code). The display style is selectable via the new $style variable, and the -m command line flag and -m option to the \go command. o Added the \bcp command to transfer the result set from the current command batch to another SQL Server via bcp protocol. This acts kind of like a SELECT INTO another server. Changes from 1.1 to 1.2 o Got rid of the "(exit = X)" message generated by the \shell command and added a new variable called $? that contains the exit status of the process. o Fixed problem where the output of \shell would "out-run" the output of sqsh when redirected to a file. o Fixed problem with a background connection being established with a database context of the users default database rather than inheriting the context of the foreground (its parent) connection. o Added code to attempt to blank out the password from the command line on platforms that support this (hopefully this won't cause a coredump on other platforms). o Added -J flag and $charset variable to set the character set to be used on the client side. Note that the $charset variable will automatically set itself to the current client charset. o Added -X flag and $encryption variable to enable client-side password encryption. o Added -z flag and $language variable to enable language specific database messages. $language will automatically set itself to the current language context. o Added -H flag and $hostname variable to set the client hostname for the sqsh session. Note that "\set hostname=`hostname`" is a neat trick to put in your .sqshrc. o The $autouse variable has been deprecated. Now, if the $database variable is set, it will take precedence over the $autouse variable. Since the $database variable is automatically set after connecting to the database this fixes the bug where a background task was failing to connect to the same database as the forground task that launched it. o Added "real" alias support. That is, aliases may now contain additional command line information, and may include positional '!*' entries for expansion within the body of the alias. So, you may now do cool things like "\alias prod='\reconnect !* -SSYB_PROD'" and "\alias mo='\go !* | more'". Changes from 1.0 to 1.1 o Fixed bug with redirection failing to truncate the output file upon creation. o Fixed problem with -i flag being ignored by \loop. o During interactive use, sqsh will now attempt to figure out the current screen width if an explicit -w was not been supplied. This feature may not work on all terminals. o Added external environment variable SQSH, which may contain any desired sqsh command line arguments. This variable is parsed prior to parsing the actual sqsh command line. This provides yet another reasonably secure way to supply a password to sqsh. o Added new command line argument '-L var=value' used to set the value of the variable $var. This may be used to set any sqsh variable, even if there is no explicit command line flag available. o Added new $histnum variable that contains the history number that will be assigned to the current SQL batch as soon as the \go command is executed. o Added line continuation by escaping the new-line, that is if the line ends with a \\, then the newline will be ignored. o Added $prompt2 variable to be displayed during line continuations. o Drastically re-worked user input internals, cleaning up signal handling and modularlizing the read functions (making way for dealing with flow-of-control logic). Also got rid of compiler warnings about variables being clobbered by longjmp. o Added tons of comments to doc/sample.sqshrc. Changes from 0.8 to 1.0 o Fixed bug introduced in 0.8 where a NULL -P on the command line caused a coredump. o Reduced the circumstances in which the banner message is displayed (it won't be displayed if -i is used, or stdin or stdout has been redirected). o Fixed bug where setting $username in your .sqshrc was being ignored (it was still defaulting to your real username). o Fixed bug with coredumps when sqsh commands receive more than 16 arguments. o Fixed portability issue with the MAXPATHLEN define and with strdup prototype. o Fixed problem with sqsh failing to exit following a shutdown of the server (ignoring the EOF from SQL Server). The new rule is, unless you are doing a \reconnect, if DBPROCESS dies or is NULL, then sqsh will exit with 255. o Fixed portability problem for 4.9.2 systems that don't have the DBSETLPACKET() call available. o Corrected quoting rules. I used to interpret single quotes contained within double quotes and visa versa. This meant that in the string "scott '$rules'" the $rules wouldn't be expanded. According to POSIX quoting rules this isn't the correct behaviour. Once inside either single or double quotes the only quote to be interpreted is the matching closing quote. o Reworked the escaping mechanism. Basically I threw out the escaping via doubling mechanism (where ""hello"" expanded to "hello") and went with something a little more conventional. Since \ is already reserved for commands, the escape character is now \\. o Attempted to make sqsh command line parsing a bit smarter. Now, commands no longer have to begin at the very first column of the current command line. o Added command substitution both withing SQL batches and in a command function, using the ` character, much in the same way a standard shell does. This also necessitated the creation of the $ifs variable to determine the internal field separator. o Added new start-up configuration file ~/.sqsh_session to be executed immediatly prior to establishing a connection to the database. o To allow setting NULL passwords within the .sqshrc, you may now do: \set password=NULL. o Added all sorts of internal debugging code, a -l flag to set the debugging level and a new $debug variable. These are mostly undocumented, but they are there. o Added -v flag and $version variable to display the current version number. o \alias without any parameters will now display a list of the alias' that are currently in place. o \help now displays its commands in alphabetical order. o Added new \shell command to execute something in a sub-shell. o Added -i flag to \loop to supress error conditions if the supplied file name could not be opened. o Fixed problem with 'go 2>&1 | more' failing to redirect error messages to 'more'. o Added -k flag, $keyword_file variable for supplying your own file full of custom readline completion keyword. o Added support for -c without an associated argument. This is the same as -c "". Changes from 0.6 to 0.8 o Added some more GNU Autoconf logic to make Sequents happier with the gettimeofday() function. o Added $database variable which automagically keeps track of the current database context. o The SQSHRC environment variable was being ignored. This has been corrected. o Added README.SGI to detail solutions to getting sqsh to build on SGI's (thanks to Pablo Sanchez). o Added -D flag and $autouse variable to force to sqsh to connect with a database context of $autouse. o Added "real" history recall mechanism. That is, you don't need to have a space after the '!' to copy a buffer into the current work buffer. This feature is only available for interactive sessions and must be turned on with the $history_shorthand variable. o Re-worked signal handling for cmd_go.c (when your result set is being displayed), such that a longjmp() is never performed. Hopefully this will keep dblib happy across all platforms. o Fixed bug where -n flag to \echo was being ignored. o Added \read command to read input from user. o Drastically re-worked variable expansion scheme when executing sqsh commands. It used to be that when doing: 1> \set x="1 2 3" 2> \command $x that \command would only receive one argument, '1 2 3', however I was doing some testing and discovered that most shells don't behave this way. Now, \command will receive three arguments, '1', '2', and '3'. Unforunately (or fortunately) because of the way that I did this, this also means that you can now do: 1> \set x=">/dev/null" 2> \echo hello $x And "hello" will be sent to /dev/null, which isn't "standard" shell behaviour. o In an effort to take a stab at adding \if, \then, \endif logic to sqsh, \loop is now contextual, that is, each instance of \loop maintains its own $lineno and work buffer. This doesn't mean much now, but paves the way towards allowing loop to execute to be used by \if to execute one of the conditions. o Added comments using the '#'. Comments must begin at the first column of the line, and the first character following the '#' must *not* be a valid character for a temp-table name. This now gives you the ability to have sqsh skip lines that start with #!, so that sqsh scripts may now be run directly. o Fixed bug encountered on some systems, where a 60 second delay is encountered between when a pipe completed and the prompt is returned. Changes from 0.5 to 0.6 o Fixed problem introducted in 0.5 that caused sqsh to immediatly exit after reading a user's .sqshrc file on SunOS machines. o Fixed -s flag (I thought I had fixed it in 0.5, but I didn't). o Damn it! Once and for all, I have fixed the -c flag. I swear I wish I would read my own command and source code from time to time. o The check to verify if a variable being set by command line flags was properly specified, was not working. This has been corrected. o Fixed bad quoting rules associated with commands following a pipe. I was accidently striping the quotes off of the string following a pipe, which is not what was documented. o Cleaned up the message handler output to make sure that I print the name of the stored procedure (if applicable) and don't print the current line number (if no applicable). o Fixed problem where a SIGINT while sqsh is in non-interactive mode (i.e. reading input from a file or some-such), only caused sqsh to abort the current batch. It should now abort, returning an exit value of 254. o Added TSQL keyword completion if GNU readline support is compiled in. This feature may be turned on using the $keyword_completion variable, and supports either forcing the completion to lower case, upper case, or "smart" casing of the keyword. o Added call to dbsetversion(DBVERSION_100), if available, to fix dbcancel() failure on SGI's and similar platforms. This may also be fixed by grabbing the latest EBF of dblib for that platform. o Added the -d flag and $thresh_display variable to specify the minimum severity level which will display a message. o Added the -f flag and $thresh_fail variable to specify the minimum severity level which will be considered a failed batch. o Added the -a flag and $thresh_exit variable to specify the maximum number of failed batches (from above) that may occur before sqsh will exit. o Added -A flag and $packet_size variable to control the TDS packet size used during a session. o Added -o flag to attach sqsh's stdout to a file. o Added the \abort command to force sqsh to abort (even from within nested \loop's) with an error code of 254. o Added (well, added documentation for) $clear_on_fail, which is used to toggle wether or not the current work buffer is cleared out if the batch doesn't succeed. o Once again, I bow to the masses against my better judegement. You can now provide and empty alias for \go, via the command line option -c ''. However, this is a pretty ugly hack and is done using the variable $newline_go. Use at your own risk. You have been warned. o Added -y to specify alternative $SYBASE value. o Made the $semicolon_hack smarter. Now, if a semicolon is contained within either a set of single quotes or double quotes it will not be interpreted. This holds true even for multi-line quotes. Changes from 0.4 to 0.5 o Fixed more signal handling problem (actually, some that I thought were fixed in the last release) in config.h.in and cmd_go.c. Now, if you have sigsetjmp() available, then it will be used in preference to setjmp(). This solves many of the collisions with use with the readline library. o Actually remembered to update the banner message with the current version number (yeah, big deal). o Bowed (reluctantly) to the torrent of users that wanted to use ';' as an in-line command terminator. This must be turned on using the $semicolon_hack variable. Unfortunately, this is not yet smart enough to figure out when a ';' is being used inside of a quoted string. I'll add that later. o Fixed problem with certain severity 0 messages being dropped from being printed by the message handler. o For some reason I had the $colsep variable only accepting integer values, this also affected the -s flag. This has been cleared up (hopefully). o Fixed problem with my quoting rules: under certain circumstances sqsh would throw quotes out of strings in SQL statements (which is obviously not what is wanted). o A SIGPIPE (death of the process on the end of a pipe) no longer generates a ^C, not that anyone complained. o Got rid of the \floop command, and merged the responsibilities into the \loop command. The user's resource file is now read via '\loop -n < $rcfile'...see sqsh_main.c. o Got rid (hopefully) of warning messages about setjmp() being redifined on some systems. Changes from 0.3 to 0.4 o Added prototype for strdup() to sqsh_compat.h for those systems that don't supply one for you (what *is* it with that function?). o Cleaned up the USE() macro in sqsh_compat.h that caused some anal versions of gcc to spew warnings. o I lied last time, *now* \help should display a message that there are no help files available. o Cleared up some compiler warning messages on some platforms. o Fixed potential bug with signal handlers destroying the current state of the processes signal mask. o Fixed '-h' flag failing to work on the command line. o Still having signal handling problems with some platforms. Added the \sigtest command to dump some usefull debugging information. Changes from 0.2 to 0.3 o Fixed security bug in sqsh_open() that caused in file created by redirection to be created with the wrong/random permissions. o Defer files are now created with permissions of 0600, for a little added security. o Added more comments in Makefile.in to make life a little easier. Also added default library -lm to SYBASE_LIBS. o File descriptor manipulation is more efficient; there is less juggling going on for files that are rapidly opened and closed (see sqsh_fd.c, fop_push()). o Added the -b flag and the $banner variable to turn off the start-up banner message. o Added the -p flag to the command line and \go command, and the $statistics variable to turn on/off performance statistics. o Fixed bug in syb_err_handler() that caused a coredump on dblib 4.9.x if dbproc is NULL. o Fixed bug with -S being ignored. o '\help command' now properly displays that it doesn't have any help files yet. Release 0.2 o Initial release. Chock Full O' Bugs. sqsh-2.1.7/INSTALL0100664000076500007650000002527411367624630014021 0ustar mpepplermpeppler Sqsh - Installation Notes Description -=-=-=-=-=- The follow document describes how to build and install the Sqsh SQL shell, version 2.1.7. For an overall description of the package, please refer to the file README. Supported Platforms -=-=-=-=-=-=-=-=-=-=- This program has been built and tested (although by no means would I say thoroughly) on a whole slew of platforms, including Solaris 2.x, SunOS 4.x, HP-UX 10.x, HP-UX 11.x, IRIX 5.x, IRIX 6.x, NCR SVR4, Dynix/ptx 2.x, NeXT, AIX 3.x, AIX 4.x, Digital UNIX 3.x, DG/UX 5.4.x, Linux 2.x, and NetBSD (I am sure that there are more). This package also builds in the Cygwin environment under Windows, see the cygwin directory for details. Requirements -=-=-=-=-=-=- In order to build this package, you will need: o Sybase CT-Library You'll need a full installation of Open Client 11.x or greater to compile against (you only need the run-time to run sqsh however). Sqsh may still compile against Open Client 10.x, however that release is *very* old and I don't have a copy around to test with any more. Note: If you have a 64 bit installation of ASE then you will normally only have the 64bit version of Client Library. This means that you either need to install the 32bit version of the SDK (available from sybase.subscribenet.com), or you need to build sqsh in 64 bit mode. This is NOT yet handled automatically - you will need to add the proper flags for your C compiler to generate 64 bit code, and you will need to add -DSYB_LP64 to the CFLAGS macro in src/Makefile. Note that any libraries that you want to link with (for example "readline" must also have the 64bit objects - you can't link 32 bir and 64 bit code in the same binary). o FreeTDS If you don't have CT-Library, or you want to connect to a Microsoft SQL Server (7.0 or 2000), sqsh should now, out-of-the-box, compile and run against FreeTDS (I've tested personally with 0.52 and the current CVS tree). You can get FreeTDS from http://www.freetds.org/. PLEASE: Unfortunately, I don't have much spare time available these days, so if you are having problems (core dumps, connectivity, etc.) when using FreeTDS, please try posting to the FreeTDS mailing list before proclaiming it a sqsh issue. ALSO, note that FreeTDS does not currently support all of features of Open Client, so many of the flags that sqsh supports (such as locale and charset changes) will not work. o X11R4 or Later (optional) To take advantage of the X Windowing System display style, you must have at least X11R4 (R5 or later recommended). This may be found from ftp://ftp.x.org. o GNU Readline library (optional) If you want emacs/vi style keyboard editing, this package is a must. I'll warn you though, it'll add some major bulk to the executable. You can get it from http://cnswww.cns.cwru.edu/~chet/readline/rltop.html Sqsh should work with versions of readline as old as 2.2, but is currently being tested with version 4.2. Problems -=-=-=-=- If you have any trouble while trying to build sqsh, first make sure that you read the FAQ supplied with the distribution. Building -=-=-=-=- Sqsh takes advantage of the GNU auto-configuration package (a truly nifty tool) so it should be relatively easy to make and build. Just follow the following directions: 1) Set $SYBASE In order for auto-configuration to work correctly, the environment variable SYBASE must be correctly set to point to your base SYBASE directory. For bourne shell users (sh, bash, zsh, etc.), simply do: % SYBASE=/usr/local/sybase % export SYBASE or for csh and that ilk, do: % setenv SYBASE /usr/local/sybase If you are using Sybase 12.0 or later, the simplest thing to do is to "source" the SYBASE.sh or SYBASE.csh file located in the Sybase installation root directory - this will set all of the necessary environment variables. 2) Run "configure" $ ./configure The configure shell script goes out and attempts to figure out exactly what your machine looks like. The script supports the following options: --prefix=DIR Specifies an alternate base directory in which to install the sqsh binary and man page (in DIR/{man,bin}). By default this is /usr/local. --exec_prefix=DIR This option allows the binary to be installed in a directory other than the one specified with --prefix, instead the binary will be placed in DIR/bin. --with-readline If you have the GNU Readline library available (see Requirements, above), supply this flag to enable readline support in sqsh. Supplying this option will cause 'configure' to attempt to automatically determine the location of your readline header files and libraries. Hints may be supplied as to the location of these files using the INCDIRS and LIBDIRS environment variables described below, otherwise a search-path of common installation locations are used instead. --with-x Enables X windows support in sqsh. This requires the existence of X11R4 or later on your system. By default, if this flag is not supplied, X support is disabled. --without-x Disables X support. This is the same as running configure without '-with-x'. --x-includes= By default, if --with-x is supplied configure will auto- matically attempt to find the location of your X11 include directory. If it fails or chooses the wrong directory, this option may be supplied to force it to use . --x-libraries= As with --x-includes, this will override configures attempts to automatically determine the location of your X11 libraries. --with-motif[=] Causes the X support for sqsh to use Motif widgets rather than the default (and rather crude) Athena widget set. Enabling this option also automatically enables --with-x. If is supplied, then /include/X11 will be used to find the Motif include headers, and /lib will be chosen to find Motif libraries. --with-static Forces sqsh to be compiled by statically linking in the appropriate Open Client libraries rather than dynamically linking with them. Note that all other libraries continue to be dynamically linked. --with-gcc Forces configure to chose gcc as the compiler of choice regardless of whether or not a different C compiler is found earlier in your path. Also, the following environment variables may be set prior to running 'configure' to alter its behavior: CC Forces configure to use the value of $CC as the default C compiler. This variable may also specify flags to pass to the compiler, such as "cc -O -Wall". INCDIRS When attempting to discover the location of the readline header files (only when --with-readline is specified), this variable may supply a colon separated set of directories in which to look for the header files, rather than the default search path. LIBDIRS As with INCDIRS, this variable is used to track down the location of the readline library. When configure has finished it should have generated Makefile, and config.h. 3) OPTIONAL: Edit the file 'src/Makefile' and read through the settings that 'configure' chose. There are a couple of options (such as additional built-in debugging) that can only be enabled by editing the Makefile; it is pretty well commented. 4) OPTIONAL: Browse through 'src/config.h'. This file is generated by configure as it makes guesses about the configuration of your systems, and will probably not have to be touched. If you don't understand the meaning of a define, you should probably leave it alone. 5) OPTIONAL: Browse through 'sqsh_config.h', you probably won't have to change many of these values, they are simply default values for various items, such as temporary directories, etc. 6) Now, attempt to build it: $ make This will (hopefully) create the sqsh executable. 7) Now, try to install it: $ make install This will install the binary into ${prefix}/bin, or ${exec_prefix}/bin, if --exec_prefix was specified. It will also make a copy of doc/global.sqshrc called ${prefix}/etc/sqshrc. Optionally, you may also execute: $ make install-wrapper This will install sqsh as ${prefix}/bin/sqsh.bin and install a shell script called ${prefix}/bin/sqsh. This shell script will do the following: o Automatically set your $SYBASE to the one used when 'configure' was run. o Automatically set your $LD_LIBRARY_PATH (or $SHLIB_PATH on HP-UX) to point to the Open Client (or FreeTDS) library. NOTE: Because this script overrides any other SYBASE or LD_LIBRARY_PATH setting you may already have in your environment, if you move your directories around, you may need to edit this script. 8) Install man pages. For most machines you simply type: $ make install.man Which will cause the man page to be copied into ${prefix}/man/man3. However, if your machine supports compressed man pages, you may use: $ make install.zman Which will cause the man page to be compressed and copied into ${prefix}/man/man3.Z. Now if all went well, you have a working program with man pages and everything. However, if you ever decide to do the unimaginable, and get rid of all traces of the program, try: $ make uninstall $ make uninstall.man or, if need be: $ make uninstall.zman Building Binary Distribution -=-=-=-=-=-=-=-=-=-=-=-=-=-=- If you wish to build a binary distribution (a tar file that contains everything needed to install and run the binary you compile), simply perform steps 1 through 6, above, and then do a: % make dist This will build a sqsh-.tar.gz file that contains everything needed to distribute sqsh in binary-only form. Common Problems -=-=-=-=-=-=-=- If your compiler generates warnings about certain variables being clobbered by a longjmp, then turn off any optimization flags that may have been set in the Makefile. Good Luck -=-=-=-=- Well, hopefully everything went OK for you. If you have any problems or you run across any bugs in the program, contact me at: mpeppler@peppler.org Michael Peppler, November 2004 sqsh-2.1.7/Makefile0100664000076500007650000000474311015060434014410 0ustar mpepplermpeppler# # Makefile.in,v 1.4 1996/02/15 02:18:28 gray Exp # prefix = /usr/local src_dir = . exec_prefix = ${prefix} bin_dir = ${exec_prefix}/bin inc_dir = ${prefix}/include lib_dir = /lib man_src = $(src_dir)/doc man_dir = ${prefix}/man conf_dir = ${prefix}/etc INSTALL = $(src_dir)/autoconf/install-sh INSTALL_PROG = $(INSTALL) -c INSTALL_DIR = $(INSTALL) -d INSTALL_DATA = $(INSTALL) -c -m 644 INSTALL_MAN = $(src_dir)/autoconf/install-man SQSHRC_GLOBAL = $(conf_dir)/sqshrc MAN_PAGES = sqsh.1 SRCS = $(OBJS:.o=.c) HEADERS = SUBDIRS = src TARGET = sqsh build : build-subdirs build-subdirs : @for dir in $(SUBDIRS); do \ (cd $$dir; make) \ done clean : clean-subdirs clean-subdirs : @for dir in $(SUBDIRS); do \ (cd $$dir; make clean) \ done distclean : distclean-subdirs rm -f Makefile config.cache config.log config.status \ scripts/wrapper.sh scripts/make_wrapper.sh scripts/install.sh distclean-subdirs : @for dir in $(SUBDIRS); do \ (cd $$dir; make distclean) \ done install : build-subdirs @$(INSTALL_DIR) $(DESTDIR)$(bin_dir); \ $(INSTALL_PROG) src/$(TARGET) $(DESTDIR)$(bin_dir)/$(TARGET); \ $(INSTALL_DIR) $(DESTDIR)`dirname $(SQSHRC_GLOBAL)`; \ if test -f $(DESTDIR)$(SQSHRC_GLOBAL); then \ echo WARNING: You already have the file $(DESTDIR)$(SQSHRC_GLOBAL); \ echo installed. This file will be left untouched. The version; \ echo supplied with this installation will be installed as; \ echo $(DESTDIR)$(SQSHRC_GLOBAL).new; \ $(INSTALL_DATA) doc/global.sqshrc $(DESTDIR)$(SQSHRC_GLOBAL).new; \ else \ $(INSTALL_DATA) doc/global.sqshrc $(DESTDIR)$(SQSHRC_GLOBAL); \ fi install-wrapper : install @mv $(DESTDIR)$(bin_dir)/$(TARGET) $(DESTDIR)$(bin_dir)/$(TARGET).bin; \ /bin/sh scripts/make_wrapper.sh scripts/wrapper.sh.in scripts/wrapper.sh; \ $(INSTALL_PROG) scripts/wrapper.sh $(DESTDIR)$(bin_dir)/$(TARGET) uninstall : rm -f $(DESTDIR)$(bin_dir)/$(TARGET) $(DESTDIR)$(bin_dir)/$(TARGET).bin uninstall-wrapper: uninstall install.man : $(INSTALL_MAN) -s $(man_src) -d $(DESTDIR)$(man_dir) $(MAN_PAGES) uninstall.man : $(INSTALL_MAN) -u -d $(DESTDIR)$(man_dir) $(MAN_PAGES) install.zman : $(INSTALL_MAN) -c -u -d $(DESTDIR)$(man_dir) $(MAN_PAGES) uninstall.zman : $(INSTALL_MAN) -c -u -d $(DESTDIR)$(man_dir) $(MAN_PAGES) dist : build @/bin/sh scripts/make_wrapper.sh scripts/wrapper.sh.in scripts/wrapper.sh; \ /bin/sh scripts/make_dist.sh sqsh-2.1.7/Makefile.in0100664000076500007650000000473310776117734015037 0ustar mpepplermpeppler# # Makefile.in,v 1.4 1996/02/15 02:18:28 gray Exp # prefix = @prefix@ src_dir = @srcdir@ exec_prefix = @exec_prefix@ bin_dir = @bindir@ inc_dir = @includedir@ lib_dir = @libdir@ man_src = $(src_dir)/doc man_dir = @mandir@ conf_dir = @sysconfdir@ INSTALL = $(src_dir)/autoconf/install-sh INSTALL_PROG = $(INSTALL) -c INSTALL_DIR = $(INSTALL) -d INSTALL_DATA = $(INSTALL) -c -m 644 INSTALL_MAN = $(src_dir)/autoconf/install-man SQSHRC_GLOBAL = $(conf_dir)/sqshrc MAN_PAGES = sqsh.1 SRCS = $(OBJS:.o=.c) HEADERS = SUBDIRS = src TARGET = sqsh build : build-subdirs build-subdirs : @for dir in $(SUBDIRS); do \ (cd $$dir; make) \ done clean : clean-subdirs clean-subdirs : @for dir in $(SUBDIRS); do \ (cd $$dir; make clean) \ done distclean : distclean-subdirs rm -f Makefile config.cache config.log config.status \ scripts/wrapper.sh scripts/make_wrapper.sh scripts/install.sh distclean-subdirs : @for dir in $(SUBDIRS); do \ (cd $$dir; make distclean) \ done install : build-subdirs @$(INSTALL_DIR) $(DESTDIR)$(bin_dir); \ $(INSTALL_PROG) src/$(TARGET) $(DESTDIR)$(bin_dir)/$(TARGET); \ $(INSTALL_DIR) $(DESTDIR)`dirname $(SQSHRC_GLOBAL)`; \ if test -f $(DESTDIR)$(SQSHRC_GLOBAL); then \ echo WARNING: You already have the file $(DESTDIR)$(SQSHRC_GLOBAL); \ echo installed. This file will be left untouched. The version; \ echo supplied with this installation will be installed as; \ echo $(DESTDIR)$(SQSHRC_GLOBAL).new; \ $(INSTALL_DATA) doc/global.sqshrc $(DESTDIR)$(SQSHRC_GLOBAL).new; \ else \ $(INSTALL_DATA) doc/global.sqshrc $(DESTDIR)$(SQSHRC_GLOBAL); \ fi install-wrapper : install @mv $(DESTDIR)$(bin_dir)/$(TARGET) $(DESTDIR)$(bin_dir)/$(TARGET).bin; \ /bin/sh scripts/make_wrapper.sh scripts/wrapper.sh.in scripts/wrapper.sh; \ $(INSTALL_PROG) scripts/wrapper.sh $(DESTDIR)$(bin_dir)/$(TARGET) uninstall : rm -f $(DESTDIR)$(bin_dir)/$(TARGET) $(DESTDIR)$(bin_dir)/$(TARGET).bin uninstall-wrapper: uninstall install.man : $(INSTALL_MAN) -s $(man_src) -d $(DESTDIR)$(man_dir) $(MAN_PAGES) uninstall.man : $(INSTALL_MAN) -u -d $(DESTDIR)$(man_dir) $(MAN_PAGES) install.zman : $(INSTALL_MAN) -c -u -d $(DESTDIR)$(man_dir) $(MAN_PAGES) uninstall.zman : $(INSTALL_MAN) -c -u -d $(DESTDIR)$(man_dir) $(MAN_PAGES) dist : build @/bin/sh scripts/make_wrapper.sh scripts/wrapper.sh.in scripts/wrapper.sh; \ /bin/sh scripts/make_dist.sh sqsh-2.1.7/README0100664000076500007650000000245510036260330013625 0ustar mpepplermpeppler Welcome to SQSH What is SQSH? -=-=-=-=-=-=- Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), it is intended as a replacement for the venerable 'isql' program supplied by Sybase. It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work. Sqsh is much more than a nice prompt (a la 'dsql', from David B. Joyner), it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality. Sqsh was developped by Scott C. Gray, and is currently maintained by Michael Peppler (mpeppler@peppler.org) Availability -=-=-=-=-=-=- Sqsh may be found on the following sites: http://www.sqsh.org/ http://sourceforge.net/projects/sqsh/ Licensing -=-=-=-=-=- 99% of the software that I use is free, therefore I like to give back in kind. Sqsh is held under the GNU General Public License (GPL) and therefore may be freely distributed under the terms of this license. Building and Installing -=-=-=-=-=-=-=-=-=-=-=- Refer to the INSTALL file for directions on installation. sqsh-2.1.7/ReleaseNotes0100664000076500007650000000241411237567646015304 0ustar mpepplermpeppler$Id: ReleaseNotes,v 1.6 2009/08/09 15:47:50 mpeppler Exp $ Release Notes sqsh 2.1.6 Multiple changes contributed by Martin Wesdorp. This includes colorized output when using readline, handling of login and query timeouts, and most importantly updating the experimental kerberos support to be compatible with isql. sqsh 2.1.5 Experimental support for kerberos network authentication, via the -K and -R command line flags. Various bug fixes. sqsh 2.1.4 Various bug fixes. Command line -P argument hiding. Allow host:port syntax for the -S option if built with OpenClient 12.5.1 or later. Experimental support for CSV output (\go -m csv). sqsh 2.1.3 This is an incremental bug-fix release. Better library detection in the configure script (handles new OCS 15 library names) Cygwin build instructions and files. sqsh 2.1.2 This is an incremental bug-fix release. Bugs fixed (bug IDs from SourceForge's bug tracker) 1010901 Problems with -w ($width). 1051672 Missing OCS libs for static build 1010961 Can't provide multiple sqshrc's 987494 Better version reporting Other fixes include fixing a segfault if "go" appears on its own in a comment block, and making sure that the \read command actually reads from the terminal even when using redirected input or the -i flag. sqsh-2.1.7/aclocal.m40100664000076500007650000001620611056170714014615 0ustar mpepplermpepplerdnl # AC_VOLATILE (Scott C. Gray gray@voicenet.com) dnl # dnl # Determines whether or not a compiler supports the volatile dnl # keyword. Defines HAVE_VOLATILE dnl # AC_DEFUN(AC_VOLATILE, [ AC_MSG_CHECKING(whether ${CC-cc} supports volatile keyword) AC_CACHE_VAL(ac_cv_have_volatile, [ AC_TRY_COMPILE( [#include ], [volatile int a ; a = 10 ;], ac_cv_have_volatile=yes, ac_cv_have_volatile=no ) ]) AC_MSG_RESULT($ac_cv_have_volatile) if (test "$ac_cv_have_volatile" = "yes"); then AC_DEFINE(HAVE_VOLATILE, [1], [Define to 1 if your compiler supports the volatile keyword]) fi ]) AC_DEFUN(AC_SIGSETJMP, [ AC_MSG_CHECKING(for sigsetjmp) AC_CACHE_VAL(ac_cv_have_sigsetjmp, [ AC_TRY_COMPILE([ #include #include ],[ sigjmp_buf jb; sigsetjmp(jb, 1); ],[ ac_cv_have_sigsetjmp=yes ],[ ac_cv_have_sigsetjmp=no ]) ]) AC_MSG_RESULT($ac_cv_have_sigsetjmp) if (test "$ac_cv_have_sigsetjmp" = "yes"); then AC_DEFINE(HAVE_SIGSETJMP, [1], [Define to 1 if your environment provides sigsetjpm()]) fi ]) AC_DEFUN(AC_POSIX_SIGNALS, [ AC_MSG_CHECKING(for POSIX signal handling) AC_CACHE_VAL(ac_cv_have_posix_sigs, [ AC_TRY_LINK( [ #include #include ],[ struct sigaction sa; sigaction( SIGINT, NULL, &sa ); ],[ ac_cv_have_posix_sigs="yes" ],[ ac_cv_have_posix_sigs="no" ]) ]) if test "$ac_cv_have_posix_sigs" = "yes"; then AC_DEFINE(HAVE_POSIX_SIGNALS, [1], [Define to 1 if your environment supprts POSIX signals]) fi AC_MSG_RESULT($ac_cv_have_posix_sigs) ]) # # AC_FIND_HEADER([hdr],[path],[action_found],[action_notfound]) # AC_DEFUN([AC_FIND_HDR], [ AC_MSG_CHECKING(for $1) ac_cache_var=ac_cv_hdr_`echo $1 | sed -e 's,[[/.]],_,g'` AC_CACHE_VAL($ac_cache_var, [ SEARCH_PATH="/usr/include:/usr/local/include:${HOME}/include:${HOME}/usr/include" include_dir="" if test "$2" != ""; then SEARCH_PATH="$2:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do if test -f ${dir}/$1; then include_dir=${dir} break; fi done IFS="$ac_save_ifs" eval ${ac_cache_var}=${include_dir} ]) include_dir=${ac_cache_var} include_dir=`eval echo '$'${include_dir}` if test "${include_dir}" != ""; then AC_MSG_RESULT($include_dir) $3 else AC_MSG_RESULT(not found) $4 fi ]) # # AC_FIND_LIB([lib_name],[path],[action_found],[action_notfound]) # AC_DEFUN(AC_FIND_LIB, [ AC_MSG_CHECKING(for lib$1) AC_CACHE_VAL(ac_cv_lib$1, [ SEARCH_PATH="/lib:/usr/lib:/usr/local/lib:${HOME}/lib:${HOME}/usr/lib" libdir="" if test "${LD_LIBRARY_PATH}" != ""; then SEARCH_PATH="${LD_LIBRARY_PATH}:${SEARCH_PATH}" fi if test "$2" != ""; then SEARCH_PATH="$2:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do for lib in ${dir}/lib$1.*; do if test -f "${lib}"; then libdir=${dir} break; fi done if test "${libdir}" != ""; then break; fi done IFS="$ac_save_ifs" ac_cv_lib$1="${libdir}" ]) libdir=$ac_cv_lib$1 if test "${libdir}" != ""; then AC_MSG_RESULT($libdir) $3 else AC_MSG_RESULT(not found) $4 fi ]) dnl # AC_SYSV_SIGNALS (Scott C. Gray gray@voicenet.com) dnl # dnl # Determines behaviour of signals, if they need to be reinstalled dnl # immediately after calling. dnl # AC_DEFUN(AC_SYSV_SIGNALS, [ AC_MSG_CHECKING(signal behaviour) AC_CACHE_VAL(ac_cv_signal_behaviour, [ AC_TRY_RUN( [ /*-- Exit 0 if BSD signal, 1 if SYSV signal --*/ #include static int sg_sig_count = 0 ; void sig_handler() { ++sg_sig_count ; } main() { #ifdef SIGCHLD #define _SIG_ SIGCHLD #else #define _SIG_ SIGCLD #endif signal( _SIG_, sig_handler ) ; kill( getpid(), _SIG_ ) ; kill( getpid(), _SIG_ ) ; exit( sg_sig_count != 2 ) ; } ], ac_cv_signal_behaviour=BSD, ac_cv_signal_behaviour=SYSV) ]) AC_MSG_RESULT($ac_cv_signal_behaviour) if (test "$ac_cv_signal_behaviour" = "SYSV"); then AC_DEFINE(SYSV_SIGNALS, [1], [Define to 1 if your environment supports SysV signals]) fi ]) AC_DEFUN([AC_SYBASE_ASE], [ # # Is $SYBASE defined? # AC_MSG_CHECKING(Open Client installation) if test "$SYBASE" = ""; then AC_MSG_RESULT(no) AC_MSG_ERROR([Unable to locate Sybase installation. Check your SYBASE environment variable setting.]) fi SYBASE_OCOS= for subdir in $SYBASE $SYBASE/OCS $SYBASE/OCS-[[0-9]]* do if test -d $subdir/include; then SYBASE_OCOS=$subdir break fi done if test "$SYBASE_OCOS" = ""; then AC_MSG_RESULT(fail) AC_MSG_ERROR([Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting.]) fi AC_MSG_RESULT($SYBASE_OCOS) AC_MSG_CHECKING(Open Client libraries) if test "$with_devlib" = "yes" then SYBASE_LIBDIR="$SYBASE_OCOS/devlib" else SYBASE_LIBDIR="$SYBASE_OCOS/lib" fi SYBASE_LIBS= for i in blk cs ct tcl comn intl do x= if test -f $SYBASE_LIBDIR/lib${i}.a; then x="-l${i}" else if test -f $SYBASE_LIBDIR/lib${i}64.a; then x="-l${i}64" else if test -f $SYBASE_LIBDIR/libsyb${i}.a; then x="-lsyb${i}" else if test -f $SYBASE_LIBDIR/libsyb${i}64.a; then x="-lsyb${i}64" fi fi fi fi if test -n $x ; then SYBASE_LIBS="$SYBASE_LIBS $x" fi done # # Check for -ltds (FreeTDS project) # if test -f $SYBASE_LIBDIR/libtds.a; then SYBASE_LIBS="$SYBASE_LIBS -ltds" fi AC_MSG_RESULT($SYBASE_LIBS) AC_MSG_CHECKING(Open Client needs net libraries) SYBASE_VERSION=`strings $SYBASE_LIBDIR/lib*ct.a 2>/dev/null | \ cut -c1-80 | fgrep 'Sybase Client-Library' | cut -d '/' -f 2` SYBASE_VERSION=`echo $SYBASE_VERSION | cut -d . -f 1` if [[ "$SYBASE_VERSION" = "" ]]; then SYBASE_VERSION="FreeTDS" fi if [[ "$SYBASE_VERSION" = "10" ]]; then if [[ -f $SYBASE_LIBDIR/libinsck.a ]]; then SYBASE_LIBS="$SYBASE_LIBS -linsck" AC_MSG_RESULT([yes [(]-linsck[)]]) elif [[ -f $SYBASE_LIBDIR/libtli.a ]]; then SYBASE_LIBS="$SYBASE_LIBS -ltli" AC_MSG_RESULT([yes [(]-ltli[)]]) else AC_MSG_RESULT([yes [(]version 10.x[)]]) fi else AC_MSG_RESULT([no [(]version $SYBASE_VERSION[)]]) fi AC_MSG_CHECKING(Open Client OS libraries) case "${host_os}" in linux*) SYBASE_OS="-ldl -lm";; irix*) SYBASE_OS="-lnsl -lm";; ncr*) SYBASE_OS="-ldl -lm";; sunos*) SYBASE_OS="-lm";; solaris*) SYBASE_OS="-lnsl -ldl -lm";; osf1*) SYBASE_OS="-lsdna -ldnet_stub -lm";; ultrix*) SYBASE_OS="-lsdna -ldnet_stub -lm";; hpux*) SYBASE_OS="-lcl -lm -lsec -lBSD";; dgux*) SYBASE_OS="-lm -ldl -ldgc";; aix*) SYBASE_OS="-lm";; *) SYBASE_OS="-lm -ldl";; esac AC_MSG_RESULT($SYBASE_OS) if test "$with_static" = "yes" then SYBASE_LIBS=`echo $SYBASE_LIBS | \ sed -e 's,-l\([[a-z]]*\),\$(SYBASE_OCOS)/lib/lib\1.a,g'` fi if test "$with_devlib" = "yes"; then SYBASE_LIBDIR='-L$(SYBASE_OCOS)/devlib' else SYBASE_LIBDIR='-L$(SYBASE_OCOS)/lib' fi SYBASE_INCDIR='-I$(SYBASE_OCOS)/include' AC_SUBST(SYBASE_OCOS) AC_SUBST(SYBASE_LIBS) AC_SUBST(SYBASE_LIBDIR) AC_SUBST(SYBASE_INCDIR) AC_SUBST(SYBASE_OS) ]) sqsh-2.1.7/config.status0100775000076500007650000007772111015060434015473 0ustar mpepplermpeppler#! /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 Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # 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'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by $as_me, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 config_files=" Makefile src/Makefile scripts/install.sh scripts/make_wrapper.sh" config_headers=" src/config.h" ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to ." ac_cs_version="\ config.status configured by ./configure, generated by GNU Autoconf 2.59, with options \"'--with-readline'\" Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=. 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 ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi if $ac_cs_recheck; then echo "running /bin/sh ./configure " '--with-readline' $ac_configure_extra_args " --no-create --no-recursion" >&6 exec /bin/sh ./configure '--with-readline' $ac_configure_extra_args --no-create --no-recursion fi for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "scripts/install.sh" ) CONFIG_FILES="$CONFIG_FILES scripts/install.sh" ;; "scripts/make_wrapper.sh" ) CONFIG_FILES="$CONFIG_FILES scripts/make_wrapper.sh" ;; "src/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; *) { { 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 fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF s,@SHELL@,/bin/sh,;t t s,@PATH_SEPARATOR@,:,;t t s,@PACKAGE_NAME@,,;t t s,@PACKAGE_TARNAME@,,;t t s,@PACKAGE_VERSION@,,;t t s,@PACKAGE_STRING@,,;t t s,@PACKAGE_BUGREPORT@,,;t t s,@exec_prefix@,${prefix},;t t s,@prefix@,/usr/local,;t t s,@program_transform_name@,s,x,x,,;t t s,@bindir@,${exec_prefix}/bin,;t t s,@sbindir@,${exec_prefix}/sbin,;t t s,@libexecdir@,${exec_prefix}/libexec,;t t s,@datadir@,${prefix}/share,;t t s,@sysconfdir@,${prefix}/etc,;t t s,@sharedstatedir@,${prefix}/com,;t t s,@localstatedir@,${prefix}/var,;t t s,@libdir@,/lib,;t t s,@includedir@,${prefix}/include,;t t s,@oldincludedir@,/usr/include,;t t s,@infodir@,${prefix}/info,;t t s,@mandir@,${prefix}/man,;t t s,@build_alias@,,;t t s,@host_alias@,,;t t s,@target_alias@,,;t t s,@DEFS@,-DHAVE_CONFIG_H,;t t s,@ECHO_C@,,;t t s,@ECHO_N@,-n,;t t s,@ECHO_T@,,;t t s,@LIBS@,,;t t s,@build@,i686-pc-linux-gnu,;t t s,@build_cpu@,i686,;t t s,@build_vendor@,pc,;t t s,@build_os@,linux-gnu,;t t s,@host@,i686-pc-linux-gnu,;t t s,@host_cpu@,i686,;t t s,@host_vendor@,pc,;t t s,@host_os@,linux-gnu,;t t s,@DEF_AIX_FIX@,,;t t s,@MOTIF_PATH@,,;t t s,@MOTIF_LIBS@,,;t t s,@with_x@,no,;t t s,@with_motif@,no,;t t s,@with_readline@,yes,;t t s,@DEF_MOTIF@,# -DUSE_MOTIF,;t t s,@MOTIF_INCDIR@,,;t t s,@MOTIF_LIBDIR@,,;t t s,@ATHENA_LIBS@,,;t t s,@CC@,gcc,;t t s,@CFLAGS@,-g -O2,;t t s,@LDFLAGS@,,;t t s,@CPPFLAGS@,,;t t s,@ac_ct_CC@,gcc,;t t s,@EXEEXT@,,;t t s,@OBJEXT@,o,;t t s,@CPP@,gcc -E,;t t s,@DEF_POSIX@,,;t t s,@SYBASE_OCOS@,/opt/sybase/OCS-15_0,;t t s,@SYBASE_LIBS@, -lsybblk -lsybcs -lsybct -lsybtcl -lsybcomn -lsybintl,;t t s,@SYBASE_LIBDIR@,-L$(SYBASE_OCOS)/lib,;t t s,@SYBASE_INCDIR@,-I$(SYBASE_OCOS)/include,;t t s,@SYBASE_OS@,-ldl -lm,;t t s,@DEF_READLINE@,-DUSE_READLINE -DOLD_READLINE,;t t s,@READLINE_INCDIR@,# -I/usr/include,;t t s,@READLINE_LIBDIR@,# -L/lib,;t t s,@READLINE_LIBS@,-lreadline -lcurses,;t t s,@xmkmfpath@,,;t t s,@DEF_X11@,# -DUSE_X11,;t t s,@X_LIBS@,# -lXaw -lXt -lXext -lXmu -lX11,;t t s,@X_INCDIR@,# -I/usr/X11R6/include,;t t s,@X_LIBDIR@,# -L/usr/X11R6/lib,;t t s,@EGREP@,grep -E,;t t s,@INSTALL_PROGRAM@,${INSTALL},;t t s,@INSTALL_SCRIPT@,${INSTALL},;t t s,@INSTALL_DATA@,${INSTALL} -m 644,;t t s,@LIBOBJS@,,;t t s,@LTLIBOBJS@,,;t t CEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } 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,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } # Do quote $f, to prevent DOS paths from being IFS'd. echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in # Handle all the #define templates only if necessary. if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then # If there are no defines, we may have an empty if/fi : cat >$tmp/defines.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in cat >$tmp/defines.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in fi # grep # Handle all the #undef templates cat >$tmp/undefs.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in cat >$tmp/undefs.sed <$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then 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 ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi done { (exit 0); exit 0; } sqsh-2.1.7/configure0100775000076500007650000052041610143666455014677 0ustar mpepplermpeppler#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # 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'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` exec 6>&1 # # Initializations. # ac_default_prefix=/usr/local ac_config_libobj_dir=. cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. # This variable seems obsolete. It should probably be removed, and # only ac_max_sed_lines should be used. : ${ac_max_here_lines=38} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="src/sqsh_main.c" # Factoring default headers for most tests. ac_includes_default="\ #include #if HAVE_SYS_TYPES_H # include #endif #if HAVE_SYS_STAT_H # include #endif #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_STRING_H # if !STDC_HEADERS && HAVE_MEMORY_H # include # endif # include #endif #if HAVE_STRINGS_H # include #endif #if HAVE_INTTYPES_H # include #else # if HAVE_STDINT_H # include # endif #endif #if 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 datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os DEF_AIX_FIX MOTIF_PATH MOTIF_LIBS with_x with_motif with_readline DEF_MOTIF MOTIF_INCDIR MOTIF_LIBDIR ATHENA_LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP DEF_POSIX SYBASE_OCOS SYBASE_LIBS SYBASE_LIBDIR SYBASE_INCDIR SYBASE_OS DEF_READLINE READLINE_INCDIR READLINE_LIBDIR READLINE_LIBS xmkmfpath DEF_X11 X_LIBS X_INCDIR X_LIBDIR EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_option in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` eval "enable_$ac_feature=no" ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "enable_$ac_feature='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package| sed 's/-/_/g'` case $ac_option in *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; *) ac_optarg=yes ;; esac eval "with_$ac_package='$ac_optarg'" ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/-/_/g'` eval "with_$ac_package=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` eval "$ac_envvar='$ac_optarg'" export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute paths. for ac_var in exec_prefix prefix do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in [\\/$]* | ?:[\\/]* ) ;; *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} ac_env_build_alias_value=$build_alias ac_cv_env_build_alias_set=${build_alias+set} ac_cv_env_build_alias_value=$build_alias ac_env_host_alias_set=${host_alias+set} ac_env_host_alias_value=$host_alias ac_cv_env_host_alias_set=${host_alias+set} ac_cv_env_host_alias_value=$host_alias ac_env_target_alias_set=${target_alias+set} ac_env_target_alias_value=$target_alias ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias ac_env_CC_set=${CC+set} ac_env_CC_value=$CC ac_cv_env_CC_set=${CC+set} ac_cv_env_CC_value=$CC ac_env_CFLAGS_set=${CFLAGS+set} ac_env_CFLAGS_value=$CFLAGS ac_cv_env_CFLAGS_set=${CFLAGS+set} ac_cv_env_CFLAGS_value=$CFLAGS ac_env_LDFLAGS_set=${LDFLAGS+set} ac_env_LDFLAGS_value=$LDFLAGS ac_cv_env_LDFLAGS_set=${LDFLAGS+set} ac_cv_env_LDFLAGS_value=$LDFLAGS ac_env_CPPFLAGS_set=${CPPFLAGS+set} ac_env_CPPFLAGS_value=$CPPFLAGS ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} ac_cv_env_CPPFLAGS_value=$CPPFLAGS ac_env_CPP_set=${CPP+set} ac_env_CPP_value=$CPP ac_cv_env_CPP_set=${CPP+set} ac_cv_env_CPP_value=$CPP # # 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 \`..'] _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data [PREFIX/share] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --infodir=DIR info documentation [PREFIX/info] --mandir=DIR man documentation [PREFIX/man] _ACEOF cat <<\_ACEOF X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gcc Use gcc, regardless of path --with-readline support fancy command line editing --with-old-readline Force readline backwards compatibilty --with-static Statically link in Sybase libraries --with-devlib Compile against Open Client devlibs --with-motif support X11/Motif widgets --with-x use the X Window System 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 CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. ac_popdir=`pwd` for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d $ac_dir || continue ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. if test -f $ac_srcdir/configure.gnu; then echo $SHELL $ac_srcdir/configure.gnu --help=recursive elif test -f $ac_srcdir/configure; then echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || test -f $ac_srcdir/configure.in; then echo $ac_configure --help else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir done fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF Copyright (C) 2003 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit 0 fi exec 5>config.log cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ _ACEOF { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` hostinfo = `(hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. ac_sep=" " ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Be sure not to use single quotes in there, as some shells, # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------- ## ## Output files. ## ## ------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo sed "/^$/d" confdefs.h | sort echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo >confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; *) . ./$cache_file;; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers src/config.h" ac_aux_dir= for ac_dir in autoconf $srcdir/autoconf; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f $ac_dir/shtool; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in autoconf $srcdir/autoconf" >&5 echo "$as_me: error: cannot find install-sh or install.sh in autoconf $srcdir/autoconf" >&2;} { (exit 1); exit 1; }; } fi ac_config_guess="$SHELL $ac_aux_dir/config.guess" ac_config_sub="$SHELL $ac_aux_dir/config.sub" ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_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_cv_build_alias=$build_alias test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && { { 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=`$ac_config_sub $ac_cv_build_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_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 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` 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 ac_cv_host_alias=$host_alias test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` case "$host_os" in aix*) DEF_AIX_FIX="-DUSE_AIX_FIX" ;; *) ;; esac # Check whether --with-gcc or --without-gcc was given. if test "${with_gcc+set}" = set; then withval="$with_gcc" with_gcc="yes" fi; # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" else with_x="no" fi; # Check whether --with-readline or --without-readline was given. if test "${with_readline+set}" = set; then withval="$with_readline" else with_readline="no" fi; # Check whether --with-old-readline or --without-old-readline was given. if test "${with_old_readline+set}" = set; then withval="$with_old_readline" else with_old_readline="no" fi; # Check whether --with-static or --without-static was given. if test "${with_static+set}" = set; then withval="$with_static" else with_static="no" fi; # Check whether --with-devlib or --without-devlib was given. if test "${with_devlib+set}" = set; then withval="$with_devlib" else with_devlib="no" fi; # Check whether --with-motif or --without-motif was given. if test "${with_motif+set}" = set; then withval="$with_motif" if test $with_motif != "yes" then MOTIF_PATH=$with_motif with_motif="yes" MOTIF_INCDIR="-I$MOTIF_PATH/include/X11" MOTIF_LIBDIR="-L$MOTIF_PATH/lib" else MOTIF_INCDIR="# -I/usr/X11/include" MOTIF_LIBDIR="# -L/usr/X11/lib" fi with_x="yes" DEF_MOTIF="-DUSE_MOTIF" else DEF_MOTIF="# -DUSE_MOTIF" with_motif="no" fi; if test "$with_x" = "yes" then if test "$with_motif" = "yes" then MOTIF_LIBS=-lXm ATHENA_LIBS= else MOTIF_LIBS= ATHENA_LIBS=-lXaw 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 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 $as_executable_p "$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 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 $as_executable_p "$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 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 CC=$ac_ct_CC 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 $as_executable_p "$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 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 "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_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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done 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 CC=$ac_ct_CC else CC="$ac_cv_prog_CC" 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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done 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 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 $as_executable_p "$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 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 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 $as_executable_p "$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 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 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` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&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[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. # Be careful to initialize this variable, since it used to be cached. # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ac_cv_exeext= # b.out is created by i960 compilers. for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; conftest.$ac_ext ) # This is the source file. ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` # FIXME: I believe we export ac_cv_exeext for Libtool, # but it would be cool to find out if it's true. Does anybody # maintain Libtool? --akim. export ac_cv_exeext break;; * ) break;; esac done else 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 echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check 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' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&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 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 { (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); }; 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 | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext 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 { (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 for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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 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 CFLAGS="-g" 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 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext 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 ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_stdc=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 -std1 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 -std1. */ int osf4_cc_array ['\x00' == 0 ? 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 # Don't try gcc -ansi; that turns off useful extensions and # breaks some systems' header files. # AIX -qlanglvl=ansi # Ultrix and OSF/1 -std1 # HP-UX 10.20 and later -Ae # HP-UX older versions -Aa -D_HPUX_SOURCE # SVR4 -Xc -D__EXTENSIONS__ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC fi case "x$ac_cv_prog_cc_stdc" in x|xno) echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler # for both compiling C and C++ we need to have the C++ compiler decide # the declaration of exit, since it's the most demanding environment. cat >conftest.$ac_ext <<_ACEOF #ifndef __cplusplus choke me #endif _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ '' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ 'extern "C" void exit (int);' \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration #include int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 continue fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_declaration int main () { exit (42); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then echo '#ifdef __cplusplus' >>confdefs.h echo $ac_declaration >>confdefs.h echo '#endif' >>confdefs.h fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext 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 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_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 non-existent 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_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 non-existent 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_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 library containing strerror" >&5 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 if test "${ac_cv_search_strerror+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_func_search_save_LIBS=$LIBS ac_cv_search_strerror=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_search_strerror="none required" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$ac_cv_search_strerror" = no; then for ac_lib in cposix; do LIBS="-l$ac_lib $ac_func_search_save_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 gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char strerror (); int main () { strerror (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_search_strerror="-l$ac_lib" break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext done fi LIBS=$ac_func_search_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 echo "${ECHO_T}$ac_cv_search_strerror" >&6 if test "$ac_cv_search_strerror" != no; then test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS" fi if test "${ISC}" = "yes"; then DEF_POSIX="-D_POSIX_SOURCE" fi echo "$as_me:$LINENO: checking whether ${CC-cc} supports volatile keyword" >&5 echo $ECHO_N "checking whether ${CC-cc} supports volatile keyword... $ECHO_C" >&6 if test "${ac_cv_have_volatile+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 () { volatile int a ; a = 10 ; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_volatile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_volatile=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_have_volatile" >&5 echo "${ECHO_T}$ac_cv_have_volatile" >&6 if (test "$ac_cv_have_volatile" = "yes"); then cat >>confdefs.h <<\_ACEOF #define HAVE_VOLATILE 1 _ACEOF fi # # Is $SYBASE defined? # echo "$as_me:$LINENO: checking Open Client installation" >&5 echo $ECHO_N "checking Open Client installation... $ECHO_C" >&6 if test "$SYBASE" = ""; then echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 { { echo "$as_me:$LINENO: error: Unable to locate Sybase installation. Check your SYBASE environment variable setting." >&5 echo "$as_me: error: Unable to locate Sybase installation. Check your SYBASE environment variable setting." >&2;} { (exit 1); exit 1; }; } fi SYBASE_OCOS= for subdir in $SYBASE $SYBASE/OCS $SYBASE/OCS-[0-9]* do if test -d $subdir/include; then SYBASE_OCOS=$subdir break fi done if test "$SYBASE_OCOS" = ""; then echo "$as_me:$LINENO: result: fail" >&5 echo "${ECHO_T}fail" >&6 { { echo "$as_me:$LINENO: error: Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting." >&5 echo "$as_me: error: Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting." >&2;} { (exit 1); exit 1; }; } fi echo "$as_me:$LINENO: result: $SYBASE_OCOS" >&5 echo "${ECHO_T}$SYBASE_OCOS" >&6 echo "$as_me:$LINENO: checking Open Client libraries" >&5 echo $ECHO_N "checking Open Client libraries... $ECHO_C" >&6 if test "$with_devlib" = "yes" then SYBASE_LIBDIR="$SYBASE_OCOS/devlib" else SYBASE_LIBDIR="$SYBASE_OCOS/lib" fi SYBASE_LIBS= for i in blk cs ct tcl comn intl do x= if test -f $SYBASE_LIBDIR/lib${i}.a; then x="-l${i}" else if test -f $SYBASE_LIBDIR/lib${i}64.a; then x="-l${i}64" else if test -f $SYBASE_LIBDIR/libsyb${i}.a; then x="-lsyb${i}" else if test -f $SYBASE_LIBDIR/libsyb${i}64.a; then x="-lsyb${i}64" fi fi fi fi if test -n $x ; then SYBASE_LIBS="$SYBASE_LIBS $x" fi done # # Check for -ltds (FreeTDS project) # if test -f $SYBASE_LIBDIR/libtds.a; then SYBASE_LIBS="$SYBASE_LIBS -ltds" fi echo "$as_me:$LINENO: result: $SYBASE_LIBS" >&5 echo "${ECHO_T}$SYBASE_LIBS" >&6 echo "$as_me:$LINENO: checking Open Client needs net libraries" >&5 echo $ECHO_N "checking Open Client needs net libraries... $ECHO_C" >&6 SYBASE_VERSION=`strings $SYBASE_LIBDIR/lib*ct.a 2>/dev/null | \ cut -c1-80 | fgrep 'Sybase Client-Library' | cut -d '/' -f 2` SYBASE_VERSION=`echo $SYBASE_VERSION | cut -d . -f 1` if [ "$SYBASE_VERSION" = "" ]; then SYBASE_VERSION="FreeTDS" fi if [ "$SYBASE_VERSION" = "10" ]; then if [ -f $SYBASE_LIBDIR/libinsck.a ]; then SYBASE_LIBS="$SYBASE_LIBS -linsck" echo "$as_me:$LINENO: result: yes (-linsck)" >&5 echo "${ECHO_T}yes (-linsck)" >&6 elif [ -f $SYBASE_LIBDIR/libtli.a ]; then SYBASE_LIBS="$SYBASE_LIBS -ltli" echo "$as_me:$LINENO: result: yes (-ltli)" >&5 echo "${ECHO_T}yes (-ltli)" >&6 else echo "$as_me:$LINENO: result: yes (version 10.x)" >&5 echo "${ECHO_T}yes (version 10.x)" >&6 fi else echo "$as_me:$LINENO: result: no (version $SYBASE_VERSION)" >&5 echo "${ECHO_T}no (version $SYBASE_VERSION)" >&6 fi echo "$as_me:$LINENO: checking Open Client OS libraries" >&5 echo $ECHO_N "checking Open Client OS libraries... $ECHO_C" >&6 case "${host_os}" in linux*) SYBASE_OS="-ldl -lm";; irix*) SYBASE_OS="-lnsl -lm";; ncr*) SYBASE_OS="-ldl -lm";; sunos*) SYBASE_OS="-lm";; solaris*) SYBASE_OS="-lnsl -ldl -lm";; osf1*) SYBASE_OS="-lsdna -ldnet_stub -lm";; ultrix*) SYBASE_OS="-lsdna -ldnet_stub -lm";; hpux*) SYBASE_OS="-lcl -lm -lsec -lBSD";; dgux*) SYBASE_OS="-lm -ldl -ldgc";; aix*) SYBASE_OS="-lm";; *) SYBASE_OS="-lm -ldl";; esac echo "$as_me:$LINENO: result: $SYBASE_OS" >&5 echo "${ECHO_T}$SYBASE_OS" >&6 if test "$with_static" = "yes" then SYBASE_LIBS=`echo $SYBASE_LIBS | \ sed -e 's,-l\([a-z]*\),\$(SYBASE_OCOS)/lib/lib\1.a,g'` fi if test "$with_devlib" = "yes"; then SYBASE_LIBDIR='-L$(SYBASE_OCOS)/devlib' else SYBASE_LIBDIR='-L$(SYBASE_OCOS)/lib' fi SYBASE_INCDIR='-I$(SYBASE_OCOS)/include' if test "$with_old_readline" = "yes"; then with_readline="yes" fi if test "$with_readline" = "no"; then DEF_READLINE="# -DUSE_READLINE" READLINE_INCDIR="# -I/usr/local/include" READLINE_LIBDIR="# -I/usr/local/lib" READLINE_LIBS="# -lreadline -lcurses" else DEF_READLINE="-DUSE_READLINE" echo "$as_me:$LINENO: checking for libreadline" >&5 echo $ECHO_N "checking for libreadline... $ECHO_C" >&6 if test "${ac_cv_libreadline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else SEARCH_PATH="/lib:/usr/lib:/usr/local/lib:${HOME}/lib:${HOME}/usr/lib" libdir="" if test "${LD_LIBRARY_PATH}" != ""; then SEARCH_PATH="${LD_LIBRARY_PATH}:${SEARCH_PATH}" fi if test "$LIBDIRS" != ""; then SEARCH_PATH="$LIBDIRS:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do for lib in ${dir}/libreadline.*; do if test -f "${lib}"; then libdir=${dir} break; fi done if test "${libdir}" != ""; then break; fi done IFS="$ac_save_ifs" ac_cv_libreadline="${libdir}" fi libdir=$ac_cv_libreadline if test "${libdir}" != ""; then echo "$as_me:$LINENO: result: $libdir" >&5 echo "${ECHO_T}$libdir" >&6 READLINE_LIBDIR="${libdir}" inc_search="`echo ${libdir} | sed -e 's,/^/*$,,g'`/include" else echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6 READLINE_LIBDIR="" inc_search="" fi if test "$INCDIRS" != ""; then if test "$inc_search" = ""; then inc_search=$INCDIRS else inc_search=$INCDIRS:$inc_search fi fi echo "$as_me:$LINENO: checking for readline/readline.h" >&5 echo $ECHO_N "checking for readline/readline.h... $ECHO_C" >&6 ac_cache_var=ac_cv_hdr_`echo readline/readline.h | sed -e 's,[/.],_,g'` if eval "test \"\${$ac_cache_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else SEARCH_PATH="/usr/include:/usr/local/include:${HOME}/include:${HOME}/usr/include" include_dir="" if test "$inc_search" != ""; then SEARCH_PATH="$inc_search:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do if test -f ${dir}/readline/readline.h; then include_dir=${dir} break; fi done IFS="$ac_save_ifs" eval ${ac_cache_var}=${include_dir} fi include_dir=${ac_cache_var} include_dir=`eval echo '$'${include_dir}` if test "${include_dir}" != ""; then echo "$as_me:$LINENO: result: $include_dir" >&5 echo "${ECHO_T}$include_dir" >&6 READLINE_INCDIR="${include_dir}" else echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6 READLINE_INCDIR="" fi echo "$as_me:$LINENO: checking for readline link" >&5 echo $ECHO_N "checking for readline link... $ECHO_C" >&6 if test "${ac_cv_readline_libs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else readline_libs="" ORIG_CPPFLAGS="${CPPFLAGS}" ORIG_LDFLAGS="${LDFLAGS}" ORIG_LIBS="${LIBS}" if test "${READLINE_INCDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -I${READLINE_INCDIR}" fi if test "${READLINE_LIBDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -L${READLINE_LIBDIR}" fi for lib in "-lHcurses" "-lcurses" "-lncurses" "-ltermcap" \ "-ltermcap -lucb" do LIBS="${ORIG_LIBS} -lreadline ${lib}" 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 int main () { char *c; add_history( c ); readline( c ); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then readline_libs="${lib}" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "${readline_libs}" != ""; then break; fi done CPPFLAGS="${ORIG_CPPFLAGS}" LDFLAGS="${ORIG_LDFLAGS}" LIBS="${ORIG_LIBS}" ac_cv_readline_libs=${readline_libs} fi READLINE_LIBS=${ac_cv_readline_libs} if test "${READLINE_LIBS}" = ""; then echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6 READLINE_LIBS="-lreadline -lcurses" else READLINE_LIBS="-lreadline ${READLINE_LIBS}" echo "$as_me:$LINENO: result: ${READLINE_LIBS}" >&5 echo "${ECHO_T}${READLINE_LIBS}" >&6 fi if test "$READLINE_INCDIR" = ""; then READLINE_INCDIR="-I/usr/local/include" else if test "$READLINE_INCDIR" = "/usr/include"; then READLINE_INCDIR="# -I${READLINE_INCDIR}" else READLINE_INCDIR="-I${READLINE_INCDIR}" fi fi if test "$READLINE_LIBDIR" = ""; then READLINE_LIBDIR="-L/usr/local/lib" else if test "$READLINE_LIBDIR" = "/usr/lib" -o ${READLINE_LIBDIR} = "/lib" then READLINE_LIBDIR="# -L${READLINE_LIBDIR}" else READLINE_LIBDIR="-L${READLINE_LIBDIR}" fi fi if [ "$with_old_readline" = "yes" ]; then DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" else echo "$as_me:$LINENO: checking for rl_completion_matches in -lreadline" >&5 echo $ECHO_N "checking for rl_completion_matches in -lreadline... $ECHO_C" >&6 if test "${ac_cv_lib_readline_rl_completion_matches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline ${READLINE_LIBDIR} ${READLINE_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 gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char rl_completion_matches (); int main () { rl_completion_matches (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_readline_rl_completion_matches=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_readline_rl_completion_matches=no fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi echo "$as_me:$LINENO: result: $ac_cv_lib_readline_rl_completion_matches" >&5 echo "${ECHO_T}$ac_cv_lib_readline_rl_completion_matches" >&6 if test $ac_cv_lib_readline_rl_completion_matches = yes; then : else DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" fi fi fi DEF_X11="-DUSE_X11" if test "$with_x" = "no"; then DEF_X11="# ${DEF_X11}" X_LIBS="# -lXaw -lXt -lXext -lXmu -lX11" X_INCDIR="# -I/usr/X11R6/include" X_LIBDIR="# -L/usr/X11R6/lib" else # The AC PATH EXTRA macro uses xmkmf to figure out where to # find the X include directory and X lib directories, so lets # make sure that it can find the xmkmf executable. # Extract the first word of "xmkmf", so it can be a program name with args. set dummy xmkmf; 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_path_xmkmfpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $xmkmfpath in [\\/]* | ?:[\\/]*) ac_cv_path_xmkmfpath="$xmkmfpath" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done ;; esac fi xmkmfpath=$ac_cv_path_xmkmfpath if test -n "$xmkmfpath"; then echo "$as_me:$LINENO: result: $xmkmfpath" >&5 echo "${ECHO_T}$xmkmfpath" >&6 else echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi # When complete, the following macro should define x_includes, # x_libraries, X_CFLAGS, X_LIBS, X_EXTRA_LIBS, and X_PRE_LIBS. echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" fi; # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if test "${ac_cv_have_x+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -fr conftest.dir if mkdir conftest.dir; then cd conftest.dir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat >Imakefile <<'_ACEOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' _ACEOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -fr conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Intrinsic.h. # First, try using that file with no special directory specified. 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 echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_err"; then # We can compile using X headers with no special include directory. ac_x_includes= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Intrinsic.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lXt $LIBS" 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 () { XtMalloc (0) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r $ac_dir/libXt.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$as_me:$LINENO: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 fi # On some systems the X include directory may be found but not # the library directory. In these cases we attempt to guess # the lib directory. if test -d "${x_includes}" -a ! -d "${x_libraries}"; then x_libraries=`echo ${x_includes} | sed -e 's,include,lib,g'` fi # Reverse the test above to see if the lib directory has been # defined but not the include directory. if test -d "${x_libraries}" -a ! -d "${x_includes}"; then x_includes=`echo "${x_libraries}" | sed -e 's,lib,include,g'` fi # If we found the include directory in the standard /usr/include, then # don't bother to add it to our cpp line..it'll be found anyway. If # it wasn't found then we'll assume /usr/X11R6/include. if test "${x_includes}" != ""; then if test "${x_includes}" != "/usr/include"; then X_INCDIR="-I${x_includes}" else X_INCDIR="# -I${x_includes}" fi else X_INCDIR="# -I/usr/X11R6/include" fi # Repeat pretty much the same thing for the library directory. If # it was found in /usr/lib or /lib, then comment it out, or if # it wasn't found then assume /usr/X11R6/lib. if test "${x_libraries}" != ""; then if test "${x_libraries}" != "/usr/lib" -a "${x_libraries}" != "/lib" then X_LIBDIR="-L${x_libraries}" else X_LIBDIR="# -L${x_libraries}" fi else X_LIBDIR="# -L/usr/X11R6/lib" fi # This link line may product more libraries than actually needed # but hopefuly it'll work for most systems; besides the linker # should clean things up for us. X_LIBS="${X_WIDGETLIB} -lXt -lXext -lXmu ${X_PRE_LIBS} -lX11 ${X_EXTRA_LIBS}" fi echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_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_prog_egrep='grep -E' else ac_cv_prog_egrep='egrep' fi fi echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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 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 #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)) exit(2); exit (0); } _ACEOF rm -f conftest$ac_exeext 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); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&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 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 echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 if test "${ac_cv_header_sys_wait_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 #include #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main () { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_sys_wait_h=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 if test $ac_cv_header_sys_wait_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_WAIT_H 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 eval "test \"\${$as_ac_Header+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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 stropts.h memory.h stdlib.h time.h sys/time.h sys/types.h string.h strings.h fcntl.h unistd.h errno.h limits.h sys/param.h crypt.h shadow.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if eval "test \"\${$as_ac_Header+set}\" = set"; then echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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 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 { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&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; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag ac_cpp_err=$ac_cpp_err$ac_c_werror_flag else ac_cpp_err= fi else ac_cpp_err=yes fi if test -z "$ac_cpp_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 the AC_PACKAGE_NAME lists. ## ## ------------------------------------------ ## _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 eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&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 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 x; /* SunOS 4.1.1 cc rejects this. */ char const *const *ccp; char **p; /* 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"; ccp = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++ccp; p = (char**) ccp; ccp = (char const *const *) p; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 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; } #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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 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 mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6 if test "${ac_cv_type_mode_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. */ $ac_includes_default int main () { if ((mode_t *) 0) return 0; if (sizeof (mode_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_mode_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mode_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6 if test $ac_cv_type_mode_t = yes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 if test "${ac_cv_type_pid_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. */ $ac_includes_default int main () { if ((pid_t *) 0) return 0; if (sizeof (pid_t)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6 if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 if test "${ac_cv_type_uid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6 if test $ac_cv_type_uid_t = no; then cat >>confdefs.h <<\_ACEOF #define uid_t int _ACEOF cat >>confdefs.h <<\_ACEOF #define gid_t int _ACEOF fi echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+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 #ifdef signal # undef signal #endif #ifdef __cplusplus extern "C" void (*signal (int, void (*)(int)))(int); #else void (*signal ()) (); #endif int main () { int i; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_signal=int fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF for ac_func in sigaction strcasecmp strerror cftime strftime memcpy memmove localtime timelocal strchr gettimeofday get_process_stats crypt poll 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 eval "test \"\${$as_ac_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 gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ 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 #else char (*f) () = $ac_func; #endif #ifdef __cplusplus } #endif int main () { return f != $ac_func; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; 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 conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&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 echo "$as_me:$LINENO: checking for sigsetjmp" >&5 echo $ECHO_N "checking for sigsetjmp... $ECHO_C" >&6 if test "${ac_cv_have_sigsetjmp+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 () { sigjmp_buf jb; sigsetjmp(jb, 1); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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); } && { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; } && { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_have_sigsetjmp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_sigsetjmp=no fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_have_sigsetjmp" >&5 echo "${ECHO_T}$ac_cv_have_sigsetjmp" >&6 if (test "$ac_cv_have_sigsetjmp" = "yes"); then cat >>confdefs.h <<\_ACEOF #define HAVE_SIGSETJMP 1 _ACEOF fi echo "$as_me:$LINENO: checking signal behaviour" >&5 echo $ECHO_N "checking signal behaviour... $ECHO_C" >&6 if test "${ac_cv_signal_behaviour+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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. */ /*-- Exit 0 if BSD signal, 1 if SYSV signal --*/ #include static int sg_sig_count = 0 ; void sig_handler() { ++sg_sig_count ; } main() { #ifdef SIGCHLD #define _SIG_ SIGCHLD #else #define _SIG_ SIGCLD #endif signal( _SIG_, sig_handler ) ; kill( getpid(), _SIG_ ) ; kill( getpid(), _SIG_ ) ; exit( sg_sig_count != 2 ) ; } _ACEOF rm -f conftest$ac_exeext 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); } && { ac_try='./conftest$ac_exeext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_signal_behaviour=BSD 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_signal_behaviour=SYSV fi rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi echo "$as_me:$LINENO: result: $ac_cv_signal_behaviour" >&5 echo "${ECHO_T}$ac_cv_signal_behaviour" >&6 if (test "$ac_cv_signal_behaviour" = "SYSV"); then cat >>confdefs.h <<\_ACEOF #define SYSV_SIGNALS 1 _ACEOF fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. 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 $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL=$ac_install_sh fi fi echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' ac_config_files="$ac_config_files Makefile src/Makefile scripts/install.sh scripts/make_wrapper.sh" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. { (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n \ "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } | sed ' t clear : clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ : end' >>confcache if diff $cache_file confcache >/dev/null 2>&1; then :; else if test -w $cache_file; then test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" cat confcache >$cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; s/^[^=]*=[ ]*$//; }' fi 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_i=`echo "$ac_i" | sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # Work around bugs in pre-3.0 UWIN ksh. $as_unset ENV MAIL MAILPATH PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)$' \| \ . : '\(.\)' 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } /^X\/\(\/\/\)$/{ s//\1/; q; } /^X\/\(\/\).*/{ s//\1/; q; } s/.*/./; q'` # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" || { # Find who we are. Look in the path if we contain no path at all # relative or not. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi case $CONFIG_SHELL in '') as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for as_base in sh bash ksh sh5; do case $as_dir in /*) if ("$as_dir/$as_base" -c ' as_lineno_1=$LINENO as_lineno_2=$LINENO as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` test "x$as_lineno_1" != "x$as_lineno_2" && test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } CONFIG_SHELL=$as_dir/$as_base export CONFIG_SHELL exec "$CONFIG_SHELL" "$0" ${1+"$@"} fi;; esac done done ;; esac # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line before each line; the second 'sed' does the real # work. The second script uses 'N' to pair each line-number line # with the numbered line, and appends trailing '-' during # substitution so that $LINENO is not a special case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) sed '=' <$as_myself | sed ' N s,$,-, : loop s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, t loop s,-$,, s,^['$as_cr_digits']*\n,, ' >$as_me.lineno && chmod +x $as_me.lineno || { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensible to this). . ./$as_me.lineno # Exit status is that of the last command. exit } case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in *c*,-n*) ECHO_N= ECHO_C=' ' ECHO_T=' ' ;; *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; *) ECHO_N= ECHO_C='\c' ECHO_T= ;; esac if expr a : '\(a\)' >/dev/null 2>&1; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then # We could just check for DJGPP; but this test a) works b) is more generic # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). if test -f conf$$.exe; then # Don't use ln at all; we don't have any links as_ln_s='cp -p' else as_ln_s='ln -s' fi elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # 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'" # IFS # We need space, tab and new line, in precisely that order. as_nl=' ' IFS=" $as_nl" # CDPATH. $as_unset CDPATH exec 6>&1 # Open the log real soon, to keep \$[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. Logging --version etc. is OK. exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX } >&5 cat >&5 <<_CSEOF This file was extended by $as_me, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ _CSEOF echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 echo >&5 _ACEOF # Files that config.status was made for. if test -n "$ac_config_files"; then echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS fi if test -n "$ac_config_headers"; then echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS fi if test -n "$ac_config_links"; then echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS fi if test -n "$ac_config_commands"; then echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS fi cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2003 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir INSTALL="$INSTALL" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "x$1" : 'x\([^=]*\)='` ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` ac_shift=: ;; -*) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; *) # This is not an option, so the user has probably given explicit # arguments. ac_option=$1 ac_need_defaults=false;; esac case $ac_option in # Handling of the options. _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header { { echo "$as_me:$LINENO: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case "$ac_config_target" in # Handling of arguments. "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "scripts/install.sh" ) CONFIG_FILES="$CONFIG_FILES scripts/install.sh" ;; "scripts/make_wrapper.sh" ) CONFIG_FILES="$CONFIG_FILES scripts/make_wrapper.sh" ;; "src/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; *) { { 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 fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason to put it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Create a temporary directory, and hook for its removal unless debugging. $debug || { trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./confstat$$-$RANDOM (umask 077 && mkdir $tmp) } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "\$CONFIG_FILES"; then # Protect against being on the right side of a sed subst in config.status. sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF s,@SHELL@,$SHELL,;t t s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t s,@exec_prefix@,$exec_prefix,;t t s,@prefix@,$prefix,;t t s,@program_transform_name@,$program_transform_name,;t t s,@bindir@,$bindir,;t t s,@sbindir@,$sbindir,;t t s,@libexecdir@,$libexecdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t s,@localstatedir@,$localstatedir,;t t s,@libdir@,$libdir,;t t s,@includedir@,$includedir,;t t s,@oldincludedir@,$oldincludedir,;t t s,@infodir@,$infodir,;t t s,@mandir@,$mandir,;t t s,@build_alias@,$build_alias,;t t s,@host_alias@,$host_alias,;t t s,@target_alias@,$target_alias,;t t s,@DEFS@,$DEFS,;t t s,@ECHO_C@,$ECHO_C,;t t s,@ECHO_N@,$ECHO_N,;t t s,@ECHO_T@,$ECHO_T,;t t s,@LIBS@,$LIBS,;t t s,@build@,$build,;t t s,@build_cpu@,$build_cpu,;t t s,@build_vendor@,$build_vendor,;t t s,@build_os@,$build_os,;t t s,@host@,$host,;t t s,@host_cpu@,$host_cpu,;t t s,@host_vendor@,$host_vendor,;t t s,@host_os@,$host_os,;t t s,@DEF_AIX_FIX@,$DEF_AIX_FIX,;t t s,@MOTIF_PATH@,$MOTIF_PATH,;t t s,@MOTIF_LIBS@,$MOTIF_LIBS,;t t s,@with_x@,$with_x,;t t s,@with_motif@,$with_motif,;t t s,@with_readline@,$with_readline,;t t s,@DEF_MOTIF@,$DEF_MOTIF,;t t s,@MOTIF_INCDIR@,$MOTIF_INCDIR,;t t s,@MOTIF_LIBDIR@,$MOTIF_LIBDIR,;t t s,@ATHENA_LIBS@,$ATHENA_LIBS,;t t s,@CC@,$CC,;t t s,@CFLAGS@,$CFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t s,@CPPFLAGS@,$CPPFLAGS,;t t s,@ac_ct_CC@,$ac_ct_CC,;t t s,@EXEEXT@,$EXEEXT,;t t s,@OBJEXT@,$OBJEXT,;t t s,@CPP@,$CPP,;t t s,@DEF_POSIX@,$DEF_POSIX,;t t s,@SYBASE_OCOS@,$SYBASE_OCOS,;t t s,@SYBASE_LIBS@,$SYBASE_LIBS,;t t s,@SYBASE_LIBDIR@,$SYBASE_LIBDIR,;t t s,@SYBASE_INCDIR@,$SYBASE_INCDIR,;t t s,@SYBASE_OS@,$SYBASE_OS,;t t s,@DEF_READLINE@,$DEF_READLINE,;t t s,@READLINE_INCDIR@,$READLINE_INCDIR,;t t s,@READLINE_LIBDIR@,$READLINE_LIBDIR,;t t s,@READLINE_LIBS@,$READLINE_LIBS,;t t s,@xmkmfpath@,$xmkmfpath,;t t s,@DEF_X11@,$DEF_X11,;t t s,@X_LIBS@,$X_LIBS,;t t s,@X_INCDIR@,$X_INCDIR,;t t s,@X_LIBDIR@,$X_LIBDIR,;t t s,@EGREP@,$EGREP,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@LTLIBOBJS@,$LTLIBOBJS,;t t CEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_lines=48 ac_sed_frag=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_lines # Line after last line for current file. ac_more_lines=: ac_sed_cmds= while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag else sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag fi if test ! -s $tmp/subs.frag; then ac_more_lines=false else # The purpose of the label and of the branching condition is to # speed up the sed processing (if there are no `@' at all, there # is no need to browse any of the substitutions). # These are the two extra sed commands mentioned above. (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_lines` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi fi # test -n "$CONFIG_FILES" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. if test "$ac_dir" != .; then ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A "../" for each directory in $ac_dir_suffix. ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` else ac_dir_suffix= ac_top_builddir= fi case $srcdir in .) # No --srcdir option. We are building in place. ac_srcdir=. if test -z "$ac_top_builddir"; then ac_top_srcdir=. else ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` fi ;; [\\/]* | ?:[\\/]* ) # Absolute path. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ;; *) # Relative path. ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac # Do not use `cd foo && pwd` to compute absolute paths, because # the directories may not exist. case `pwd` in .) ac_abs_builddir="$ac_dir";; *) case "$ac_dir" in .) ac_abs_builddir=`pwd`;; [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; *) ac_abs_builddir=`pwd`/"$ac_dir";; esac;; esac case $ac_abs_builddir in .) ac_abs_top_builddir=${ac_top_builddir}.;; *) case ${ac_top_builddir}. in .) ac_abs_top_builddir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; esac;; esac case $ac_abs_builddir in .) ac_abs_srcdir=$ac_srcdir;; *) case $ac_srcdir in .) ac_abs_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; esac;; esac case $ac_abs_builddir in .) ac_abs_top_srcdir=$ac_top_srcdir;; *) case $ac_top_srcdir in .) ac_abs_top_srcdir=$ac_abs_builddir;; [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; esac;; esac case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_builddir$INSTALL ;; esac if test x"$ac_file" != x-; then { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then configure_input= else configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } _ACEOF cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@configure_input@,$configure_input,;t t s,@srcdir@,$ac_srcdir,;t t s,@abs_srcdir@,$ac_abs_srcdir,;t t s,@top_srcdir@,$ac_top_srcdir,;t t s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t s,@builddir@,$ac_builddir,;t t s,@abs_builddir@,$ac_abs_builddir,;t t s,@top_builddir@,$ac_top_builddir,;t t s,@abs_top_builddir@,$ac_abs_top_builddir,;t t s,@INSTALL@,$ac_INSTALL,;t t " $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then mv $tmp/out $ac_file else cat $tmp/out rm -f $tmp/out fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # # CONFIG_HEADER section. # # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin cat >$tmp/stdin ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the # src tree. ac_file_inputs=`IFS=: for f in $ac_file_in; do case $f in -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } # Do quote $f, to prevent DOS paths from being IFS'd. echo "$f";; *) # Relative if test -f "$f"; then # Build tree echo "$f" elif test -f "$srcdir/$f"; then # Source tree echo "$srcdir/$f" else # /dev/null tree { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF # Transform confdefs.h into two sed scripts, `conftest.defines' and # `conftest.undefs', that substitutes the proper values into # config.h.in to produce config.h. The first handles `#define' # templates, and the second `#undef' templates. # And first: Protect against being on the right side of a sed subst in # config.status. Protect against being in an unquoted here document # in config.status. rm -f conftest.defines conftest.undefs # Using a here document instead of a string reduces the quoting nightmare. # Putting comments in sed scripts is not portable. # # `end' is used to avoid that the second main sed command (meant for # 0-ary CPP macros) applies to n-ary macro definitions. # See the Autoconf documentation for `clear'. cat >confdef2sed.sed <<\_ACEOF s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times # the same #defines, which is useless. Nevertheless, we may not want to # sort them, since we want the *last* AC-DEFINE to be honored. uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs rm -f confdef2sed.sed # This sed command replaces #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. cat >>conftest.undefs <<\_ACEOF s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.defines >/dev/null do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/defines.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines echo ' fi # grep' >>$CONFIG_STATUS echo >>$CONFIG_STATUS # Break up conftest.undefs because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail while grep . conftest.undefs >/dev/null do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS echo 'CEOF sed -f $tmp/undefs.sed $tmp/in >$tmp/out rm -f $tmp/in mv $tmp/out $tmp/in ' >>$CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail rm -f conftest.undefs mv conftest.tail conftest.undefs done rm -f conftest.undefs cat >>$CONFIG_STATUS <<\_ACEOF # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ if test x"$ac_file" = x-; then echo "/* Generated by configure. */" >$tmp/config.h else echo "/* $ac_file. Generated by configure. */" >$tmp/config.h fi cat $tmp/in >>$tmp/config.h rm -f $tmp/in if test x"$ac_file" != x-; then 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 ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` { if $as_mkdir_p; then mkdir -p "$ac_dir" else as_dir="$ac_dir" as_dirs= while test ! -d "$as_dir"; do as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| \ . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } /^X\(\/\/\)$/{ s//\1/; q; } /^X\(\/\).*/{ s//\1/; q; } s/.*/./; q'` done test ! -n "$as_dirs" || mkdir $as_dirs fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} { (exit 1); exit 1; }; }; } rm -f $ac_file mv $tmp/config.h $ac_file fi else cat $tmp/config.h rm -f $tmp/config.h fi done _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi sqsh-2.1.7/configure.in0100664000076500007650000001701611056170714015266 0ustar mpepplermpepplerdnl dnl The following file is used to determine if autoconf is working dnl in the correct directory. dnl AC_INIT(src/sqsh_main.c) AC_CONFIG_HEADER(src/config.h) AC_CONFIG_AUX_DIR(autoconf) AC_CANONICAL_HOST dnl dnl Enable workarounds for various operating system bugs. dnl Right now, the only known one has to do with AIX. dnl case "$host_os" in aix*) DEF_AIX_FIX="-DUSE_AIX_FIX" AC_SUBST(DEF_AIX_FIX) ;; *) ;; esac AC_ARG_WITH([gcc], [ --with-gcc Use gcc, regardless of path], [with_gcc="yes"], []) AC_ARG_WITH([x], [], [],[with_x="no"]) AC_ARG_WITH([readline], [ --with-readline support fancy command line editing], [], [with_readline="no"]) AC_ARG_WITH([old-readline], [ --with-old-readline Force readline backwards compatibilty], [], [with_old_readline="no"]) AC_ARG_WITH([static], [ --with-static Statically link in Sybase libraries], [], [with_static="no"]) AC_ARG_WITH([devlib], [ --with-devlib Compile against Open Client devlibs], [], [with_devlib="no"]) AC_ARG_WITH([motif], [ --with-motif support X11/Motif widgets], [ if test "x$with_motif" != "xno" then if test "x$with_motif" != "xyes" then MOTIF_PATH=$with_motif with_motif="yes" MOTIF_INCDIR="-I$MOTIF_PATH/include/X11" MOTIF_LIBDIR="-L$MOTIF_PATH/lib" else MOTIF_INCDIR="# -I/usr/X11/include" MOTIF_LIBDIR="# -L/usr/X11/lib" fi with_x="yes" DEF_MOTIF="-DUSE_MOTIF" fi ],[ DEF_MOTIF="# -DUSE_MOTIF" with_motif="no" ]) AC_SUBST(with_x) AC_SUBST(with_motif) AC_SUBST(with_readline) AC_SUBST(DEF_MOTIF) AC_SUBST(MOTIF_PATH) AC_SUBST(MOTIF_INCDIR) AC_SUBST(MOTIF_LIBDIR) if test "x$with_x" != "xno" then if test "x$with_motif" != "xno" then MOTIF_LIBS=-lXm ATHENA_LIBS= else MOTIF_LIBS= ATHENA_LIBS=-lXaw fi fi AC_SUBST(MOTIF_LIBS) AC_SUBST(ATHENA_LIBS) dnl dnl Compiler characteristics dnl AC_PROG_CC AC_PROG_CPP AC_ISC_POSIX if test "${ISC}" = "yes"; then DEF_POSIX="-D_POSIX_SOURCE" AC_SUBST(DEF_POSIX) fi AC_VOLATILE AC_SYBASE_ASE if test "$with_old_readline" = "yes"; then with_readline="yes" fi if test "$with_readline" = "no"; then DEF_READLINE="# -DUSE_READLINE" READLINE_INCDIR="# -I/usr/local/include" READLINE_LIBDIR="# -I/usr/local/lib" READLINE_LIBS="# -lreadline -lcurses" else DEF_READLINE="-DUSE_READLINE" AC_FIND_LIB(readline, [$LIBDIRS], [ READLINE_LIBDIR="${libdir}" inc_search="`echo ${libdir} | sed -e 's,/[^/]*$,,g'`/include" ],[ READLINE_LIBDIR="" inc_search="" ]) if test "$INCDIRS" != ""; then if test "$inc_search" = ""; then inc_search=$INCDIRS else inc_search=$INCDIRS:$inc_search fi fi AC_FIND_HDR([readline/readline.h],[$inc_search], [READLINE_INCDIR="${include_dir}"],[READLINE_INCDIR=""]) AC_MSG_CHECKING(for readline link) AC_CACHE_VAL(ac_cv_readline_libs, [ readline_libs="" ORIG_CPPFLAGS="${CPPFLAGS}" ORIG_LDFLAGS="${LDFLAGS}" ORIG_LIBS="${LIBS}" if test "${READLINE_INCDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -I${READLINE_INCDIR}" fi if test "${READLINE_LIBDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -L${READLINE_LIBDIR}" fi for lib in "-lHcurses" "-lcurses" "-lncurses" "-ltermcap" \ "-ltermcap -lucb" do LIBS="${ORIG_LIBS} -lreadline ${lib}" AC_TRY_LINK([ #include #include #include ],[ char *c; add_history( c ); readline( c ); ],[ readline_libs="${lib}" ]) if test "${readline_libs}" != ""; then break; fi done CPPFLAGS="${ORIG_CPPFLAGS}" LDFLAGS="${ORIG_LDFLAGS}" LIBS="${ORIG_LIBS}" ac_cv_readline_libs=${readline_libs} ]) READLINE_LIBS=${ac_cv_readline_libs} if test "${READLINE_LIBS}" = ""; then AC_MSG_RESULT(not found) READLINE_LIBS="-lreadline -lcurses" else READLINE_LIBS="-lreadline ${READLINE_LIBS}" AC_MSG_RESULT(${READLINE_LIBS}) fi if test "$READLINE_INCDIR" = ""; then READLINE_INCDIR="-I/usr/local/include" else if test "$READLINE_INCDIR" = "/usr/include"; then READLINE_INCDIR="# -I${READLINE_INCDIR}" else READLINE_INCDIR="-I${READLINE_INCDIR}" fi fi if test "$READLINE_LIBDIR" = ""; then READLINE_LIBDIR="-L/usr/local/lib" else if test "$READLINE_LIBDIR" = "/usr/lib" -o ${READLINE_LIBDIR} = "/lib" then READLINE_LIBDIR="# -L${READLINE_LIBDIR}" else READLINE_LIBDIR="-L${READLINE_LIBDIR}" fi fi if [[ "$with_old_readline" = "yes" ]]; then DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" else AC_CHECK_LIB(readline, rl_completion_matches,:,DEF_READLINE="${DEF_READLINE} -DOLD_READLINE", ${READLINE_LIBDIR} ${READLINE_LIBS}) fi fi AC_SUBST(DEF_READLINE) AC_SUBST(READLINE_INCDIR) AC_SUBST(READLINE_LIBDIR) AC_SUBST(READLINE_LIBS) DEF_X11="-DUSE_X11" if test "x$with_x" != "xno"; then # The AC PATH EXTRA macro uses xmkmf to figure out where to # find the X include directory and X lib directories, so lets # make sure that it can find the xmkmf executable. AC_PATH_PROG(xmkmfpath, xmkmf) # When complete, the following macro should define x_includes, # x_libraries, X_CFLAGS, X_LIBS, X_EXTRA_LIBS, and X_PRE_LIBS. AC_PATH_X # On some systems the X include directory may be found but not # the library directory. In these cases we attempt to guess # the lib directory. if test -d "${x_includes}" -a ! -d "${x_libraries}"; then x_libraries=`echo ${x_includes} | sed -e 's,include,lib,g'` fi # Reverse the test above to see if the lib directory has been # defined but not the include directory. if test -d "${x_libraries}" -a ! -d "${x_includes}"; then x_includes=`echo "${x_libraries}" | sed -e 's,lib,include,g'` fi # If we found the include directory in the standard /usr/include, then # don't bother to add it to our cpp line..it'll be found anyway. If # it wasn't found then we'll assume /usr/X11R6/include. if test "${x_includes}" != ""; then if test "${x_includes}" != "/usr/include"; then X_INCDIR="-I${x_includes}" else X_INCDIR="# -I${x_includes}" fi else X_INCDIR="# -I/usr/X11R6/include" fi # Repeat pretty much the same thing for the library directory. If # it was found in /usr/lib or /lib, then comment it out, or if # it wasn't found then assume /usr/X11R6/lib. if test "${x_libraries}" != ""; then if test "${x_libraries}" != "/usr/lib" -a "${x_libraries}" != "/lib" then X_LIBDIR="-L${x_libraries}" else X_LIBDIR="# -L${x_libraries}" fi else X_LIBDIR="# -L/usr/X11R6/lib" fi # This link line may product more libraries than actually needed # but hopefuly it'll work for most systems; besides the linker # should clean things up for us. X_LIBS="${X_WIDGETLIB} -lXt -lXext -lXmu ${X_PRE_LIBS} -lX11 ${X_EXTRA_LIBS}" else DEF_X11="# ${DEF_X11}" X_LIBS="# -lXaw -lXt -lXext -lXmu -lX11" X_INCDIR="# -I/usr/X11R6/include" X_LIBDIR="# -L/usr/X11R6/lib" fi AC_SUBST(DEF_X11) AC_SUBST(X_LIBS) AC_SUBST(X_INCDIR) AC_SUBST(X_LIBDIR) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(stropts.h memory.h stdlib.h time.h sys/time.h sys/types.h string.h strings.h fcntl.h unistd.h errno.h limits.h sys/param.h crypt.h shadow.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_MODE_T AC_TYPE_PID_T AC_TYPE_UID_T dnl Checks for library functions. AC_TYPE_SIGNAL AC_CHECK_FUNCS(sigaction strcasecmp strerror cftime strftime memcpy memmove localtime timelocal strchr gettimeofday get_process_stats crypt poll) AC_SIGSETJMP dnl dnl Checks function behaviour dnl AC_SYSV_SIGNALS AC_PROG_INSTALL AC_OUTPUT(Makefile src/Makefile scripts/install.sh scripts/make_wrapper.sh) sqsh-2.1.7/configure.new0100775000076500007650000053256511056170714015467 0ustar mpepplermpeppler#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="src/sqsh_main.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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os DEF_AIX_FIX with_x with_motif with_readline DEF_MOTIF MOTIF_PATH MOTIF_INCDIR MOTIF_LIBDIR MOTIF_LIBS ATHENA_LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP DEF_POSIX SYBASE_OCOS SYBASE_LIBS SYBASE_LIBDIR SYBASE_INCDIR SYBASE_OS DEF_READLINE READLINE_INCDIR READLINE_LIBDIR READLINE_LIBS xmkmfpath XMKMF DEF_X11 X_LIBS X_INCDIR X_LIBDIR GREP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP XMKMF' # Initialize some variables set by options. ac_init_help= ac_init_version=false # 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 X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gcc Use gcc, regardless of path --with-readline support fancy command line editing --with-old-readline Force readline backwards compatibilty --with-static Statically link in Sybase libraries --with-devlib Compile against Open Client devlibs --with-motif support X11/Motif widgets --with-x use the X Window System 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 XMKMF Path to xmkmf, Makefile generator for X Window System Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _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_config_headers="$ac_config_headers src/config.h" ac_aux_dir= for ac_dir in autoconf "$srcdir"/autoconf; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in autoconf \"$srcdir\"/autoconf" >&5 echo "$as_me: error: cannot find install-sh or install.sh in autoconf \"$srcdir\"/autoconf" >&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 case "$host_os" in aix*) DEF_AIX_FIX="-DUSE_AIX_FIX" ;; *) ;; esac # Check whether --with-gcc was given. if test "${with_gcc+set}" = set; then withval=$with_gcc; with_gcc="yes" fi # Check whether --with-x was given. if test "${with_x+set}" = set; then withval=$with_x; else with_x="no" fi # Check whether --with-readline was given. if test "${with_readline+set}" = set; then withval=$with_readline; else with_readline="no" fi # Check whether --with-old-readline was given. if test "${with_old_readline+set}" = set; then withval=$with_old_readline; else with_old_readline="no" fi # Check whether --with-static was given. if test "${with_static+set}" = set; then withval=$with_static; else with_static="no" fi # Check whether --with-devlib was given. if test "${with_devlib+set}" = set; then withval=$with_devlib; else with_devlib="no" fi # Check whether --with-motif was given. if test "${with_motif+set}" = set; then withval=$with_motif; if test "x$with_motif" != "xno" then if test "x$with_motif" != "xyes" then MOTIF_PATH=$with_motif with_motif="yes" MOTIF_INCDIR="-I$MOTIF_PATH/include/X11" MOTIF_LIBDIR="-L$MOTIF_PATH/lib" else MOTIF_INCDIR="# -I/usr/X11/include" MOTIF_LIBDIR="# -L/usr/X11/lib" fi with_x="yes" DEF_MOTIF="-DUSE_MOTIF" fi else DEF_MOTIF="# -DUSE_MOTIF" with_motif="no" fi if test "x$with_x" != "xno" then if test "x$with_motif" != "xno" then MOTIF_LIBS=-lXm ATHENA_LIBS= else MOTIF_LIBS= ATHENA_LIBS=-lXaw 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 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 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 library containing strerror" >&5 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } if test "${ac_cv_search_strerror+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 strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi 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_strerror=$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_strerror+set}" = set; then break fi done if test "${ac_cv_search_strerror+set}" = set; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 echo "${ECHO_T}$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi if test "${ISC}" = "yes"; then DEF_POSIX="-D_POSIX_SOURCE" fi { echo "$as_me:$LINENO: checking whether ${CC-cc} supports volatile keyword" >&5 echo $ECHO_N "checking whether ${CC-cc} supports volatile keyword... $ECHO_C" >&6; } if test "${ac_cv_have_volatile+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 () { volatile int a ; a = 10 ; ; 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_have_volatile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_volatile" >&5 echo "${ECHO_T}$ac_cv_have_volatile" >&6; } if (test "$ac_cv_have_volatile" = "yes"); then cat >>confdefs.h <<\_ACEOF #define HAVE_VOLATILE 1 _ACEOF fi # # Is $SYBASE defined? # { echo "$as_me:$LINENO: checking Open Client installation" >&5 echo $ECHO_N "checking Open Client installation... $ECHO_C" >&6; } if test "$SYBASE" = ""; then { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } { { echo "$as_me:$LINENO: error: Unable to locate Sybase installation. Check your SYBASE environment variable setting." >&5 echo "$as_me: error: Unable to locate Sybase installation. Check your SYBASE environment variable setting." >&2;} { (exit 1); exit 1; }; } fi SYBASE_OCOS= for subdir in $SYBASE $SYBASE/OCS $SYBASE/OCS-[0-9]* do if test -d $subdir/include; then SYBASE_OCOS=$subdir break fi done if test "$SYBASE_OCOS" = ""; then { echo "$as_me:$LINENO: result: fail" >&5 echo "${ECHO_T}fail" >&6; } { { echo "$as_me:$LINENO: error: Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting." >&5 echo "$as_me: error: Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting." >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $SYBASE_OCOS" >&5 echo "${ECHO_T}$SYBASE_OCOS" >&6; } { echo "$as_me:$LINENO: checking Open Client libraries" >&5 echo $ECHO_N "checking Open Client libraries... $ECHO_C" >&6; } if test "$with_devlib" = "yes" then SYBASE_LIBDIR="$SYBASE_OCOS/devlib" else SYBASE_LIBDIR="$SYBASE_OCOS/lib" fi SYBASE_LIBS= for i in blk cs ct tcl comn intl do x= if test -f $SYBASE_LIBDIR/lib${i}.a; then x="-l${i}" else if test -f $SYBASE_LIBDIR/lib${i}64.a; then x="-l${i}64" else if test -f $SYBASE_LIBDIR/libsyb${i}.a; then x="-lsyb${i}" else if test -f $SYBASE_LIBDIR/libsyb${i}64.a; then x="-lsyb${i}64" fi fi fi fi if test -n $x ; then SYBASE_LIBS="$SYBASE_LIBS $x" fi done # # Check for -ltds (FreeTDS project) # if test -f $SYBASE_LIBDIR/libtds.a; then SYBASE_LIBS="$SYBASE_LIBS -ltds" fi { echo "$as_me:$LINENO: result: $SYBASE_LIBS" >&5 echo "${ECHO_T}$SYBASE_LIBS" >&6; } { echo "$as_me:$LINENO: checking Open Client needs net libraries" >&5 echo $ECHO_N "checking Open Client needs net libraries... $ECHO_C" >&6; } SYBASE_VERSION=`strings $SYBASE_LIBDIR/lib*ct.a 2>/dev/null | \ cut -c1-80 | fgrep 'Sybase Client-Library' | cut -d '/' -f 2` SYBASE_VERSION=`echo $SYBASE_VERSION | cut -d . -f 1` if [ "$SYBASE_VERSION" = "" ]; then SYBASE_VERSION="FreeTDS" fi if [ "$SYBASE_VERSION" = "10" ]; then if [ -f $SYBASE_LIBDIR/libinsck.a ]; then SYBASE_LIBS="$SYBASE_LIBS -linsck" { echo "$as_me:$LINENO: result: yes (-linsck)" >&5 echo "${ECHO_T}yes (-linsck)" >&6; } elif [ -f $SYBASE_LIBDIR/libtli.a ]; then SYBASE_LIBS="$SYBASE_LIBS -ltli" { echo "$as_me:$LINENO: result: yes (-ltli)" >&5 echo "${ECHO_T}yes (-ltli)" >&6; } else { echo "$as_me:$LINENO: result: yes (version 10.x)" >&5 echo "${ECHO_T}yes (version 10.x)" >&6; } fi else { echo "$as_me:$LINENO: result: no (version $SYBASE_VERSION)" >&5 echo "${ECHO_T}no (version $SYBASE_VERSION)" >&6; } fi { echo "$as_me:$LINENO: checking Open Client OS libraries" >&5 echo $ECHO_N "checking Open Client OS libraries... $ECHO_C" >&6; } case "${host_os}" in linux*) SYBASE_OS="-ldl -lm";; irix*) SYBASE_OS="-lnsl -lm";; ncr*) SYBASE_OS="-ldl -lm";; sunos*) SYBASE_OS="-lm";; solaris*) SYBASE_OS="-lnsl -ldl -lm";; osf1*) SYBASE_OS="-lsdna -ldnet_stub -lm";; ultrix*) SYBASE_OS="-lsdna -ldnet_stub -lm";; hpux*) SYBASE_OS="-lcl -lm -lsec -lBSD";; dgux*) SYBASE_OS="-lm -ldl -ldgc";; aix*) SYBASE_OS="-lm";; *) SYBASE_OS="-lm -ldl";; esac { echo "$as_me:$LINENO: result: $SYBASE_OS" >&5 echo "${ECHO_T}$SYBASE_OS" >&6; } if test "$with_static" = "yes" then SYBASE_LIBS=`echo $SYBASE_LIBS | \ sed -e 's,-l\([a-z]*\),\$(SYBASE_OCOS)/lib/lib\1.a,g'` fi if test "$with_devlib" = "yes"; then SYBASE_LIBDIR='-L$(SYBASE_OCOS)/devlib' else SYBASE_LIBDIR='-L$(SYBASE_OCOS)/lib' fi SYBASE_INCDIR='-I$(SYBASE_OCOS)/include' if test "$with_old_readline" = "yes"; then with_readline="yes" fi if test "$with_readline" = "no"; then DEF_READLINE="# -DUSE_READLINE" READLINE_INCDIR="# -I/usr/local/include" READLINE_LIBDIR="# -I/usr/local/lib" READLINE_LIBS="# -lreadline -lcurses" else DEF_READLINE="-DUSE_READLINE" { echo "$as_me:$LINENO: checking for libreadline" >&5 echo $ECHO_N "checking for libreadline... $ECHO_C" >&6; } if test "${ac_cv_libreadline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else SEARCH_PATH="/lib:/usr/lib:/usr/local/lib:${HOME}/lib:${HOME}/usr/lib" libdir="" if test "${LD_LIBRARY_PATH}" != ""; then SEARCH_PATH="${LD_LIBRARY_PATH}:${SEARCH_PATH}" fi if test "$LIBDIRS" != ""; then SEARCH_PATH="$LIBDIRS:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do for lib in ${dir}/libreadline.*; do if test -f "${lib}"; then libdir=${dir} break; fi done if test "${libdir}" != ""; then break; fi done IFS="$ac_save_ifs" ac_cv_libreadline="${libdir}" fi libdir=$ac_cv_libreadline if test "${libdir}" != ""; then { echo "$as_me:$LINENO: result: $libdir" >&5 echo "${ECHO_T}$libdir" >&6; } READLINE_LIBDIR="${libdir}" inc_search="`echo ${libdir} | sed -e 's,/^/*$,,g'`/include" else { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } READLINE_LIBDIR="" inc_search="" fi if test "$INCDIRS" != ""; then if test "$inc_search" = ""; then inc_search=$INCDIRS else inc_search=$INCDIRS:$inc_search fi fi { echo "$as_me:$LINENO: checking for readline/readline.h" >&5 echo $ECHO_N "checking for readline/readline.h... $ECHO_C" >&6; } ac_cache_var=ac_cv_hdr_`echo readline/readline.h | sed -e 's,[/.],_,g'` if { as_var=$ac_cache_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else SEARCH_PATH="/usr/include:/usr/local/include:${HOME}/include:${HOME}/usr/include" include_dir="" if test "$inc_search" != ""; then SEARCH_PATH="$inc_search:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do if test -f ${dir}/readline/readline.h; then include_dir=${dir} break; fi done IFS="$ac_save_ifs" eval ${ac_cache_var}=${include_dir} fi include_dir=${ac_cache_var} include_dir=`eval echo '$'${include_dir}` if test "${include_dir}" != ""; then { echo "$as_me:$LINENO: result: $include_dir" >&5 echo "${ECHO_T}$include_dir" >&6; } READLINE_INCDIR="${include_dir}" else { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } READLINE_INCDIR="" fi { echo "$as_me:$LINENO: checking for readline link" >&5 echo $ECHO_N "checking for readline link... $ECHO_C" >&6; } if test "${ac_cv_readline_libs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else readline_libs="" ORIG_CPPFLAGS="${CPPFLAGS}" ORIG_LDFLAGS="${LDFLAGS}" ORIG_LIBS="${LIBS}" if test "${READLINE_INCDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -I${READLINE_INCDIR}" fi if test "${READLINE_LIBDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -L${READLINE_LIBDIR}" fi for lib in "-lHcurses" "-lcurses" "-lncurses" "-ltermcap" \ "-ltermcap -lucb" do LIBS="${ORIG_LIBS} -lreadline ${lib}" 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 int main () { char *c; add_history( c ); readline( c ); ; 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 readline_libs="${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 if test "${readline_libs}" != ""; then break; fi done CPPFLAGS="${ORIG_CPPFLAGS}" LDFLAGS="${ORIG_LDFLAGS}" LIBS="${ORIG_LIBS}" ac_cv_readline_libs=${readline_libs} fi READLINE_LIBS=${ac_cv_readline_libs} if test "${READLINE_LIBS}" = ""; then { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } READLINE_LIBS="-lreadline -lcurses" else READLINE_LIBS="-lreadline ${READLINE_LIBS}" { echo "$as_me:$LINENO: result: ${READLINE_LIBS}" >&5 echo "${ECHO_T}${READLINE_LIBS}" >&6; } fi if test "$READLINE_INCDIR" = ""; then READLINE_INCDIR="-I/usr/local/include" else if test "$READLINE_INCDIR" = "/usr/include"; then READLINE_INCDIR="# -I${READLINE_INCDIR}" else READLINE_INCDIR="-I${READLINE_INCDIR}" fi fi if test "$READLINE_LIBDIR" = ""; then READLINE_LIBDIR="-L/usr/local/lib" else if test "$READLINE_LIBDIR" = "/usr/lib" -o ${READLINE_LIBDIR} = "/lib" then READLINE_LIBDIR="# -L${READLINE_LIBDIR}" else READLINE_LIBDIR="-L${READLINE_LIBDIR}" fi fi if [ "$with_old_readline" = "yes" ]; then DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" else { echo "$as_me:$LINENO: checking for rl_completion_matches in -lreadline" >&5 echo $ECHO_N "checking for rl_completion_matches in -lreadline... $ECHO_C" >&6; } if test "${ac_cv_lib_readline_rl_completion_matches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline ${READLINE_LIBDIR} ${READLINE_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 rl_completion_matches (); int main () { return rl_completion_matches (); ; 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_readline_rl_completion_matches=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_readline_rl_completion_matches=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_readline_rl_completion_matches" >&5 echo "${ECHO_T}$ac_cv_lib_readline_rl_completion_matches" >&6; } if test $ac_cv_lib_readline_rl_completion_matches = yes; then : else DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" fi fi fi DEF_X11="-DUSE_X11" if test "x$with_x" != "xno"; then # The AC PATH EXTRA macro uses xmkmf to figure out where to # find the X include directory and X lib directories, so lets # make sure that it can find the xmkmf executable. # Extract the first word of "xmkmf", so it can be a program name with args. set dummy xmkmf; 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_path_xmkmfpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $xmkmfpath in [\\/]* | ?:[\\/]*) ac_cv_path_xmkmfpath="$xmkmfpath" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi xmkmfpath=$ac_cv_path_xmkmfpath if test -n "$xmkmfpath"; then { echo "$as_me:$LINENO: result: $xmkmfpath" >&5 echo "${ECHO_T}$xmkmfpath" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # When complete, the following macro should define x_includes, # x_libraries, X_CFLAGS, X_LIBS, X_EXTRA_LIBS, and X_PRE_LIBS. { echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6; } # Check whether --with-x was given. if test "${with_x+set}" = set; then withval=$with_x; fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else case $x_includes,$x_libraries in #( *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 echo "$as_me: error: Cannot use X directory names containing '" >&2;} { (exit 1); exit 1; }; };; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir cat >Imakefile <<'_ACEOF' incroot: @echo incroot='${INCROOT}' usrlibdir: @echo usrlibdir='${USRLIBDIR}' libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat >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 # We can compile using X headers with no special include directory. ac_x_includes= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include int main () { XrmInitialize () ; 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 LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no case $ac_x_includes,$ac_x_libraries in #( no,* | *,no | *\'*) # Didn't find X, or a directory has "'" in its name. ac_cv_have_x="have_x=no";; #( *) # Record where we found X for the cache. ac_cv_have_x="have_x=yes\ ac_x_includes='$ac_x_includes'\ ac_x_libraries='$ac_x_libraries'" esac fi ;; #( *) have_x=yes;; esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then { echo "$as_me:$LINENO: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes\ ac_x_includes='$x_includes'\ ac_x_libraries='$x_libraries'" { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; } fi # On some systems the X include directory may be found but not # the library directory. In these cases we attempt to guess # the lib directory. if test -d "${x_includes}" -a ! -d "${x_libraries}"; then x_libraries=`echo ${x_includes} | sed -e 's,include,lib,g'` fi # Reverse the test above to see if the lib directory has been # defined but not the include directory. if test -d "${x_libraries}" -a ! -d "${x_includes}"; then x_includes=`echo "${x_libraries}" | sed -e 's,lib,include,g'` fi # If we found the include directory in the standard /usr/include, then # don't bother to add it to our cpp line..it'll be found anyway. If # it wasn't found then we'll assume /usr/X11R6/include. if test "${x_includes}" != ""; then if test "${x_includes}" != "/usr/include"; then X_INCDIR="-I${x_includes}" else X_INCDIR="# -I${x_includes}" fi else X_INCDIR="# -I/usr/X11R6/include" fi # Repeat pretty much the same thing for the library directory. If # it was found in /usr/lib or /lib, then comment it out, or if # it wasn't found then assume /usr/X11R6/lib. if test "${x_libraries}" != ""; then if test "${x_libraries}" != "/usr/lib" -a "${x_libraries}" != "/lib" then X_LIBDIR="-L${x_libraries}" else X_LIBDIR="# -L${x_libraries}" fi else X_LIBDIR="# -L/usr/X11R6/lib" fi # This link line may product more libraries than actually needed # but hopefuly it'll work for most systems; besides the linker # should clean things up for us. X_LIBS="${X_WIDGETLIB} -lXt -lXext -lXmu ${X_PRE_LIBS} -lX11 ${X_EXTRA_LIBS}" else DEF_X11="# ${DEF_X11}" X_LIBS="# -lXaw -lXt -lXext -lXmu -lX11" X_INCDIR="# -I/usr/X11R6/include" X_LIBDIR="# -L/usr/X11R6/lib" fi { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; } if test "${ac_cv_header_sys_wait_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 #include #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main () { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; 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_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_sys_wait_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_WAIT_H 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 stropts.h memory.h stdlib.h time.h sys/time.h sys/types.h string.h strings.h fcntl.h unistd.h errno.h limits.h sys/param.h crypt.h shadow.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 { 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 mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6; } if test "${ac_cv_type_mode_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. */ $ac_includes_default typedef mode_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_mode_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mode_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6; } if test $ac_cv_type_mode_t = yes; then : else cat >>confdefs.h <<_ACEOF #define mode_t int _ACEOF fi { echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } if test "${ac_cv_type_pid_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. */ $ac_includes_default typedef pid_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_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi { echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6; } if test "${ac_cv_type_uid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then cat >>confdefs.h <<\_ACEOF #define uid_t int _ACEOF cat >>confdefs.h <<\_ACEOF #define gid_t int _ACEOF fi { echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } if test "${ac_cv_type_signal+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 () { return *(signal (0, 0)) (0) == 1; ; 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_signal=int else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_signal=void fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF for ac_func in sigaction strcasecmp strerror cftime strftime memcpy memmove localtime timelocal strchr gettimeofday get_process_stats crypt poll 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 { echo "$as_me:$LINENO: checking for sigsetjmp" >&5 echo $ECHO_N "checking for sigsetjmp... $ECHO_C" >&6; } if test "${ac_cv_have_sigsetjmp+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 () { sigjmp_buf jb; sigsetjmp(jb, 1); ; 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_have_sigsetjmp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_sigsetjmp=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_sigsetjmp" >&5 echo "${ECHO_T}$ac_cv_have_sigsetjmp" >&6; } if (test "$ac_cv_have_sigsetjmp" = "yes"); then cat >>confdefs.h <<\_ACEOF #define HAVE_SIGSETJMP 1 _ACEOF fi { echo "$as_me:$LINENO: checking signal behaviour" >&5 echo $ECHO_N "checking signal behaviour... $ECHO_C" >&6; } if test "${ac_cv_signal_behaviour+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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. */ /*-- Exit 0 if BSD signal, 1 if SYSV signal --*/ #include static int sg_sig_count = 0 ; void sig_handler() { ++sg_sig_count ; } main() { #ifdef SIGCHLD #define _SIG_ SIGCHLD #else #define _SIG_ SIGCLD #endif signal( _SIG_, sig_handler ) ; kill( getpid(), _SIG_ ) ; kill( getpid(), _SIG_ ) ; exit( sg_sig_count != 2 ) ; } _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_signal_behaviour=BSD 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_signal_behaviour=SYSV 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_signal_behaviour" >&5 echo "${ECHO_T}$ac_cv_signal_behaviour" >&6; } if (test "$ac_cv_signal_behaviour" = "SYSV"); then cat >>confdefs.h <<\_ACEOF #define SYSV_SIGNALS 1 _ACEOF fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { 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' ac_config_files="$ac_config_files Makefile src/Makefile scripts/install.sh scripts/make_wrapper.sh" 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 : ${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" _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 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 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "scripts/install.sh") CONFIG_FILES="$CONFIG_FILES scripts/install.sh" ;; "scripts/make_wrapper.sh") CONFIG_FILES="$CONFIG_FILES scripts/make_wrapper.sh" ;; *) { { 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 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 DEF_AIX_FIX!$DEF_AIX_FIX$ac_delim with_x!$with_x$ac_delim with_motif!$with_motif$ac_delim with_readline!$with_readline$ac_delim DEF_MOTIF!$DEF_MOTIF$ac_delim MOTIF_PATH!$MOTIF_PATH$ac_delim MOTIF_INCDIR!$MOTIF_INCDIR$ac_delim MOTIF_LIBDIR!$MOTIF_LIBDIR$ac_delim MOTIF_LIBS!$MOTIF_LIBS$ac_delim ATHENA_LIBS!$ATHENA_LIBS$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 CPP!$CPP$ac_delim DEF_POSIX!$DEF_POSIX$ac_delim SYBASE_OCOS!$SYBASE_OCOS$ac_delim SYBASE_LIBS!$SYBASE_LIBS$ac_delim SYBASE_LIBDIR!$SYBASE_LIBDIR$ac_delim SYBASE_INCDIR!$SYBASE_INCDIR$ac_delim SYBASE_OS!$SYBASE_OS$ac_delim DEF_READLINE!$DEF_READLINE$ac_delim READLINE_INCDIR!$READLINE_INCDIR$ac_delim READLINE_LIBDIR!$READLINE_LIBDIR$ac_delim READLINE_LIBS!$READLINE_LIBS$ac_delim xmkmfpath!$xmkmfpath$ac_delim XMKMF!$XMKMF$ac_delim DEF_X11!$DEF_X11$ac_delim X_LIBS!$X_LIBS$ac_delim X_INCDIR!$X_INCDIR$ac_delim X_LIBDIR!$X_LIBDIR$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$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` = 86; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS 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" >$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" ;; 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 sqsh-2.1.7/autoconf/0040775000076500007650000000000011367625413014577 5ustar mpepplermpepplersqsh-2.1.7/autoconf/config.guess0100775000076500007650000011302010034772572017110 0ustar mpepplermpeppler#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-08-21' # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. # Written by Per Bothner . # Please send patches to . # # 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 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 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # 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 dummy=dummy-$$ trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int dummy(){}" > $dummy.c ; for c in cc gcc c89 ; do ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; if test $? = 0 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; rm -f $dummy.c $dummy.o $dummy.rel ; 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' # 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. # Determine the machine/vendor (is the vendor relevant). case "${UNAME_MACHINE}" in amiga) machine=m68k-unknown ;; arm32) machine=arm-unknown ;; atari*) machine=m68k-atari ;; sun3*) machine=m68k-sun ;; mac68k) machine=m68k-apple ;; macppc) machine=powerpc-apple ;; hp3[0-9][05]) machine=m68k-hp ;; ibmrt|romp-ibm) machine=romp-ibm ;; *) machine=${UNAME_MACHINE}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE}" in i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) 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 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` # 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 0 ;; alpha:OSF1:*:*) if test $UNAME_RELEASE = "V4.0"; then UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` fi # 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. cat <$dummy.s .data \$Lformat: .byte 37,100,45,37,120,10,0 # "%d-%x\n" .text .globl main .align 4 .ent main main: .frame \$30,16,\$26,0 ldgp \$29,0(\$27) .prologue 1 .long 0x47e03d80 # implver \$0 lda \$2,-1 .long 0x47e20c21 # amask \$2,\$1 lda \$16,\$Lformat mov \$0,\$17 not \$1,\$18 jsr \$26,printf ldgp \$29,0(\$26) mov 0,\$16 jsr \$26,exit .end main EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then case `./$dummy` in 0-0) UNAME_MACHINE="alpha" ;; 1-0) UNAME_MACHINE="alphaev5" ;; 1-1) UNAME_MACHINE="alphaev56" ;; 1-101) UNAME_MACHINE="alphapca56" ;; 2-303) UNAME_MACHINE="alphaev6" ;; 2-307) UNAME_MACHINE="alphaev67" ;; 2-1307) UNAME_MACHINE="alphaev68" ;; esac fi rm -f $dummy.s $dummy echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; 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 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit 0 ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit 0;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit 0 ;; arc64:OpenBSD:*:*) echo mips64el-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; hkmips:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; pmax:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; sgi:OpenBSD:*:*) echo mips-unknown-openbsd${UNAME_RELEASE} exit 0 ;; wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; *:OS/390:*:*) echo i370-ibm-openedition exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; 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 0 ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit 0 ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; 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 0 ;; 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 0 ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit 0 ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(head -1 /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 0 ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit 0 ;; sparc*:NetBSD:*) echo `uname -p`-unknown-netbsd${UNAME_RELEASE} exit 0 ;; atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; # 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 0 ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit 0 ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit 0 ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit 0 ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit 0 ;; sun3*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mac68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme68k:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; mvme88k:OpenBSD:*:*) echo m88k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit 0 ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit 0 ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit 0 ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) 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 eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo mips-mips-riscos${UNAME_RELEASE} exit 0 ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit 0 ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit 0 ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit 0 ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit 0 ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit 0 ;; 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 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit 0 ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit 0 ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit 0 ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit 0 ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit 0 ;; ????????: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 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit 0 ;; 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 0 ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 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 0 ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | 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 0 ;; *:AIX:*:*) echo rs6000-ibm-aix exit 0 ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit 0 ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit 0 ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit 0 ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit 0 ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit 0 ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit 0 ;; 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]) case "${HPUX_REV}" in 11.[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" ;; esac ;; esac fi ;; esac if [ "${HP_ARCH}" = "" ]; then 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 eval $set_cc_for_build (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi rm -f $dummy.c $dummy fi ;; esac echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit 0 ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit 0 ;; 3050*:HI-UX:*:*) 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 eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit 0 ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit 0 ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit 0 ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; hppa*:OpenBSD:*:*) echo hppa-unknown-openbsd exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit 0 ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit 0 ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit 0 ;; CRAY*X-MP:*:*:*) echo xmp-cray-unicos exit 0 ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; 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 0 ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3D:*:*:*) echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; 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 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` exit 0 ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit 0 ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit 0 ;; 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 i386-pc-interix exit 0 ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit 0 ;; *:GNU:*:*) echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit 0 ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; mips:Linux:*:*) case `sed -n '/^byte/s/^.*: \(.*\) endian/\1/p' < /proc/cpuinfo` in big) echo mips-unknown-linux-gnu && exit 0 ;; little) echo mipsel-unknown-linux-gnu && exit 0 ;; esac ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit 0 ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit 0 ;; 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 0 ;; 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 0 ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit 0 ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit 0 ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit 0 ;; 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. ld_supported_targets=`cd /; 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 0 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit 0 ;; "") # 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 0 ;; esac # Determine whether the default compiler is a.out or elf cat >$dummy.c < #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 printf ("%s-pc-linux-gnu\n", argv[1]); # else printf ("%s-pc-linux-gnulibc1\n", argv[1]); # endif # else printf ("%s-pc-linux-gnulibc1\n", argv[1]); # endif #else printf ("%s-pc-linux-gnuaout\n", argv[1]); #endif return 0; } EOF eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 ;; 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 0 ;; 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 0 ;; 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 0 ;; i*86:*:5:[78]*) 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 0 ;; 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|egrep Release|sed -e 's/.*= //')` (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit 0 ;; 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 0 ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit 0 ;; paragon:*:*:*) echo i860-intel-osf1 exit 0 ;; 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 0 ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit 0 ;; M68*:*:R3V[567]*:*) test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*: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 0 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && echo i486-ncr-sysv4 && exit 0 ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit 0 ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit 0 ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit 0 ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; *: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 0 ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit 0 ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit 0 ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit 0 ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit 0 ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit 0 ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit 0 ;; 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 0 ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit 0 ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit 0 ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit 0 ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit 0 ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit 0 ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; *:Darwin:*:*) echo `uname -p`-apple-darwin${UNAME_RELEASE} exit 0 ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) if test "${UNAME_MACHINE}" = "x86pc"; then UNAME_MACHINE=pc fi echo `uname -p`-${UNAME_MACHINE}-nto-qnx exit 0 ;; *:QNX:*:4*) echo i386-pc-qnx exit 0 ;; NSR-[KW]:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit 0 ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit 0 ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit 0 ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit 0 ;; *: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 0 ;; 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 0 ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit 0 ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit 0 ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit 0 ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit 0 ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit 0 ;; *:ITS:*:*) echo pdp10-unknown-its exit 0 ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 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"); 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 eval $set_cc_for_build $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } # 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 0 ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit 0 ;; c34*) echo c34-convex-bsd exit 0 ;; c38*) echo c38-convex-bsd exit 0 ;; c4*) echo c4-convex-bsd exit 0 ;; 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: sqsh-2.1.7/autoconf/config.sub0100775000076500007650000006700510034772572016566 0ustar mpepplermpeppler#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. timestamp='2001-08-13' # 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., 59 Temple Place - Suite 330, # Boston, MA 02111-1307, 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 . # # 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 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 0 ;; --version | -v ) echo "$version" ; exit 0 ;; --help | --h* | -h ) echo "$usage"; exit 0 ;; -- ) # 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 0;; * ) 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* | storm-chaos* | os2-emx* | windows32-*) 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) 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 ;; -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/'` ;; -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] \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | c4x | clipper \ | d10v | d30v | dsp16xx \ | fr30 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | m32r | m68000 | m68k | m88k | mcore \ | mips16 | mips64 | mips64el | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el | mips64vr4300 \ | mips64vr4300el | mips64vr5000 | mips64vr5000el \ | mipsbe | mipsel | mipsle | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | ns16k | ns32k \ | openrisc \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | s390 | s390x \ | sh | sh[34] | sh[34]eb | shbe | shle \ | sparc | sparc64 | sparclet | sparclite | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic80 | tron \ | v850 \ | we32k \ | x86 | xscale \ | 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) ;; # 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]-* \ | alphapca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armv*-* \ | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c54x-* \ | clipper-* | cray2-* | cydra-* \ | d10v-* | d30v-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | m32r-* \ | m68000-* | m680[01234]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mips16-* | mips64-* | mips64el-* | mips64orion-* \ | mips64orionel-* | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* | mipsbe-* | mipsel-* \ | mipsle-* | mipstx39-* | mipstx39el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | s390-* | s390x-* \ | sh-* | sh[34]-* | sh[34]eb-* | shbe-* | shle-* \ | sparc-* | sparc64-* | sparc86x-* | sparclite-* \ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* \ | t3e-* | tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \ | v850-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xmp-* | xps100-* | xscale-* \ | 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 ;; 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 ;; 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 ;; 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 | ymp) basic_machine=ymp-cray os=-unicos ;; cray2) basic_machine=cray2-cray os=-unicos ;; [cjt]90) basic_machine=${basic_machine}-cray os=-unicos ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; 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 ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu ;; mips*-linux*) basic_machine=mips-unknown os=-linux-gnu ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; mmix*) basic_machine=mmix-knuth os=-mmixware ;; monitor) basic_machine=m68k-rom68k os=-coff ;; msdos) basic_machine=i386-pc os=-msdos ;; 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 ;; 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 ;; pentium | p5 | k5 | k6 | nexgen) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i686-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) basic_machine=i686-`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 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sparclite-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=t3e-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; tower | tower-32) basic_machine=m68k-ncr ;; 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 ;; windows32) basic_machine=i386-pc os=-windows32-msvcrt ;; xmp) basic_machine=xmp-cray os=-unicos ;; xps | xps100) basic_machine=xps100-honeywell ;; 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 ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown else basic_machine=mips-mips fi ;; romp) basic_machine=romp-ibm ;; 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 ;; sh3 | sh4 | sh3eb | sh4eb) basic_machine=sh-unknown ;; sparc | sparcv9 | sparcv9b) 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 ;; c4x*) basic_machine=c4x-none os=-coff ;; *-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* | -netbsd* | -openbsd* | -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* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto*) os=-nto-qnx ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -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 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -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 ;; -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 *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; 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 ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-ibm) os=-aix ;; *-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 ;; -ptx*) vendor=sequent ;; -vxsim* | -vxworks*) 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 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: sqsh-2.1.7/autoconf/install-man0100775000076500007650000000714510034772572016747 0ustar mpepplermpeppler#!/bin/sh # # install-man -- install or uninstall compressed or uncompressed man pages. # # This horrible shell script handles install and deleting of man pages. # it tries to be reasonably smart about the placement of the pages, # looking a the extension of the man page for clues (e.g. it would put # "shit.3" in section 3. Just by adding the -u flag, the man pages may # be removed. # # Author: Scott C. Gray (except where noted) # Created: 1995-02-03 # src_dir=. # default search path for man pages dst_dir=/usr/local/man # default destination man_type=man # default type, could be "cat" man_default_ext=1 # default manual section compressed=0 # default to no compression uninstall=0 # default to no uninstall set -- `getopt cun:d:t:s: $*` has_error=0 while ( test $# -ne 0 -a "$1" != "--" ); do case $1 in -t) shift if (test "$1" != "cat" -a "$1" != "man"); then echo "install.man: -t: Invalid man type" has_error=1 else man_type=$1 fi ;; -s) shift src_dir=$1 if (test ! -d "${src_dir}"); then echo "install.man: Can't find source directory ${src_dir}" exit 1 fi ;; -d) shift dst_dir=$1 ;; -c) compressed=1 ;; -u) uninstall=1 ;; -n) default_man_ext=$1 ;; *) has_error=1 ;; esac shift done shift # get rid of the -- in the options line if (test ${has_error} -eq 1 -o $# -eq 0); then echo "use: install.man [-t type] [-s src_dir] [-d dst_dir] [-n section] " echo " [-c] [-u] man_page ..." echo " -t type either \"cat\" or \"man\" (default \"man\")" echo " -s src_dir where to find man pages (default .)" echo " -d dst_dir where to place man pages (default /usr/local/man)" echo " -n section change default man section (default 1)" echo " -c compress man pages, place in man?.Z or cat?.Z" echo " -u uninstall the man pages" exit 1 fi has_error=0 while (test $# -gt 0); do if (test ${uninstall} = 0 -a ! -r ${src_dir}/$1); then echo "install.man: No such man page ${src_dir}/$1" exit 1 fi man_page=`echo $1 | sed -e 's/\.[^\.]*$//g'` man_ext=`echo $1 | sed -e 's/.*\.//g' | grep '^[0-9n]$'` if (test "${man_ext}" = ""); then man_ext=${man_default_ext} fi # # The exact location of this particular man page # man_path=${dst_dir}/${man_type}${man_ext} if (test ${compressed} = 1); then man_path=${man_path}.Z fi # # This section of code attempts to create the destination directory # if it doesn't work. Note, the sed line was stolen almost entirely # from mkinstalldirs that comes with GNU autoconf (by Noah Friedman # ). # if (test ${uninstall} = 0 -a ! -d ${man_path}); then dir="" for i in `echo ":${man_path}" | \ sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` do if (test "${dir}" = ""); then dir=$i else dir=${dir}/$i fi if (test ! -d ${dir}); then output=`mkdir ${dir} 2>&1` if (test "${output}" != ""); then echo "install.man: ${output}" exit 1 fi fi done fi if (test ${uninstall} -eq 1); then echo "Uninstalling $1 from ${man_path}" rm -f ${man_path}/${man_page}.${man_ext} else if (test ${compressed} -eq 1); then echo "Installing $1 as ${man_path}/${man_page}.${man_ext}" compress -c ${src_dir}/$1 > ${man_path}/${man_page}.${man_ext} else echo "Installing $1 as ${man_path}/${man_page}.${man_ext}" cp ${src_dir}/$1 ${man_path}/${man_page}.${man_ext} fi fi shift done exit 0 sqsh-2.1.7/autoconf/install-sh0100775000076500007650000001273610034772572016610 0ustar mpepplermpeppler#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 sqsh-2.1.7/autoconf/mkinstalldirs0100775000076500007650000000133510034772572017403 0ustar mpepplermpeppler#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.1.1.1 2004/04/07 12:35:06 chunkm0nkey Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here sqsh-2.1.7/autom4te.cache/0040775000076500007650000000000011367625413015565 5ustar mpepplermpepplersqsh-2.1.7/autom4te.cache/output.00100664000076500007650000053362511056170714017213 0ustar mpepplermpeppler@%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.61. @%:@ @%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. @%:@ This configure script is free software; the Free Software Foundation @%:@ gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. 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/sqsh_main.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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os DEF_AIX_FIX with_x with_motif with_readline DEF_MOTIF MOTIF_PATH MOTIF_INCDIR MOTIF_LIBDIR MOTIF_LIBS ATHENA_LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP DEF_POSIX SYBASE_OCOS SYBASE_LIBS SYBASE_LIBDIR SYBASE_INCDIR SYBASE_OS DEF_READLINE READLINE_INCDIR READLINE_LIBDIR READLINE_LIBS xmkmfpath XMKMF DEF_X11 X_LIBS X_INCDIR X_LIBDIR GREP EGREP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LIB@&t@OBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP XMKMF' # Initialize some variables set by options. ac_init_help= ac_init_version=false # 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 X features: --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gcc Use gcc, regardless of path --with-readline support fancy command line editing --with-old-readline Force readline backwards compatibilty --with-static Statically link in Sybase libraries --with-devlib Compile against Open Client devlibs --with-motif support X11/Motif widgets --with-x use the X Window System 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 XMKMF Path to xmkmf, Makefile generator for X Window System Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _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_config_headers="$ac_config_headers src/config.h" ac_aux_dir= for ac_dir in autoconf "$srcdir"/autoconf; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in autoconf \"$srcdir\"/autoconf" >&5 echo "$as_me: error: cannot find install-sh or install.sh in autoconf \"$srcdir\"/autoconf" >&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 case "$host_os" in aix*) DEF_AIX_FIX="-DUSE_AIX_FIX" ;; *) ;; esac # Check whether --with-gcc was given. if test "${with_gcc+set}" = set; then withval=$with_gcc; with_gcc="yes" fi # Check whether --with-x was given. if test "${with_x+set}" = set; then withval=$with_x; else with_x="no" fi # Check whether --with-readline was given. if test "${with_readline+set}" = set; then withval=$with_readline; else with_readline="no" fi # Check whether --with-old-readline was given. if test "${with_old_readline+set}" = set; then withval=$with_old_readline; else with_old_readline="no" fi # Check whether --with-static was given. if test "${with_static+set}" = set; then withval=$with_static; else with_static="no" fi # Check whether --with-devlib was given. if test "${with_devlib+set}" = set; then withval=$with_devlib; else with_devlib="no" fi # Check whether --with-motif was given. if test "${with_motif+set}" = set; then withval=$with_motif; if test "x$with_motif" != "xno" then if test "x$with_motif" != "xyes" then MOTIF_PATH=$with_motif with_motif="yes" MOTIF_INCDIR="-I$MOTIF_PATH/include/X11" MOTIF_LIBDIR="-L$MOTIF_PATH/lib" else MOTIF_INCDIR="# -I/usr/X11/include" MOTIF_LIBDIR="# -L/usr/X11/lib" fi with_x="yes" DEF_MOTIF="-DUSE_MOTIF" fi else DEF_MOTIF="# -DUSE_MOTIF" with_motif="no" fi if test "x$with_x" != "xno" then if test "x$with_motif" != "xno" then MOTIF_LIBS=-lXm ATHENA_LIBS= else MOTIF_LIBS= ATHENA_LIBS=-lXaw 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 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 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 library containing strerror" >&5 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; } if test "${ac_cv_search_strerror+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 strerror (); int main () { return strerror (); ; return 0; } _ACEOF for ac_lib in '' cposix; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi 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_strerror=$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_strerror+set}" = set; then break fi done if test "${ac_cv_search_strerror+set}" = set; then : else ac_cv_search_strerror=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5 echo "${ECHO_T}$ac_cv_search_strerror" >&6; } ac_res=$ac_cv_search_strerror if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi if test "${ISC}" = "yes"; then DEF_POSIX="-D_POSIX_SOURCE" fi { echo "$as_me:$LINENO: checking whether ${CC-cc} supports volatile keyword" >&5 echo $ECHO_N "checking whether ${CC-cc} supports volatile keyword... $ECHO_C" >&6; } if test "${ac_cv_have_volatile+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 () { volatile int a ; a = 10 ; ; 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_have_volatile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_volatile" >&5 echo "${ECHO_T}$ac_cv_have_volatile" >&6; } if (test "$ac_cv_have_volatile" = "yes"); then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_VOLATILE 1 _ACEOF fi # # Is $SYBASE defined? # { echo "$as_me:$LINENO: checking Open Client installation" >&5 echo $ECHO_N "checking Open Client installation... $ECHO_C" >&6; } if test "$SYBASE" = ""; then { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } { { echo "$as_me:$LINENO: error: Unable to locate Sybase installation. Check your SYBASE environment variable setting." >&5 echo "$as_me: error: Unable to locate Sybase installation. Check your SYBASE environment variable setting." >&2;} { (exit 1); exit 1; }; } fi SYBASE_OCOS= for subdir in $SYBASE $SYBASE/OCS $SYBASE/OCS-[0-9]* do if test -d $subdir/include; then SYBASE_OCOS=$subdir break fi done if test "$SYBASE_OCOS" = ""; then { echo "$as_me:$LINENO: result: fail" >&5 echo "${ECHO_T}fail" >&6; } { { echo "$as_me:$LINENO: error: Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting." >&5 echo "$as_me: error: Sybase include files not found in \$SYBASE. Check your SYBASE environment variable setting." >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $SYBASE_OCOS" >&5 echo "${ECHO_T}$SYBASE_OCOS" >&6; } { echo "$as_me:$LINENO: checking Open Client libraries" >&5 echo $ECHO_N "checking Open Client libraries... $ECHO_C" >&6; } if test "$with_devlib" = "yes" then SYBASE_LIBDIR="$SYBASE_OCOS/devlib" else SYBASE_LIBDIR="$SYBASE_OCOS/lib" fi SYBASE_LIBS= for i in blk cs ct tcl comn intl do x= if test -f $SYBASE_LIBDIR/lib${i}.a; then x="-l${i}" else if test -f $SYBASE_LIBDIR/lib${i}64.a; then x="-l${i}64" else if test -f $SYBASE_LIBDIR/libsyb${i}.a; then x="-lsyb${i}" else if test -f $SYBASE_LIBDIR/libsyb${i}64.a; then x="-lsyb${i}64" fi fi fi fi if test -n $x ; then SYBASE_LIBS="$SYBASE_LIBS $x" fi done # # Check for -ltds (FreeTDS project) # if test -f $SYBASE_LIBDIR/libtds.a; then SYBASE_LIBS="$SYBASE_LIBS -ltds" fi { echo "$as_me:$LINENO: result: $SYBASE_LIBS" >&5 echo "${ECHO_T}$SYBASE_LIBS" >&6; } { echo "$as_me:$LINENO: checking Open Client needs net libraries" >&5 echo $ECHO_N "checking Open Client needs net libraries... $ECHO_C" >&6; } SYBASE_VERSION=`strings $SYBASE_LIBDIR/lib*ct.a 2>/dev/null | \ cut -c1-80 | fgrep 'Sybase Client-Library' | cut -d '/' -f 2` SYBASE_VERSION=`echo $SYBASE_VERSION | cut -d . -f 1` if [ "$SYBASE_VERSION" = "" ]; then SYBASE_VERSION="FreeTDS" fi if [ "$SYBASE_VERSION" = "10" ]; then if [ -f $SYBASE_LIBDIR/libinsck.a ]; then SYBASE_LIBS="$SYBASE_LIBS -linsck" { echo "$as_me:$LINENO: result: yes (-linsck)" >&5 echo "${ECHO_T}yes (-linsck)" >&6; } elif [ -f $SYBASE_LIBDIR/libtli.a ]; then SYBASE_LIBS="$SYBASE_LIBS -ltli" { echo "$as_me:$LINENO: result: yes (-ltli)" >&5 echo "${ECHO_T}yes (-ltli)" >&6; } else { echo "$as_me:$LINENO: result: yes (version 10.x)" >&5 echo "${ECHO_T}yes (version 10.x)" >&6; } fi else { echo "$as_me:$LINENO: result: no (version $SYBASE_VERSION)" >&5 echo "${ECHO_T}no (version $SYBASE_VERSION)" >&6; } fi { echo "$as_me:$LINENO: checking Open Client OS libraries" >&5 echo $ECHO_N "checking Open Client OS libraries... $ECHO_C" >&6; } case "${host_os}" in linux*) SYBASE_OS="-ldl -lm";; irix*) SYBASE_OS="-lnsl -lm";; ncr*) SYBASE_OS="-ldl -lm";; sunos*) SYBASE_OS="-lm";; solaris*) SYBASE_OS="-lnsl -ldl -lm";; osf1*) SYBASE_OS="-lsdna -ldnet_stub -lm";; ultrix*) SYBASE_OS="-lsdna -ldnet_stub -lm";; hpux*) SYBASE_OS="-lcl -lm -lsec -lBSD";; dgux*) SYBASE_OS="-lm -ldl -ldgc";; aix*) SYBASE_OS="-lm";; *) SYBASE_OS="-lm -ldl";; esac { echo "$as_me:$LINENO: result: $SYBASE_OS" >&5 echo "${ECHO_T}$SYBASE_OS" >&6; } if test "$with_static" = "yes" then SYBASE_LIBS=`echo $SYBASE_LIBS | \ sed -e 's,-l\([a-z]*\),\$(SYBASE_OCOS)/lib/lib\1.a,g'` fi if test "$with_devlib" = "yes"; then SYBASE_LIBDIR='-L$(SYBASE_OCOS)/devlib' else SYBASE_LIBDIR='-L$(SYBASE_OCOS)/lib' fi SYBASE_INCDIR='-I$(SYBASE_OCOS)/include' if test "$with_old_readline" = "yes"; then with_readline="yes" fi if test "$with_readline" = "no"; then DEF_READLINE="# -DUSE_READLINE" READLINE_INCDIR="# -I/usr/local/include" READLINE_LIBDIR="# -I/usr/local/lib" READLINE_LIBS="# -lreadline -lcurses" else DEF_READLINE="-DUSE_READLINE" { echo "$as_me:$LINENO: checking for libreadline" >&5 echo $ECHO_N "checking for libreadline... $ECHO_C" >&6; } if test "${ac_cv_libreadline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else SEARCH_PATH="/lib:/usr/lib:/usr/local/lib:${HOME}/lib:${HOME}/usr/lib" libdir="" if test "${LD_LIBRARY_PATH}" != ""; then SEARCH_PATH="${LD_LIBRARY_PATH}:${SEARCH_PATH}" fi if test "$LIBDIRS" != ""; then SEARCH_PATH="$LIBDIRS:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do for lib in ${dir}/libreadline.*; do if test -f "${lib}"; then libdir=${dir} break; fi done if test "${libdir}" != ""; then break; fi done IFS="$ac_save_ifs" ac_cv_libreadline="${libdir}" fi libdir=$ac_cv_libreadline if test "${libdir}" != ""; then { echo "$as_me:$LINENO: result: $libdir" >&5 echo "${ECHO_T}$libdir" >&6; } READLINE_LIBDIR="${libdir}" inc_search="`echo ${libdir} | sed -e 's,/^/*$,,g'`/include" else { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } READLINE_LIBDIR="" inc_search="" fi if test "$INCDIRS" != ""; then if test "$inc_search" = ""; then inc_search=$INCDIRS else inc_search=$INCDIRS:$inc_search fi fi { echo "$as_me:$LINENO: checking for readline/readline.h" >&5 echo $ECHO_N "checking for readline/readline.h... $ECHO_C" >&6; } ac_cache_var=ac_cv_hdr_`echo readline/readline.h | sed -e 's,[/.],_,g'` if { as_var=$ac_cache_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else SEARCH_PATH="/usr/include:/usr/local/include:${HOME}/include:${HOME}/usr/include" include_dir="" if test "$inc_search" != ""; then SEARCH_PATH="$inc_search:${SEARCH_PATH}" fi IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for dir in ${SEARCH_PATH}; do if test -f ${dir}/readline/readline.h; then include_dir=${dir} break; fi done IFS="$ac_save_ifs" eval ${ac_cache_var}=${include_dir} fi include_dir=${ac_cache_var} include_dir=`eval echo '$'${include_dir}` if test "${include_dir}" != ""; then { echo "$as_me:$LINENO: result: $include_dir" >&5 echo "${ECHO_T}$include_dir" >&6; } READLINE_INCDIR="${include_dir}" else { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } READLINE_INCDIR="" fi { echo "$as_me:$LINENO: checking for readline link" >&5 echo $ECHO_N "checking for readline link... $ECHO_C" >&6; } if test "${ac_cv_readline_libs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else readline_libs="" ORIG_CPPFLAGS="${CPPFLAGS}" ORIG_LDFLAGS="${LDFLAGS}" ORIG_LIBS="${LIBS}" if test "${READLINE_INCDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -I${READLINE_INCDIR}" fi if test "${READLINE_LIBDIR}" != ""; then CPPFLAGS="${CPPFLAGS} -L${READLINE_LIBDIR}" fi for lib in "-lHcurses" "-lcurses" "-lncurses" "-ltermcap" \ "-ltermcap -lucb" do LIBS="${ORIG_LIBS} -lreadline ${lib}" 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 int main () { char *c; add_history( c ); readline( c ); ; 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 readline_libs="${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 if test "${readline_libs}" != ""; then break; fi done CPPFLAGS="${ORIG_CPPFLAGS}" LDFLAGS="${ORIG_LDFLAGS}" LIBS="${ORIG_LIBS}" ac_cv_readline_libs=${readline_libs} fi READLINE_LIBS=${ac_cv_readline_libs} if test "${READLINE_LIBS}" = ""; then { echo "$as_me:$LINENO: result: not found" >&5 echo "${ECHO_T}not found" >&6; } READLINE_LIBS="-lreadline -lcurses" else READLINE_LIBS="-lreadline ${READLINE_LIBS}" { echo "$as_me:$LINENO: result: ${READLINE_LIBS}" >&5 echo "${ECHO_T}${READLINE_LIBS}" >&6; } fi if test "$READLINE_INCDIR" = ""; then READLINE_INCDIR="-I/usr/local/include" else if test "$READLINE_INCDIR" = "/usr/include"; then READLINE_INCDIR="# -I${READLINE_INCDIR}" else READLINE_INCDIR="-I${READLINE_INCDIR}" fi fi if test "$READLINE_LIBDIR" = ""; then READLINE_LIBDIR="-L/usr/local/lib" else if test "$READLINE_LIBDIR" = "/usr/lib" -o ${READLINE_LIBDIR} = "/lib" then READLINE_LIBDIR="# -L${READLINE_LIBDIR}" else READLINE_LIBDIR="-L${READLINE_LIBDIR}" fi fi if [ "$with_old_readline" = "yes" ]; then DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" else { echo "$as_me:$LINENO: checking for rl_completion_matches in -lreadline" >&5 echo $ECHO_N "checking for rl_completion_matches in -lreadline... $ECHO_C" >&6; } if test "${ac_cv_lib_readline_rl_completion_matches+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lreadline ${READLINE_LIBDIR} ${READLINE_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 rl_completion_matches (); int main () { return rl_completion_matches (); ; 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_readline_rl_completion_matches=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_readline_rl_completion_matches=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_readline_rl_completion_matches" >&5 echo "${ECHO_T}$ac_cv_lib_readline_rl_completion_matches" >&6; } if test $ac_cv_lib_readline_rl_completion_matches = yes; then : else DEF_READLINE="${DEF_READLINE} -DOLD_READLINE" fi fi fi DEF_X11="-DUSE_X11" if test "x$with_x" != "xno"; then # The AC PATH EXTRA macro uses xmkmf to figure out where to # find the X include directory and X lib directories, so lets # make sure that it can find the xmkmf executable. # Extract the first word of "xmkmf", so it can be a program name with args. set dummy xmkmf; 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_path_xmkmfpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $xmkmfpath in [\\/]* | ?:[\\/]*) ac_cv_path_xmkmfpath="$xmkmfpath" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi xmkmfpath=$ac_cv_path_xmkmfpath if test -n "$xmkmfpath"; then { echo "$as_me:$LINENO: result: $xmkmfpath" >&5 echo "${ECHO_T}$xmkmfpath" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # When complete, the following macro should define x_includes, # x_libraries, X_CFLAGS, X_LIBS, X_EXTRA_LIBS, and X_PRE_LIBS. { echo "$as_me:$LINENO: checking for X" >&5 echo $ECHO_N "checking for X... $ECHO_C" >&6; } # Check whether --with-x was given. if test "${with_x+set}" = set; then withval=$with_x; fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else case $x_includes,$x_libraries in #( *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 echo "$as_me: error: Cannot use X directory names containing '" >&2;} { (exit 1); exit 1; }; };; #( *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=no ac_x_libraries=no rm -f -r conftest.dir if mkdir conftest.dir; then cd conftest.dir cat >Imakefile <<'_ACEOF' incroot: @echo incroot='${INCROOT}' usrlibdir: @echo usrlibdir='${USRLIBDIR}' libdir: @echo libdir='${LIBDIR}' _ACEOF if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. for ac_var in incroot usrlibdir libdir; do eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && test -f "$ac_im_libdir/libX11.$ac_extension"; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case $ac_im_incroot in /usr/include) ac_x_includes= ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac case $ac_im_usrlibdir in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. rm -f -r conftest.dir fi # Standard set of common directories for X headers. # Check X11 before X11Rn because it is often a symlink to the current release. ac_x_header_dirs=' /usr/X11/include /usr/X11R6/include /usr/X11R5/include /usr/X11R4/include /usr/include/X11 /usr/include/X11R6 /usr/include/X11R5 /usr/include/X11R4 /usr/local/X11/include /usr/local/X11R6/include /usr/local/X11R5/include /usr/local/X11R4/include /usr/local/include/X11 /usr/local/include/X11R6 /usr/local/include/X11R5 /usr/local/include/X11R4 /usr/X386/include /usr/x386/include /usr/XFree86/include/X11 /usr/include /usr/local/include /usr/unsupported/include /usr/athena/include /usr/local/x11r5/include /usr/lpp/Xamples/include /usr/openwin/include /usr/openwin/share/include' if test "$ac_x_includes" = no; then # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. cat >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 # We can compile using X headers with no special include directory. ac_x_includes= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 for ac_dir in $ac_x_header_dirs; do if test -r "$ac_dir/X11/Xlib.h"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest.err conftest.$ac_ext fi # $ac_x_includes = no if test "$ac_x_libraries" = no; then # Check for the libraries. # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ @%:@include int main () { XrmInitialize () ; 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 LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 LIBS=$ac_save_LIBS for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi # $ac_x_libraries = no case $ac_x_includes,$ac_x_libraries in #( no,* | *,no | *\'*) # Didn't find X, or a directory has "'" in its name. ac_cv_have_x="have_x=no";; #( *) # Record where we found X for the cache. ac_cv_have_x="have_x=yes\ ac_x_includes='$ac_x_includes'\ ac_x_libraries='$ac_x_libraries'" esac fi ;; #( *) have_x=yes;; esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then { echo "$as_me:$LINENO: result: $have_x" >&5 echo "${ECHO_T}$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes\ ac_x_includes='$x_includes'\ ac_x_libraries='$x_libraries'" { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; } fi # On some systems the X include directory may be found but not # the library directory. In these cases we attempt to guess # the lib directory. if test -d "${x_includes}" -a ! -d "${x_libraries}"; then x_libraries=`echo ${x_includes} | sed -e 's,include,lib,g'` fi # Reverse the test above to see if the lib directory has been # defined but not the include directory. if test -d "${x_libraries}" -a ! -d "${x_includes}"; then x_includes=`echo "${x_libraries}" | sed -e 's,lib,include,g'` fi # If we found the include directory in the standard /usr/include, then # don't bother to add it to our cpp line..it'll be found anyway. If # it wasn't found then we'll assume /usr/X11R6/include. if test "${x_includes}" != ""; then if test "${x_includes}" != "/usr/include"; then X_INCDIR="-I${x_includes}" else X_INCDIR="# -I${x_includes}" fi else X_INCDIR="# -I/usr/X11R6/include" fi # Repeat pretty much the same thing for the library directory. If # it was found in /usr/lib or /lib, then comment it out, or if # it wasn't found then assume /usr/X11R6/lib. if test "${x_libraries}" != ""; then if test "${x_libraries}" != "/usr/lib" -a "${x_libraries}" != "/lib" then X_LIBDIR="-L${x_libraries}" else X_LIBDIR="# -L${x_libraries}" fi else X_LIBDIR="# -L/usr/X11R6/lib" fi # This link line may product more libraries than actually needed # but hopefuly it'll work for most systems; besides the linker # should clean things up for us. X_LIBS="${X_WIDGETLIB} -lXt -lXext -lXmu ${X_PRE_LIBS} -lX11 ${X_EXTRA_LIBS}" else DEF_X11="# ${DEF_X11}" X_LIBS="# -lXaw -lXt -lXext -lXmu -lX11" X_INCDIR="# -I/usr/X11R6/include" X_LIBDIR="# -L/usr/X11R6/lib" fi { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @%:@define STDC_HEADERS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; } if test "${ac_cv_header_sys_wait_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 #include #ifndef WEXITSTATUS # define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif int main () { int s; wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; 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_sys_wait_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_sys_wait_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_SYS_WAIT_H 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 stropts.h memory.h stdlib.h time.h sys/time.h sys/types.h string.h strings.h fcntl.h unistd.h errno.h limits.h sys/param.h crypt.h shadow.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 { 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 mode_t" >&5 echo $ECHO_N "checking for mode_t... $ECHO_C" >&6; } if test "${ac_cv_type_mode_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. */ $ac_includes_default typedef mode_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_mode_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_mode_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 echo "${ECHO_T}$ac_cv_type_mode_t" >&6; } if test $ac_cv_type_mode_t = yes; then : else cat >>confdefs.h <<_ACEOF @%:@define mode_t int _ACEOF fi { echo "$as_me:$LINENO: checking for pid_t" >&5 echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } if test "${ac_cv_type_pid_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. */ $ac_includes_default typedef pid_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_pid_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_pid_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } if test $ac_cv_type_pid_t = yes; then : else cat >>confdefs.h <<_ACEOF @%:@define pid_t int _ACEOF fi { echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6; } if test "${ac_cv_type_uid_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "uid_t" >/dev/null 2>&1; then ac_cv_type_uid_t=yes else ac_cv_type_uid_t=no fi rm -f conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 echo "${ECHO_T}$ac_cv_type_uid_t" >&6; } if test $ac_cv_type_uid_t = no; then cat >>confdefs.h <<\_ACEOF @%:@define uid_t int _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define gid_t int _ACEOF fi { echo "$as_me:$LINENO: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; } if test "${ac_cv_type_signal+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 () { return *(signal (0, 0)) (0) == 1; ; 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_signal=int else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_signal=void fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF @%:@define RETSIGTYPE $ac_cv_type_signal _ACEOF for ac_func in sigaction strcasecmp strerror cftime strftime memcpy memmove localtime timelocal strchr gettimeofday get_process_stats crypt poll 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 { echo "$as_me:$LINENO: checking for sigsetjmp" >&5 echo $ECHO_N "checking for sigsetjmp... $ECHO_C" >&6; } if test "${ac_cv_have_sigsetjmp+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 () { sigjmp_buf jb; sigsetjmp(jb, 1); ; 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_have_sigsetjmp=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_have_sigsetjmp=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_have_sigsetjmp" >&5 echo "${ECHO_T}$ac_cv_have_sigsetjmp" >&6; } if (test "$ac_cv_have_sigsetjmp" = "yes"); then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_SIGSETJMP 1 _ACEOF fi { echo "$as_me:$LINENO: checking signal behaviour" >&5 echo $ECHO_N "checking signal behaviour... $ECHO_C" >&6; } if test "${ac_cv_signal_behaviour+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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. */ /*-- Exit 0 if BSD signal, 1 if SYSV signal --*/ #include static int sg_sig_count = 0 ; void sig_handler() { ++sg_sig_count ; } main() { #ifdef SIGCHLD #define _SIG_ SIGCHLD #else #define _SIG_ SIGCLD #endif signal( _SIG_, sig_handler ) ; kill( getpid(), _SIG_ ) ; kill( getpid(), _SIG_ ) ; exit( sg_sig_count != 2 ) ; } _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_signal_behaviour=BSD 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_signal_behaviour=SYSV 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_signal_behaviour" >&5 echo "${ECHO_T}$ac_cv_signal_behaviour" >&6; } if (test "$ac_cv_signal_behaviour" = "SYSV"); then cat >>confdefs.h <<\_ACEOF @%:@define SYSV_SIGNALS 1 _ACEOF fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { 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' ac_config_files="$ac_config_files Makefile src/Makefile scripts/install.sh scripts/make_wrapper.sh" 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 : ${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" _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 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 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "scripts/install.sh") CONFIG_FILES="$CONFIG_FILES scripts/install.sh" ;; "scripts/make_wrapper.sh") CONFIG_FILES="$CONFIG_FILES scripts/make_wrapper.sh" ;; *) { { 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 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 DEF_AIX_FIX!$DEF_AIX_FIX$ac_delim with_x!$with_x$ac_delim with_motif!$with_motif$ac_delim with_readline!$with_readline$ac_delim DEF_MOTIF!$DEF_MOTIF$ac_delim MOTIF_PATH!$MOTIF_PATH$ac_delim MOTIF_INCDIR!$MOTIF_INCDIR$ac_delim MOTIF_LIBDIR!$MOTIF_LIBDIR$ac_delim MOTIF_LIBS!$MOTIF_LIBS$ac_delim ATHENA_LIBS!$ATHENA_LIBS$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 CPP!$CPP$ac_delim DEF_POSIX!$DEF_POSIX$ac_delim SYBASE_OCOS!$SYBASE_OCOS$ac_delim SYBASE_LIBS!$SYBASE_LIBS$ac_delim SYBASE_LIBDIR!$SYBASE_LIBDIR$ac_delim SYBASE_INCDIR!$SYBASE_INCDIR$ac_delim SYBASE_OS!$SYBASE_OS$ac_delim DEF_READLINE!$DEF_READLINE$ac_delim READLINE_INCDIR!$READLINE_INCDIR$ac_delim READLINE_LIBDIR!$READLINE_LIBDIR$ac_delim READLINE_LIBS!$READLINE_LIBS$ac_delim xmkmfpath!$xmkmfpath$ac_delim XMKMF!$XMKMF$ac_delim DEF_X11!$DEF_X11$ac_delim X_LIBS!$X_LIBS$ac_delim X_INCDIR!$X_INCDIR$ac_delim X_LIBDIR!$X_LIBDIR$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$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` = 86; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS 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" >$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" ;; 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 sqsh-2.1.7/autom4te.cache/requests0100664000076500007650000000514211056170714017354 0ustar mpepplermpeppler# This file was generated. # 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', 'aclocal.m4', 'configure.in' ], { '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, 'AM_PROG_CC_C_O' => 1, 'm4_pattern_allow' => 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' ) ); sqsh-2.1.7/autom4te.cache/traces.00100664000076500007650000007301511056170714017124 0ustar mpepplermpepplerm4trace:configure.in:5: -1- AC_INIT([src/sqsh_main.c]) m4trace:configure.in:5: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.in:5: -1- m4_pattern_forbid([_AC_]) m4trace:configure.in:5: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) m4trace:configure.in:5: -1- m4_pattern_allow([^AS_FLAGS$]) m4trace:configure.in:5: -1- m4_pattern_forbid([^_?m4_]) m4trace:configure.in:5: -1- m4_pattern_forbid([^dnl$]) m4trace:configure.in:5: -1- m4_pattern_forbid([^_?AS_]) m4trace:configure.in:5: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([SHELL]) m4trace:configure.in:5: -1- m4_pattern_allow([^SHELL$]) m4trace:configure.in:5: -1- AC_SUBST([PATH_SEPARATOR]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) m4trace:configure.in:5: -1- m4_pattern_allow([^PATH_SEPARATOR$]) m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([PACKAGE_NAME]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_NAME$]) m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_VERSION$]) m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([PACKAGE_STRING]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_STRING$]) m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) m4trace:configure.in:5: -1- AC_SUBST([exec_prefix], [NONE]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([exec_prefix]) m4trace:configure.in:5: -1- m4_pattern_allow([^exec_prefix$]) m4trace:configure.in:5: -1- AC_SUBST([prefix], [NONE]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([prefix]) m4trace:configure.in:5: -1- m4_pattern_allow([^prefix$]) m4trace:configure.in:5: -1- AC_SUBST([program_transform_name], [s,x,x,]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([program_transform_name]) m4trace:configure.in:5: -1- m4_pattern_allow([^program_transform_name$]) m4trace:configure.in:5: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([bindir]) m4trace:configure.in:5: -1- m4_pattern_allow([^bindir$]) m4trace:configure.in:5: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([sbindir]) m4trace:configure.in:5: -1- m4_pattern_allow([^sbindir$]) m4trace:configure.in:5: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([libexecdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^libexecdir$]) m4trace:configure.in:5: -1- AC_SUBST([datarootdir], ['${prefix}/share']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([datarootdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^datarootdir$]) m4trace:configure.in:5: -1- AC_SUBST([datadir], ['${datarootdir}']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([datadir]) m4trace:configure.in:5: -1- m4_pattern_allow([^datadir$]) m4trace:configure.in:5: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([sysconfdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^sysconfdir$]) m4trace:configure.in:5: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([sharedstatedir]) m4trace:configure.in:5: -1- m4_pattern_allow([^sharedstatedir$]) m4trace:configure.in:5: -1- AC_SUBST([localstatedir], ['${prefix}/var']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([localstatedir]) m4trace:configure.in:5: -1- m4_pattern_allow([^localstatedir$]) m4trace:configure.in:5: -1- AC_SUBST([includedir], ['${prefix}/include']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([includedir]) m4trace:configure.in:5: -1- m4_pattern_allow([^includedir$]) m4trace:configure.in:5: -1- AC_SUBST([oldincludedir], ['/usr/include']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([oldincludedir]) m4trace:configure.in:5: -1- m4_pattern_allow([^oldincludedir$]) m4trace:configure.in:5: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], ['${datarootdir}/doc/${PACKAGE_TARNAME}'], ['${datarootdir}/doc/${PACKAGE}'])]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([docdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^docdir$]) m4trace:configure.in:5: -1- AC_SUBST([infodir], ['${datarootdir}/info']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([infodir]) m4trace:configure.in:5: -1- m4_pattern_allow([^infodir$]) m4trace:configure.in:5: -1- AC_SUBST([htmldir], ['${docdir}']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([htmldir]) m4trace:configure.in:5: -1- m4_pattern_allow([^htmldir$]) m4trace:configure.in:5: -1- AC_SUBST([dvidir], ['${docdir}']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([dvidir]) m4trace:configure.in:5: -1- m4_pattern_allow([^dvidir$]) m4trace:configure.in:5: -1- AC_SUBST([pdfdir], ['${docdir}']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([pdfdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^pdfdir$]) m4trace:configure.in:5: -1- AC_SUBST([psdir], ['${docdir}']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([psdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^psdir$]) m4trace:configure.in:5: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([libdir]) m4trace:configure.in:5: -1- m4_pattern_allow([^libdir$]) m4trace:configure.in:5: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([localedir]) m4trace:configure.in:5: -1- m4_pattern_allow([^localedir$]) m4trace:configure.in:5: -1- AC_SUBST([mandir], ['${datarootdir}/man']) m4trace:configure.in:5: -1- AC_SUBST_TRACE([mandir]) m4trace:configure.in:5: -1- m4_pattern_allow([^mandir$]) m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_NAME$]) m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ #undef PACKAGE_NAME]) m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME]) m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_VERSION$]) m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ #undef PACKAGE_VERSION]) m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_STRING$]) m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ #undef PACKAGE_STRING]) m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) m4trace:configure.in:5: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT]) m4trace:configure.in:5: -1- AC_SUBST([DEFS]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([DEFS]) m4trace:configure.in:5: -1- m4_pattern_allow([^DEFS$]) m4trace:configure.in:5: -1- AC_SUBST([ECHO_C]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([ECHO_C]) m4trace:configure.in:5: -1- m4_pattern_allow([^ECHO_C$]) m4trace:configure.in:5: -1- AC_SUBST([ECHO_N]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([ECHO_N]) m4trace:configure.in:5: -1- m4_pattern_allow([^ECHO_N$]) m4trace:configure.in:5: -1- AC_SUBST([ECHO_T]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([ECHO_T]) m4trace:configure.in:5: -1- m4_pattern_allow([^ECHO_T$]) m4trace:configure.in:5: -1- AC_SUBST([LIBS]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.in:5: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.in:5: -1- AC_SUBST([build_alias]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([build_alias]) m4trace:configure.in:5: -1- m4_pattern_allow([^build_alias$]) m4trace:configure.in:5: -1- AC_SUBST([host_alias]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([host_alias]) m4trace:configure.in:5: -1- m4_pattern_allow([^host_alias$]) m4trace:configure.in:5: -1- AC_SUBST([target_alias]) m4trace:configure.in:5: -1- AC_SUBST_TRACE([target_alias]) m4trace:configure.in:5: -1- m4_pattern_allow([^target_alias$]) m4trace:configure.in:6: -1- AC_CONFIG_HEADERS([src/config.h]) m4trace:configure.in:7: -1- AC_CONFIG_AUX_DIR([autoconf]) m4trace:configure.in:9: -1- AC_CANONICAL_HOST m4trace:configure.in:9: -1- AC_CANONICAL_BUILD m4trace:configure.in:9: -1- AC_REQUIRE_AUX_FILE([config.sub]) m4trace:configure.in:9: -1- AC_REQUIRE_AUX_FILE([config.guess]) m4trace:configure.in:9: -1- AC_SUBST([build], [$ac_cv_build]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([build]) m4trace:configure.in:9: -1- m4_pattern_allow([^build$]) m4trace:configure.in:9: -1- AC_SUBST([build_cpu], [$[1]]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([build_cpu]) m4trace:configure.in:9: -1- m4_pattern_allow([^build_cpu$]) m4trace:configure.in:9: -1- AC_SUBST([build_vendor], [$[2]]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([build_vendor]) m4trace:configure.in:9: -1- m4_pattern_allow([^build_vendor$]) m4trace:configure.in:9: -1- AC_SUBST([build_os]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([build_os]) m4trace:configure.in:9: -1- m4_pattern_allow([^build_os$]) m4trace:configure.in:9: -1- AC_SUBST([host], [$ac_cv_host]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([host]) m4trace:configure.in:9: -1- m4_pattern_allow([^host$]) m4trace:configure.in:9: -1- AC_SUBST([host_cpu], [$[1]]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([host_cpu]) m4trace:configure.in:9: -1- m4_pattern_allow([^host_cpu$]) m4trace:configure.in:9: -1- AC_SUBST([host_vendor], [$[2]]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([host_vendor]) m4trace:configure.in:9: -1- m4_pattern_allow([^host_vendor$]) m4trace:configure.in:9: -1- AC_SUBST([host_os]) m4trace:configure.in:9: -1- AC_SUBST_TRACE([host_os]) m4trace:configure.in:9: -1- m4_pattern_allow([^host_os$]) m4trace:configure.in:18: -1- AC_SUBST([DEF_AIX_FIX]) m4trace:configure.in:18: -1- AC_SUBST_TRACE([DEF_AIX_FIX]) m4trace:configure.in:18: -1- m4_pattern_allow([^DEF_AIX_FIX$]) m4trace:configure.in:71: -1- AC_SUBST([with_x]) m4trace:configure.in:71: -1- AC_SUBST_TRACE([with_x]) m4trace:configure.in:71: -1- m4_pattern_allow([^with_x$]) m4trace:configure.in:72: -1- AC_SUBST([with_motif]) m4trace:configure.in:72: -1- AC_SUBST_TRACE([with_motif]) m4trace:configure.in:72: -1- m4_pattern_allow([^with_motif$]) m4trace:configure.in:73: -1- AC_SUBST([with_readline]) m4trace:configure.in:73: -1- AC_SUBST_TRACE([with_readline]) m4trace:configure.in:73: -1- m4_pattern_allow([^with_readline$]) m4trace:configure.in:74: -1- AC_SUBST([DEF_MOTIF]) m4trace:configure.in:74: -1- AC_SUBST_TRACE([DEF_MOTIF]) m4trace:configure.in:74: -1- m4_pattern_allow([^DEF_MOTIF$]) m4trace:configure.in:75: -1- AC_SUBST([MOTIF_PATH]) m4trace:configure.in:75: -1- AC_SUBST_TRACE([MOTIF_PATH]) m4trace:configure.in:75: -1- m4_pattern_allow([^MOTIF_PATH$]) m4trace:configure.in:76: -1- AC_SUBST([MOTIF_INCDIR]) m4trace:configure.in:76: -1- AC_SUBST_TRACE([MOTIF_INCDIR]) m4trace:configure.in:76: -1- m4_pattern_allow([^MOTIF_INCDIR$]) m4trace:configure.in:77: -1- AC_SUBST([MOTIF_LIBDIR]) m4trace:configure.in:77: -1- AC_SUBST_TRACE([MOTIF_LIBDIR]) m4trace:configure.in:77: -1- m4_pattern_allow([^MOTIF_LIBDIR$]) m4trace:configure.in:91: -1- AC_SUBST([MOTIF_LIBS]) m4trace:configure.in:91: -1- AC_SUBST_TRACE([MOTIF_LIBS]) m4trace:configure.in:91: -1- m4_pattern_allow([^MOTIF_LIBS$]) m4trace:configure.in:92: -1- AC_SUBST([ATHENA_LIBS]) m4trace:configure.in:92: -1- AC_SUBST_TRACE([ATHENA_LIBS]) m4trace:configure.in:92: -1- m4_pattern_allow([^ATHENA_LIBS$]) m4trace:configure.in:97: -1- AC_SUBST([CC]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CC]) m4trace:configure.in:97: -1- m4_pattern_allow([^CC$]) m4trace:configure.in:97: -1- AC_SUBST([CFLAGS]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CFLAGS]) m4trace:configure.in:97: -1- m4_pattern_allow([^CFLAGS$]) m4trace:configure.in:97: -1- AC_SUBST([LDFLAGS]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([LDFLAGS]) m4trace:configure.in:97: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.in:97: -1- AC_SUBST([LIBS]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.in:97: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.in:97: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.in:97: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.in:97: -1- AC_SUBST([CC]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CC]) m4trace:configure.in:97: -1- m4_pattern_allow([^CC$]) m4trace:configure.in:97: -1- AC_SUBST([CC]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CC]) m4trace:configure.in:97: -1- m4_pattern_allow([^CC$]) m4trace:configure.in:97: -1- AC_SUBST([CC]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CC]) m4trace:configure.in:97: -1- m4_pattern_allow([^CC$]) m4trace:configure.in:97: -1- AC_SUBST([CC]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([CC]) m4trace:configure.in:97: -1- m4_pattern_allow([^CC$]) m4trace:configure.in:97: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([ac_ct_CC]) m4trace:configure.in:97: -1- m4_pattern_allow([^ac_ct_CC$]) m4trace:configure.in:97: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([EXEEXT]) m4trace:configure.in:97: -1- m4_pattern_allow([^EXEEXT$]) m4trace:configure.in:97: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) m4trace:configure.in:97: -1- AC_SUBST_TRACE([OBJEXT]) m4trace:configure.in:97: -1- m4_pattern_allow([^OBJEXT$]) m4trace:configure.in:98: -1- AC_SUBST([CPP]) m4trace:configure.in:98: -1- AC_SUBST_TRACE([CPP]) m4trace:configure.in:98: -1- m4_pattern_allow([^CPP$]) m4trace:configure.in:98: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.in:98: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.in:98: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.in:98: -1- AC_SUBST([CPP]) m4trace:configure.in:98: -1- AC_SUBST_TRACE([CPP]) m4trace:configure.in:98: -1- m4_pattern_allow([^CPP$]) m4trace:configure.in:103: -1- AC_SUBST([DEF_POSIX]) m4trace:configure.in:103: -1- AC_SUBST_TRACE([DEF_POSIX]) m4trace:configure.in:103: -1- m4_pattern_allow([^DEF_POSIX$]) m4trace:configure.in:106: -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... aclocal.m4:6: AC_VOLATILE is expanded from... configure.in:106: the top level]) m4trace:configure.in:106: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VOLATILE]) m4trace:configure.in:106: -1- m4_pattern_allow([^HAVE_VOLATILE$]) m4trace:configure.in:106: -1- AH_OUTPUT([HAVE_VOLATILE], [/* Define to 1 if your compiler supports the volatile keyword */ #undef HAVE_VOLATILE]) m4trace:configure.in:108: -1- AC_SUBST([SYBASE_OCOS]) m4trace:configure.in:108: -1- AC_SUBST_TRACE([SYBASE_OCOS]) m4trace:configure.in:108: -1- m4_pattern_allow([^SYBASE_OCOS$]) m4trace:configure.in:108: -1- AC_SUBST([SYBASE_LIBS]) m4trace:configure.in:108: -1- AC_SUBST_TRACE([SYBASE_LIBS]) m4trace:configure.in:108: -1- m4_pattern_allow([^SYBASE_LIBS$]) m4trace:configure.in:108: -1- AC_SUBST([SYBASE_LIBDIR]) m4trace:configure.in:108: -1- AC_SUBST_TRACE([SYBASE_LIBDIR]) m4trace:configure.in:108: -1- m4_pattern_allow([^SYBASE_LIBDIR$]) m4trace:configure.in:108: -1- AC_SUBST([SYBASE_INCDIR]) m4trace:configure.in:108: -1- AC_SUBST_TRACE([SYBASE_INCDIR]) m4trace:configure.in:108: -1- m4_pattern_allow([^SYBASE_INCDIR$]) m4trace:configure.in:108: -1- AC_SUBST([SYBASE_OS]) m4trace:configure.in:108: -1- AC_SUBST_TRACE([SYBASE_OS]) m4trace:configure.in:108: -1- m4_pattern_allow([^SYBASE_OS$]) m4trace:configure.in:144: -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.in:144: the top level]) m4trace:configure.in:228: -1- AC_SUBST([DEF_READLINE]) m4trace:configure.in:228: -1- AC_SUBST_TRACE([DEF_READLINE]) m4trace:configure.in:228: -1- m4_pattern_allow([^DEF_READLINE$]) m4trace:configure.in:229: -1- AC_SUBST([READLINE_INCDIR]) m4trace:configure.in:229: -1- AC_SUBST_TRACE([READLINE_INCDIR]) m4trace:configure.in:229: -1- m4_pattern_allow([^READLINE_INCDIR$]) m4trace:configure.in:230: -1- AC_SUBST([READLINE_LIBDIR]) m4trace:configure.in:230: -1- AC_SUBST_TRACE([READLINE_LIBDIR]) m4trace:configure.in:230: -1- m4_pattern_allow([^READLINE_LIBDIR$]) m4trace:configure.in:231: -1- AC_SUBST([READLINE_LIBS]) m4trace:configure.in:231: -1- AC_SUBST_TRACE([READLINE_LIBS]) m4trace:configure.in:231: -1- m4_pattern_allow([^READLINE_LIBS$]) m4trace:configure.in:240: -1- AC_SUBST([xmkmfpath]) m4trace:configure.in:240: -1- AC_SUBST_TRACE([xmkmfpath]) m4trace:configure.in:240: -1- m4_pattern_allow([^xmkmfpath$]) m4trace:configure.in:245: -1- AC_SUBST([XMKMF]) m4trace:configure.in:245: -1- AC_SUBST_TRACE([XMKMF]) m4trace:configure.in:245: -1- m4_pattern_allow([^XMKMF$]) m4trace:configure.in:303: -1- AC_SUBST([DEF_X11]) m4trace:configure.in:303: -1- AC_SUBST_TRACE([DEF_X11]) m4trace:configure.in:303: -1- m4_pattern_allow([^DEF_X11$]) m4trace:configure.in:304: -1- AC_SUBST([X_LIBS]) m4trace:configure.in:304: -1- AC_SUBST_TRACE([X_LIBS]) m4trace:configure.in:304: -1- m4_pattern_allow([^X_LIBS$]) m4trace:configure.in:305: -1- AC_SUBST([X_INCDIR]) m4trace:configure.in:305: -1- AC_SUBST_TRACE([X_INCDIR]) m4trace:configure.in:305: -1- m4_pattern_allow([^X_INCDIR$]) m4trace:configure.in:306: -1- AC_SUBST([X_LIBDIR]) m4trace:configure.in:306: -1- AC_SUBST_TRACE([X_LIBDIR]) m4trace:configure.in:306: -1- m4_pattern_allow([^X_LIBDIR$]) m4trace:configure.in:309: -1- AC_SUBST([GREP]) m4trace:configure.in:309: -1- AC_SUBST_TRACE([GREP]) m4trace:configure.in:309: -1- m4_pattern_allow([^GREP$]) m4trace:configure.in:309: -1- AC_SUBST([GREP]) m4trace:configure.in:309: -1- AC_SUBST_TRACE([GREP]) m4trace:configure.in:309: -1- m4_pattern_allow([^GREP$]) m4trace:configure.in:309: -1- AC_SUBST([EGREP]) m4trace:configure.in:309: -1- AC_SUBST_TRACE([EGREP]) m4trace:configure.in:309: -1- m4_pattern_allow([^EGREP$]) m4trace:configure.in:309: -1- AC_SUBST([EGREP]) m4trace:configure.in:309: -1- AC_SUBST_TRACE([EGREP]) m4trace:configure.in:309: -1- m4_pattern_allow([^EGREP$]) m4trace:configure.in:309: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) m4trace:configure.in:309: -1- m4_pattern_allow([^STDC_HEADERS$]) m4trace:configure.in:309: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS]) m4trace:configure.in:310: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H]) m4trace:configure.in:310: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$]) m4trace:configure.in:310: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STROPTS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STROPTS_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_TIME_H], [/* Define to 1 if you have the header file. */ #undef HAVE_TIME_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the header file. */ #undef HAVE_ERRNO_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_SYS_PARAM_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_CRYPT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_CRYPT_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_SHADOW_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SHADOW_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H]) m4trace:configure.in:311: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H]) m4trace:configure.in:314: -1- AC_DEFINE_TRACE_LITERAL([const]) m4trace:configure.in:314: -1- m4_pattern_allow([^const$]) m4trace:configure.in:314: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ #undef const]) m4trace:configure.in:315: -1- AC_DEFINE_TRACE_LITERAL([mode_t]) m4trace:configure.in:315: -1- m4_pattern_allow([^mode_t$]) m4trace:configure.in:315: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if does not define. */ #undef mode_t]) m4trace:configure.in:316: -1- AC_DEFINE_TRACE_LITERAL([pid_t]) m4trace:configure.in:316: -1- m4_pattern_allow([^pid_t$]) m4trace:configure.in:316: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if does not define. */ #undef pid_t]) m4trace:configure.in:317: -1- AC_DEFINE_TRACE_LITERAL([uid_t]) m4trace:configure.in:317: -1- m4_pattern_allow([^uid_t$]) m4trace:configure.in:317: -1- AH_OUTPUT([uid_t], [/* Define to `int\' if doesn\'t define. */ #undef uid_t]) m4trace:configure.in:317: -1- AC_DEFINE_TRACE_LITERAL([gid_t]) m4trace:configure.in:317: -1- m4_pattern_allow([^gid_t$]) m4trace:configure.in:317: -1- AH_OUTPUT([gid_t], [/* Define to `int\' if doesn\'t define. */ #undef gid_t]) m4trace:configure.in:320: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE]) m4trace:configure.in:320: -1- m4_pattern_allow([^RETSIGTYPE$]) m4trace:configure.in:320: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */ #undef RETSIGTYPE]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_SIGACTION], [/* Define to 1 if you have the `sigaction\' function. */ #undef HAVE_SIGACTION]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_STRCASECMP], [/* Define to 1 if you have the `strcasecmp\' function. */ #undef HAVE_STRCASECMP]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */ #undef HAVE_STRERROR]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_CFTIME], [/* Define to 1 if you have the `cftime\' function. */ #undef HAVE_CFTIME]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */ #undef HAVE_STRFTIME]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_MEMCPY], [/* Define to 1 if you have the `memcpy\' function. */ #undef HAVE_MEMCPY]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_MEMMOVE], [/* Define to 1 if you have the `memmove\' function. */ #undef HAVE_MEMMOVE]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_LOCALTIME], [/* Define to 1 if you have the `localtime\' function. */ #undef HAVE_LOCALTIME]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_TIMELOCAL], [/* Define to 1 if you have the `timelocal\' function. */ #undef HAVE_TIMELOCAL]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */ #undef HAVE_STRCHR]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */ #undef HAVE_GETTIMEOFDAY]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_GET_PROCESS_STATS], [/* Define to 1 if you have the `get_process_stats\' function. */ #undef HAVE_GET_PROCESS_STATS]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_CRYPT], [/* Define to 1 if you have the `crypt\' function. */ #undef HAVE_CRYPT]) m4trace:configure.in:321: -1- AH_OUTPUT([HAVE_POLL], [/* Define to 1 if you have the `poll\' function. */ #undef HAVE_POLL]) m4trace:configure.in:322: -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... aclocal.m4:23: AC_SIGSETJMP is expanded from... configure.in:322: the top level]) m4trace:configure.in:322: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SIGSETJMP]) m4trace:configure.in:322: -1- m4_pattern_allow([^HAVE_SIGSETJMP$]) m4trace:configure.in:322: -1- AH_OUTPUT([HAVE_SIGSETJMP], [/* Define to 1 if your environment provides sigsetjpm() */ #undef HAVE_SIGSETJMP]) m4trace:configure.in:327: -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... aclocal.m4:167: AC_SYSV_SIGNALS is expanded from... configure.in:327: the top level]) m4trace:configure.in:327: -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... ../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from... ../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from... aclocal.m4:167: AC_SYSV_SIGNALS is expanded from... configure.in:327: the top level]) m4trace:configure.in:327: -1- AC_DEFINE_TRACE_LITERAL([SYSV_SIGNALS]) m4trace:configure.in:327: -1- m4_pattern_allow([^SYSV_SIGNALS$]) m4trace:configure.in:327: -1- AH_OUTPUT([SYSV_SIGNALS], [/* Define to 1 if your environment supports SysV signals */ #undef SYSV_SIGNALS]) m4trace:configure.in:328: -1- AC_REQUIRE_AUX_FILE([install-sh]) m4trace:configure.in:328: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.in:328: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) m4trace:configure.in:328: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) m4trace:configure.in:328: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.in:328: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) m4trace:configure.in:328: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) m4trace:configure.in:328: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.in:328: -1- AC_SUBST_TRACE([INSTALL_DATA]) m4trace:configure.in:328: -1- m4_pattern_allow([^INSTALL_DATA$]) m4trace:configure.in:330: -1- AC_CONFIG_FILES([Makefile src/Makefile scripts/install.sh scripts/make_wrapper.sh]) m4trace:configure.in:330: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. You should run autoupdate.], []) m4trace:configure.in:330: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.in:330: -1- m4_pattern_allow([^LIB@&t@OBJS$]) m4trace:configure.in:330: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([LTLIBOBJS]) m4trace:configure.in:330: -1- m4_pattern_allow([^LTLIBOBJS$]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([top_builddir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([srcdir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([abs_srcdir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([top_srcdir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([abs_top_srcdir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([builddir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([abs_builddir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([abs_top_builddir]) m4trace:configure.in:330: -1- AC_SUBST_TRACE([INSTALL]) sqsh-2.1.7/contrib/0040775000076500007650000000000011367625413014421 5ustar mpepplermpepplersqsh-2.1.7/contrib/sqsh.spec0100664000076500007650000000176410142674632016255 0ustar mpepplermpeppler%define ver 2.1 %define rel 1 Summary: An SQL shell Name: sqsh Version: %{ver} Release: %{rel} Copyright: distributable Group: Applications/database Source: http://www.sqsh.org/sqsh-2.1-src.tar.gz Url: http://www.sqsh.org/ Requires: freetds BuildRoot: %{_tmppath}/%{name}-buildroot Vendor: www.sqsh.org %description A command-line environment for SQL on Microsoft SQL Server/Sybase databases %prep %setup -n sqsh-%{version} %build SYBASE=/usr ./configure --with-readline --prefix=/usr make %clean rm -rf $RPM_BUILD_ROOT %install rm -rf $RPM_BUILD_ROOT INSTALL=./autoconf/install-sh INSTALL_MAN=./autoconf/install-man $INSTALL_MAN -s ./doc -d $RPM_BUILD_ROOT/usr/man sqsh.1 $INSTALL -d $RPM_BUILD_ROOT/usr/bin $INSTALL -c ./src/sqsh $RPM_BUILD_ROOT/usr/bin/sqsh $INSTALL -c -m 644 doc/global.sqshrc $RPM_BUILD_ROOT/usr/etc/sqshrc %files %defattr(-,root,root) %config /usr/etc/sqshrc %doc /usr/man/man1/sqsh.1.gz /usr/bin/sqsh %changelog * Fri Sep 5 2003 Ian Grant - Initial sqsh-2.1.7/cygwin/0040775000076500007650000000000011367625413014261 5ustar mpepplermpepplersqsh-2.1.7/cygwin/Makefile0100664000076500007650000006371110151105344015710 0ustar mpepplermpeppler# $Id: Makefile,v 1.2 2004/11/24 13:21:40 mpeppler Exp $ # # Makefile for sqsh on Cygwin # # Fix the SYBASE_OCOS entry below, copy "config.h" to the # src directory, then cd to the src directory and run # make -f ../cygwin/Makefile # and everything **should** work. # The following list of sqshrc files will be executed by sqsh upon # startup. This allows for system-wide defaults to be set in a # common directory. If you don't want a global sqshrc just comment # out SQSHRC_GLOBAL, below. SQSHRC_GLOBAL = /usr/local/etc/sqshrc SQSHRC_PATH = "$(SQSHRC_GLOBAL):$${HOME}/.sqshrc" # The following variables are configurable by the user. Typically # these include things that GNU autoconf has a little trouble # figuring out for itself. SYBASE_OCOS = c:/sybase/OCS-12_5 SYBASE_INCDIR = -I$(SYBASE_OCOS)/include #SYBASE_LIBDIR = -L$(SYBASE_OCOS)/lib # # The following set of CT-LIB libraries were determined automatically # by 'configure'. For most systems configure looks up the required # libraries by looking at the name of the OS (although this doesn't # mean it got them right), however if the line below ends with the # word "Guess", then 'configure' didn't have an entry for your operating # system and it took a best guess to figure out which libraries you # need. In either case, there may be problems, so look this line over # and if it doesn't work, compare it to the libraries located in # $SYBASE/samples/ctlibrary. # # The listings below show suggested libraries for Operating Systems # that frequently fail to be recognized by 'configure': # # SCO: -lblk -lct -lcs -lcomn -ltcl -ltli -lnsl_s -lintl -m -lsocket # Dynix: -lblk -lct -lcs -lcomn -ltcl -ltli -lnsl -lintl -lm -lseq # #SYBASE_LIBS = -L$(SYBASE)/OCS-12_5/dll -lblk -lcs -lct #SYBASE_LIBS = libblk.lib libcs.lib libct.lib SYBASE_LIBS = ../cygwin/libblk.a ../cygwin/libcs.a ../cygwin/libct.a # # If you have the GNU readline library available, uncomment the # following definitions and make sure the lib directory and # include directories are correct. # DEF_READLINE = -DUSE_READLINE -DOLD_READLINE READLINE_LIBDIR = # -L/lib READLINE_INCDIR = # -I/usr/include # # On most systems, -lreadline and -lcurses is enough to link with # the readline library. However on a few systems you may need to # link with termcap rather than curses, and on other systems (such # as certain Solaris installations), you may need to link in -lucb # to get around some BSD specifics dealing with the termcap library. # READLINE_LIBS = -lreadline -ltermcap # # Motif Support - The `configure' motif support logic for sqsh # isn't exactly perfected yet. If --with-motif was run, the # following what `configure' guessed at for the location # for your Motif includes and libs. Note that if MOTIF_INCDIR # and MOTIF_LIBDIR are commented out, then the X_INCDIR and # X_LIBDIR will be used, below. # # Note that on some systems -lXpm may need to be added to # MOTIF_LIBS. # DEF_MOTIF = # -DUSE_MOTIF MOTIF_INCDIR = MOTIF_LIBDIR = MOTIF_LIBS = # # X Windows Support # # The following variables configure whether or not X windows # support is compiled into sqsh (this allows a result set to # be displayed in a separate window). If '--with-x' was sup- # plied to 'configure' then most of the variables should be # filled in for you (read INSTALL). If '--with-x' was not # supplied or '--without-x' was supplied then The following # lines should be commented out. # DEF_X11 = # -DUSE_X11 X_INCDIR = # -I/usr/X11R6/include X_LIBDIR = # -L/usr/X11R6/lib X_LIBS = $(MOTIF_LIBS) # -lXaw -lXt -lXext -lXmu -lX11 # # Undefine the following line to turn off bcp support in sqsh. This # feature allows a result set to be redirected (bcp'ed) to another # server. Since this is a new feature, if you get compile errors on # cmd_bcp.c, mail me a copy of the error message(s) (gray@voicenet.com) # and uncomment this line. # #DEF_NOBCP = -DNO_BCP # # As of sqsh-1.4, the $password value will never expand to a clear-text # copy of the users password. If you wish to keep the old behavior # (which did show the clear-text password), uncomment the following # define. Note that this applies to the new $lock password as well. # #DEF_INSECURE = -DINSECURE # # The following define turns on a work-around for a rather pernicious # bug in CT-Lib having to do with the way that async i/o signals are # delivered. If, while running sqsh, pipes tend to lose data or don't # display anything at all, like: # # 1> sp_who # 2> go | more # 1> # # you probably have the bug. First, PLEASE e-mail me (gray@voicenet.com) # and I'll give you a description of what is going on so you can call # tech support: I am trying to get them to fix the problem, but they # are moving at a snails pace. Then, when you have done that, un- # comment the following line, which will attempt to install a work- # around for the problem. # # Please, do not uncomment this line unless you have reproduced the # behavior described above. # #DEF_BUGFIX = -DCTLIB_SIGPOLL_BUG # # Uncommenting the following line turns on debugging support. Turning # this feature on will increase the size of sqsh by about 12K, and # will probably slow it down nominally. When enabled, various debugging # messages may be turned on and off using the -l flag or the $debug # environment variable. There is probably no reason to enable this # unless you are debugging a problem or are interested in what is # going on under the hood. # DEF_DEBUG = -DDEBUG # # End of user configuration section. # prefix = /usr/local src_dir = . exec_prefix = ${prefix} bin_dir = $(exec_prefix)/bin inc_dir = $(prefix)/include lib_dir = $(exec_prefix)/lib man_src = $(src_dir)/doc man_dir = $(prefix)/man INSTALL = $(src_dir)/autoconf/install-sh INSTALL_PROG = $(INSTALL) -c INSTALL_DIR = $(INSTALL) -d INSTALL_DATA = $(INSTALL) -c -m 644 INSTALL_MAN = $(src_dir)/autoconf/install-man CC = gcc DEBUG = DEFINES = -DSQSH_RC='${SQSHRC_PATH}' $(DEF_READLINE) \ $(DEF_NOBCP) $(DEF_DEBUG) $(DEF_INSECURE) $(DEF_X11) \ $(DEF_MOTIF) $(DEF_BUGFIX) INCLUDE_DIRS = $(X_INCDIR) $(MOTIF_INCDIR) $(SYBASE_INCDIR) $(READLINE_INCDIR) LIB_DIRS = $(X_LIBDIR) $(MOTIF_INCDIR) $(SYBASE_LIBDIR) $(READLINE_LIBDIR) CFLAGS = -g -O2 $(DEBUG) $(DEFINES) $(INCLUDE_DIRS) CPPFLAGS = -D_MSC_VER=800 -D_CYGWIN32_ LDFLAGS = $(DEBUG) $(LIB_DIRS) LIBS = $(SYBASE_LIBS) $(X_LIBS) $(READLINE_LIBS) # The follow define information about the components that make up # the actual program. TARGET = sqsh CMDS = \ cmd_alias.o cmd_bcp.o cmd_buf.o cmd_connect.o cmd_do.o \ cmd_echo.o cmd_exit.o cmd_for.o cmd_func.o cmd_go.o \ cmd_help.o cmd_history.o cmd_if.o cmd_input.o cmd_jobs.o \ cmd_kill.o cmd_lock.o cmd_loop.o cmd_misc.o cmd_read.o \ cmd_reconnect.o cmd_redraw.o cmd_reset.o cmd_return.o cmd_rpc.o \ cmd_set.o cmd_shell.o cmd_show.o cmd_sleep.o cmd_wait.o \ cmd_warranty.o cmd_while.o DISPLAYS = \ dsp.o dsp_bcp.o dsp_conv.o dsp_desc.o dsp_horiz.o \ dsp_html.o dsp_meta.o dsp_none.o dsp_out.o dsp_pretty.o \ dsp_vert.o dsp_x.o VARS = \ var_ctlib.o var_date.o var_debug.o var_dsp.o var_hist.o \ var_misc.o var_passwd.o var_readline.o var_thresh.o CORE = \ sqsh_alias.o sqsh_args.o sqsh_avl.o sqsh_buf.o sqsh_cmd.o \ sqsh_compat.o sqsh_ctx.o sqsh_debug.o sqsh_env.o sqsh_error.o \ sqsh_expand.o sqsh_fd.o sqsh_filter.o sqsh_fork.o sqsh_func.o \ sqsh_getopt.o sqsh_global.o sqsh_history.o sqsh_init.o \ sqsh_job.o sqsh_readline.o sqsh_sig.o sqsh_sigcld.o sqsh_stdin.o \ sqsh_strchr.o sqsh_tok.o sqsh_varbuf.o OBJS = $(CMDS) $(VARS) $(DISPLAYS) $(CORE) MAN_PAGES = sqsh.1 SRCS = $(OBJS:.o=.c) HEADERS = $(TARGET) : $(OBJS) sqsh_main.o $(CC) $(LDFLAGS) $(OBJS) sqsh_main.o $(LIBS) -o $@ sqsh_test : $(OBJS) sqsh_test.o $(CC) $(LDFLAGS) $(OBJS) sqsh_test.o $(LIBS) -o $@ sig_test : sqsh_debug.o sqsh_error.o sqsh_sig.c $(CC) $(LDFLAGS) $(DEF_DEBUG) -DSIG_TEST sqsh_debug.o sqsh_error.o \ sqsh_sig.c -o sig_test clean : rm -f *.o $(TARGET) sqsh_test sig_test realclean : clean rm -f config.cache config.log config.status distclean : realclean rm -f Makefile config.h core # # The following absolutely disgusting list of dependancies was # automatically generated via 'gcc -MM' # cmd_alias.o: cmd_alias.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_bcp.o: cmd_bcp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_getopt.h sqsh_sig.h cmd.h cmd_buf.o: cmd_buf.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_error.h sqsh_getopt.h sqsh_buf.h sqsh_stdin.h cmd.h cmd_connect.o: cmd_connect.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_getopt.h \ sqsh_init.h sqsh_stdin.h cmd.h cmd_do.o: cmd_do.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h sqsh_buf.h \ sqsh_readline.h sqsh_getopt.h sqsh_stdin.h cmd.h cmd_misc.h \ cmd_input.h cmd_echo.o: cmd_echo.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_exit.o: cmd_exit.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h cmd.h sqsh_varbuf.h cmd_for.o: cmd_for.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h sqsh_buf.h \ sqsh_readline.h sqsh_getopt.h sqsh_stdin.h cmd.h cmd_misc.h \ cmd_input.h cmd_func.o: cmd_func.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h \ sqsh_getopt.h sqsh_buf.h sqsh_stdin.h sqsh_readline.h cmd.h \ cmd_misc.h cmd_input.h cmd_go.o: cmd_go.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_getopt.h sqsh_buf.h \ sqsh_filter.h sqsh_stdin.h cmd.h cmd_misc.h cmd_help.o: cmd_help.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h cmd.h cmd_history.o: cmd_history.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_if.o: cmd_if.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h sqsh_getopt.h \ sqsh_buf.h sqsh_stdin.h sqsh_readline.h cmd.h cmd_misc.h cmd_input.h cmd_input.o: cmd_input.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h \ sqsh_readline.h sqsh_stdin.h cmd.h cmd_misc.h cmd_input.h cmd_jobs.o: cmd_jobs.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_kill.o: cmd_kill.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_lock.o: cmd_lock.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h sqsh_global.h sqsh_env.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h cmd.h cmd_loop.o: cmd_loop.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_getopt.h \ sqsh_readline.h sqsh_stdin.h cmd.h cmd_misc.h cmd_input.h cmd_misc.o: cmd_misc.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h cmd.h \ cmd_misc.h cmd_read.o: cmd_read.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_getopt.h \ sqsh_readline.h sqsh_stdin.h cmd.h cmd_reconnect.o: cmd_reconnect.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_redraw.o: cmd_redraw.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h cmd.h sqsh_varbuf.h cmd_reset.o: cmd_reset.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_return.o: cmd_return.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h sqsh_env.h sqsh_global.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_rpc.o: cmd_rpc.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_getopt.h sqsh_sig.h \ sqsh_stdin.h cmd.h cmd_set.o: cmd_set.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_shell.o: cmd_shell.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_varbuf.h sqsh_global.h sqsh_env.h \ sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_show.o: cmd_show.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_sleep.o: cmd_sleep.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h cmd.h sqsh_varbuf.h cmd_wait.o: cmd_wait.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_stdin.h cmd.h cmd_warranty.o: cmd_warranty.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_while.o: cmd_while.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h \ sqsh_getopt.h sqsh_buf.h sqsh_stdin.h sqsh_readline.h sqsh_tok.h \ cmd.h cmd_misc.h cmd_input.h dsp.o: dsp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_error.h sqsh_sig.h dsp_bcp.o: dsp_bcp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h dsp_conv.o: dsp_conv.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h dsp.h dsp_desc.o: dsp_desc.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_horiz.o: dsp_horiz.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_html.o: dsp_html.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_meta.o: dsp_meta.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h dsp.h dsp_none.o: dsp_none.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_out.o: dsp_out.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h dsp_pretty.o: dsp_pretty.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_vert.o: dsp_vert.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_x.o: dsp_x.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_alias.o: sqsh_alias.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_alias.h sqsh_varbuf.h sqsh_avl.h sqsh_args.o: sqsh_args.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_args.h sqsh_avl.o: sqsh_avl.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_avl.h sqsh_buf.o: sqsh_buf.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_stdin.h sqsh_buf.h sqsh_cmd.o: sqsh_cmd.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_avl.h sqsh_cmd.h sqsh_compat.o: sqsh_compat.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_sig.h sqsh_ctx.o: sqsh_ctx.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_ctx.h sqsh_varbuf.h dsp.h sqsh_debug.o: sqsh_debug.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_env.o: sqsh_env.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_env.h sqsh_error.o: sqsh_error.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_expand.o: sqsh_expand.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_varbuf.h sqsh_env.h sqsh_global.h \ sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_fd.h sqsh_expand.h \ sqsh_strchr.h sqsh_sig.h sqsh_fd.o: sqsh_fd.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_sigcld.h sqsh_env.h sqsh_global.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h \ dsp.h sqsh_func.h sqsh_error.h sqsh_fd.h sqsh_filter.o: sqsh_filter.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_fd.h sqsh_sig.h sqsh_varbuf.h sqsh_error.h \ sqsh_filter.h sqsh_fork.o: sqsh_fork.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_fork.h sqsh_func.o: sqsh_func.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_avl.h sqsh_func.h sqsh_getopt.o: sqsh_getopt.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_varbuf.h sqsh_global.h sqsh_env.h \ sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_getopt.h sqsh_global.o: sqsh_global.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_history.o: sqsh_history.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_history.h sqsh_varbuf.h sqsh_init.o: sqsh_init.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h \ sqsh_readline.h sqsh_stdin.h sqsh_init.h cmd.h var.h alias.h sqsh_job.o: sqsh_job.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_fd.h sqsh_tok.h sqsh_varbuf.h \ sqsh_cmd.h sqsh_avl.h sqsh_global.h sqsh_env.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h \ sqsh_fork.h sqsh_expand.h sqsh_strchr.h sqsh_getopt.h sqsh_sig.h sqsh_main.o: sqsh_main.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_error.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_getopt.h \ sqsh_init.h sqsh_fd.h sqsh_readline.h sqsh_expand.h sqsh_sig.h \ sqsh_stdin.h cmd.h sqsh_readline.o: sqsh_readline.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_stdin.h \ sqsh_readline.h sqsh_sig.o: sqsh_sig.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_sig.h sqsh_sigcld.o: sqsh_sigcld.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_sig.h sqsh_sigcld.h sqsh_stdin.o: sqsh_stdin.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_sigcld.h sqsh_env.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_stdin.h sqsh_strchr.o: sqsh_strchr.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_strchr.h sqsh_error.h sqsh_test.o: sqsh_test.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_varbuf.h sqsh_filter.h sqsh_tok.o: sqsh_tok.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_tok.h sqsh_varbuf.h sqsh_varbuf.o: sqsh_varbuf.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_varbuf.h sqsh_error.h var_ctlib.o: var_ctlib.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_fd.h var.h var_date.o: var_date.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h var.h var_debug.o: var_debug.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h var.h var_dsp.o: var_dsp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_error.h sqsh_fd.h var.h var_hist.o: var_hist.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h var.h var_misc.o: var_misc.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_stdin.h var.h var_passwd.o: var_passwd.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_global.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h var.h var_readline.o: var_readline.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h var.h var_thresh.o: var_thresh.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h var.h sqsh-2.1.7/cygwin/Makefile-syb150100664000076500007650000006417411334011115016651 0ustar mpepplermpeppler# $Id: Makefile-syb15,v 1.1 2010/02/08 13:31:57 mwesdorp Exp $ # # Makefile for sqsh on Cygwin # # Fix the SYBASE_OCOS entry below, copy "config.h" to the # src directory, then cd to the src directory and run # make -f ../cygwin/Makefile # and everything **should** work. # The following list of sqshrc files will be executed by sqsh upon # startup. This allows for system-wide defaults to be set in a # common directory. If you don't want a global sqshrc just comment # out SQSHRC_GLOBAL, below. sysconfdir = ${prefix}/etc SQSHRC_GLOBAL = ${sysconfdir}/sqshrc SQSHRC_PATH = "$(SQSHRC_GLOBAL):$${HOME}/.sqshrc" # The following variables are configurable by the user. Typically # these include things that GNU autoconf has a little trouble # figuring out for itself. SYBASE_OCOS = /cygdrive/c/Sybase/OCS-15_0 SYBASE_INCDIR = -I$(SYBASE_OCOS)/include SYBASE_LIBDIR = -L$(SYBASE_OCOS)/lib # # The following set of CT-LIB libraries were determined automatically # by 'configure'. For most systems configure looks up the required # libraries by looking at the name of the OS (although this doesn't # mean it got them right), however if the line below ends with the # word "Guess", then 'configure' didn't have an entry for your operating # system and it took a best guess to figure out which libraries you # need. In either case, there may be problems, so look this line over # and if it doesn't work, compare it to the libraries located in # $SYBASE/samples/ctlibrary. # # The listings below show suggested libraries for Operating Systems # that frequently fail to be recognized by 'configure': # # SCO: -lblk -lct -lcs -lcomn -ltcl -ltli -lnsl_s -lintl -m -lsocket # Dynix: -lblk -lct -lcs -lcomn -ltcl -ltli -lnsl -lintl -lm -lseq # SYBASE_LIBS = -L/usr/local/lib -lsybblk -lsybcs -lsybct # # If you have the GNU readline library available, uncomment the # following definitions and make sure the lib directory and # include directories are correct. # DEF_READLINE = -DUSE_READLINE # -DOLD_READLINE READLINE_LIBDIR = -L/usr/lib READLINE_INCDIR = -I/usr/include # # On most systems, -lreadline and -lcurses is enough to link with # the readline library. However on a few systems you may need to # link with termcap rather than curses, and on other systems (such # as certain Solaris installations), you may need to link in -lucb # to get around some BSD specifics dealing with the termcap library. # READLINE_LIBS = -lreadline # # Motif Support - The `configure' motif support logic for sqsh # isn't exactly perfected yet. If --with-motif was run, the # following what `configure' guessed at for the location # for your Motif includes and libs. Note that if MOTIF_INCDIR # and MOTIF_LIBDIR are commented out, then the X_INCDIR and # X_LIBDIR will be used, below. # # Note that on some systems -lXpm may need to be added to # MOTIF_LIBS. # DEF_MOTIF = # -DUSE_MOTIF MOTIF_INCDIR = MOTIF_LIBDIR = MOTIF_LIBS = # -lXm # # X Windows Support # # The following variables configure whether or not X windows # support is compiled into sqsh (this allows a result set to # be displayed in a separate window). If '--with-x' was sup- # plied to 'configure' then most of the variables should be # filled in for you (read INSTALL). If '--with-x' was not # supplied or '--without-x' was supplied then The following # lines should be commented out. # DEF_X11 = # -DUSE_X11 X_INCDIR = # -I/usr/X11R6/include X_LIBDIR = # -L/usr/X11R6/lib X_LIBS = # $(MOTIF_LIBS) -lXaw -lXt -lXext -lXmu -lX11 # # Undefine the following line to turn off bcp support in sqsh. This # feature allows a result set to be redirected (bcp'ed) to another # server. Since this is a new feature, if you get compile errors on # cmd_bcp.c, mail me a copy of the error message(s) (gray@voicenet.com) # and uncomment this line. # #DEF_NOBCP = -DNO_BCP # # As of sqsh-1.4, the $password value will never expand to a clear-text # copy of the users password. If you wish to keep the old behavior # (which did show the clear-text password), uncomment the following # define. Note that this applies to the new $lock password as well. # #DEF_INSECURE = -DINSECURE # # The following define turns on a work-around for a rather pernicious # bug in CT-Lib having to do with the way that async i/o signals are # delivered. If, while running sqsh, pipes tend to lose data or don't # display anything at all, like: # # 1> sp_who # 2> go | more # 1> # # you probably have the bug. First, PLEASE e-mail me (gray@voicenet.com) # and I'll give you a description of what is going on so you can call # tech support: I am trying to get them to fix the problem, but they # are moving at a snails pace. Then, when you have done that, un- # comment the following line, which will attempt to install a work- # around for the problem. # # Please, do not uncomment this line unless you have reproduced the # behavior described above. # #DEF_BUGFIX = -DCTLIB_SIGPOLL_BUG # # Uncommenting the following line turns on debugging support. Turning # this feature on will increase the size of sqsh by about 12K, and # will probably slow it down nominally. When enabled, various debugging # messages may be turned on and off using the -l flag or the $debug # environment variable. There is probably no reason to enable this # unless you are debugging a problem or are interested in what is # going on under the hood. # DEF_DEBUG = # -DDEBUG # # End of user configuration section. # prefix = /usr/local src_dir = . exec_prefix = ${prefix} bin_dir = $(exec_prefix)/bin inc_dir = $(prefix)/include lib_dir = $(exec_prefix)/lib man_src = $(src_dir)/doc mandir = ${prefix}/man man_dir = ${mandir} INSTALL = $(src_dir)/autoconf/install-sh INSTALL_PROG = $(INSTALL) -c INSTALL_DIR = $(INSTALL) -d INSTALL_DATA = $(INSTALL) -c -m 644 INSTALL_MAN = $(src_dir)/autoconf/install-man CC = gcc DEBUG = DEFINES = -DSQSH_RC='${SQSHRC_PATH}' $(DEF_READLINE) \ $(DEF_NOBCP) $(DEF_DEBUG) $(DEF_INSECURE) $(DEF_X11) \ $(DEF_MOTIF) $(DEF_BUGFIX) INCLUDE_DIRS = $(X_INCDIR) $(MOTIF_INCDIR) $(SYBASE_INCDIR) $(READLINE_INCDIR) LIB_DIRS = $(X_LIBDIR) $(MOTIF_INCDIR) $(SYBASE_LIBDIR) $(READLINE_LIBDIR) CFLAGS = -g -O2 $(DEBUG) $(DEFINES) $(INCLUDE_DIRS) CPPFLAGS = -D_MSC_VER=800 -D_CYGWIN32_ LDFLAGS = $(DEBUG) $(LIB_DIRS) LIBS = $(SYBASE_LIBS) $(X_LIBS) $(READLINE_LIBS) # The follow define information about the components that make up # the actual program. TARGET = sqsh CMDS = \ cmd_alias.o cmd_bcp.o cmd_buf.o cmd_connect.o cmd_do.o \ cmd_echo.o cmd_exit.o cmd_for.o cmd_func.o cmd_go.o \ cmd_help.o cmd_history.o cmd_if.o cmd_input.o cmd_jobs.o \ cmd_kill.o cmd_lock.o cmd_loop.o cmd_misc.o cmd_read.o \ cmd_reconnect.o cmd_redraw.o cmd_reset.o cmd_return.o cmd_rpc.o \ cmd_set.o cmd_shell.o cmd_show.o cmd_sleep.o cmd_wait.o \ cmd_warranty.o cmd_while.o DISPLAYS = \ dsp.o dsp_bcp.o dsp_csv.o dsp_conv.o dsp_desc.o dsp_horiz.o \ dsp_html.o dsp_meta.o dsp_none.o dsp_out.o dsp_pretty.o \ dsp_vert.o dsp_x.o VARS = \ var_ctlib.o var_date.o var_debug.o var_dsp.o var_hist.o \ var_misc.o var_passwd.o var_readline.o var_thresh.o CORE = \ sqsh_alias.o sqsh_args.o sqsh_avl.o sqsh_buf.o sqsh_cmd.o \ sqsh_compat.o sqsh_ctx.o sqsh_debug.o sqsh_env.o sqsh_error.o \ sqsh_expand.o sqsh_fd.o sqsh_filter.o sqsh_fork.o sqsh_func.o \ sqsh_getopt.o sqsh_global.o sqsh_history.o sqsh_init.o \ sqsh_job.o sqsh_readline.o sqsh_sig.o sqsh_sigcld.o sqsh_stdin.o \ sqsh_strchr.o sqsh_tok.o sqsh_varbuf.o OBJS = $(CMDS) $(VARS) $(DISPLAYS) $(CORE) MAN_PAGES = sqsh.1 SRCS = $(OBJS:.o=.c) HEADERS = $(TARGET) : $(OBJS) sqsh_main.o $(CC) $(LDFLAGS) $(OBJS) sqsh_main.o $(LIBS) -o $@ sqsh_test : $(OBJS) sqsh_test.o $(CC) $(LDFLAGS) $(OBJS) sqsh_test.o $(LIBS) -o $@ sig_test : sqsh_debug.o sqsh_error.o sqsh_sig.c $(CC) $(LDFLAGS) $(DEF_DEBUG) -DSIG_TEST sqsh_debug.o sqsh_error.o \ sqsh_sig.c -o sig_test clean : rm -f *.o $(TARGET) sqsh_test sig_test realclean : clean rm -f config.cache config.log config.status distclean : realclean rm -f Makefile config.h core # # The following absolutely disgusting list of dependancies was # automatically generated via 'gcc -MM' # cmd_alias.o: cmd_alias.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_bcp.o: cmd_bcp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_getopt.h sqsh_sig.h cmd.h cmd_buf.o: cmd_buf.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_error.h sqsh_getopt.h sqsh_buf.h sqsh_stdin.h cmd.h cmd_connect.o: cmd_connect.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_getopt.h \ sqsh_init.h sqsh_stdin.h cmd.h cmd_do.o: cmd_do.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h sqsh_buf.h \ sqsh_readline.h sqsh_getopt.h sqsh_stdin.h cmd.h cmd_misc.h \ cmd_input.h cmd_echo.o: cmd_echo.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_exit.o: cmd_exit.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h cmd.h sqsh_varbuf.h cmd_for.o: cmd_for.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h sqsh_buf.h \ sqsh_readline.h sqsh_getopt.h sqsh_stdin.h cmd.h cmd_misc.h \ cmd_input.h cmd_func.o: cmd_func.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h \ sqsh_getopt.h sqsh_buf.h sqsh_stdin.h sqsh_readline.h cmd.h \ cmd_misc.h cmd_input.h cmd_go.o: cmd_go.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_getopt.h sqsh_buf.h \ sqsh_filter.h sqsh_stdin.h cmd.h cmd_misc.h cmd_help.o: cmd_help.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h cmd.h cmd_history.o: cmd_history.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_if.o: cmd_if.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h sqsh_getopt.h \ sqsh_buf.h sqsh_stdin.h sqsh_readline.h cmd.h cmd_misc.h cmd_input.h cmd_input.o: cmd_input.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h \ sqsh_readline.h sqsh_stdin.h cmd.h cmd_misc.h cmd_input.h cmd_jobs.o: cmd_jobs.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_kill.o: cmd_kill.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_lock.o: cmd_lock.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h sqsh_global.h sqsh_env.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h cmd.h cmd_loop.o: cmd_loop.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_getopt.h \ sqsh_readline.h sqsh_stdin.h cmd.h cmd_misc.h cmd_input.h cmd_misc.o: cmd_misc.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h cmd.h \ cmd_misc.h cmd_read.o: cmd_read.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_getopt.h \ sqsh_readline.h sqsh_stdin.h cmd.h cmd_reconnect.o: cmd_reconnect.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_redraw.o: cmd_redraw.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h cmd.h sqsh_varbuf.h cmd_reset.o: cmd_reset.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_return.o: cmd_return.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h sqsh_env.h sqsh_global.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_rpc.o: cmd_rpc.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_getopt.h sqsh_sig.h \ sqsh_stdin.h cmd.h cmd_set.o: cmd_set.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_shell.o: cmd_shell.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_varbuf.h sqsh_global.h sqsh_env.h \ sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_show.o: cmd_show.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_sleep.o: cmd_sleep.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_cmd.h sqsh_avl.h cmd.h sqsh_varbuf.h cmd_wait.o: cmd_wait.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_stdin.h cmd.h cmd_warranty.o: cmd_warranty.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h cmd.h cmd_while.o: cmd_while.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h sqsh_error.h sqsh_sig.h \ sqsh_getopt.h sqsh_buf.h sqsh_stdin.h sqsh_readline.h sqsh_tok.h \ cmd.h cmd_misc.h cmd_input.h dsp.o: dsp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_error.h sqsh_sig.h dsp_bcp.o: dsp_bcp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h dsp_csv.o: dsp_csv.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h dsp_conv.o: dsp_conv.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h dsp.h dsp_desc.o: dsp_desc.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_horiz.o: dsp_horiz.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_html.o: dsp_html.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_meta.o: dsp_meta.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h dsp.h dsp_none.o: dsp_none.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_out.o: dsp_out.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h dsp_pretty.o: dsp_pretty.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_vert.o: dsp_vert.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h dsp_x.o: dsp_x.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_alias.o: sqsh_alias.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_alias.h sqsh_varbuf.h sqsh_avl.h sqsh_args.o: sqsh_args.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_args.h sqsh_avl.o: sqsh_avl.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_avl.h sqsh_buf.o: sqsh_buf.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_stdin.h sqsh_buf.h sqsh_cmd.o: sqsh_cmd.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_avl.h sqsh_cmd.h sqsh_compat.o: sqsh_compat.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_sig.h sqsh_ctx.o: sqsh_ctx.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_ctx.h sqsh_varbuf.h dsp.h sqsh_debug.o: sqsh_debug.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_env.o: sqsh_env.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_env.h sqsh_error.o: sqsh_error.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_expand.o: sqsh_expand.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_varbuf.h sqsh_env.h sqsh_global.h \ sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_fd.h sqsh_expand.h \ sqsh_strchr.h sqsh_sig.h sqsh_fd.o: sqsh_fd.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_sigcld.h sqsh_env.h sqsh_global.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h \ dsp.h sqsh_func.h sqsh_error.h sqsh_fd.h sqsh_filter.o: sqsh_filter.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_fd.h sqsh_sig.h sqsh_varbuf.h sqsh_error.h \ sqsh_filter.h sqsh_fork.o: sqsh_fork.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_fork.h sqsh_func.o: sqsh_func.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_avl.h sqsh_func.h sqsh_getopt.o: sqsh_getopt.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_varbuf.h sqsh_global.h sqsh_env.h \ sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_getopt.h sqsh_global.o: sqsh_global.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_history.o: sqsh_history.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_history.h sqsh_varbuf.h sqsh_init.o: sqsh_init.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_expand.h \ sqsh_readline.h sqsh_stdin.h sqsh_init.h cmd.h var.h alias.h sqsh_job.o: sqsh_job.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_fd.h sqsh_tok.h sqsh_varbuf.h \ sqsh_cmd.h sqsh_avl.h sqsh_global.h sqsh_env.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h \ sqsh_fork.h sqsh_expand.h sqsh_strchr.h sqsh_getopt.h sqsh_sig.h sqsh_main.o: sqsh_main.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_error.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_getopt.h \ sqsh_init.h sqsh_fd.h sqsh_readline.h sqsh_expand.h sqsh_sig.h \ sqsh_stdin.h cmd.h sqsh_readline.o: sqsh_readline.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_global.h sqsh_env.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h sqsh_stdin.h \ sqsh_readline.h sqsh_sig.o: sqsh_sig.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_sig.h sqsh_sigcld.o: sqsh_sigcld.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_sig.h sqsh_sigcld.h sqsh_stdin.o: sqsh_stdin.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_sigcld.h sqsh_env.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_stdin.h sqsh_strchr.o: sqsh_strchr.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_strchr.h sqsh_error.h sqsh_test.o: sqsh_test.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_varbuf.h sqsh_filter.h sqsh_tok.o: sqsh_tok.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_error.h sqsh_tok.h sqsh_varbuf.h sqsh_varbuf.o: sqsh_varbuf.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_varbuf.h sqsh_error.h var_ctlib.o: var_ctlib.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h sqsh_fd.h var.h var_date.o: var_date.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h var.h var_debug.o: var_debug.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h var.h var_dsp.o: var_dsp.c sqsh_config.h config.h sqsh_compat.h sqsh_debug.h \ sqsh_global.h sqsh_env.h sqsh_cmd.h sqsh_avl.h sqsh_job.h sqsh_args.h \ sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h sqsh_alias.h dsp.h \ sqsh_func.h sqsh_error.h sqsh_fd.h var.h var_hist.o: var_hist.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_global.h sqsh_cmd.h \ sqsh_avl.h sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h \ sqsh_history.h sqsh_alias.h dsp.h sqsh_func.h var.h var_misc.o: var_misc.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h sqsh_stdin.h var.h var_passwd.o: var_passwd.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_global.h sqsh_cmd.h sqsh_avl.h \ sqsh_job.h sqsh_args.h sqsh_sigcld.h sqsh_varbuf.h sqsh_history.h \ sqsh_alias.h dsp.h sqsh_func.h sqsh_error.h var.h var_readline.o: var_readline.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h var.h var_thresh.o: var_thresh.c sqsh_config.h config.h sqsh_compat.h \ sqsh_debug.h sqsh_env.h sqsh_error.h var.h sqsh-2.1.7/cygwin/README0100664000076500007650000001071511334011115015120 0ustar mpepplermpeppler$Id: README,v 1.3 2010/02/08 13:31:57 mwesdorp Exp $ Building sqsh on Windows in the Cygwin environment Cygwin (http://www.cygwin.com) is a free Unix-like environment (complete with X Window server, bash, etc.) that you can install on Windows machines. sqsh and other Unix tools can be built in that environment and then used to access resources/servers/etc as if you were using a Windows program. Building sqsh in the Cygwin environment requires a couple of non-standard operations both because the configure script hasn't been adapted for Cygwin, and because sqsh can't use the Sybase DLLs directly. For building sqsh using Sybase Open Client 15 see below. 1. Generating the appropriate libXXX.a files The cygwin.sh script in this directory can be used to generate these files (libblk.a, libcs.a and libct.a). HOWEVER - this script does not generate usable files with recent (12.5.1 and later) versions of OCS. This directory includes copies of these "libraries" that you should be able to use. Note that these .a files aren't real libraries - they just document the entry points to the DLLs. 2. config.h This file is normally generated by the configure script. You can either use the one provided (which should work), or run configure yourself to generate this file. 3. Makefile The Makefile in this directory has been tailored for use with Cygwin. To use this file directly you need to update the SYBASE_OCOS macro (near the top of the file) to point at your OpenClient installation - it defaults to c:/sybase/OCS-12_5/ The SYBASE_LIBS macro points at the .a files in this directory, and the CPPFLAGS include the extra defines (-D_MSC_VER=800 -D_CYGWIN32_) that are needed to build sqsh in this environment. Building: 1. Copy config.h to ../src 2. cd ../src 3. Run "make -f ../cygwin/Makefile" You should normally now have a sqsh.exe binary in the src directory. -------- Linn Anderson sent me the following comments regarding Cygwin when using FreeTDS: First, thanks for sqsh. I just built it for my cygwin desktop and had only a little trouble, mostly following the instructions in the cygwin directory. What I ended up doing was much easier. I havn't used the sqsh much, but the build seems robust. Maybe this is all old hat to you, but if it helps, here is what I did: Default Freetds install (configure, make, make install) Extract sqsh SYBASE=/usr/local Export SYBASE ./configure Edit src/Makefile, replacing -ldl with -liconv Make Make install Make install.man And of course, edit up some usable interfaces file. The only problem with the build, out of the box, was -ldl not found and several links were needed from -liconv. Again, thanks. --Linn Building sqsh for Cygwin using Sybase Open Client 15. 1) As described in the procedure above for OCS-12_5, you need to generate link libraries, using the script cygwin-syb15.sh. Make sure the location of your Sybase install directory is correct. The default is /cygdrive/c/Sybase. Run the script in the cygwin directory and you will have three library files: libsybblk.a, libsybcs.a and libsybct.a. Copy these files to /usr/local/lib or any other location you want or keep them here in the cygwin directory. 2) Check the Makefile-syb15 for the default Sybase OCS-15_0 location SYBASE_OCOS (default location is /cygdrive/c/Sybase/OCS-15_0). and the SYBASE_LIBS entry must point to the directory you copied the libraries to in the previous step. Default is /usr/local/lib. If you want X and Motif support, you must uncomment the appropriate entries in the Makefile. 3) Go to the sqsh root level and do a export SYBASE=/cygdrive/c/Sybase ./configure --with-readline # optional --with-x --with-motif If you run into errors you probably miss some Cygwin development packages. Install missing packages and retry the ./configure. Copy the Cygwin makefile to the src directory: cp cygwin/Makefile-syb15 src/Makefile 4) Now you can run make make install make install.man 5) Install a .sqshrc file in your $HOME directory. If you choose the more-advanced.sqshrc file as template from the doc directory, you also have to create a $HOME/.sqsh and $HOME/tmp directory. 6) Make sure you have a valid sql.ini file in your %SYBASE%\ini directory. 7) Now you should be able to run sqsh and connect to an ASE server. sqsh-2.1.7/cygwin/config.h0100664000076500007650000000342710151076727015700 0ustar mpepplermpeppler/* src/config.h. Generated by configure. */ #ifndef config_h_included #define config_h_included /* * Define the following if you compiler is an ANSI compiler and supports * prototypes, etl a. */ #define STDC_HEADERS 1 /* * The include file sys/wait.h is required by sqsh_sigcld.c in order * to call wait_pid(). Define this if the header file is available. */ #define HAVE_SYS_WAIT_H 1 /* * Common header files. */ #define HAVE_STDLIB_H 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_STRING_H 1 #define HAVE_FCNTL_H 1 #define HAVE_UNISTD_H 1 #define HAVE_MEMORY_H 1 #define HAVE_ERRNO_H 1 #define HAVE_SYS_TIME_H 1 #define HAVE_TIME_H 1 #define HAVE_SYS_PARAM_H 1 #define HAVE_LIMITS_H 1 #define HAVE_CRYPT_H 1 /* #undef HAVE_SHADOW_H */ /* #undef HAVE_STROPTS_H */ /* * If you compiler doesn't fully support the keyword 'const' * then define const to be empty. */ /* #undef const */ /* * If the following types are not defined in stdlib.h and sys/types.h * then guess the closest possible data type. */ /* #undef mode_t */ /* #undef pid_t */ /* #undef uid_t */ /* * The following is the return type of a signal handler. On most * systems this is void. */ #define RETSIGTYPE void /* * The following functions are frequently unavailable on certain * systems. */ #define HAVE_STRCASECMP 1 #define HAVE_STRERROR 1 /* #undef HAVE_CFTIME */ #define HAVE_STRFTIME 1 #define HAVE_MEMCPY 1 #define HAVE_MEMMOVE 1 #define HAVE_LOCALTIME 1 /* #undef HAVE_TIMELOCAL */ #define HAVE_STRCHR 1 #define HAVE_SIGSETJMP 1 #define HAVE_GETTIMEOFDAY 1 /* #undef HAVE_GET_PROCESS_STATS */ #define HAVE_SIGACTION 1 /* #undef HAVE_CRYPT */ #define HAVE_POLL 1 /* * Define if your compiler supports the volatile keyword. */ #define HAVE_VOLATILE 1 /* * Signal behaviour */ /* #undef SYSV_SIGNALS */ #endif sqsh-2.1.7/cygwin/cygwin-syb15.sh0100775000076500007650000000075111334011115017037 0ustar mpepplermpeppler#!/bin/sh # # $Id: cygwin-syb15.sh,v 1.1 2010/02/08 13:31:57 mwesdorp Exp $ # Shell script to build .a libraries from Sybase's .lib files. # Original provided by Helmut Ruholl. # set +x export SYBASE=/cygdrive/c/Sybase export OCSLIB=${SYBASE}/${SYBASE_OCS}/lib for i in libsybblk libsybcs libsybct ; do echo "EXPORTS" >${i}.def nm ${OCSLIB}/${i}.lib | grep 'T _' | sed 's/.* T _//' >>${i}.def dlltool --dllname ${i}.dll --def ${i}.def --output-lib ${i}.a -k done rm -f *.def sqsh-2.1.7/cygwin/cygwin.sh0100775000076500007650000000124610151077574016117 0ustar mpepplermpeppler#!/bin/sh # # $Id: cygwin.sh,v 1.1 2004/11/24 12:33:00 mpeppler Exp $ # Shell script to build .a libraries from Sybase's .lib files. # Original provided by Helmut Ruholl. # # NOTE: Does NOT work with 12.5.1 libraries because their symbols # are not "decorated". See the MS documentation on the __stdcall # function call convention for details on symbol "decoration". # # In my experience the .a files in this directory can be used instead. set -x here=`pwd` cd $SYBASE/OCS-12_5/lib for i in libblk libcs libct; do echo "EXPORTS" >${i}.def nm ${i}.lib | grep 'T _' | sed 's/.* T _//' >>${i}.def dlltool --dllname ${i}.dll --def ${i}.def --output-lib ${i}.a -k done sqsh-2.1.7/cygwin/libblk.a0100664000076500007650000004160610151076727015664 0ustar mpepplermpeppler! / 1033999372 0 0 0 1044 ` .XÐ ´ ´ X Xøøœœ<<êꊊ**ÊÊ!l!l$$&ž&ž)@)@+à+à.v.v113²3²6T6T8ô8ô;Œ;Œ><><@Ö@Ö__libblk_a_iname__head_libblk_a_blk_textxfer@16__imp__blk_textxfer@16_blk_srvinit@8__imp__blk_srvinit@8_blk_sendtext@16__imp__blk_sendtext@16_blk_sendrow@8__imp__blk_sendrow@8_blk_rowxfer_mult@8__imp__blk_rowxfer_mult@8_blk_rowxfer@4__imp__blk_rowxfer@4_blk_rowproc@8__imp__blk_rowproc@8_blk_rowdrop@8__imp__blk_rowdrop@8_blk_rowalloc@8__imp__blk_rowalloc@8_blk_props@24__imp__blk_props@24_blk_init@16__imp__blk_init@16_blk_gettext@24__imp__blk_gettext@24_blk_getrow@12__imp__blk_getrow@12_blk_drop@4__imp__blk_drop@4_blk_done@12__imp__blk_done@12_blk_describe@12__imp__blk_describe@12_blk_default@20__imp__blk_default@20_blk_colval@28__imp__blk_colval@28_blk_bind@24__imp__blk_bind@24_blk_bcp_indicator@8__imp__blk_bcp_indicator@8_blk_alloc@12__imp__blk_alloc@12_blk__set_identity@8__imp__blk__set_identity@8dt.o/ 1033999372 500 513 100644 571 ` L.text `.data@À.bss€À.idata$4@À.idata$5@À.idata$7 @Àlibblk.dll.fileþÿgfake.text.data.bss.idata$4.idata$5.idata$7 __libblk_a_iname dh.o/ 1033999372 500 513 100644 679 ` L>.text `.data@À.bss€À.idata$2 @À.idata$5@À.idata$4@À  .fileþÿgfakehnamefthunk.text.data.bss.idata$2.idata$5.idata$4%__head_libblk_a__libblk_a_iname ds00021.o/ 1033999372 500 513 100644 616 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_textxfer .text.data.bss.idata$7.idata$5.idata$4.idata$6,<_blk_textxfer@16__imp__blk_textxfer@16__head_libblk_ads00020.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_srvinit .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_srvinit@8__imp__blk_srvinit@8__head_libblk_ads00019.o/ 1033999372 500 513 100644 616 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_sendtext .text.data.bss.idata$7.idata$5.idata$4.idata$6,<_blk_sendtext@16__imp__blk_sendtext@16__head_libblk_ads00018.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_sendrow .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_sendrow@8__imp__blk_sendrow@8__head_libblk_ads00017.o/ 1033999372 500 513 100644 626 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%blk_rowxfer_mult .text.data.bss.idata$7.idata$5.idata$4.idata$62B_blk_rowxfer_mult@8__imp__blk_rowxfer_mult@8__head_libblk_ads00016.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_rowxfer .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_rowxfer@4__imp__blk_rowxfer@4__head_libblk_ads00015.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_rowproc .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_rowproc@8__imp__blk_rowproc@8__head_libblk_ads00014.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_rowdrop .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_rowdrop@8__imp__blk_rowdrop@8__head_libblk_ads00013.o/ 1033999372 500 513 100644 614 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% blk_rowalloc .text.data.bss.idata$7.idata$5.idata$4.idata$6*:_blk_rowalloc@8__imp__blk_rowalloc@8__head_libblk_ads00012.o/ 1033999372 500 513 100644 606 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ% blk_props .text.data.bss.idata$7.idata$5.idata$4.idata$6&6_blk_props@24__imp__blk_props@24__head_libblk_ads00011.o/ 1033999372 500 513 100644 604 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ% blk_init .text.data.bss.idata$7.idata$5.idata$4.idata$6$4_blk_init@16__imp__blk_init@16__head_libblk_ads00010.o/ 1033999372 500 513 100644 614 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% blk_gettext .text.data.bss.idata$7.idata$5.idata$4.idata$6*:_blk_gettext@24__imp__blk_gettext@24__head_libblk_ads00009.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% blk_getrow .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_getrow@12__imp__blk_getrow@12__head_libblk_ads00008.o/ 1033999372 500 513 100644 602 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%blk_drop .text.data.bss.idata$7.idata$5.idata$4.idata$6"2_blk_drop@4__imp__blk_drop@4__head_libblk_ads00007.o/ 1033999372 500 513 100644 604 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%blk_done .text.data.bss.idata$7.idata$5.idata$4.idata$6$4_blk_done@12__imp__blk_done@12__head_libblk_ads00006.o/ 1033999372 500 513 100644 616 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_describe .text.data.bss.idata$7.idata$5.idata$4.idata$6,<_blk_describe@12__imp__blk_describe@12__head_libblk_ads00005.o/ 1033999372 500 513 100644 614 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_default .text.data.bss.idata$7.idata$5.idata$4.idata$6*:_blk_default@20__imp__blk_default@20__head_libblk_ads00004.o/ 1033999372 500 513 100644 612 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%blk_colval .text.data.bss.idata$7.idata$5.idata$4.idata$6(8_blk_colval@28__imp__blk_colval@28__head_libblk_ads00003.o/ 1033999372 500 513 100644 604 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%blk_bind .text.data.bss.idata$7.idata$5.idata$4.idata$6$4_blk_bind@24__imp__blk_bind@24__head_libblk_ads00002.o/ 1033999372 500 513 100644 628 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%blk_bcp_indicator .text.data.bss.idata$7.idata$5.idata$4.idata$64D_blk_bcp_indicator@8__imp__blk_bcp_indicator@8__head_libblk_ads00001.o/ 1033999372 500 513 100644 606 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%blk_alloc .text.data.bss.idata$7.idata$5.idata$4.idata$6&6_blk_alloc@12__imp__blk_alloc@12__head_libblk_ads00000.o/ 1033999372 500 513 100644 628 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%blk__set_identity .text.data.bss.idata$7.idata$5.idata$4.idata$64D_blk__set_identity@8__imp__blk__set_identity@8__head_libblk_asqsh-2.1.7/cygwin/libcs.a0100664000076500007650000004737010151076727015525 0ustar mpepplermpeppler! / 1033999373 0 0 0 1246 ` 6"˜ z z ( (¾¾XXôô””@@àà’’",",$Ì$Ì'n'n**,°,°/F/F224¢4¢7F7F9æ9æ<ˆ<ˆ?(?(AÌAÌDfDfFúFúIILLLL__libcs_a_iname__head_libcs_a_cs_will_convert@16__imp__cs_will_convert@16_cs_time@24__imp__cs_time@24_cs_strcmp@32__imp__cs_strcmp@32_cs_strbuild__imp__cs_strbuild_cs_setnull@16__imp__cs_setnull@16_cs_set_convert@20__imp__cs_set_convert@20_cs_objects@16__imp__cs_objects@16_cs_manage_convert@40__imp__cs_manage_convert@40_cs_locale@28__imp__cs_locale@28_cs_loc_drop@8__imp__cs_loc_drop@8_cs_loc_alloc@8__imp__cs_loc_alloc@8_cs_dt_info@32__imp__cs_dt_info@32_cs_dt_crack@16__imp__cs_dt_crack@16_cs_diag@20__imp__cs_diag@20_cs_delete_thread_msg@4__imp__cs_delete_thread_msg@4_cs_ctx_name@36__imp__cs_ctx_name@36_cs_ctx_global@8__imp__cs_ctx_global@8_cs_ctx_drop@4__imp__cs_ctx_drop@4_cs_ctx_alloc@8__imp__cs_ctx_alloc@8_cs_convert@24__imp__cs_convert@24_cs_conv_mult@16__imp__cs_conv_mult@16_cs_config@24__imp__cs_config@24_cs_cmp@20__imp__cs_cmp@20_cs_calc@24__imp__cs_calc@24_cs__delete_thread_msg@4__imp__cs__delete_thread_msg@4_cs__chk_context@4__imp__cs__chk_context@4dt.o/ 1033999372 500 513 100644 570 ` L.text `.data@À.bss€À.idata$4@À.idata$5@À.idata$7 @Àlibcs.dll.fileþÿgfake.text.data.bss.idata$4.idata$5.idata$7 __libcs_a_inamedh.o/ 1033999372 500 513 100644 677 ` L>.text `.data@À.bss€À.idata$2 @À.idata$5@À.idata$4@À  .fileþÿgfakehnamefthunk.text.data.bss.idata$2.idata$5.idata$4#__head_libcs_a__libcs_a_iname ds00025.o/ 1033999372 500 513 100644 625 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%cs_will_convert .text.data.bss.idata$7.idata$5.idata$4.idata$62A_cs_will_convert@16__imp__cs_will_convert@16__head_libcs_a ds00024.o/ 1033999372 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%cs_time .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_cs_time@24__imp__cs_time@24__head_libcs_a ds00023.o/ 1033999372 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%cs_strcmp .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_cs_strcmp@32__imp__cs_strcmp@32__head_libcs_a ds00022.o/ 1033999372 500 513 100644 607 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_strbuild .text.data.bss.idata$7.idata$5.idata$4.idata$6$3_cs_strbuild__imp__cs_strbuild__head_libcs_a ds00021.o/ 1033999372 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_setnull .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_cs_setnull@16__imp__cs_setnull@16__head_libcs_a ds00020.o/ 1033999372 500 513 100644 623 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%cs_set_convert .text.data.bss.idata$7.idata$5.idata$4.idata$60?_cs_set_convert@20__imp__cs_set_convert@20__head_libcs_a ds00019.o/ 1033999372 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_objects .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_cs_objects@16__imp__cs_objects@16__head_libcs_a ds00018.o/ 1033999372 500 513 100644 629 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%cs_manage_convert .text.data.bss.idata$7.idata$5.idata$4.idata$66E_cs_manage_convert@40__imp__cs_manage_convert@40__head_libcs_a ds00017.o/ 1033999372 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%cs_locale .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_cs_locale@28__imp__cs_locale@28__head_libcs_a ds00016.o/ 1033999372 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_loc_drop .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_cs_loc_drop@8__imp__cs_loc_drop@8__head_libcs_a ds00015.o/ 1033999372 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_loc_alloc .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_cs_loc_alloc@8__imp__cs_loc_alloc@8__head_libcs_a ds00014.o/ 1033999372 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_dt_info .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_cs_dt_info@32__imp__cs_dt_info@32__head_libcs_a ds00013.o/ 1033999372 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% cs_dt_crack .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_cs_dt_crack@16__imp__cs_dt_crack@16__head_libcs_a ds00012.o/ 1033999372 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ% cs_diag .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_cs_diag@20__imp__cs_diag@20__head_libcs_a ds00011.o/ 1033999372 500 513 100644 637 ` L€ .text,X `.data@À.bss€À.idata$74bÀ.idata$58lÀ.idata$4<vÀ.idata$6@Àÿ% cs_delete_thread_msg .text.data.bss.idata$7.idata$5.idata$4.idata$6:I_cs_delete_thread_msg@4__imp__cs_delete_thread_msg@4__head_libcs_a ds00010.o/ 1033999372 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% cs_ctx_name .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_cs_ctx_name@36__imp__cs_ctx_name@36__head_libcs_a ds00009.o/ 1033999372 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% cs_ctx_global .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_cs_ctx_global@8__imp__cs_ctx_global@8__head_libcs_a ds00008.o/ 1033999372 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_ctx_drop .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_cs_ctx_drop@4__imp__cs_ctx_drop@4__head_libcs_a ds00007.o/ 1033999372 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_ctx_alloc .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_cs_ctx_alloc@8__imp__cs_ctx_alloc@8__head_libcs_a ds00006.o/ 1033999372 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_convert .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_cs_convert@24__imp__cs_convert@24__head_libcs_a ds00005.o/ 1033999372 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%cs_conv_mult .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_cs_conv_mult@16__imp__cs_conv_mult@16__head_libcs_a ds00004.o/ 1033999372 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%cs_config .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_cs_config@24__imp__cs_config@24__head_libcs_a ds00003.o/ 1033999372 500 513 100644 599 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%cs_cmp .text.data.bss.idata$7.idata$5.idata$4.idata$6 /_cs_cmp@20__imp__cs_cmp@20__head_libcs_a ds00002.o/ 1033999372 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%cs_calc .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_cs_calc@24__imp__cs_calc@24__head_libcs_a ds00001.o/ 1033999372 500 513 100644 639 ` L€ .text,X `.data@À.bss€À.idata$74bÀ.idata$58lÀ.idata$4<vÀ.idata$6@Àÿ%cs__delete_thread_msg .text.data.bss.idata$7.idata$5.idata$4.idata$6<K_cs__delete_thread_msg@4__imp__cs__delete_thread_msg@4__head_libcs_a ds00000.o/ 1033999372 500 513 100644 623 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%cs__chk_context .text.data.bss.idata$7.idata$5.idata$4.idata$60?_cs__chk_context@4__imp__cs__chk_context@4__head_libcs_a sqsh-2.1.7/cygwin/libct.a0100664000076500007650000010734010151076727015520 0ustar mpepplermpeppler! / 1033999373 0 0 0 2230 ` dú pRRì쎎22ÞÞ‚‚ ´ ´#V#V%ü%ü(¨(¨+>+>-Ö-Ö0v0v335°5°8D8D:è:è=Œ=Œ@.@.BÆBÆEZEZGüGüJœJœM<M<OâOâR†R†U*U*WÀWÀZbZb\ú\ú_ž_žb8b8dØdØgrgrjjl¶l¶oXoXrrt¦t¦wJwJyêyê|Œ|Œ""ÈÈ„b„b‡‡‰¦‰¦ŒJŒJ__libct_a_iname__head_libct_a_ct_wakeup@16__imp__ct_wakeup@16_ct_setparam@20__imp__ct_setparam@20_ct_setloginfo@8__imp__ct_setloginfo@8_ct_sendpassthru@8__imp__ct_sendpassthru@8_ct_send_data@12__imp__ct_send_data@12_ct_send@4__imp__ct_send@4_ct_results@8__imp__ct_results@8_ct_res_info@20__imp__ct_res_info@20_ct_remote_pwd@24__imp__ct_remote_pwd@24_ct_recvpassthru@8__imp__ct_recvpassthru@8_ct_poll@28__imp__ct_poll@28_ct_param@20__imp__ct_param@20_ct_options@24__imp__ct_options@24_ct_labels@28__imp__ct_labels@28_ct_keydata@24__imp__ct_keydata@24_ct_init@8__imp__ct_init@8_ct_getloginfo@8__imp__ct_getloginfo@8_ct_getformat@20__imp__ct_getformat@20_ct_get_data@20__imp__ct_get_data@20_ct_fetch@20__imp__ct_fetch@20_ct_exit@8__imp__ct_exit@8_ct_dynsqlda@16__imp__ct_dynsqlda@16_ct_dyndesc@40__imp__ct_dyndesc@40_ct_dynamic@24__imp__ct_dynamic@24_ct_ds_objinfo@28__imp__ct_ds_objinfo@28_ct_ds_lookup@20__imp__ct_ds_lookup@20_ct_ds_dropobj@8__imp__ct_ds_dropobj@8_ct_diag@20__imp__ct_diag@20_ct_describe@12__imp__ct_describe@12_ct_debug@24__imp__ct_debug@24_ct_data_info@16__imp__ct_data_info@16_ct_cursor@28__imp__ct_cursor@28_ct_connect@12__imp__ct_connect@12_ct_config@24__imp__ct_config@24_ct_con_props@24__imp__ct_con_props@24_ct_con_drop@4__imp__ct_con_drop@4_ct_con_alloc@8__imp__ct_con_alloc@8_ct_compute_info@24__imp__ct_compute_info@24_ct_command@20__imp__ct_command@20_ct_cmd_props@24__imp__ct_cmd_props@24_ct_cmd_drop@4__imp__ct_cmd_drop@4_ct_cmd_alloc@8__imp__ct_cmd_alloc@8_ct_close@8__imp__ct_close@8_ct_capability@20__imp__ct_capability@20_ct_cancel@12__imp__ct_cancel@12_ct_callback@20__imp__ct_callback@20_ct_br_table@24__imp__ct_br_table@24_ct_br_column@12__imp__ct_br_column@12_ct_bind@24__imp__ct_bind@24dt.o/ 1033999373 500 513 100644 570 ` L.text `.data@À.bss€À.idata$4@À.idata$5@À.idata$7 @Àlibct.dll.fileþÿgfake.text.data.bss.idata$4.idata$5.idata$7 __libct_a_inamedh.o/ 1033999373 500 513 100644 677 ` L>.text `.data@À.bss€À.idata$2 @À.idata$5@À.idata$4@À  .fileþÿgfakehnamefthunk.text.data.bss.idata$2.idata$5.idata$4#__head_libct_a__libct_a_iname ds00048.o/ 1033999373 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%0ct_wakeup .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_ct_wakeup@16__imp__ct_wakeup@16__head_libct_a ds00047.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%/ct_setparam .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_setparam@20__imp__ct_setparam@20__head_libct_a ds00046.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%.ct_setloginfo .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_setloginfo@8__imp__ct_setloginfo@8__head_libct_a ds00045.o/ 1033999373 500 513 100644 623 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%-ct_sendpassthru .text.data.bss.idata$7.idata$5.idata$4.idata$60?_ct_sendpassthru@8__imp__ct_sendpassthru@8__head_libct_a ds00044.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%,ct_send_data .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_send_data@12__imp__ct_send_data@12__head_libct_a ds00043.o/ 1033999373 500 513 100644 599 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%+ct_send .text.data.bss.idata$7.idata$5.idata$4.idata$6 /_ct_send@4__imp__ct_send@4__head_libct_a ds00042.o/ 1033999373 500 513 100644 609 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%*ct_results .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_ct_results@8__imp__ct_results@8__head_libct_a ds00041.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%)ct_res_info .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_res_info@20__imp__ct_res_info@20__head_libct_a ds00040.o/ 1033999373 500 513 100644 617 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%(ct_remote_pwd .text.data.bss.idata$7.idata$5.idata$4.idata$6.=_ct_remote_pwd@24__imp__ct_remote_pwd@24__head_libct_a ds00039.o/ 1033999373 500 513 100644 623 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ%'ct_recvpassthru .text.data.bss.idata$7.idata$5.idata$4.idata$60?_ct_recvpassthru@8__imp__ct_recvpassthru@8__head_libct_a ds00038.o/ 1033999373 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%&ct_poll .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_ct_poll@28__imp__ct_poll@28__head_libct_a ds00037.o/ 1033999373 500 513 100644 603 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%%ct_param .text.data.bss.idata$7.idata$5.idata$4.idata$6$3_ct_param@20__imp__ct_param@20__head_libct_a ds00036.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%$ct_options .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_options@24__imp__ct_options@24__head_libct_a ds00035.o/ 1033999373 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%#ct_labels .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_ct_labels@28__imp__ct_labels@28__head_libct_a ds00034.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%"ct_keydata .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_keydata@24__imp__ct_keydata@24__head_libct_a ds00033.o/ 1033999373 500 513 100644 599 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%!ct_init .text.data.bss.idata$7.idata$5.idata$4.idata$6 /_ct_init@8__imp__ct_init@8__head_libct_a ds00032.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% ct_getloginfo .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_getloginfo@8__imp__ct_getloginfo@8__head_libct_a ds00031.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_getformat .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_getformat@20__imp__ct_getformat@20__head_libct_a ds00030.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_get_data .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_get_data@20__imp__ct_get_data@20__head_libct_a ds00029.o/ 1033999373 500 513 100644 603 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_fetch .text.data.bss.idata$7.idata$5.idata$4.idata$6$3_ct_fetch@20__imp__ct_fetch@20__head_libct_a ds00028.o/ 1033999373 500 513 100644 599 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_exit .text.data.bss.idata$7.idata$5.idata$4.idata$6 /_ct_exit@8__imp__ct_exit@8__head_libct_a ds00027.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_dynsqlda .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_dynsqlda@16__imp__ct_dynsqlda@16__head_libct_a ds00026.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_dyndesc .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_dyndesc@40__imp__ct_dyndesc@40__head_libct_a ds00025.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_dynamic .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_dynamic@24__imp__ct_dynamic@24__head_libct_a ds00024.o/ 1033999373 500 513 100644 617 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_ds_objinfo .text.data.bss.idata$7.idata$5.idata$4.idata$6.=_ct_ds_objinfo@28__imp__ct_ds_objinfo@28__head_libct_a ds00023.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_ds_lookup .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_ds_lookup@20__imp__ct_ds_lookup@20__head_libct_a ds00022.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_ds_dropobj .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_ds_dropobj@8__imp__ct_ds_dropobj@8__head_libct_a ds00021.o/ 1033999373 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_diag .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_ct_diag@20__imp__ct_diag@20__head_libct_a ds00020.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_describe .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_describe@12__imp__ct_describe@12__head_libct_a ds00019.o/ 1033999373 500 513 100644 603 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_debug .text.data.bss.idata$7.idata$5.idata$4.idata$6$3_ct_debug@24__imp__ct_debug@24__head_libct_a ds00018.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_data_info .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_data_info@16__imp__ct_data_info@16__head_libct_a ds00017.o/ 1033999373 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_cursor .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_ct_cursor@28__imp__ct_cursor@28__head_libct_a ds00016.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_connect .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_connect@12__imp__ct_connect@12__head_libct_a ds00015.o/ 1033999373 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_config .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_ct_config@24__imp__ct_config@24__head_libct_a ds00014.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_con_props .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_con_props@24__imp__ct_con_props@24__head_libct_a ds00013.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% ct_con_drop .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_con_drop@4__imp__ct_con_drop@4__head_libct_a ds00012.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% ct_con_alloc .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_con_alloc@8__imp__ct_con_alloc@8__head_libct_a ds00011.o/ 1033999373 500 513 100644 625 ` L| .text,T `.data@À.bss€À.idata$74^À.idata$58hÀ.idata$4<rÀ.idata$6@Àÿ% ct_compute_info .text.data.bss.idata$7.idata$5.idata$4.idata$62A_ct_compute_info@24__imp__ct_compute_info@24__head_libct_a ds00010.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% ct_command .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_command@20__imp__ct_command@20__head_libct_a ds00009.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ% ct_cmd_props .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_cmd_props@24__imp__ct_cmd_props@24__head_libct_a ds00008.o/ 1033999373 500 513 100644 611 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_cmd_drop .text.data.bss.idata$7.idata$5.idata$4.idata$6(7_ct_cmd_drop@4__imp__ct_cmd_drop@4__head_libct_a ds00007.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_cmd_alloc .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_cmd_alloc@8__imp__ct_cmd_alloc@8__head_libct_a ds00006.o/ 1033999373 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_close .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_ct_close@8__imp__ct_close@8__head_libct_a ds00005.o/ 1033999373 500 513 100644 617 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_capability .text.data.bss.idata$7.idata$5.idata$4.idata$6.=_ct_capability@20__imp__ct_capability@20__head_libct_a ds00004.o/ 1033999373 500 513 100644 605 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_cancel .text.data.bss.idata$7.idata$5.idata$4.idata$6&5_ct_cancel@12__imp__ct_cancel@12__head_libct_a ds00003.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_callback .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_callback@20__imp__ct_callback@20__head_libct_a ds00002.o/ 1033999373 500 513 100644 613 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_br_table .text.data.bss.idata$7.idata$5.idata$4.idata$6*9_ct_br_table@24__imp__ct_br_table@24__head_libct_a ds00001.o/ 1033999373 500 513 100644 615 ` Lx .text,P `.data@À.bss€À.idata$74ZÀ.idata$58dÀ.idata$4<nÀ.idata$6@Àÿ%ct_br_column .text.data.bss.idata$7.idata$5.idata$4.idata$6,;_ct_br_column@12__imp__ct_br_column@12__head_libct_a ds00000.o/ 1033999373 500 513 100644 601 ` Lt .text,L `.data@À.bss€À.idata$74VÀ.idata$58`À.idata$4<jÀ.idata$6 @Àÿ%ct_bind .text.data.bss.idata$7.idata$5.idata$4.idata$6"1_ct_bind@24__imp__ct_bind@24__head_libct_a sqsh-2.1.7/doc/0040775000076500007650000000000011367625413013526 5ustar mpepplermpepplersqsh-2.1.7/doc/old/0040775000076500007650000000000011367625413014304 5ustar mpepplermpepplersqsh-2.1.7/doc/old/Commands0100664000076500007650000005434310034772565015777 0ustar mpepplermpepplerTitle: How to Write a New Command Author: Scott C. Gray Version: $Id: Commands,v 1.1.1.1 2004/04/07 12:35:01 chunkm0nkey Exp $ 1.0 A Simple Command Implementing a new command within sqsh is a relatively simple task; all commands are implemented as if they were their own stand-alone program. For example, a simple command to display the string "Hello World" when executed is: #include #include "sqsh_config.h" #include "cmd.h" int cmd_hello( argc, argv ) int argc; char *argv[]; { printf( "Hello World!\n" ); return CMD_LEAVEBUF; } Look familier? As with any C program, the command function acts as a main(), recieving a count of the number of arguments passed to the function, argc, as well as an array of pointers to the value of these arguments, argv. Thus, if the user enters: 1> \hello a b c then: argc = 4 argv[0] = "\hello" argv[1] = "a" argv[2] = "b" argv[3] = "c" The only difference between a sqsh command and a standalone C program is that you should not call exit() to return from it, instead one of the return values described below should be returned. 2.0 Return Values The value returned from a sqsh command indicates to the caller (usually the \loop command) how it should behave, usually with respect to the current SQL Buffer that the user is typing in. The following are the valid return values from a sqsh command: CMD_FAIL Indicates that something went wrong while the command was executing. If $clear_on_fail is set to on, then the current SQL Buffer will be cleared. CMD_LEAVEBUF The command succeeded, and the SQL Buffer should remain untouched. Commands such as \echo typically return this value. CMD_ALTERBUF The command succeeded and altered the SQL Buffer. If sqsh is in interactive mode then the contents of the buffer will be redisplayed upon returning. Commands such as \vi return this value. CMD_CLEARBUF The command succeeded, and the current SQL Buffer should be cleared of its contents. The \go command returns this value. CMD_EXIT Requests that \loop exit. When the last \loop completes, sqsh will exit. Commands such as \exit return this value. CMD_ABORT Requests that sqsh exit with an exit code of 255. 3.0 Making it Available Simply writing a new command is not quite enough to make it available from the command line of sqsh, however getting it set up is very simple. The prototype for all commands are placed in cmd.h, like so: int cmd_hello _ANSI_ARGS(( int, char** )); The _ANSI_ARGS() macro is provided as a shield for non-ANSI C compilers. It will automatically strip off the argument prototypes when older K&R compilers are used. Further down in the cmd.h file is a look-up table that maps the name of the command to the actual C function. Adding a new entry to this table will make the function visible to the sqsh command line: static cmd_entry_t sg_cmd_entry[] = { /* COMMAND ALIAS FUNCTION */ /* ------------ ---------- -------- */ { "\\hello", NULL, cmd_hello }, ... }; In this name the COMMAND is the name that of the command that will be visible to the user (note that if the command is to start with a \, then the \\ is required to ensure that the \ will not be interpreted as an escape character). Currently the ALIAS column is unused. The FUNCTION column contains the name of the C function that is to be called when COMMAND is executed. Thats it! You have now implemented your first sqsh command. But wait, there's more... 4.0 Globals As you have seen, it is possible to write a sqsh command without knowing anything other than how to implement a very simple C program. However, once difference between a standalone C program and a sqsh command, is that several global variables can be made available to your command by simply including the file: #include "sqsh_global.h" These globals contain such things as a the database connection currently in use by sqsh, and the internal sqsh environment variables. The following table outlines all of the global variables available for use within a sqsh command: Type Name Description ----------- --------- ----------------------------------------- CS_CONTEXT* g_context The global CT-Lib context structure used to establish the sqsh connection. This variable will be NULL if sqsh has not yet connected to a database. CS_CONNECTION* g_connection Current CT-Lib connection used by sqsh. This variable will have a NULL value if sqsh has not yet connected to the database. env_t* g_env Data structure containing all sqsh en- environment variables. See the section _Environment_Variables_, below, for how to manipulate this data structure. env_t* g_internal_ Contains environment variables internal env to sqsh's functions, such as $1..$n. env_t* g_buf Contains named SQL buffers. varbuf_t* g_sqlbuf Represents the current SQL buffer as entered by the user. Refer to sqsh_varbuf.h for details on manipulation of the varbuf_t structure. cmdset_t* g_cmdset Data structure that represents the func- tion name/pointer pairs described in the _Making_it_Available_ section, above. Typically you shouldn't need to directly manipulate this structure. Details may be found in sqsh_cmd.h. alias_t* g_alias Represents alias name/body pairs. Typically you shouldn't need to directly manipulate this structure. Details may be found in sqsh_alias.h. jobset_t* g_jobset The current list of commands running within sqsh, including background jobs. This is a pretty nasty structure that you usually will not need. Details may be found in sqsh_job.h. history_t* g_history The complete history of commands that have been executed within sqsh. Typicaly this structure is only altered within cmd_loop.c and most other functions will only query it. See sqsh_history.h for details. char* g_copyright The copyright banner and version number. g_version int g_password_ True/False, has the password been exp- set licitly set by the user? char* g_password Password as supplied by the user. char* g_lock Password for screen lock. This will be NULL if the user hasn't set it with the \lock command. Although the number and variety of global variables in sqsh can look a little bit daunting but, in reality, only g_connection, g_env, and g_sqlbuf are frequently used. 5.0 Environment Variables If you haven't noticed already, most sqsh commands lean very heavily on the use of environment variables, such as $width and $password, for configuration of default behavior. For example, the \go command uses $width variable to determine the current screen width when displaying result sets. Fetching and setting environment variables witin a sqsh command is relatively simple, using the env_set() and env_get() functions. int env_get( env_t *env, char *var_name, char **var_value ) int env_set( env_t *env, char *var_name, char *var_value ) Thus, if you wish to determine the current value of the width variable: char *width; if (env_get( g_env, "width", &width ) <= 0) { fprintf( stderr, "width: Variable not defined.\n" ); return CMD_FAIL; } The env_get() function returns 0 if the named variable does not exist in the global environment, g_env. -1 is returned if an error is encountered, and a value of 1 is returned and width will point to the appropriate value if the variable is found. Changing the value of an environment variable is just as simple as fetching its value: if (env_set( g_env, "width", "80" ) == 0) { fprintf( stderr, "width: Unable to set the value to 80\n" ); return CMD_FAIL; } The env_set() function returns 1 (or True) upon succesfully changing the value of of the variable and 0 (or False) if the value could not be set. See section 6.0 _Capturing_Errors_, below for how to determine the reason for a fail condition from either env_set() or env_get(). 5.1 Defining A New Variable Although calling env_set() with the name of a new variable will auto- matically create it, it is sometimes desirable to have a variable automatically created for you upon start-up of sqsh. This features allows you to make certain assumptions about the contents and existence of the variable within your code. All that is required to define a new variable within sqsh is to add it into the sg_var_entry[] lookup table defined in var.h. static var_entry_t sg_var_entry[] = { /* VARIABLE DEFAULT SET VAL GET VAL NAME VALUE FUNCTION FUNCTION --------------- ------------ -------------- ------------- */ { "new_var", "hi", NULL, NULL }, ... }; The VARIABLE NAME column defines the name of the variable as it will be referred to with env_set() and env_get(). The DEFAULT VALUE contains the value with which the variable will be set to upon start-up of sqsh. SET VAL FUNCTION and GET VAL FUNCTION are pointers to functions that will automatically be called when the value of the variable is set or retrieved, respectively. See sections 5.2 and 5.2 below. 5.2 Variable Set Validation Function When establishing a new environment variable, it is possible to define a validation function that will be called each time the user (or any caller of env_set()) attempts to change the existing value of the variable. Usually this feature is used to either validate that the variable is be set to a legal value or to perform some sort of processing on its contents. A variable-set validation function looks like this: int var_set_func( env, var_name, var_value ) env_t *env; char *var_name; char **var_value; The env parameter points to the environment in which the variable is being set, and var_name contains the name of the variable that is being set. var_value is a pointer to the value of the variable. A set validation function may return one of two values: A return value of True indicates that the validation function succeeded in whatever processing it needed to do. A return value of False indicates that something went wrong, and that env_set() should not change the existing value of the variable. It is customary that a set validation function returning False, also indicate a reason for the failure using the sqsh_set_error() function (see Capturing Errors, below). The var_value pointer is very important. By changing what it points to within the body of the validation function it is possible to over-ride the value that was passed into env_set(), be the user. For example, to write a validation function that forces the value of a variable to be "hi", regardless of what the user attempts to set it to, would simply be: int var_set_hi( env, var_name, var_value ) env_t *env; char *var_name; char **var_value; { *var_value = "hi"; return True; } Thus, say this validation function was used on our new_var, we defined above like so: int var_set_hi _ANSI_ARGS(( env_t*, char*, char** )); static var_entry_t sg_var_entry[] = { /* VARIABLE DEFAULT SET VAL GET VAL NAME VALUE FUNCTION FUNCTION --------------- ------------ -------------- ------------- */ { "new_var", "hi", var_set_hi, NULL }, ... }; then the following would happen: 1> \set new_var="hello" 1> \echo $new_var hi For a good example, of a validation function that takes advantage of all of these features, see var_set_bool() in var_misc.c. This function allows the contents of the variable to be set using either "1", "0", "True", "False", "Yes", "No", or "On" and "Off", and reguardless of which is used the contents of the variable will always contain either a "1" or a "0". 5.3 Variable Retrieval Function Function Converse to the set-validation function, a retrieval (or get-validation) function is called every time the value of a particular variable is queried. These functions are currently used within sqsh for such things as the $date and $time variables (which return the current date and time respectively) as well as the password retrieval. The declaration of the get-validation function is identical to that of the set-validation function: int var_get_func( env, var_name, var_value ) env_t *env; char *var_name; char **var_value; Immediately prior to returning the value of a variable, sqsh will call this function with env containing the environment in which the variable is being retrieved, var_name containing the name of the variable being gotten and *var_value pointing to the string value the variable is currently set to. By replacing the string that *var_value is pointing to, the existing value of the variable may be overridden. For example, if we wanted to implement a variable that returned its contents in upper case, reguardless of the case in which the variable was set, the retrieval function would look like: int var_get_upper( env, var_name, var_value ) env_t *env; char *var_name; char **var_value; { static char new_value[64]; char *cptr; int i = 0; cptr = *var_value; while (*cptr != '\0') { new_value[i++] = upper(*cptr); ++cptr; } *var_value = new_value; return True; } As with the set-validation function, a return value of True from the function indicates that the retrieval passed validation, and a return value of False indicates that something went wrong during the process (for example, a malloc() fails), in which case it is the author of the validation function's responsibility to indicate the reason for the error using sqsh_set_error(). 6.0 Capturing Errors As a general rule, all internal sqsh functions that are not user commands will never display an error message to stdout or stderr, instead these functions will return an error condition (usually by either returning False, NULL, or a negative value) and set a global error condition describing the nature of the failure, much in the way that the standard C library functions behave. It is the responsibility of the writer of a new sqsh command to check the return condition from every sqsh library function and determine the appropriate response (which is usually to display the reason for the error then abort), and it is considered poor programming style to simply ignore error messages and continue processing (unless you document the rationally behind this). The following code demonstrates a simple command that replaces the basic functionality behind the existing sqsh \set command. Here, the command retrieves two arguments: the name of the variable and the value that the variable should be set too, it then attempts to perform the env_set() required to set the value. If env_set() returns a failure status (False)--usually do to either memory allocation failure or a set-validation failure, we must inform the user that the set failed. #include #include "sqsh_config.h" /* Always required */ #include "sqsh_global.h" /* Required to get g_env */ #include "sqsh_error.h" /* For sqsh_get_errstr() */ #include "sqsh_env.h" /* Required for env_set() */ #include "cmd.h" int cmd_simple_set( argc, argv ) int argc; char *argv[]; { if (argc != 3) { fprintf( stderr, "Use: \\simple_set var_name var_value\n" ); return CMD_FAIL; } if (env_set( g_env, argv[1], argv[2] ) == False) { fprintf( stderr, "\\simple_set: %s: %s\n", argv[1], sqsh_get_errstr() ); return CMD_FAIL; } return CMD_LEAVEBUF; } The major thing to notice here is the call to sqsh_get_errstr() to fetch the string description of the current error condition. Similarly sqsh_error() may be called to fetch a numeric description of the failure condition (the symbolic values for these conditions are available in sqsh_error.h). Also, pay close attention to the header files that are included with this particular command. It is always important to realize the portions of the sqsh core modules that you are using and include the appropriate header files accordingly. Before ending this section, it is only proper to also describe the method in which errors are raised within sqsh: void sqsh_set_error( errno, fmt, ... ) int errno; char *fmt; This function is called with errno set to one of the symbolic values described in sqsh_error.h (such as SQSH_E_NOMEM to indicate memory allocation failures) and fmt containing a format string suitable for use in printf(), followed by all of the necessary parameters to the format string. After calling this function any call to sqsh_get_error() will return errno, and sqsh_get_errstr() will return the formatted error string. Keep in mind that you will typically not need this function within a command, since a command is expected to display any error condition directly to the screen, however it is approriate to use this function in such places as variable set- and get-validation functions, described above. 7.0 Parsing Arguments Experienced C programmers should be familier with the standard libc function getopt(), used to parse command line options recieved through the `argv' parameter to main. Unfortunately, this particular function may not be used within sqsh, due to some limitations in dealing with being called repeatedly within the same program with different `argc' and `argv' values. To get around this limitation, and to add a little extra function- ality, sqsh provides the sqsh_getopt() function that behaves in a similar manner: #include "sqsh_getopt.h" extern char *sqsh_optarg; extern int sqsh_optind; int sqsh_getopt( argc, argv, optstring ) int argc; char *argv[]; char *optstring; The arguments `argc' and `argv' are the argument count and array as passed into the sqsh command upon invocation. Any element of argv[] that starts with a `-' is considered an option, with the character following the `-' considered an option character. If sqsh_getopt() is called repeatedly with the same argc and argv pair, it returns successively each of the option characters from each of the option elements, finally returning EOF when there are no more option characters left to return. As it procedes the `sqsh_optind' variable is updated internally, keeping track of the current index into the arv array. Also, as it procedes the contents of `argv' are permuted such that all non-options are at the end of the array, and upon completion the `sqsh_optind' variable will point to the first element of the argv[] array that is not an option. The `optstring' is a string that contains a list of legitimate option characters. If the character is followed by a colon, then the option requires an argument. If the character is followed by a semicolon, then the option accepts an optional argument (`sqsh_optarg' will be NULL if the argument is not sup- plied). All other characters take no argument. If, while parsing `argv', sqsh_getopt() detects an option that is not contained with `optstring' a `?' is returned indicating an error, and the error condition is fetchable via sqsh_get_errstr(). The following sample demonstrates the use of sqsh_getopt(): #include #include "sqsh_config.h" #include "sqsh_getopt.h" #include "cmd.h" int cmd_argtest( argc, argv ) int argc; char *argv[]; { extern int sqsh_optind; extern char *sqsh_optarg; int ch; char *ofile = "default.out"; int aflag = 0; int bflag = 0; int err = 0; while ((ch = sqsh_getopt( argc, argv, "abo:" )) != EOF) { switch (ch) { case 'a': if (bflag != 0) ++err; else ++aflag; break; case 'b': if (aflag != 0) ++err; else ++bflag; break; caes 'o': ofile = sqsh_optarg; break; default: ++err; } } if (err != 0 || sqsh_optind != argc) { fprintf( stderr, "Usage: ...\n" ); return CMD_FAIL; } ... } In this example, cmd_argtest accepts two mutually exclusive flags, `-a' and `-b', and one option o which requires and option argument. By checking `sqsh_optind != argc', following the call to sqsh_getopt() it then assures that there are no more arguments left on the command line. Signals ------- Buffers ------- sqsh-2.1.7/doc/old/FEATURES0100664000076500007650000000270510034772565015447 0ustar mpepplermpeppler/* $Id: FEATURES,v 1.1.1.1 2004/04/07 12:35:01 chunkm0nkey Exp $ */ Features I don't want to forget about: 1. \if, \elif, \endif syntax I have some ideas, but I really want to think this through. For example with: \if (expression) will expression *always* be an external unix command? Do I need to come up with another type of function (something different then a sqsh command) that can replace things like 'test', 'access', etc.? Within: \if (expression) select count(*) from syspickles \endif Will the select actually happen, or does it need an explicit "go"? Such as \if (expression) select count(*) from syspickles \go \endif Inquiring minds want to know. 2. .netrc style password file Before I dive into this I want to explore an \if, \elif, \endif construct. This would provide something far more flexible. For example: \if (test "$DSQUERY" = "SYB_PICKLES") \set password=ickypoo \elif (test "$DSQUERY" = "SYB_STINK") \set password=yukcy \endif 3. A read command So you could have interactive scripts like: \echo -n "Name: " \read $name select * from sysobjects where name like "$name" 4. Allow the \abort and \exit commands to take an error code Once again, this would be primarily useful with if-then-else logic, such as: \if (test "$severity" -gt "10") \exit 128 \fi sqsh-2.1.7/doc/old/IDEAS0100664000076500007650000000120310034772565015046 0ustar mpepplermpepplero Add \rpc functionality to send remote procedure calls directly to a SQL server or open server. o Add "suppress-dups" option to suppress duplicate values in columns. So what no comes out as: Column1 Column2 Column3 ------- ------- ------- A B C A B G A D H A D I E F J becomes: Column1 Column2 Column3 ------- ------- ------- A B C G D H I E F J sqsh-2.1.7/doc/old/OVERVIEW0100664000076500007650000000515210034772565015476 0ustar mpepplermpepplerFile Naming Conventions -=-=-=-=-=-=-=-=-=-=-=- sqsh_*.[ch] All files beginning with sqsh_*.[ch] are core functions to the shell, they define functions that are called or do call user defined functions. cmd_*.[ch] These are the source behind the commands that may be invoked by a user. var_*.[ch] These are validation functions for setting and retrieving environment variables. Modules -=-=-=-=- sqsh_fd.c - Most libc functions that deal with file descriptors or FILE structures are replaced here with sqsh equiv- alents (they attempt to be a little smarter). All file access should be performed through these function. sqsh_global.c - Contains definitions for all global variables. These are such variables as the DBPROCESS connection to the database, and the environment structure to contain all environment variables. sqsh_init.c - Where all globals defined in sqsh_global.[ch] are initialized to thier default values, this includes setting up default values for system-supplied environment variables. sqsh_fork.c - Fork replacement function for starting a child process. This is responsible for re-initializing any global variables defined in sqsh_global.[ch] for use by the child (for example, the child should not inherit the parent's DBPROCESS pointer). sqsh_sigcld.c - Functions for queueing SIGCLD (or SIGCHLD) events for later processing. These functions are used in jobset_*() functions and sqsh_popen() functions. Error Condititions -=-=-=-=-=-=-=-=-=- There are only three places in which actual printfs should be called: 1. In any user-defined cmd_*() functions. 2. In sqsh_main.c to report configuration errors, etc. 3. Any asyncronous signal handlers (sqsh_sigcld.c: sigcld_handler(), in particular). In all other functions and modules error conditions should be returned via return codes and setting error conditions with sqsh_set_error(). All functions that don't fit criterea 1 or 2, above, should aways call sqsh_set_error() to identify an error condition, even if no error ocurres (in this case it would be sqsh_set_error( SQSH_E_NONE, NULL ). Shell Misfeatures -=-=-=-=-=-=-=-=- Unlike most shells, sqsh expands all variables on the command line first then tokenizes the command line, so if it is known or thought that a variable may contain white-space then it should be quoted. sqsh-2.1.7/doc/CHANGES-2.1.70100664000076500007650000010076511341453007015160 0ustar mpepplermpeppler What is new or fixed in version sqsh-2.1.7 New features: 1 - Command \exit accepts a return code (Solution to feature request 1954395). You can now exit sqsh with an exit code. For example: [1] SYBASE.sa.master 1> quit 5 ~> echo $? 5 This feature uses a new sqsh variable $exit_value (int) which can be explicitly set using: \set exit_value=n or you can use \exit x, (and its aliased counterparts like quit and exit). The value must be of type integer, greater equal 0. (Most shells only supports exit values up to 255, and it is your own responsibility to use exit codes your shell can handle.) When sqsh is going to terminate, it checks the value of $exit_value, and when non-zero, it uses this value as exit code. Is $exit_value equal to zero, then sqsh reverts to standard behavior. That is, it will check variable $exit_failcount and when 1, it will use the value of $batch_failcount as exit code. So basically $exit_value takes precedence over $exit_failcount and $batch_failcount. 2 - A new variable $xwin_title (string) is introduced to assign a name to an X-windows result set window. (Solution to feature request 1027627). You can assign a string to the variable $xwin_title using: \set xwin_title='$DSQUERY result set $histnum' Note, You can set this as a default name in your .sqshrc file. There is also a new option -T to the \go and \rpc commands to temporarily assign another name string to $xwin_title. For example: [1] SYBASE.sa.master 1> exec sp_who [1] SYBASE.sa.master 2> \go -x -T"What is running on server $DSQUERY" The string value will be used to assign a name to the window. Of course the option -T is only useful in combination with the -x option. After that, the original $xwin_title value will be restored. The feature works for Motif widgets as well as for X/Athena widgets. When you do not set the $xwin_title variable in your sqsh session and do not use the -T option along with the -x option, then the name of the created result set window will default to "main". 2b- When using the -x option with the \rpc command and Motif is used, the rpc command is now shown in the SQL pane. As a consequence the SQL buffer is now cleared and not saved in the history when a \rpc command is issued. 3 - A new variable $term_title (string) is introduced. When set, sqsh will alter the name of the xterm window when started up. For example: \set term_title='$DSQUERY ($hostname)' Sqsh will prepend the title string with its startup name (argv[0] parameter). For example: "sqsh SYBPROD1 (ux-prd-5)" This feature is very useful when you have multiple xterm/sqsh sessions running connected to different servers. It will be easier to identify your sessions on the Window Manager's task bar. When sqsh exits normally, the window title is wiped out. The feature also works for rxvt type windows, Putty and even Microsoft Windows MS-DOS COMMAND.com and CMD.exe windows, when using a Cygwin build of sqsh. (Do not use $term_title on a console.) Often the Shell will also set a window title with the connection name and path. In bash for example, you can set variable PROMPT_COMMAND in the .bashrc file, like: PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"' So when you exit sqsh, the window title might be changed by the shell to "sybase@ux-prd-5:/opt/sybase" 4a- The command history will now keep track of the date and time of the last access of a history buffer. Also the usage count of a buffer is tracked. The latter is especially useful if you use the sqsh-2.1.6 histunique feature. You can retrieve the additional information on buffers by specifying a new parameter -i to the \history command. For example: 4b- [19] SATURN.sa.master.1> \history -i ( 1 - 1/ 1 Jan 1970 01:00:00) select host_name() ( 2 - 1/ 1 Jan 1970 01:00:00) select * from sysloginroles ... (16 - 2/ 8 Jan 2010 22:14:41) sp_helpdevice (17 - 3/ 9 Jan 2010 16:17:33) select convert(varchar(30),name),type,crdate from sysobjects order by name (18 - 12/ 9 Jan 2010 17:04:51) sp_who The first number is the number of the history buffer. The second number is a count of executions of the buffer. (This is not necessarily true as you can also \reset a buffer without executing it, but still will be stored in the history list (see 6)). The third item in the info list is the date and time of the last buffer access. The remaining part is the content of the buffer itself. You can influence the display format of the date and time by setting the variable $datetime to a strftime format string. [19] SATURN.sa.master.1> \echo $datetime %e %b %Y %H:%M:%S [19] SATURN.sa.master.1> select getdate() [19] SATURN.sa.master.2> go -------------------- 9 Jan 2010 19:46:56 (1 row affected) The contents of $datetime also has impact on how datetime columns will be shown in sqsh. When set to default, sqsh will show datetime columns as: [19] SATURN.sa.master.1> \set datetime='default' [19] SATURN.sa.master.1> \echo $datetime default [19] SATURN.sa.master.1> select getdate() [19] SATURN.sa.master.2> go ------------------- Jan 9 2010 7:48PM The extra information on buffer access time and usage count will also be stored and retrieved in the history files. When you start sqsh-2.1.7 for the first time using existing history data, the date will be set to 1 jan 1970 and a usage count to 1. When you open a sqsh-2.1.7 format history file in an older version of sqsh, you will notice an extra line in the buffer data: --> History Info (1263053091:12) <-- for example. The line itself will be interpreted as a SQL comment, so has no effect on buffer execution and will be saved again upon exit, so no data is lost and the history can be loaded again in sqsh-2.1.7 as normal. 4c- There is also a new parameter -x to the \history command to specify a number of most recent command buffers to show. For example "\history -x 5" will only show the 5 most recent buffers. An alias defined as "\alias \hi='\history -i -x20'" will show the 20 most recent buffers with full info displayed when you execute the \hi command. 4d- Buffers only containing blanks, newlines, tabs etc, will not be added to the history list when the buffer is reset (using the \reset command). 5 - Ignore Ctrl-\ (SIGQUIT) signals to prevent accidental termination of sqsh with a stack trace when running in interactive mode. 6 - A new command \clear is implemented as a companion of the \reset command. Where \reset writes the current buffer to the history list before flushing the buffer, \clear only empties the buffer, without writing to the history. Also, when readline is compiled in, the screen is cleared, as ^l does. The \clear command is also aliased to 'clear'. 7 - A new read only variable $$ is introduced to show the sqsh host process id. Use "\echo $$" or "\echo ${$}" to show the process id, which should be the same as the value of the master.dbo.sysprocesses.hostprocess column for the current spid when connected to Sybase ASE from a Unix host. I.e.: select hostprocess from master..sysprocesses where spid=@@spid; 8 - A new command \hist-save is introduced to save the complete history to the current $history file, or save it to a new file specified in the "\hist-save [filename]" command. Also a new command \hist-load will load a history file and append it to the current list of history buffers: "hist-load [filename]". If no filename is specified the file in variable $history will be used to load from. 9 - A new variable $hist_auto_save (int) is introduced. When the history is changed more often than the value of this variable, the history is automatically saved to the current $history file. This prevents that you potentially lose a lot of history data when your sqsh session crashes unexpectedly. 10- The \buf-del command introduced in sqsh-2.1.6 now accepts a range specification of buffers to delete. For example "\buf-del 1-10" will delete the first 10 history buffers. No result messages will be written anymore. Be warned that the buffers may get re-numbered when you delete one or more buffers from the history. 11- The $session variable will now be expanded so it may contain variables itself. E.g.: \set session=$HOME/.sqsh/.session_${DSQUERY} 12- Improved TDS version request handling when using startup option -G. Besides the versions 4.0, 4.2, 4.6, 4.9.5 and 5.0, also versions 7.0 and 8.0 are recognized when compiling sqsh with freetds-0.82. When you request a specific TDS version, the variable $tds_version will be defined and when that variable exists, sqsh will obtain the actual TDS version in effect when the connection is established, and put that value back into the $tds_version variable. So it may be that you request version 4.2, but still get version 4.0, depending on the client-server capabilities. Note that sqsh will not perform any input validation on the input of the -G parameter. So when you specify an invalid value, the default version of 5.0 will be used without any warning. Normally speaking you do not need to specify a TDS version (Tabular Data Stream, a Sybase and Microsoft protocol used in client-server communication). The option -G can be useful to test client-server capabilities, especially when using freetds. 13- Improved network authentication handling. Introduced a new command \snace to report the session expiration interval for a network authenticated session. Support for delegation (CS_SEC_DELEGATION) security service added. 14- The \go command now accepts comments on the command line in C-Style notation /* */ and the ANSI SQL comment syntax: -- The comment tokens must be enclosed in white space: /*This will not work*/ /* This is OK */ The -- comments will ignore everything up to End of Line. With this new feature it is now possible to run Sybase installation scripts that use constructions like: go /* } */ or: go -- } Bug fixes in sqsh-2.1.7 1 - Successive \bcp operation may fail because of binding issues in bulk copy library operations. Solved by using calloc instead of malloc when allocating buffers for bulkcopy transfer. (Corresponding bug report: 2920048) 2 - Fix for bug report 1959260 supplied by Stephen Doherty. When using '\go -m bcp' a bcp out of a non-null char(1) or varchar() column with only blank data, should produce a blank in the output, irrespective of the $bcp_trim setting, in order to prevent subsequent bulk copy in errors. 3 - Resizing the X windows result set window (go -x) with Motif widgets, only resized the "Done" button. This is being fixed now with patch 1290313 by John Griffin. 4 - When using X/Athena widgets for \go -x, always create scrollbars for the result windows. (X11 without Motif). 5 - When using an output file with the -o option, stderr messages where not captured in the output file but written to the terminal/xterm/tty. If the output file already existed, it was not truncated when opened. So it could happen that the output file still contained data from a previous sqsh run when the output data produced in the last run was less then that of the first run and thus the file was not totally overwritten. 6 - Fixed a problem with the password hiding feature. (Solution to feature request 1577984, bug report 1487118 and patch 2607434). Courtesy of David Wood. 7 - Fixed a problem with the default initialization of sqsh variables $histunique and $ignoreeof. (Corresponding bug report 2871368) 8 - Switching the variable $bcp_trim from off to on failed. Part of patch 2061950 (thanks to Klaus-Martin Hansche) fixed this issue. 9 - The usage message of \go did lack a description of the -p option. This one is added now. 10- When creating a result set using the vertical display option (\go -m vert) it could happen that if a non-null column received no data (caused by data corruption or TDS protocol errors), the next column would be printed on the same line. If no column data is received, a newline is now always outputted. In the same module fixed a minor error: when the column data exceeds the screen width and has to wrap onto the next line, the indentation alignment came 1 blank short. Is also fixed now. 11- In the background jobs area a lot of improvements are implemented making running background processes (\go &) in sqsh-2.1.7 much more reliable. a) When two or more batch jobs where started in the background, the deferred output files from already running jobs were removed. For example: 1> dbcc checkdb (order_prod) 2> go & Job #1 running [349] 1> dbcc checkdb (cust_prod) 2> go & Job #2 running [763] When using $defer_bg = 1, a deferred output file will be created for each individual job. However, a cleanup procedure executed during the startup of the child process accidentally unlinked output files of already running brother and sister processes. b) The batch was not saved in the history. So the dbcc commands in the previous example would not be saved in the history buffers. c) SIGCHLD signals were not always handled by the designated signal handler. As a consequence, the batches were never reported finished and output could not be shown with the \show command. d) The batch related command \jobs now accepts an option -i to show additional information on the jobs. Also input parameters for \show and \wait are checked for correctness. Erroneous parameters could otherwise produce floating point exceptions or other unexpected results. As an example, take a look at the next sqsh-2.1.6 session: ~> sqsh-2.1.6 -SNEPTUNE 1> \echo "This sqsh version $version is not background job reliable" & Job #1 running [12472] 1> \jobs Job #1: 30-Jan-10 13:11:16 (5 secs) 1> \wait 1 \wait: Object does not exist 1> \show 1 \show: Job 1 has not completed 1> \wait -1 Segmentation fault (core dumped) Although the child process is finished, it is not correctly signaled, so we do not get a notification that the job is finished. When we try a "\wait 1", the job cannot be found and "\show 1" claims the job is not finished yet. When we finally try a "\wait -1" sqsh terminates with a segmentation fault. The same session in sqsh-2.1.7: ~> sqsh-2.1.7 -SNEPTUNE 1> \echo "This sqsh version $version is background job reliable" & Job #1 running [16448] 1> \jobs Job #1: 30-Jan-10 13:17:59 (1 secs) Job #1 complete (output pending) 1> \wait 1 Job #1 complete (output pending) 1> \wait -1 \wait: No jobs pending 1> \show 1 This sqsh version sqsh-2.1.7 is background job reliable 12- When sqsh is started with additional parameters to be passed on to the -i input script, parameters ${#} and ${*} were not properly set and references to ${0} in interactive mode produced segmentation faults. Also the $* parameter which should produce a list of all parameters was not correctly displayed. For example, the contents of an input script named example.sqsh: \echo $# \echo $* \echo ${0} ${1} ${2} ${3} ${4} sqsh -SDBPRD1 -Usa -i example.sqsh a b -Psecret c Should now correctly produce: 3 a b c sqsh a b c 13- When executing a SQL command with \go -x while no X11 support was compiled into sqsh, the result buffer of the query would not be canceled. This led to errors in subsequent batches. Fixed by returning a DSP_FAIL instead of DSP_SUCCEED after the error message was printed. 14- When specifying a new cmdend alias for the \go command, the alias was just defined in the wrong direction. For example "sqsh ... -cGO" would define an alias \go for the GO command. So when you entered GO, nothing happened as it was not recognized as a sqsh command. When executing \go, an error was generated because sqsh now tried to find the internal command GO which does not exist. The definition of the alias must be reversed, i.e. GO is an alias for the \go command, so when you enter GO, sqsh will execute \go. 15- When using sqsh build for Motif and you run a query with "\go -x", sqsh would create a X window with an unlimited size for the SQL batch section. If you have a large batch, this could eat up all the windows space and no space left to show the results. The SQL batch window is now limited to 10 rows and you have to scroll the window section to see the rest of the batch. 16- When a connection is killed or a server performs a shutdown, the connection to the server is lost. This will eventually be detected by sqsh and a client callback handler will call sqsh_exit. However, the callback handler did not return a CS_FAIL or CS_SUCCEED, so CS/CT-lib thinks the callback handler is still active and produces a warning message that the client did not exited from CT-lib, when the context is dropped. The callback handler will now return value 254 (abort) and sqsh_exit will not try to drop the CS/CT-lib context in this case. Also in very rare circumstances sqsh_exit could be called recursively, resulting in a segment violation as pointers to destroyed memory structures were not nullified. 17- Implemented fix 1289922 by John Griffin to prevent unexpected sqsh shutdown on Solaris when child process terminates. Changed files in sqsh-2.1.7 compared to sqsh-2.1.6 (Note, the Fx refers to the implemented feature and Bx refers to the bug fix.) alias.h F6: Defined alias 'clear' for the \clear command. cmd.h F6: Added definition of CMD_RESETBUF and assigned this to \reset Existing CMD_CLEARBUF action now assigned to \clear Commands \\clear and \\hist-save defined. F13: Command \\snace added to Show Network Authenticated Credential Expiration interval when using Kerberos. cmd_bcp.c Improved signaling by saving current signaling context when defining SIGINT interrupt handler. Restoring afterwards. When compiling sqsh with freetds-0.82, only BLK_VERSION_110 can be used. CMD_CLEARBUF renamed to CMD_RESETBUF. Fix for B1 implemented. cmd_buf.c Implementation for F10 (\buf-del range specification) CMD_CLEARBUF renamed to CMD_RESETBUF. cmd_connect.c F11. Expand variable $session so that $session may contains variables in its definition itself. E.g. \set session=$HOME/.sqsh/.session_$DSQUERY F12. Obtain effective tds_version setting when requesting for a specific TDS version. Add version 7.0 and 8.0 of TDS when using freetds. F13. Kerberos support improvements; \snace command implementation. B16. Return 254 in case of a lost connection. cmd_do.c CMD_CLEARBUF renamed to CMD_RESETBUF. cmd_exit.c F1. Specify a return code to the \exit command. cmd_for.c CMD_CLEARBUF renamed to CMD_RESETBUF. Error message redefined. cmd_func.c CMD_CLEARBUF renamed to CMD_RESETBUF. Error message redefined. cmd_go.c F2. Implemented option -T to specify an $xwin_title string. B9. Added description of -p (statistics option) in help info. CMD_CLEARBUF renamed to CMD_RESETBUF. F14. Filter out comment arguments from the command line. cmd_history.c F4. Extended buffer info (date/usage count) and most recent x buffers to show (\history -i -x options) F8. Added implementation of the \hist-load and \hist-save commands. cmd_if.c Signaling improvements. cmd_input.c Signaling improvements. CMD_CLEARBUF renamed to CMD_RESETBUF. F6. Implemented action for \clear command. B11. Write the SQL buffer to history too when batch is run in background. cmd_jobs.c B11. Implemented \jobs -i option for additional job information. cmd_kill.c B11. Improved parameter verification to \kill command. cmd_reset.c F6. Implementation of new \clear command. CMD_CLEARBUF renamed to CMD_RESETBUF. cmd_rpc.c F2. Implementation of -T option to specify an XWin title to the \rpc command. Changed some of the error messages. (Changed \go to \rpc). When a Motif X-Windows result set is generated, the rpc command is also shown in the SQL pane. The cmd_rpc function returns CMD_CLEARBUF to clear and disgard the current SQL buffer. The previous versions returned CMD_RESETBUF to add the SQL buffer to the history. However, sqsh now 'abuses' the SQL buffer to pass on the \rpc command to the Motif window. cmd_show.c B11. Improved parameter verification to the \show command. cmd_wait.c B11. Improved parameter verification to \wait command. Pass correct job number to jobset_get_defer function when \wait -1 was used. cmd_while.c CMD_CLEARBUF renamed to CMD_RESETBUF. dsp_bcp.c B2. Fix provided by Stephen Doherty. dsp_vert.c Fixes for B10. dsp_x.c Solution to B3, B4, B13 and B15 and implementation of F2. sqsh_buf.c F10. Implementation of \buf-del range deletes. sqsh_config.h Renumbered version from sqsh-2.1.6 to sqsh-2.1.7 sqsh_error.h Fixed a coding error with values of SQSH_E_RANGE and SQSH_E_BADSTATE. Values were out of sync with corresponding message numbers in error message table sg_sqsh_errtable. Fortunately due to the way the messages were used, would probably never lead to a real problem. sqsh_expand.c B12. Fix for expanding variable $* in sqsh functions or interactively accessing ${0} resulting in segmentation fault (\echo ${0}). F7. Added expanding variable $$ to procid (${$}). Enabled patch from Michael Chepelev to prevent core dumps when referring to variables with special characters like $. sqsh_fd.c Improve SIGCHLD signaling by making sure the correct signal handler is activated. sqsh_fork.c Fix for B11. sqsh_global.c Initialize a new global C variable g_interactive to determine if sqsh is initially started with stdin and stdout connected to a tty. Default value is False. Adapted the copyright message to include 2010. sqsh_global.h Defined the global variable g_interactive. sqsh_history.c F4, F8 and F9. Implemented feature additional buffer info, and history automatic save feature (hist_auto_save). F4b. Do not save buffers to history with only IFS characters ("\f\n\r\t\v "). F10. Implement buffer range deletes. sqsh_history.h F4. Define extra structure members hb_dttm and hb_count (hisbuf_t) to keep track of additional buffer info. Structure member h_change in history_t. F8. Define status values HISTSAVE_INIT, HISTSAVE_LOAD and HISTSAVE_FORCE to implement hist_auto_save. F10. Define function history_range_del. sqsh_init.c F3. Reset windows title ($term_title) upon exit. Use g_interactive to determine if history must be saved and readline functions cleaned up. B16: prevent segmentation violations with recursive calls to sqsh_exit by nullifying pointers to destroyed memory structures. Always call ct_close even if the connection is dead. Do not call cs_ctx_drop to drop the context when a connection was lost due to a server shutdown, a killed session or network issues. This prevents message: CS-Library error: severity(1) layer(2) origin(1) number(31) cs_ctx_drop: cslib user api layer: external error: The context structure cannot be dropped because the application has not exited from ct. sqsh_job.c Logical fix in memory cleanup. B11. Improve child SIGCHLD signaling of background jobs. Improved \wait processing in case of missed SIGCHLD signals. Also fixed an error in finding a job in a hash table for the "\wait id". command (Error in hash bucket calculation), and fixed a segmentation fault when using the "\wait -1" command. sqsh_main.c F1. Implement feature \exit x ($exit_value). F3. Implement feature term_title. B6. Fix for password hiding feature using flexible named pipes. B5. Fix for -o output file: Truncate existing file and redirect stderr. B12. Fix error in parameter count passed on when -i is used Improve determination of an interactive session, i.e. stdin and stdout connected to a tty and what to do with history and readline in non- interactive mode. F5. Ignore SIGQUIT signals in interactive mode. B14. Fix handling of -c cmdend aliases for the \go command. F13. Default value of 'u' assigned to $secure_options if -V did not specify any options. Also improved help info. sqsh_sigcld.c B11. Improved SIGCHLD signaling of background jobs. sqsh_stdin.c B17. Fix possible unexpected shutdown of sqsh when a child process signals SIGCLD and sqsh is built without readline support. Only reported a problem on Solaris (Solaris 2.8 SPARC platform ?). var.h Variable $appname changed from sqsh-2.1.6 to sqsh-2.1.7 B7. $histunique and $ignoreeof initialized to 0 instead of 'Off'. F1, F2, F3, F9. New variables $exit_value, $xwin_title, $term_title and $hist_auto_save defined. var_dsp.c B8. Fix problem when switching variable $bcp_trim from Off to On. Notes 1) If you have background jobs running and you issue a Ctrl-C in your current running foreground task, to interrupt processing, be aware that the SIGINT signal is also sent to the child processes, and that they will terminate as well. Although the child process resets all its signals with sig_restore, and asks to ignore SIGINT interrupts at interrupt stack level 0 during startup, the process will still setup (a) SIGINT handler(s) itself, before actively running a SQL batch, just as the parent does. So when a SIGINT interrupt arrives, the child will respond accordingly, which means stop processing in 99% of the cases. So be careful with Ctrl-C when running background jobs. If you have multiple background jobs running and perform a "\wait " on a specific job, you may have to do a specific "\wait " or multiple "\wait -1" commands as well to get signaling information for the other processes, if they have finished during the time period of the first executed \wait. The explicit wait for a specific job/pid will temporarily disable the signal handler for SIGCHLD events. If other child processes terminate during this period, their signals will be suspended, until they are picked up by a waitpid which will be issued by the \wait command. 2) Sessions that uses LDAP or Kerberos user authentication should be able to use background jobs. During testing of Kerberos connections, I came across the situation that the name of the security mechanism in the libtcl.cfg file was specified in uppercase "CSFKRB5" while the name of the secmech in the $SYBASE/config/objectid.dat file is "csfkrb5". When you just specify -Z or -Zdefault to setup a secure connection, you leave it up to OpenClient to select the appropriate secmech. So OpenClient will pick the first available entry, "CSFKRB5". During session establishment sqsh request the real name of the security mechanism being used, and that one is the secmech name from the objectid.dat file. That name is put in the sqsh variable $secmech. So the real secmech is stored in $secmech, and that is also the variable used for the security mechanism specified during \reconnect. When this secmech name is different from the libtcl.cfg security entry, it cannot be found during \reconnect, and the login fails. Using the same name with the same case in the libtcl.cfg file for your desired security mechanism as in objectid.dat (csfkrb5) will solve this issue. 3) Connections that use SSL/TLS should also be able to use background jobs. When a login trigger checks if a login is already connected and does not allow multiple connections for the same login, for example, then the background job feature will not work. 4) Build and run tests: - Sqsh-2.1.7 successfully built and tested on Windows-XP with Cygwin 1.7.1-1 and Sybase OpenClient 15.0 EBF17012 ESD #19. (32bit) - On the same platform sqsh-2.1.7 also successfully builds and runs using freetds-0.82 instead of Sybase OpenClient. Note, do not use \bcp operations with freetds as unexpected results and even database corruption may occur. Use the sqsh "go -m bcp" option to create a bulkcopy file and use the freebcp utility to bulk copy in, instead. Explained in one of the next notes. - Fedora Core 6, using Sybase OpenClient 15.0 EBF15821 ESD #13. - Fedora Core 6, using freetds-0.82. - Ubuntu 8.04 LTS, using Sybase OpenClient 15.0 EBF16297 ESD #16. - Ubuntu 8.04 LTS, using Sybase OpenClient: Sybase CTISQL Utility/15.5/P/ DRV.15.5.0/Linux Intel/Linux 2.6.9-55.ELsmp x86_64/BUILD1550-003/OPT - Solaris 10 x86 64bit, using 32 and 64 bit compiled sqsh versions with Sybase OpenClient 12.5.1/P-EBF13168 ESD #12 - Solaris 10 x86 64 bit, using 64 bit compiled sqsh with Sybase OC Sybase CTISQL Utility/15.5/P/DRV.15.5.0/i386/Solaris 10/BUILD1550-003/OPT/ 5) sqsh-2.1.7 was successfully tested connecting to Sybase ASE 15.5, 15.0.x, IQ 12.7, IQ 15.1, RepServer 15.2 all on Windows XP and Linux, 32 bits. The freetds version also successfully connects to Microsoft SQL server 2005. The sqsh -X option or $encryption=On variable setting will not work with Sybase IQ. 6) I found out during code inspections that there is an undocumented variable ${$?}. The variable contains the result of the last executed \if statement. The \if statement would be run as a child process running the 'test' command. The result can be 0 for False, 1 for True or 2 means some error occurred (test expression syntax error for example). I wonder if the usage of the "$?" parameter name was chosen on purpose or was a small coding mistake and was meant to be just "?". Well it does not hurt to keep it this way, as long as you are aware that conditional statements do not set variable "?" as a normal shell would. 7) Be aware that freetds does not support all datatypes Sybase ASE supports, like the DATE and TIME datatypes (4 byte size). When you have a table with a DATE or TIME column and query the table using freetds, the data will be presented as a datetime datatype (8 bytes). So consider the next example: 1> create table freetds (id INT NOT NULL, insdate DATE NOT NULL) 2> go 1> insert freetds values (1, getdate()) 2> go (1 row affected) 1> select * from freetds 2> go id insdate ----------- -------------------- 1 31 Jan 2010 00:00:00 (1 row affected) When reconnecting with a Sybase OCS capable version of sqsh the query result is: 1> select * from freetds 2> go id insdate ----------- ----------- 1 Jan 31 2010 (1 row affected) When you select the data using the bcp output format and write it to a file (using the freetds version of sqsh again): 1> select * from freetds 2> go -m bcp > freetds.dat The contents of the file are: "1#31 Jan 2010 00:00:00". (The # is the column separator.) When you try to bcp this data back into the table using freetds, it assumes the datatype is a 8 bytes datetime datatype. However, the real datatype is a 4 byte DATE datatype. When you are lucky, the server will detect the error, but it may lead to data corruption as well when loading larger blocks of data, especially when using the \bcp command directly. ~> freebcp tempdb..freetds in freetds.dat -SNEPTUNE -Usa -P... -t"#" -r"\n" -c Starting copy... Msg 4837, Level 16, State 1 Server 'NEPTUNE', Line 1 Bad row data received from the client while bulk copying into object 813176728 partition 813176728 in database 2. Received a row of length 14 whilst maximum or expected row length is 10. Msg 4837, Level 16 General SQL Server error: Check messages from the SQL Server Msg 3621, Level 10, State 0 Server 'NEPTUNE', Line 1 Command has been aborted. bcp copy in failed MSSQL 2005 only supports DATETIME and SMALLDATETIME datatypes. When using these datatypes there should be no problem in using \bcp. 8) Job runtime issues of background jobs. When you run a job in the background its starttime is stored in the job memory structure. Besides a list of job structures, sqsh maintains a list of running child pids. When you execute \jobs to see which jobs exists, the job runtime is calculated from the current system time. However, when the child process finishes, it is registered as complete by the signal handler in the pid list only. The job structure is not modified immediately. It is the read-eval-print loop of sqsh that polls the status of running jobs, and when found that a child process is finished, the corresponding job is marked complete and its end time marked. This means if you do not press enter on the sqsh command line regularly, the waittime accumulates in the total job run time. To solve this, the signal handler should keep track of the process end time, that can then be used by the job handler. Basically, if \jobs report a job (done - x secs), the time is the difference of the job start time and the job completion notification, not the real run time of the background process. sqsh-2.1.7/doc/FAQ0100664000076500007650000004112210034772563014054 0ustar mpepplermpeppler SQSH-FAQ Version 2.1 Name: SQSH-FAQ Version: $Id: FAQ,v 1.1.1.1 2004/04/07 12:34:59 chunkm0nkey Exp $ Copyright: (C) 1996-2001 by Scott C. Gray This document contains of Frequently Asked Questions (or Frequently Answered Questions, as the case may be) concerning sqsh, a UNIX replacement for the 'isql' program supplied with Sybase SQL Server. If you have any questions, comments, or additions to this FAQ feel free to send them to Scott Gray, gray@voicenet.com (or, if that fails try sgray@inventa.com). Contents: Section 1: Introduction to Sqsh and how to install it 1.1 What is it? 1.2 What makes it different? 1.3 What is the current release? 1.4 Basic Requirements 1.5 Sources of information 1.6 Supported platforms 1.7 Unsupported platforms 1.8 Where do I get it? Section 2: Features Section 3: Common build and installation problems 3.1 Basic instructions 3.2 I cannot get 'configure' to run while building GNU Readline 3.3 I get errors from ld.so when attempting to run sqsh 3.4 Building sqsh on Linux Section 4: Run-time problems 4.1 Why can't I alias a SQL statement? 4.2 ^C causes coredump on SGI IRIX 4.3 Why do I get "TDS state" errors when running stored procedures? 4.4 Why doesn't command line editing work? 4.5 Piping output to another program does not work. Section 1: Introduction to Sqsh and how to install it 1.1 What is it? Sqsh is a replacement for the 'isql' program supplied with Sybase's SQL Server database on UNIX platforms. Besides supporting or emu- lating most of the features that isql provides, sqsh provides a reasonably rich set of features that users have been asking of isql for the last couple of years. In their basic forms, both isql and sqsh, are simply command line tools used to send queries to a SQL Server or Open Server and display the result set in a (questionably) readable form. sqsh was written by Scott C. Gray (gray@voicenet.com, sgray@inventa.com) plus various patches submitted by other users throughout the internet. 1.2 What makes sqsh different? Sqsh attempts to meld the basic requirements of isql with the features of bourne shell, such as file redirection, piping, command aliasing, variables, backgrounding, job control, history, and dynamic configuration. It also provides several SQL-specific enhancements including multiple display styles (including HTML for use in CGI applications), the ability to BCP result sets between servers, and execute remote procedure calls directly. For a complete list of features, please refer to the manual page supplied with the program; a lot of effort went into writing it. 1.3 What is the current release? The current release of sqsh is 2.1. 1.4 Basic requirements In order to compile sqsh, you will need the following: 1. A decent C compiler Theoretically, sqsh should compile on older K&R compilers, but this hasn't been confirmed. Currently sqsh is developed using gcc 2.95.3 using '-g -O -Wall'. 2. Open Client/C from Sybase or FreeTDS All versions of sqsh prior to 1.4.1 require the availability of Sybase's DB-Library. As of sqsh-1.4.1 and later require Sybase's CT-Library or FreeTDS (http://www.freetds.org). Sqsh has been tested almost all versions of DB-Library as well as CT-Lib 10.0.x, 11.1.x, and 12.x. Note that there is little effort underway to allow sqsh to continue compiling against CT-Lib 10.x, so it may require a bit of work on your part if you really need 10.x support. 3. GNU Readline 4.2 Although this library is not required, it is highly recommended if you will to take advantage of command-line history, and key- word completion. Readline 4.2 may be found at http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. 4. X11R4 or Later If available, sqsh may be compiled such that a result set may be displayed within a separate X window. This requires the standard Athena widget set (Xaw). Obviously, in order to use sqsh, you will need a SQL Server or Open Server to communicate with. 1.5 Sources of Information The SQSH Homepage may be found at: http://www.sqsh.org/ Sqsh comes with a pretty extensive set of documentation: README - Basic introducation to sqsh and its features INSTALL - Build and installation guide README.SGI - SGI IRIX build Issues COPYING - GNU copyleft license doc/FAQ - This file doc/sqsh.1 - Sqsh manual page in 'roff -man' format doc/sample.sqshrc - Example configuration file doc/advanced.sqshrc - Example configuration with advanced features Please make sure you read at least FAQ, README and INSTALL before asking building and installation questions, and read the manual page before asking usage and command questions. 1.6 Supported Platforms Well, the idea of "supported" does not really apply to freeware, however sqsh has been known to compile and work on most UNIX platforms supported by Sybase, including Linux, Solaris, HP-UX, AIX, IRIX, SunOS, NCR, Dynix, OSF/1, DEC Unix, SCO, NeXT. Some systems are a little trickier than others to get sqsh to build (such as Dynix), but it gets a little better with every release. Also, with release 1.7 sqsh will now run on NT with the help of the Cygwin32 porting kit. 1.7 Unsupported Platforms Sqsh will not currently work with OS/2 or MacOS <= 9.x. I haven't seen it running on Mac OS X, however it should work just fine with FreeTDS. 1.8 Where do I get it? Currently, the only available location to get sqsh from is the home page: http://www.sqsh.org/ Section 2: Features This section is currently under construction. Section 3: Common build and installation problems 3.1 Basic instructions Make sure you read README and INSTALL included with the installation before attempting to build sqsh, but the basic routine is: % gunzip -c sqsh-X.Y.tar.gz | tar xvf - % cd sqsh-X.Y % ./configure --prefix="/" --with-x --with-readline % vi Makefile % make % make install % make install.man What could be easier? :) 3.2 I cannot get 'configure' to run while building GNU Readline This section only applies to really old versions of readline (< 2.2). While running GNU Readline's 'configure' script you get a message about not being able to find 'install-sh'. Although this is really a problem with the GNU Readline library it gets asked often enough to make its way here. It seems that GNU Readline is no longer being developed, but you may want to bug the developers to fix it. Basically here is the solution: while sitting in the readline-2.0 directory, do: % touch install.sh % configure % make this will allow configure to complete, but it will mean that you must hand install readline. Then to install readline, create the install directories if necessary (/usr/local is simply an example, you can use whatever you want): % mkdir /usr/local/lib % mkdir /usr/local/include % mkdir /usr/local/include/readline then copy the necessary files in: % cp libreadline.a /usr/local/lib % cp chardefs.h history.h keymaps.h readline.h tilde.h \ /usr/local/include/readline and finally, make sure everything has the correct permissions: % chmod 755 /usr/local/lib /usr/local/include % chmod 755 /usr/local/include/readline % chmod 644 /usr/local/lib/libreadline.a % chmod 644 /usr/local/include/readline/*.h 3.3 I get errors from ld.so when attempting to run sqsh This problem is typically due to the fact that the dynamic linker used for the OS either cannot find the Sybase libraries or it is finding the wrong libraries. This problem is usually fixed by setting the environment variable LD_LIBRARY_PATH. On many operating systems, when a program is linked with dynamic (shared) libraries, the full path to find the libraries is recorded in the binary itself. On other platforms, such as Linux and Solaris (well, and Windows), only the name of the library is stored and the operating system searches through a default set of directories in order to find the necessary libraries at run-time. By default, these are usually /lib and /usr/lib. The advantage of this method is that you can test out different versions of the library without having to recompile your application; you simply change the search path to look in a new directory. If, while attempting to run sqsh, you get a message from 'ld.so' (that's the name of the program in charge of doing dynamic loading) complaining that it cannot open a particular library, such as: % sqsh -Usa -Ppassword ld.so.1: sqsh: fatal: libcs.so: can't open file: errno=2 Killed it is probably due to the fact that the loader doesn't know where the Sybase libraries are found. There are two ways to correct this: 1. Set the environment variable LD_LIBRARY_PATH with: export LD_LIBRARY_PATH=${SYBASE}/lib:${LD_LIBRARY_PATH} or for csh and tcsh users: setenv LD_LIBRARY_PATH "$SYBASE/lib:$LD_LIBRARY_PATH" 2. If you have root access, you can set this up for all users on a system by editing /etc/ld.conf and then running ldconfig (this may vary on some systems). For the most part, option #1 is the recommended method of configuring your library search path. It is very important to watch the order of library directories listed in the LD_LIBRARY_PATH environment variable due to the fact that several Sybase libraries conflict with the naming of several common operating system libraries: 1. Solaris has libintl.so in /usr/lib Even if you build sqsh with the correct libraries, because these libraries are shared, the setting of LD_LIBRARY_PATH may override the actual library that is used at run-time. Having /usr/lib in LD_LIBRARY_PATH *before* $SYBASE/lib will cause any CTlib app to fail on Solaris. 2. libtcl.{a,so} from the tcl language Sybase has a libtcl.so, and tcl has a libtcl.{a,so}, which very often gets installed in /usr/local/lib. Again, the same potential problem applies if you have a libtcl.so in two places, and the wrong one is found at run-time. (thanks to Michael Peppler, author of SybPerl, for this info). The above problem will usually manifest itself when running sqsh like so: % sqsh -Usa -Ppassword ld.so.1: sqsh: fatal: relocation error: symbol not found: intlgetenv: referenced in /usr/local/sybase/libcomn.so Killed In general it is highly recommended that you *not* place /lib and /usr/lib in your LD_LIBRARY_PATH. 3.4 Building sqsh on Linux Sqsh will *not* build on Linux against the *really* old version of CT-Lib (10.0.4) that may still be floating around out there. It is highly recommended that you get ahold of a more recent version that is bundled with ASE (11.0.3.3 or 12.x). Section 4: Run-time problems 4.1 Why can't I alias a SQL statement? Many users attempt to alias SQL statements or clauses like this: 1> \alias nrows="SELECT COUNT(*) FROM *!" 1> nrows syscolumns; sqsh: Invalid command however it is stated in the manual page that \alias only applies to aliasing other sqsh commands. The above problem can be expressed using environment variables as: 1> \set nrows="SELECT COUNT(*) FROM" 1> $nrows syscolumns; 4.2 ^C causes coredump on SGI IRIX This problem is covered extensively in README.SGI supplied with the sqsh distribution. In short it is due to the fact that sqsh requires BSD style signals which require a little tweaking on SGI to get it to work. 4.3 Why do I get "TDS state" errors when running stored procedures? This problem is typically due to turning on traceflag 260 in the server (-T260 turns off the sending of done-in-proc packets back to the client each time a statement is completed within a stored procedure). While this flag provides some savings in network communications between the client and the server, it will break virtually any CT-Lib program, including sqsh. DB-Lib applications are typically unaffected by this flag, that is why older versions of sqsh and isql are unaffected when turning it on. This is a common problem that has yet to be addressed, even in current releases of Open Client. Trace-flag 260 my be turned on and off by the SA user with: 1> dbcc traceoff(260) 2> go This bug has supposedly been corrected in SQL Server release 11.0.3.1 and later. 4.4 Why doesn't command line editing work? In order to vi-style or emacs-style command line editing support you must compile sqsh using the GNU Readline library, available from ftp://prep.ai.mit.edu/pub/gnu/readline/readline-2.2.1.tar.gz. See section 3.2 for tips on building readline. By default, the readline library starts in "emacs" editing mode, which uses either the arrow keys or ctrl-p, ctrl-n, ctrl-b, and ctrl-f to move around. If, like me, you prefer vi-style editing, you need to create a file in your home directory called $HOME/.inputrc containing the following line: set editing-mode vi (Note: this file is used directly by the GNU Readline library, and does not have anything directly to do with sqsh). Refer to the readline documentation for other options that are configurable via the .inputrc. However, for those that care, here are the settings that I prefer: set editing-mode vi set horizontal-scroll-mode On set show-all-if-ambiguous On set visible-stats On Also note, any program that employs GNU Readline will be affected by this file, this includes such programs as gdb and bash. 4.5 Piping output to another program does not work This problem usually manifests itself like so: 1> sp_who 2> go | more 1> the command seems to have executed, but the output just seems to go into the bit-bucket. This problem is usually due to a bug in some versions of CT-Lib, in the way that the library configures itself for Asyncronous I/O, and may be tested by placing the following code in a file called sqsh_pipe.c: /* sqsh_pipe.c - Demo bug in CT-Lib */ #include #include static void sigpoll_handler(); main() { struct sigaction sa; sigaction(SIGPOLL, NULL, &sa); sa.sa_handler = sigpoll_handler; sigaction(SIGPOLL, &sa, NULL); sleep(20); printf( "sqsh_pipe: Congratulations, you don't have the bug!\n" ); fflush( stdout ); exit(0); } static void sigpoll_handler() { printf( "sqsh_pipe: You have the SIGPOLL bug.\n" ); fflush( stdout ); exit(1); } You can compile this with: % cc sqsh_pipe.c -o sqsh_pipe And test it with: 1> sp_who 2> go | sqsh_pipe If you get the message "You have the SIGPOLL bug." then you have the bug in CT-Lib and should get in touch with Sybase Technical Support for the latest version of the library. For those of you that are interested in this, here is what the bug entails. When CT-Lib creates a socket to talk to the SQL Server, it will typically initialize it to use Async I/O, so that the library will receive a signal (SIGPOLL or SIGIO) whenver data is ready to be received from SQL Server. Now, by default, when a socket is initialized to use SIGPOLL, it is set that the signal will only be delivered to the process that requested (in this case, sqsh). However, for some reason, the broken versions of CT-Lib actually request that the SIGPOLL signal be sent, not only to the process that requested the signal, but to any process spawned from it. In our case, what happens is that when you type: 1> sp_who 2> go | more sqsh will fork() a new process when will then run the program "more". Well, as soon as SQL Server starts sending data to sqsh, both sqsh _and_ "more" will receive the SIGPOLL, and since most programs aren't written to deal with this signal, they will exit immediatly. Many, many thanks to Pablo Sanchez (pablo@sgi.com) and Jason Thorpe (thorpej@nas.nasa.gov) for helping track down this problem. sqsh-2.1.7/doc/README.SGI0100664000076500007650000000473710034772564015037 0ustar mpepplermpeppler$Id: README.SGI,v 1.1.1.1 2004/04/07 12:35:00 chunkm0nkey Exp $ Sqsh on SGI 21-Jan-1997 The following comments were provided by Pablo Sanchez (pablo@sgi.com), who also, just so happens to maintain the Sybase FAQ (which you can find at http://reality.sgi.com/pablo/Sybase_FAQ). If you have any questions about this, he would be a good person to get in touch with. Versions 1.5 and Later -=-=-=-=-=-=-=-=-=-=-=- Please note, that with the addition of POSIX signal handling in sqsh 1.5, sqsh and readline no longer need to be compiled using the -D_BSD_SIGNALS flag as recommended in previous versions of this file. In fact, take care to recompile your readline library *without* this flag before attempting to build sqsh, otherwise you will most likely be left with a shiny new core file. ALSO, note that starting with 1.5, there seems to be a bug in certain combinations of IRIX and CT-Lib (namely IRIX 6.2 and CT-Lib 10.0.x) that causes result sets sent through a pipe to be lost. Please read the description in Makefile to (a) determine if you have the bug and (b) how to install the work-around. To the best of my knowledge, Sybase Tech support has yet to acknowledge that this is indeed a bug, much less attempt to release an EBF. Building Sqsh -=-=-=-=-=-=- If you are using the SGI compiler (and not gcc), after running configure' add the flag '-cckr' to the beginning of the CFLAGS line in Makefile. Unfortunately, 'configure' can't automatically determine if your compiler requires this flag yet...I'm working on it. General Comments -=-=-=-=-=-=-=-=- There is a known problem with SQL Server on IRIX (at least as of release 10.0.2.4) where Out-Of-Band (OOB) data packets are not received asyncronously by the server. What this means to sqsh is that when you issue a ^C in the middle of a result set, an attention (or OOB) packet is sent to SQL Server to ask it to stop sending rows, however, because Sybase doesn't handle this packet properly (yet) SQL Server will continue sending rows packets until it gets around to checking to see if an attention packet has been sent. All of this means that when performing: 1> select * from very_large_table 2> go ... ^C There may be a long delay between the ^C and when you get the prompt back. Uusually this problem is not noticed due to the speed of the network or because the result set is too small. If you are encountering this problem, call Sybase Technical Support for the latest EBF of DB-Library and of SQL Server. -scott (gray@voicenet.com) sqsh-2.1.7/doc/README.bin0100664000076500007650000000356610034772564015164 0ustar mpepplermpeppler SQSH 2.1 BINARY RELEASE Welcome -=-=-=-=- Hello and welcome to the binary release of sqsh-2.1. With this release quite a bit of effort has gone into supplying handy pre-built binaries for those of you that are too lazy to type 'configure' and 'make'. :) What is SQSH? -=-=-=-=-=-=- Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), it is intended as a replacement for the venerable 'isql' program supplied by Sybase. It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work. Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality. Availability -=-=-=-=-=-=- Sqsh may be found on the following sites: http://www.sqsh.org/ If you have trouble reaching any of the sites above, you can send me e-mail at sgray@inventa.com or gray@voicenet.com. Licensing -=-=-=-=-=- 99% of the software that I use is free, therefore I like to give back in kind. Sqsh is held under the GNU General Public License (GPL) and therefore may be freely distributed under the terms of this license. Installing -=-=-=-=-=- 1. Run the installation shell script and follow the directions. % ./install.sh 2. Make sure that you have Open Client installed properly on your machine (refer to the FAQ for more information). 3. $SYBASE points to your Open Client installation. Then you should be off and running. Additional Files -=-=-=-=-=-=-=-=- Note that there are some additional sample configuration files that are included in the doc/ directory that are not installed but are probably worth taking a look at. sqsh-2.1.7/doc/RELEASE0100664000076500007650000000067010034772565014532 0ustar mpepplermpeppler$Id: RELEASE,v 1.1.1.1 2004/04/07 12:35:01 chunkm0nkey Exp $ This file contains notes to myself about things that need to be done prior to each release: 1. Update version number in INSTALL 2. Update version, date in doc/sqsh.1 3. Update version number in sqsh_global.c 4. Check everything in 5. Apply 'cvs tag sqsh-[major]_[minor]' 6. Perform 'cvs export -r sqsh-[major]_[minor] -d ~/sqsh-[major].[minor] sqsh' 7. Generate doc/sqsh.1.ps. sqsh-2.1.7/doc/advanced.sqshrc0100664000076500007650000000224010034772563016512 0ustar mpepplermpeppler# # This .sqshrc is my own personal configuration. # # # Basic settings. # \set bcp_rowsep='' \set bcp_colsep=',' \set prompt='$DSQUERY.$database.$lineno> ' \set hostname=XTENDTECH1 # # \obj # # Where is a valid type as defined in the type column # of sysobjects. This function will list the name of all # objects matching that type. # \func -x \obj \if [ $# -ne 1 ] \echo "use: \obj [U|V|S|TR|P]" \return 1 \fi select name from sysobjects where type = "${1}" go \done # # \db # # Lists the names of all databases in the system. # \func -x \db select name from master..sysdatabases go \done # # cd # # Replacement for issuing a 'use ' with the following # exceptions: # o There is no need to issue a 'go' (that is done for you) # o Issuing a 'use -' will return you to the previous # database you were using. # I use this command a lot. # \func -x cd \if [ $# -ne 1 ] \echo "use: cd " \return 1 \fi \if [ "${1}" = "-" ] \set db=$prev_db \else \set db=${1} \fi \set cur_db=$database use $db go \if [ "$?" = 0 ] \set prev_db=$cur_db \fi \done sqsh-2.1.7/doc/buildman.sh0100775000076500007650000000023511332562776015661 0ustar mpepplermpeppler#!/bin/sh pod2man --name sqsh --release 2.1.7 --section 1 sqsh.pod sqsh.1 #pod2man sqsh.pod > sqsh.1 pod2html --noindex --title sqsh sqsh.pod > sqsh.html sqsh-2.1.7/doc/global.sqshrc0100664000076500007650000000361310034772565016214 0ustar mpepplermpeppler# $Id: global.sqshrc,v 1.1.1.1 2004/04/07 12:35:01 chunkm0nkey Exp $ # # sqshrc - Global sqshrc initialization file. This file is # installed as part of sqsh to act as a global # resource file for all users of sqsh. # # # $semicolon_hack : This turns on the ability to use a semicolon as # a sort of in-line go. It is kind of hacky but seems # to work pretty well. # \set semicolon_hack=on # # $prompt : The value of this variable is expanded each time the # prompt is displayed. It may contain variables and # even command substitutions (note that $date and $time # are the more efficient ways of displaying the current # date than `date`). # \set prompt='[$histnum] ${DSQUERY}.${database}.${lineno}> ' # # $histsize : This variable is used to configure the number of # previous batches that have been executed by sqsh, # setting this variable high uses up a little extra # memory, and makes it a little harder to find the # query that you are looking for, but comes in handy. # \set histsize=20 # # $exit_failcount : This variable causes sqsh to exit with an exit # status of the total number of batches that failed # during the current session. This is useful for use # within shell scripts and the such. # \set exit_failcount=on # # $history_shorthand : Turns on the ability to perform csh-style # history recall on the command line, such as !20. # \set history_shorthand=on # # The following alias is used to act as a replacement for the # '\go | more' command. It is smart enough to carry over any # parameters to \go. If you always want "more" support then # you can do "\alias \go='\go !* | more'". # \alias mo='\go !* | more' # # The following alias's create a more 'isql-like' environment. # \alias :r='\buf-load -a !*' sqsh-2.1.7/doc/more-advanced.sqshrc0100664000076500007650000001413411335273177017461 0ustar mpepplermpeppler# # $HOME/.sqshrc file # Make sure you have a .sqsh and a tmp directory in your $HOME when using this # sqshrc file. # # mkdir .sqsh tmp # chmod 700 .sqsh # chmod 755 tmp # #\set username=sa #\set password=******** # # Basic variable settings. # \set banner=Off \set bcp_colsep='#' \set bcp_rowsep='' \set bcp_trim=Off \set charset='iso_1' \set datetime='%e %b %Y %H:%M:%S' \set encryption=On \set history='$HOME/.sqsh/sqshhist_$DSQUERY' \set histsize=100 \set hostname=`hostname` \set keyword_completion=exact \set readline_histsize=200 \set xgeom=100x30 # # Version dependent variable settings. # \if [ "$version" = "sqsh-2.1.7" -a "$TERM" != "linux" -a "$TERM" != "console" ] \set term_title='$DSQUERY ($hostname)' \fi \if [ "$version" = "sqsh-2.1.7" ] \set histunique=On \set hist_auto_save=10 \set ignoreeof=On \set keyword_file='$HOME/.sqsh/sqsh_words' \set login_timeout=60 \set readline_history='$HOME/.sqsh/sqshread_$DSQUERY' \set session='$HOME/.sqsh/.sqsh_session' \set tmp_dir='$HOME/tmp' \set xwin_title='$DSQUERY result $histnum' \elif [ "$version" = "sqsh-2.1.6" ] \set histunique=On \set ignoreeof=On \set keyword_file='$HOME/.sqsh/sqsh_words' \set login_timeout=60 \set readline_history='$HOME/.sqsh/sqshread_$DSQUERY' \set session="$HOME/.sqsh/.sqsh_session" \set tmp_dir='$HOME/tmp' \else \set keyword_file="$HOME/.sqsh/sqsh_words" \set readline_history="$HOME/.sqsh/sqshread_$DSQUERY" \set session="$HOME/.sqsh/.sqsh_session" \set tmp_dir="$HOME/tmp" \fi # # Set a color prompt # # Color codes are presented in a string between {}. If sqsh encounters a { # in the prompt string it will assume a colorcode is supplied and will act # as such. The color definition consists of three values separated by ; # The last colorcode for the background may be ommitted. # # Color definitions byte 1,2,3 # The first code defines the Color Attribute Code with possible values: # 0=none 1=bold # The second value defines the Text Color Code: # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white # The third value defines the Background Color Code: # 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white # # Example: # Cyan text in white background "{0;36;47}" # Bold yellow text "{1;33}" # # sqsh will translate the colorcodes to an actual colorcode string that # is presented to readline: for example "\001\033[0;36;47m\002" # # Note that if you want to use curly brackets in your prompt, you have to # escape colorization by specifying a double brace, like {{...}}. # Using color codes is only usefull if readline support is compiled in sqsh. # \if [ "$version" = "sqsh-2.1.7" -o "$version" = "sqsh-2.1.6" ] \set prompt_color='{0;36;47}' \set text_color='{0;37}' \set prompt='$prompt_color[$histnum] $DSQUERY.$username.$database.$lineno>$text_color ' \set prompt2='$prompt_color[sqsh]-->$text_color ' \else \set prompt='[$histnum] $DSQUERY.$username.$database.$lineno> ' \set prompt2='[sqsh]--> ' \fi # # cd # # Replacement for issuing a 'use ' with the following # exceptions: # o There is no need to issue a 'go' (that is done for you) # o Issuing a 'cd -' will return you to the previous # database you were using (provided that you switched to # this database using cd as well). # o Just 'cd' will return you to the master database. # \func -x cd \if [ $# -gt 1 ] \echo "usage: cd [ db | - ]" \return 1 \fi \if [ $# -eq 1 ] \set parm=${1} \else \set parm=master \fi \if [ "${parm}" = "-" ] \set db=${prev_db} \else \set db=${parm} \fi \if [ -z "${db}" ] \set db=master \fi \set cur_db=$database use $db go \if [ $? -eq 0 ] \set prev_db=$cur_db \fi \done # # \db # # Lists the names of all databases in the system. # \func -x \db select name = convert(varchar(30),name) from master..sysdatabases order by name go -f \done # # \logins # # Show logins # \func -x \logins declare @allauth int select @allauth = low from master.dbo.spt_values where type="ua" and upper(name) = 'ANY' select "Suid" = l.suid ,"Name" = convert(varchar(25),l.name) ,"Pwdate" = l.pwdate ,"Auth mech" = convert(char(12), isnull(v.name,'NONE')) ,"Default database" = convert(varchar(30),l.dbname) from master.dbo.spt_values v ,master.dbo.syslogins l where v.low =* (l.status & @allauth) and v.type ="ua" order by l.suid go \done # # \obj # # Where is a valid type as defined in the type column # of sysobjects. This function will list the name of all # objects matching that type. # \func -x \obj \if [ $# -ne 1 ] \echo "use: \obj [U|V|S|TR|P|...]" \return 1 \fi set quoted_identifier off select name = convert(varchar(30),name) from sysobjects where type = "${1}" order by name go \done # # \rc # # Generate sp_dbcc_runcheck statements for all databases configured in dbccdb. # \func -x \rc select distinct "exec sp_dbcc_runcheck " + db_name(dbid) as "DBCC checkstorage/checkverify" from dbccdb..dbcc_config where dbid > 0 order by dbid go -f \done # # \switch # # Reconnect to another server using the same username and password as the # current connection and take care of the history buffers of the old and new # server. # \func -x \switch \if [ $# -ne 1 ] \echo "Use: \switch server_name" \return 1 \fi \hist-save \set history="" \buf-del 1-$histnum \echo "Switch connection to server ${1}" \reconnect -S${1} \if [ "${DSQUERY}" != "${1}" ] \echo "Switch to server ${1} failed" \fi \set history='$HOME/.sqsh/sqshhist_$DSQUERY' \hist-load \done # # \v # # Show the ASE version string. # \func -x \v print @@version go -h -f \done # # Set shortcut \h to display all history buffers # Set shortcut \hi to display last 20 history buffers with extended info # \alias \h='\history' \if [ "$version" = "sqsh-2.1.7" ] \alias \hi='\history -i -x20' \fi # # Start a bash login shell from sqsh # \alias \s='\shell bash -l' # # Set short aliases for style # \alias \hori='\set style=horizontal' \alias \vert='\set style=vertical' sqsh-2.1.7/doc/sample.sqsh_m40100664000076500007650000000312610034772564016306 0ustar mpepplermpepplerdivert(-1) dnl dnl $Id: sample.sqsh_m4,v 1.1.1.1 2004/04/07 12:35:00 chunkm0nkey Exp $ dnl dnl .sqsh_m4 - Example m4 macros for use with sqsh dnl dnl Several of the following macros come from: dnl dnl "Optimizing Transact SQL", by David Rozenshtein, et al. dnl Copyright (C) 1995, by SQL Forum Press dnl ISBN: 0-9649812-0-3 dnl dnl a pretty handy book to keep around. dnl dnl Note that the call to changequote is very important because dnl m4's default quoting mechanism conflicts with sqsh's command dnl substition feature. Also, the call to divert, above, is to dnl keep lots of blank lines being generated in the SQL Buffer. dnl changequote([,]) define([EQ], (1-abs(sign([$1]-[$2])))) define([NE], (abs(sign([$1]-[$2])))) define([LT], (1-sign(1+sign([$1]-[$2])))) define([LTE], (sign(1+sign([$1]-[$2])))) define([GT], (1-sign(1-sign([$1]-[$2])))) define([GTE], (sign(1+sign([$1]-[$2])))) define([ZERO], (1-abs(sign([$1])))) define([NZERO], (abs(sign([$1])))) define([DIV], ((NZERO([$2])*[$1])/([$2]+ZERO([$2])))) define([GREATEST], [ifelse($#, 2,[((($2)*LT($1,$2))+(($1)*GTE($1,$2)))], [GREATEST($1,GREATEST(shift($@)))])]) define([LEAST], [ifelse($#, 2,[((($1)*LTE($1,$2))+(($2)*GT($1,$2)))], [LEAST($1,LEAST(shift($@)))])]) define([DROP_TABLE], [IF EXISTS (SELECT 1 FROM sysobjects WHERE name = "translit([$1],[ ])" AND type = "U") DROP TABLE $1]) define([DROP_PROCEDURE], [IF EXISTS (SELECT 1 FROM sysobjects WHERE name = "translit([$1],[ ])" AND type = "P") DROP PROCEDURE $1]) divert(0) sqsh-2.1.7/doc/sample.sqshrc0100664000076500007650000000576510034772565016247 0ustar mpepplermpeppler# $Id: sample.sqshrc,v 1.1.1.1 2004/04/07 12:35:01 chunkm0nkey Exp $ # # .sqshrc - Example sqsh initialization file # # $password : Setting your password within your .sqshrc is probably # the most secure method of using sqsh. However, make # sure that you 'chmod go-rwx ~/.sqshrc', otherwise you # leave yourself wide open to attacks. # \set password=xxxxxxx # # $semicolon_hack : This turns on the ability to use a semicolon as # a sort of in-line go. It is kind of hacky but seems # to work pretty well. # \set semicolon_hack=on # # $prompt : The value of this variable is expanded each time the # prompt is displayed. It may contain variables and # even command substitutions (note that $date and $time # are the more efficient ways of displaying the current # date than `date`). # \set prompt='[$histnum] ${DSQUERY}.${database}.${lineno}> ' # # $histsize : This variable is used to configure the number of # previous batches that have been executed by sqsh, # setting this variable high uses up a little extra # memory, and makes it a little harder to find the # query that you are looking for, but comes in handy. # \set histsize=20 # # $exit_failcount : This variable causes sqsh to exit with an exit # status of the total number of batches that failed # during the current session. This is useful for use # within shell scripts and the such. # \set exit_failcount=on # # $keyword_completion : This variable is used to configure what sort # of keyword (tab) completion is performed by GNU Readline, # it only has an affect if readline support is compiled # into sqsh, otherwise it is effectively ignored. # \set keyword_completion=smart # # $history_shorthand : Turns on the ability to perform csh-style # history recall on the command line, such as !20. # \set history_shorthand=on # # $filter_prog : When sqsh is run with -t, or -t is passed to \go, # the following program will be used to filter the # command batch prior to being shipped off to SQL # server. Note, that this settings looks for a set of # m4 macros in $HOME/.sqsh_m4. # # For you cpp fans, since cpp doesn't support the # inclusion of a header file on the command line, # like m4, you can try something like: # # \set filter_prog="cat $HOME/.sqsh_cpp - | cpp -C -P" # # Assuming that your version of cpp can read from stdin. # \set filter_prog="m4 $HOME/.sqsh_m4 -" # # The following alias is used to act as a replacement for the # '\go | more' command. It is smart enough to carry over any # parameters to \go. If you always want "more" support then # you can do "\alias \go='\go !* | more'". # \alias mo='\go !* | more' # # The following alias's create a more 'isql-like' environment. # \alias :r='\buf-load -a !*' sqsh-2.1.7/doc/sqsh.10100664000076500007650000042666411336752152014602 0ustar mpepplermpeppler.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "sqsh 1" .TH sqsh 1 "2010-02-17" "2.1.7" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" sqsh \- Interactive database shell (version 2.1.7) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 10 \& sqsh [[options]] [[args......]] \& [ \-a count ] \& [ \-A packet_size ] \& [ \-b ] \& [ \-B ] \& [ \-c [cmdend] ] \& [ \-C sql ] \& [ \-d severity ] \& [ \-D database ] \& [ \-e ] \& [ \-E editor ] \& [ \-f severity ] \& [ \-G tds_version ] \& [ \-h ] \& [ \-H hostname ] \& [ \-i filename ] \& [ \-I interfaces ] \& [ \-J charset ] \& [ \-k keywords ] \& [ \-K keytab] \& [ \-l debug_flags ] \& [ \-L var=value ] \& [ \-m style ] \& [ \-n on|off ] \& [ \-N appname ] \& [ \-o filename ] \& [ \-p ] \& [ \-P [password] ] \& [ \-Q query_timeout ] \& [ \-r [sqshrc] ] \& [ \-R server principal ] \& [ \-s colsep ] \& [ \-S server ] \& [ \-t [filter] ] \& [ \-T login_timeout ] \& [ \-U username ] \& [ \-v ] \& [ \-V [bcdimoqru]] \& [ \-w width ] \& [ \-X ] \& [ \-y directory ] \& [ \-z language ] \& [ \-Z [secmech|default|none] ] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Sqsh (pronounced skwish) is short for SQshelL (pronounced s\-q-shell), and is intended as a replacement for the venerable 'isql' program supplied by Sybase. It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work. .PP Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality. .SH "OPTIONS" .IX Header "OPTIONS" The following options may be used to adjust some of the behavior of sqsh, however a large portion of the configuration options are available only through environment variables which may be set at runtime or via a .sqshrc file. .PP Options may also be supplied in the \s-1SQSH\s0 environment variable. This variable is parsed prior to parsing the command line, so in most cases the command line will override the contents of the variable. Be aware that for options which are allowed to be supplied multiple times, such as \fB\-c\fR, supplying them both in a variable and on the command line will be the same as supplying them multiple times on the command line. .IP "\-a count" 4 .IX Item "-a count" Sets the maximum \fIcount\fR of failures (as determined by the \f(CW$thresh_fail\fR variable) that may occur before sqsh will abort. Setting this to 0 indicates that sqsh should not exit on errors. This value defaults to 0 and may also be set using the \f(CW$thresh_exit\fR variable. See section \fB\s-1EXIT\s0 \s-1STATUS\s0\fR for details. .IP "\-A packetsize" 4 .IX Item "-A packetsize" Specifies the size of the network \s-1TDS\s0 packets used to communicate with the \s-1SQL\s0 server. This value must be between 512 and 8192, and be a multiple of 512. Check your \s-1SQL\s0 Server configuration to determine supported packet sizes. This value may also be specified at run-time using the \f(CW$packet_size\fR variable. .IP "\-b" 4 .IX Item "-b" Suppress the banner message upon startup. This is unnecessary in cases where stdout has been redirected to a file. This option may also be set via the \&\f(CW$banner\fR variable. .IP "\-B" 4 .IX Item "-B" Turns off all buffering of stdin, stdout, and stderr. This feature allows sqsh to be run from an interactive control script such as chat and expect. .IP "\-c [cmdend]" 4 .IX Item "-c [cmdend]" Internally sqsh provides the command \fB\ego\fR to send a batch of \s-1SQL\s0 to the database and provides a single alias, \fBgo\fR for this command. Each time \&\fIcmdend\fR is supplied a new alias for \fB\ego\fR is established. .IP "\-C sql" 4 .IX Item "-C sql" Causes the \fIsql\fR command to be executed by sqsh, similar to the same behavior exhibited by the \-i flag. This \fIsql\fR statement may not contain double quotes (this limitation may be lifted in a future release of sqsh). .IP "\-d severity" 4 .IX Item "-d severity" Sets the minimum \s-1SQL\s0 Server error severity that will be displayed to the user. The default is 0, and valid ranges are from 0 to 22. This may also be set using the \f(CW$thresh_display\fR variable. See section \fB\s-1EXIT\s0 \s-1STATUS\s0\fR. .IP "\-D database" 4 .IX Item "-D database" Causes sqsh to attempt to start with your database context set to \fIdatabase\fR rather than your default database (usually master). This may also be set using the \f(CW$database\fR variable. .IP "\-e" 4 .IX Item "-e" Includes each command issued to sqsh to be included in the output. This option may also be set via the \f(CW$echo\fR variable (which is unrelated to the \fB\eecho\fR command). .IP "\-E editor" 4 .IX Item "-E editor" Set the default editor to \fIeditor\fR. This may also be set using the \s-1UNIX\s0 environment variable \f(CW$EDITOR\fR to the name of the editor desired. .IP "\-f severity" 4 .IX Item "-f severity" Sets the minimum \fIseverity\fR level considered a failure by sqsh. This is the same as setting the \f(CW$thresh_fail\fR variable. See section \fB\s-1EXIT\s0 \s-1STATUS\s0\fR for details. .IP "\-G tds_version" 4 .IX Item "-G tds_version" Set the \s-1TDS\s0 version to use. Valid versions are 4.0, 4.2, 4.6, 4.9.5, 5.0 and freetds additionally supports versions 7.0 and 8.0. The specified value is assigned to the variable \f(CW$tds_version\fR. Input validation is not performed by sqsh. However, when an invalid \s-1TDS\s0 version is specified, the default version of 5.0 will be used. After a session is setup, the variable \f(CW$tds_version\fR will be set to the \s-1TDS\s0 version in effect. The variable will not be available if option \&\-G is not used. Meant for test and debugging purposes only. .Sp \&\s-1TDS\s0 stands for Tabular Data Stream and is the communication protocol Sybase and Microsoft uses for Client-Server communication. .IP "\-h" 4 .IX Item "-h" Turns off column headers and trailing \*(L"(# rows affected)\*(R" from batch output. .IP "\-H hostname" 4 .IX Item "-H hostname" Sets the client hostname as reported in sysprocesses. This may also be set via the \f(CW$hostname\fR variable. .IP "\-i filename" 4 .IX Item "-i filename" Read all input from \fIfilename\fR rather than from stdin. .IP "\-I interfaces" 4 .IX Item "-I interfaces" When a connection is established to the database, the \fIinterfaces\fR file is used to turn the value of \f(CW$DSQUERY\fR into the hostname and port to which the connection will be made, by default this is located in \f(CW$SYBASE\fR/interfaces. This flag allows this default to be overridden. .IP "\-J charset" 4 .IX Item "-J charset" Specifies the character set to be used on the client side to communicate with \&\s-1SQL\s0 Server. This may also be set using the \f(CW$charset\fR environment variable. .IP "\-k keywords" 4 .IX Item "-k keywords" Specifies a file containing a list of keywords to be used for keyword tab completion, if readline support has been compiled into sqsh. This file may also be set via the \f(CW$keyword_file\fR variable, which defaults to \f(CW$HOME\fR/.sqsh_words. .IP "\-K keytab" 4 .IX Item "-K keytab" Kerberos support. Specify the keytab file name for \s-1DCE\s0. .Sp See the Kerberos Support section below for details. .IP "\-l debug_flags" 4 .IX Item "-l debug_flags" If sqsh has been compiled with \-DDEBUG, this option may be used to turn on and off debugging options. See the \f(CW$debug\fR variable, below. .IP "\-L var=value" 4 .IX Item "-L var=value" Sets the value of \f(CW$var\fR to \fIvalue\fR. This may be used to set the value of any sqsh variable even if an explicit command line variable is supplied for setting the variable. The \fB\-L\fR flag may be used to set the value of non-configuration variables as well. .IP "\-m style" 4 .IX Item "-m style" Changes the current display style to \fIstyle\fR. Currently supported styles are \&\fBhoriz\fR, \fBvert\fR, \fBbcp\fR, \fBcsv\fR, \fBhtml\fR, \fBmeta\fR, \fBpretty\fR and \fBnone\fR. The current display style may also be set using the \f(CW$style\fR variable or via the \fB\-m\fR flag to the \fB\ego\fR command. .IP "\-n on|off" 4 .IX Item "-n on|off" Enables chained transaction mode on connect (if set to on). Chained transaction mode is also known as \*(L"AutoCommit off\*(R" mode. .IP "\-N appname" 4 .IX Item "-N appname" Set the application name sqsh uses to identify itself to the \s-1SQL\s0 server. The application name can be retrieved from the server using the column \&\fBprogram_name\fR of the master.dbo.sysprocesses table. Defaults to \fIsqsh\-2.1.7\fR. .IP "\-o filename" 4 .IX Item "-o filename" Redirects all output to \fIfilename\fR rather than stdout. .IP "\-p" 4 .IX Item "-p" Display performance statistics upon completion of every \s-1SQL\s0 batch. This option may also be turned on via the \f(CW$statistics\fR variable, or by supplying the \fB\-p\fR flag to the \fB\ego\fR command. .IP "\-P [password]" 4 .IX Item "-P [password]" The Sybase \fIpassword\fR for \fIusername\fR required to connect to \fIserver\fR (default, \s-1NULL\s0). The \fIpassword\fR may also be set via \f(CW$password\fR. Supplying a password of '\-' causes the password to be read from the first line of stdin. .Sp sqsh takes pains to hide the password from any user trying to view the command line used to launch sqsh, so using \fB\-P\fR should not constitute a security hole. Alternatively, you can store your default password in .sqshrc file which is not readable by anyone other than yourself. (chmod 600 .sqshrc) .IP "\-Q value" 4 .IX Item "-Q value" Query timeout value (equivalent to isql's \-t option). If set, will timeout a long running query. Maps to the \fB\f(CB$query_timeout\fB\fR variable. .Sp For example: .Sp .Vb 9 \& sqsh \-SASE1502 \-Usa \-P \-Q30 \& ASE1502.sa.master.1> cd tix \& ASE1502.sa.tix.1> select count(*) from E_TIX; \& Open Client Message \& Layer 1, Origin 2, Severity 2, Number 63 \& ct_results(): user api layer: internal Client Library error: \& Read from the server has timed out. \& ASE1502: Query or command timeout detected, command/batch cancelled \& ASE1502: The client connection has detected this 1 time(s). .Ve .Sp See also the \fB\f(CB$max_timeout\fB\fR variable, which controls the number of times a timeout may occur on the current connection before the session is aborted. .IP "\-r [sqshrc]" 4 .IX Item "-r [sqshrc]" Specifies an alternate \fI.sqshrc\fR file to be processed, rather than the default. If no \fIsqshrc\fR is supplied following \fB\-r\fR, then no initialization files are processed. This flag \fBmust\fR be the first argument supplied on the command line, all other instances will be ignored. .IP "\-R server_principal" 4 .IX Item "-R server_principal" Kerberos support: Specifies a \fIserver principal\fR to use for network (Kerberos) authentication, if the server name in the interfaces file differs from the real server name. .Sp See the Kerberos Support section below for details. .IP "\-s colsep" 4 .IX Item "-s colsep" Causes the string \fIcolsep\fR to be used to delimit \s-1SQL\s0 column output columns, this defaults to \*(L" \*(R". .IP "\-S server" 4 .IX Item "-S server" The name of the Sybase \fIserver\fR to connect, the default of this is the external environment variable \f(CW$DSQUERY\fR. If neither \fB\-S\fR nor \f(CW$DSQUERY\fR is set then defaults to \*(L"\s-1SYBASE\s0\*(R". This value may also be set via the internal variable \&\f(CW$DSQUERY\fR. .IP "\-t [filter]" 4 .IX Item "-t [filter]" Enables filtering of command batches through an external program, \fIfilter\fR, and prior to being sent to the \s-1SQL\s0 Server. If \fIfilter\fR is not supplied, then \&\f(CW$filter_prog\fR is used (default is 'm4 \-'). This value may also be set via the \&\f(CW$filter\fR and \f(CW$filter_prog\fR variables. .IP "\-T value" 4 .IX Item "-T value" Specifies the login timeout (similar to isql's \-l flag). If set specifies the number of seconds \fIsqsh\fR will wait before timing out a login request. Maps to the \fB\f(CB$login_timeout\fB\fR variable. .IP "\-U username" 4 .IX Item "-U username" The Sybase \fIusername\fR to connect to the database as, this defaults to the username of the user running \fIsqsh\fR. The \fIusername\fR may also be set via the \&\f(CW$username\fR variable. .IP "\-v" 4 .IX Item "-v" Displays the version number, \f(CW$version\fR, and exits. .IP "\-V [bcdimoqru]" 4 .IX Item "-V [bcdimoqru]" Kerberos support: Specify the security options to use. .Sp See the Kerberos Support section below for details. .IP "\-w width" 4 .IX Item "-w width" The maximum output \fIwidth\fR of a displayed result set, this defaults to your screen width in interactive mode. .IP "\-X" 4 .IX Item "-X" Initiates the login connection to the server with client-side password encryption (if supported). If either \s-1SQL\s0 Server does not recognize this option, or if the version of CT-Lib used to compile \fIsqsh\fR does not support this option, then it will be ignored. This option may also be set using the \&\f(CW$encryption\fR environment variable. .IP "\-y directory" 4 .IX Item "-y directory" Specifies a \s-1SYBASE\s0 \fIdirectory\fR to use other than the value of \f(CW$SYBASE\fR in order to find the interfaces file. .IP "\-z language" 4 .IX Item "-z language" Specifies an alternate \fIlanguage\fR to display sqsh prompts and messages. Without the \fB\-z\fR flag, the server's default language will be used. This may also be set using the \f(CW$language\fR variable. .IP "\-Z [secmech|default|none]" 4 .IX Item "-Z [secmech|default|none]" Kerberos support: Specify the security mechanism to use. .Sp See the Kerberos Support section below for details. .IP "args..." 4 .IX Item "args..." If sqsh is run with the \fB\-i\fR flag specifying an input file to be processed (rather than initiating an interactive session), arguments may be supplied on the command line to be passed to the input file. These arguments may be accessed using the variables ${0}, ${1}, ... (see the \fBVariables\fR section, below, for more information). .SS "Initialization" .IX Subsection "Initialization" Upon startup, sqsh initializes all internal environment variables, commands, and aliases to their default values, it then looks in the system-wide configuration file (usually /usr/local/etc/sqshrc), followed by a local configuration file \&\f(CW$HOME\fR/.sqshrc (this may be overridden via the \s-1SQSHRC\s0 external environment variable). If this file is found it is executed just like a script would be using the \fB\-i\fR flag. .PP The \fI.sqshrc\fR file may contain anything that could normally be typed at the prompt, however it should be noted that at the time this file is read sqsh has yet to establish a connection to the database, however most commands that perform database activity, such as \fB\ego\fR will attempt to establish a database connection when executed (it may also prompt you for a password if necessary). Also, if database activity is required within this startup file, the \fB\econnect\fR command (see \fB\s-1COMMANDS\s0\fR, below) may be executed. .PP After the \fI.sqshrc\fR file has been executed, \fIsqsh\fR then parses any command line options (thus any variables set in your \fI.sqshrc\fR file may be overridden by command line options). Following that, if \fIsqsh\fR is run in interactive mode (i.e. without \fB\-i\fR and if stdin is attached to a tty), it then looks for \&\fI.sqsh_history\fR and loads the contents of that file into this history buffer (see \fB\s-1BUFFERS\s0\fR, below). .PP Immediately prior to establishing a connection to the database (either during startup, or by an explicit \fB\econnect\fR or \fB\ereconnect\fR command), the file \&\f(CW$HOME\fR/.sqsh_session is executed. The name of this file may be overridden using the \f(CW$session\fR variable. .SS "Command line" .IX Subsection "Command line" When a line is first read by \fIsqsh\fR, the first word is separated from the line. This word is then expanded of all variables (see \fBVariable Substitution\fR, below), followed by command expansion (see \fBCommand Substitution\fR, below). The first word of the resulting string is then analyzed to see if it is either a valid \fIsqsh\fR command or alias. .PP The \fIsqsh\fR command line follows many of the same rules as Bourne shell, allowing file redirection, pipelining, command substitution, and back-grounding via the same syntax. .SS "Comments" .IX Subsection "Comments" Any line beginning with a \fB#\fR followed by a non-alphanumeric character (any character other than 0\-9, a\-z, A\-Z, and _) causes the entire line to be ignored. Because of the possible collision with T\-SQL session specific temp-table names, the line will not be ignored if the first character following the \fB#\fR, is alphanumeric. .SS "Quoting" .IX Subsection "Quoting" Quoting is used to prevent the interpretation of special keywords or characters to sqsh, such as white-space, variable expansion, or command substitution. There are three types of quoting, \fIescape\fR, \fIsingle-quotes\fR, and \fIdouble-quotes\fR. .PP Enclosing characters in single quotes preserves the literal interpretation of each character contained within the quotes. A single quote may not appear within single quotes, even when preceded by an escape. For example: .PP .Vb 1 \& 1> \eecho I can not expand \*(Aq$username\*(Aq .Ve .PP outputs .PP .Vb 1 \& I can not expand $username .Ve .PP The characters \e\e are used to escape the meaning (and thus prevent the interpretation) of the character immediately following them. The \e character itself may be escaped. For example: .PP .Vb 1 \& 1> \eecho I can\e\e\*(Aqt expand \*(Aq$username\*(Aq .Ve .PP outputs .PP .Vb 1 \& I can\*(Aqt expand $username .Ve .PP The escape character may also be used to escape a new-line in order to perform a line continuation, in this case the new-line is discarded and the continued line is automatically appended to the previous line, for example: .PP .Vb 3 \& 1> \eecho Hello \e\e \& \-\-> World! \& Hello World! .Ve .PP Enclosing characters in double quotes preserves the literal meaning of all characters within them with the exception of \fB$\fR, \fB'\fR, and \fB\e\e\fR. A double quote may be contained within double quotes by escaping it. .PP .Vb 1 \& 1> \eecho "\e\e"I can\*(Aqt deny it, I like $username\e\e", she said" .Ve .PP prints out .PP .Vb 1 \& "I can\*(Aqt deny it, I like gray", she said .Ve .SS "Expansion" .IX Subsection "Expansion" After a line of input has been read, \fIsqsh\fR attempts to expand the line of any aliases (see \fBAliasing\fR, below), following that it attempts to determine if the line begins with a command keyword. Once a line has been determined to contain a command name it has two types of expansion performed up it: \fIvariable substitution\fR, followed by \fIcommand substitution\fR respectively. Following this expansion the command line is separated into words and the command is executed. .SS "Variable Substitution" .IX Subsection "Variable Substitution" The character $ is used to indicate variable substitution or expansion within a word. These variables may be assigned values by the \fB\eset\fR command like so: .PP .Vb 1 \& 1> \eset name=value .Ve .PP \&\fIname\fR may be a character or underscore followed by any combination of characters, digits, or underscore, and may not contain any special characters, such as (') and ("). The restriction on the first character being a digit is introduced because \s-1SQL\s0 allows the representation of money data types as \f(CW$nn\fR.nn where n is a digit. .PP \&\fIvalue\fR may contain anything, however if it is to include white-space, then it must be quoted (see \fBWords & Quoting\fR, above). Note that in order to prevent the expansion of a variable use either single quotes, or two \e's, like thus: .PP .Vb 2 \& 1> \eecho \e\e$name \& $name .Ve .PP Variables may be referenced in one of two ways: .PP \&\f(CW$variable\fR In this manner all characters, digits, and underscores are treated as the \fIname\fR of the variable until another type of character is reached (either a special character, or a white-space). ${variable} The braces are required only when \fIvariable\fR is followed by a letter, digit, or underscore that is not to be interpreted as part of its name. Note that the same effect may be achieved using double quotes. .PP It should be noted that because the variables are expanded prior to breaking the command line into words, if the contents of the variable contain white spaces, they are treated as significant by the parser. In the following example: .PP .Vb 2 \& 1> \eset x="1 2 3" \& 1> \eecho $x .Ve .PP the \fB\eecho\fR command receives three arguments, \*(L"1\*(R", \*(L"2\*(R", and \*(L"3\*(R", although it looks as if only one argument was passed to it. This behavior is consistent with most shells (such as csh, bourne shell, etc.). .SS "Command Substitution" .IX Subsection "Command Substitution" \&\fISqsh\fR supports a second form of expansion called \fIcommand substitution\fR. This form of expansion substitutes a command on the command line with the output of the external \s-1UNIX\s0 command. This expansion may be achieved by placing the command line to be executed in back-quotes (`). For example: .PP .Vb 3 \& 1> \eset password=\`/sybase/bin/getpwd $DSQUERY\` \& 1> \eecho $password \& ilikepickles .Ve .PP This example, the external program \fB/sybase/bin/getpwd\fR is executed with the current contents of the \f(CW$DSQUERY\fR environment variable, the entire expression is then replaced with the output of \fBgetpwd (ilikepickles)\fR prior to executing the \&\fB\eset\fR command. By default, the output of the substituted command is first broken into words according to the contents of the \f(CW$ifs\fR variable prior to assembling together back into the command line. So, by overriding the contents of \f(CW$ifs\fR you may affect the behavior of the substitution process. .PP For example: .PP .Vb 3 \& 1> \eset ifs=":" \& 1> \eecho \`echo hello:how:are:you\` \& hello how are you .Ve .PP This mechanism is frequently useful for parsing input files, such as \&\fB/etc/passwd\fR into fields. .SS "Input/Output Redirection" .IX Subsection "Input/Output Redirection" As with standard Bourne shell (and most other shells, for that matter), a command's input and output may be redirected using a special notation interpreted by the shell. The following may appear anywhere on the command line, but only redirection that is specified \fIprior\fR to a pipe (|) actually has any effect on the behavior of internal sqsh commands (refer to \fBPipes\fR, below). .IP "word" 4 .IX Item "[n]>word" Associate the output of file descriptor \fIn\fR (stdout, by default) with file \&\fIword\fR. If this file does not exist it is created; otherwise it is truncated to zero length. .IP "[n]>>word" 4 .IX Item "[n]>>word" Append the output of file descriptor \fIn\fR (stdout, by default) to file \fIword\fR, creating it if it does not exist. .IP "[m]>&n" 4 .IX Item "[m]>&n" Redirect the output of file descriptor \fIm\fR (stdout by default), to same output as file descriptor \fIn\fR. The order in which redirections are specified on the command line is significant, as the redirections are evaluated left-to-right. For example: .Sp .Vb 2 \& 1> select * from select /* syntax error */ \& 2> \ego >/tmp/output 2>&1 .Ve .Sp This statement first redirects the standard output of the \fB\ego\fR command to the file \fI/tmp/output\fR, then redirects the stderr to the same file. So, when the commands fails, the error output will be found in the file \fI/tmp/output\fR. .Sp However, by changing the order of redirection, you can completely change the meaning: .Sp .Vb 5 \& 1> select * from select \& 2> \ego 2>&1 >/tmp/output \& Msg 156, Level 15, State 1 \& Server \*(AqSQSH_TEST\*(Aq, Line 1 \& Incorrect syntax near the keyword \*(Aqselect\*(Aq. .Ve .Sp In this case, error output will be sent to stdout, while what would have gone to stdout is redirected to \fI/tmp/output\fR (in this case \fI/tmp/output\fR will be empty). .PP Please read the section on \fBBackground Jobs\fR, below, for detailed info on the interaction between file redirection and background jobs. .SS "Pipes" .IX Subsection "Pipes" A \fIpipeline\fR is a sequence of one or more commands separated by a '|', each command using the stdout of the preceding program for its own stdin. However the first command in the \fIpipeline\fR must be a sqsh command, and all other commands must be external (or \s-1UNIX\s0) programs. Any sqsh command may be run through a pipeline, although for many of them (such as the \fB\eset\fR command) it doesn't really make any sense to do this. The following is an example of a \fIpipeline\fR: .PP .Vb 2 \& 1> select * from syslogins \& 2> \ego | more .Ve .PP This command causes the result set generated by the \fB\ego\fR command to be sent to the \fB\f(BImore\fB\|(1)\fR program, which then sends it to your screen, pausing at each screen full of data (this is the primary reason that I wrote sqsh). .PP There are several peculiarities in the way in which sqsh deals with \fIpipelines\fR as opposed to the way in which standard Bourne shell treats them. .PP Everything following the first occurrence of a pipe (|) character is broken into white-space delimited words, including such special shell commands as '2>&1' and other occurrences of pipes. If there are any variables contained in these words they are expanded following the same quoting rules as described in \&\fBWords & Quoting\fR, above, with the one exception that all quotes are left in place. These words are then reassembled into a single string and shipped off to /bin/sh for processing. .PP In short, sqsh makes no attempt to interpret what follows the first pipe, instead it is shipped off to a \*(L"real\*(R" shell to do the work. The rationale behind this is that I was lazy and didn't feel like writing all of the same bizarre variable handling, &&'ing, ||'ing, grouping, and variable expansion rules that Bourne shell supports, and instead I let Bourne do the dirty work. .PP The advantage of this method is that you can do some very complex stuff after the pipeline, such as: .PP .Vb 2 \& 1> select * from syscolumns \& 2> \ego | (cd /tmp; compress \-c > sysolumns.Z) .Ve .PP Not that I can think of any real reason to do this...but you can if you want to. .SS "Background Jobs" .IX Subsection "Background Jobs" Backgrounding provides a mechanism whereby you may run any sqsh command as a background process and continue working while it runs. Sqsh offers two types of backgrounding: .IP "Deferred" 4 .IX Item "Deferred" In this mode sqsh redirects all output of the background job to a temporary file (located in the directory \f(CW$tmp_dir\fR) while the job is running, so that the output is not intermixed with what you are currently working on. When the job completes you are notified of the process completion and the output may be viewed using the \fB\eshow\fR command. .IP "Non-Deferred" 4 .IX Item "Non-Deferred" This corresponds to the common idea of a background process under \s-1UNIX\s0. In this mode the output of the job is not implicitly redirected for you, and thus may become intermingled with what you are currently working. The mode selection you choose is selectable via the \f(CW$defer_bg\fR variable (which defaults to '1', or \&'On'). Typically the only reason to not use \fIdeferred\fR mode is to prevent large result sets from filling up your file system. .PP To specify that a job be run in the background, simply append a & to the end of the command line, as: .PP .Vb 4 \& 1> sp_long_arduous_proc 1, 30 \& 2> \ego & \& Job #1 running [xxxx] \& 1> .Ve .PP When sqsh encounters the & on the end of the command line it spawns a child process (with a Unix process id of \fIxxxx\fR) then the child process calls the \&\fB\ego\fR. \fB\ego\fR command then establishes a new connection to the database (using the current values of the \f(CW$DSQUERY\fR, \f(CW$username\fR, \f(CW$password\fR variables) and executes the shown query. While the job is executing the commands \fB\ejobs\fR \fB\ewait\fR and \&\fB\ekill\fR may be used to monitor or alter a currently running job (see section \&\fB\s-1COMMANDS\s0\fR, below). When any job completes sqsh will display a notification, such as: .PP .Vb 3 \& 1> select count(*) from \& Job #1 complete (output pending) \& 2> .Ve .PP When a job completes, if it had no output, it is immediately considered terminated and will not show up in the current list of running jobs. However if the complete job has pending output, it will continue to be displayed as a running job (with the \fB\ejobs\fR command) until a \fB\eshow\fR is used to display the output of the job. .PP There is a known bug with job backgrounding when used in conjunction with pipes, please refer to the \fB\s-1BUGS\s0\fR section at the end of the manual. .SS "Buffers" .IX Subsection "Buffers" In normal \fBisql\fR only two buffers are maintained; the buffer into which you are currently typing, and a buffer that contains the last batch executed (this is kept around for when you run 'vi', or 'edit'). .PP Sqsh maintains several distinct sets of buffers: .PP \&\fBWork Buffer\fR: This buffer corresponds directly to the \fBisql\fR work buffer. It is the buffer into which you enter the current batch prior to sending it to the database. .PP \&\fBHistory Buffer\fR: This is actually a chain of 0 or more buffers (configurable by the \f(CW$histsize\fR variable) of the last \f(CW$histsize\fR batches that have been run. This buffer is only maintained when sqsh is run in interactive mode; that is, batches executed using the \fB\-i\fR flag, or executed via redirection from the \s-1UNIX\s0 prompt will not be maintained in history (after all, they are already in a file somewhere). .PP If the variable \f(CW$histsave\fR is True (see section \fB\s-1SPECIAL\s0 \s-1VARIABLES\s0\fR), and sqsh is in interactive mode, then the current history buffer is written to \&\f(CW$HOME\fR/.sqsh_history when you exit. This file is then read back into sqsh the next time it is started in interactive mode. .PP \&\fBNamed Buffers\fR: At any time during a session the \fBWork Buffer\fR, or any of the \&\fBHistory Buffers\fR may be copied into a named buffer using the \fB\ebuf\-copy\fR command (see section \fB\s-1COMMANDS\s0\fR, below). These buffers are lost when you exit (however you may use the \fB\ebuf\-save\fR command to save named buffers to a file). .PP \fIBuffer Short-Hand\fR .IX Subsection "Buffer Short-Hand" .PP Many commands allow all of these buffers to be referenced in a short-hand fashion, very similar to the way that \fB\f(BIcsh\fB\|(1)\fR references its commands history. Any of these shorthands may be used for any \fIbuffer\fR parameter described in the \&\fB\s-1COMMANDS\s0\fR section: .IP "!." 4 The current work buffer. .IP "!!" 4 The last command executed (note, this is not available in non-interactive mode as it does not maintain a history). .IP "!+" 4 The next available history entry. This is a write-only buffer, so typically only applies to such commands as \fB\ebuf\-copy\fR. .IP "!n" 4 .IX Item "!n" Refers to history #n. Each time an entry is written to history it is assigned an increasing number from the last entry, with this short-hand you may reference any given history. .IP "!buf_name" 4 .IX Item "!buf_name" Just for consistency this is supplied as a reference to named buffer \&\fIbuf_name\fR, however \fIbuf_name\fR without the leading '!' is also considered correct. .IP "buf_name" 4 .IX Item "buf_name" Refers to the named buffer \fIbuf_name\fR. .PP \fIVariables\fR .IX Subsection "Variables" .PP Variables may also be contained within work buffers. Under these circumstances the variables remain unexpanded until the buffer is sent to the database (via the \fB\ego\fR command), during which time they are expanded and replaced within the buffer. This behavior may be altered via the \f(CW$expand\fR variable. (see \fBSpecial Variables\fR, below). .PP The following is an example of using variables within a buffer: .PP .Vb 3 \& 1> \eset table_name=syscolumns \& 1> select count(*) from $table_name \& 2> \ego .Ve .PP This is the equivalent of performing the query: .PP .Vb 2 \& 1> select count(*) from syscolumns \& 2> \ego .Ve .PP directly. Typically this feature is useful for reusing large complex \fBwhere\fR clauses, or long column names. .PP Quoting rules apply the same in \s-1SQL\s0 buffers as they do in command lines. That is, any variables contained within double quotes (") are expanded and variables contained within single quotes (') are left untouched. Thus: .PP .Vb 2 \& 1> select "$username", \*(Aq$username\*(Aq \& 2> \ego .Ve .PP yields the results .PP .Vb 2 \& \-\-\-\- \-\-\-\-\-\-\-\-\- \& gray $username .Ve .PP \fICommand Substitution\fR .IX Subsection "Command Substitution" .PP As with the command line, the output of \s-1UNIX\s0 commands may also be substituted within a \s-1SQL\s0 buffer upon execution (once again, only if the \f(CW$expand\fR variable is set to 1, or true). In this circumstance the command contained within back quotes (`) is replaced with its output prior to forwarding the buffer to \s-1SQL\s0 server. For example: .PP .Vb 2 \& 1> select count(*) from \`echo syscolumns\` \& 2> \ego .Ve .PP Causes the strings 'echo syscolumns' to be replaced by the word \&\fIsyscolumns\fR prior to executing the command. It should be noted that the contents of the substituted command are only executed at the time of the \fB\ego\fR command, not when the line of \s-1SQL\s0 is input. .SS "Flow-of-Control" .IX Subsection "Flow-of-Control" New with version 2.0 of sqsh, is the ability to perform basic flow-of-control and functions using the \fB\eif\fR, \fB\ewhile\fR, \fB\edo\fR, and \fB\efunc\fR commands. .PP \fIBlocks & \s-1SQL\s0 Buffers\fR .IX Subsection "Blocks & SQL Buffers" .PP All sqsh flow-of-control commands are block-based. That is, if the test expression of the command is met, then a block of sqsh-script will be executed. For example, the definition of the \fB\eif\fR command is: .PP .Vb 3 \& \eif expression \& block \& \efi .Ve .PP This \fIblock\fR may be any number of lines of sqsh commands, \s-1SQL\s0, or flow-of-control statements to be executed if the \fIexpression\fR evaluates to a success condition (0). .PP Each \fIblock\fR has its own \s-1SQL\s0 buffer for the duration that the \fIblock\fR is executed. That is, the following statements: .PP .Vb 10 \& 1> /* \& 2> ** IMPROPER USAGE OF IF BLOCK \& 3> */ \& 4> select count(*) from \& 5> \eif [ $x \-gt 10 ] \& 6> sysobjects \& 7> \eelse \& 8> sysindexes \& 9> \efi \& 5> go .Ve .PP will yield: .PP .Vb 3 \& Msg 102, Level 15, State 1 \& Server \*(Aqbps_pro\*(Aq, Line 1 \& Incorrect syntax near \*(Aqfrom\*(Aq .Ve .PP because the string 'sysobjects' or 'sysindexes' were inserted into their own \s-1SQL\s0 buffers. These buffers are discarded as soon as the end of the block was reached, and since a \fB\ego\fR command was not contained within the block, no additional errors were generated. .PP Thus, the correct way to write the above expression would be: .PP .Vb 10 \& 1> /* \& 2> ** PROPER USAGE OF IF BLOCK \& 3> */ \& 4> \eif [ $x \-gt 10 ] \& 5> select count(*) from sysobjects \& 6> go \& 7> \eelse \& 8> select count(*) from sysindexes \& 9> go \& 10> \efi .Ve .PP or, even: .PP .Vb 10 \& 1> /* \& 2> ** PROPER USAGE OF IF BLOCK \& 3> */ \& 4> \eif [ $x \-gt 10 ] \& 5> \eset table_name=sysobjects \& 6> \eelse \& 7> \eset table_name=sysindexes \& 8> \efi \& 4> select * from $table_name \& 5> go .Ve .PP Also, note that the line number displayed in the sqsh prompt resets to the current position in the outer \s-1SQL\s0 buffer after reaching the \fB\efi\fR terminator. .PP \fIExpressions\fR .IX Subsection "Expressions" .PP All flow-of-control statements in sqsh take an \fIexpression\fR to determine which \&\fIblock\fR of code to execute. Just like \s-1UNIX\s0's Bourne Shell, this \fIexpression\fR is simply an operating system program that is executed by sqsh. If the command returns a success status (calls \fIexit\fR\|(0)), then it is considered successful. .PP For example, with following statement: .PP .Vb 3 \& \ewhile test $x \-lt 10 \& block \& \edone .Ve .PP will execute the contents of \fIblock\fR while the current value of \f(CW$x\fR is less than 10. Note that 'test' is a standard \s-1UNIX\s0 program to perform basic string or numeric comparisons (among other things). Also, unlike many shells, sqsh has no built-in version of 'test'. .PP Sqsh does, however, support the standard short form of 'test': .PP .Vb 3 \& \ewhile [ $x \-lt 10 ] \& block \& \edone .Ve .PP With this expression the open brace ('[') is replaced by the sqsh parser with 'test', and the close brace (']') is discarded. .PP \fIUnsupported Expressions\fR .IX Subsection "Unsupported Expressions" .PP Currently sqsh does not support the standard shell predicate operators '&&' and '||'. These can be performed like so: .PP .Vb 3 \& \eif sh \-c "cmd1 && cmd2" \& block \& \edone .Ve .PP \eif statement .IX Subsection "if statement" .PP The \fB\eif\fR command performs conditional execution of a sqsh \fIblock\fR based upon the outcome of a supplied expression: .PP .Vb 7 \& \eif expr1 \& block1 \& \eelif expr2 \& block2 \& \eelse \& block3 \& \efi .Ve .PP In this example, if expression \fIexpr1\fR evaluates to true, then the block \&\fIblock1\fR is evaluated. Otherwise, if the expression \fIexpr2\fR evaluates to true, then block \fIblock2\fR is evaluated. Finally, if all other tests fail \fIblock3\fR is evaluated. .PP Note that, unlike Bourne Shell, every \fB\eif\fR command must be accompanies by a trailing \fB\efi\fR statement. Also the sqsh parser is not terribly intelligent: The \&\fB\eelse\fR and \fB\efi\fR statements must be the only contents on the line in which they appear, and they may not be aliased to another name. .PP \ewhile statement .IX Subsection "while statement" .PP The \fB\ewhile\fR command executes a \fIblock\fR of sqsh code for the while a supplied expression remains true. .PP .Vb 3 \& \ewhile expr \& block \& \edone .Ve .PP In this example, while the expression \fIexpr\fR evaluates to true, then the block \&\fIblock\fR is evaluated. .PP The \fB\ebreak\fR statement may be used to break out of the inner-most \fB\ewhile\fR or \&\fB\efor\fR loop (more on \fB\efor\fR below). .PP \efor statement .IX Subsection "for statement" .PP The \fB\efor\fR command executes a \fIblock\fR of sqsh code for each \fIword\fR supplied: .PP .Vb 3 \& \efor var in word ... \& block \& \edone .Ve .PP For each \fIword\fR supplied, the value of the variable \fB\f(CB$var\fB\fR is set to the word and the \fIblock\fR of code is executed. Execution ends when there are no more words in the list. .PP As with \fB\ewhile\fR the \fB\ebreak\fR statement may be used to break out of the inner-most execution loop. .PP \edo command .IX Subsection "do command" .PP The \fB\edo\fR command is kind of a cross between a statement and a command. .PP It is a form of \fB\ego\fR (see below for details on the \fB\ego\fR command) in which a \&\fIblock\fR of sqsh code may be executed for each row of data returned from the query. When the \fIblock\fR is executed, special sqsh variables #[0\-9]+ (a hash followed by a number) may be used to reference the values in the returned query. For example the following command: .PP .Vb 8 \& select id, name from master..sysdatabases \& \edo \& \eecho "Checkpointing database #2, dbid #1" \& use #2 \& go \& checkpoint \& go \& \edone .Ve .PP would cause a \s-1CHECKPOINT\s0 command to be issued in each database on the server. .PP Command line options .IX Subsection "Command line options" .PP The \fB\edo\fR command establishes a new connection to be used by the \fIblock\fR of code when executed. By default, this connection is established to the current server (the current setting of \fB\f(CB$DSQUERY\fB\fR), using the current username (\fB\f(CB$username\fB\fR) and the current password (\fB\f(CB$password\fB\fR). This behavior may, however, be overridden using command line options: .IP "\-D database" 4 .IX Item "-D database" Establishes the connection to the database as the supplied \fIdatabase\fR. .IP "\-U username" 4 .IX Item "-U username" Establishes the connection to the server as the supplied \fIusername\fR. .IP "\-P password" 4 .IX Item "-P password" Establishes the connection to the server using the supplied \fIpassword\fR (which is hopefully a valid password for the supplied \fIusername\fR). .IP "\-S server" 4 .IX Item "-S server" Establishes the connection to the supplied \fIserver\fR. .IP "\-n" 4 .IX Item "-n" Do not create a connection for use by the \fB\edo\fR loop. This flag is mutually exclusive with the above flags. With this flag enabled, attempts to perform database commands within the \fIblock\fR will generate a flurry of CT-Library errors. .PP Column variables .IX Subsection "Column variables" .PP As mentioned above, the values of the columns in the current result set may be determined using the special #[0\-9]+ variables. Thus, the variable #1 would contain the value of column number one of the current result set, and #122 could contain the value of the 122'nd column (column numbers begin at 1). .PP In the case of nested \fB\edo\fR loops, values in previous nesting levels may be referred to by simply appending an addition '#' for each previous nesting level, like so: .PP .Vb 7 \& select id, name from sysobjects \& \edo \& select name, indid from sysindexes where id = #1 \& \edo \& \eecho "Table ##2 (objid ##1) has index #1" \& \edone \& \edone .Ve .PP obviously, this isn't the way you would do this query in real life, but you get the idea. .PP When expanding columns with \s-1NULL\s0 values, the column variable will expand to an empty string (''). Also, references to non-existent columns, such as #0, will result in an empty string (''). .PP As with regular sqsh variables (those referenced with a '$'), column variables will not be expanded when contained within single quotes. .PP Aborting .IX Subsection "Aborting" .PP If the \fB\ebreak\fR or \fB\ereturn\fR commands are issued during the processing of a \&\fB\edo\fR loop, the current query will be canceled, the connection used by the loop will be closed (unless the \fB\-n\fR flag was supplied) and the \fB\edo\fR loop will abort. .PP \efunc command .IX Subsection "func command" .PP The \fB\efunc\fR command is used to define a reusable block of sqsh code as a function. Functions are defined like so: .PP .Vb 9 \& \efunc stats \& \eif [ $# \-ne 1 ] \& \eecho "use: stats [on | off]" \& \ereturn 1 \& \efi \& set statistics io ${1} \& set statistics time ${1} \& go \& \edone .Ve .PP In this example a new function is established called \fIstats\fR that expects a single argument, either \*(L"on\*(R" or \*(L"off\*(R". Using this argument, \fIstats\fR will enable or disable time-based and I/O\-based statistics. .PP Once established, the function may be called like so: .PP .Vb 1 \& \ecall stats on .Ve .PP Causing all instances of ${1} to be replaced with the first command line argument to \fIstats\fR. .PP Command line options .IX Subsection "Command line options" .PP Currently only one command line argument is available to the \fB\efunc\fR command. .IP "\-x" 4 .IX Item "-x" Causes the function to be exported as a \fIsqsh\fR command. That is, the function may be invoked directly without requiring the \fB\ecall\fR command. This behavior is optional because command names can potentially conflict with T\-SQL keywords. When using this flag it is recommended that you prepend a backslash (\e) to your function name. .PP Function variables .IX Subsection "Function variables" .PP As shown in the example above, several special variables are available for use within the body of the function. These are: .IP "$#" 4 Expands to the number of arguments supplied to the function or script when invoked. .IP "$*" 4 Expands to the complete list of arguments supplied to the function or script when invoked. .IP "${0}..${N}" 4 .IX Item "${0}..${N}" Expands to positional arguments to the function. ${0} is the name of the function being invoked, ${1} is the first argument, ${2} the second and so-on, up to argument \fIN\fR. Note that, unlike most shells, sqsh requires that function arguments be referred to using the special curly brace syntax (${1}, rather than \&\f(CW$1\fR). The reason for this is that \f(CW$1\fR is a valid \s-1MONEY\s0 value and using the curly braces gets rid of this ambiguity. .IP "$?" 4 After the invocation of a function, this will contain its return value (see below). .PP Return value .IX Subsection "Return value" .PP A value may be returned from a function via the \fB\ereturn\fR command. .PP Like so: .PP .Vb 1 \& \ereturn N .Ve .PP Where \fIN\fR is a positive value. This return value is available to the caller of the function via the \fB$?\fR variable. As convention, a return value of 0 is used to indicate a success. .PP If \fB\ereturn\fR is not explicitly called, the default return value is the current value of the \fB$?\fR variable (which is set to 0 upon entry of the function). Thus, if any \s-1SQL\s0 statements are invoked within the function, the default return value of \fB$?\fR will be the last error code returned during the processing of the \&\s-1SQL\s0 statement. .SS "Kerberos Support" .IX Subsection "Kerberos Support" Starting with version 2.1.6, \fIsqsh\fR provides the same command line options as \&\fIisql\fR to handle Kerberos network authentication. .PP In version 2.1.5 experimental Kerberos support was added using the \-K and \-R options. \-K was merely a switch to set Kerberos on. In sqsh 2.1.6 a more advanced implementation of network authentication is introduced, although still experimental. .PP By using the parameters \-K, \-R, \-V, \-Z you can make use of your defined network security settings (libtcl.cfg). The named options are identical to the ones defined for \fIisql\fR. .IP "\-K keytab_file" 4 .IX Item "-K keytab_file" Keytab_file name for \s-1DCE\s0. .IP "\-R server_principal" 4 .IX Item "-R server_principal" Server principal name when servername specified in interfaces differs from the real server name. .IP "\-V [bcdimoqru]" 4 .IX Item "-V [bcdimoqru]" Specify security options to use with the security mechanism. Each character stands for a specific security service. .IP "\-Z [secmech|default|none]" 4 .IX Item "-Z [secmech|default|none]" Request a security mechanism defined for Kerberos, \s-1DCE\s0 or \s-1PAM\s0 in your libtcl.cfg file. Use \fBsecmech\fR to specify the name of a \s-1SECURITY\s0 entry or \&\fBdefault\fR for the first available entry in libtcl.cfg. \fBNone\fR must be specified to disable network authentication or reset possible existing values in variables \fB\f(CB$secmech\fB\fR or \fB\f(CB$secure_options\fB\fR. .PP For example, connecting to a server using Kerberos (which happens to be the default, i.e. first entry in libtcl.cfg [\s-1SECURITY\s0] tab in this example): .PP .Vb 9 \& ~> sqsh \-SSYB1502 \-Uuser1 \-RFC6A1502 \-Z \& \econnect: Network authenticated session expires at: \& 16 Feb 2010 15:28:39 (11764 secs) \& SYB1502.user1.master.1> select @@servername,@@authmech, \& show_sec_services(); \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\- \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& FC6A1502 kerberos unifiedlogin delegation mutualauth \& integrity confidentiality \& detectreplay detectseq .Ve .PP Note that the real name of the server (@@servername) differs from the server name in the interfaces file, so we have to specify the principal name through the \fB\-R\fR parameter. When you do not specify the \fB\-V\fR parameter together with \fB\-Z\fR, all available security options will be enabled. When \fB\-V\fR is specified without any security service options, only option \fBu\fR for Network Authentication will be implicitly set and the default security mechanism will be used if \fB\-Z\fR is not specified. .PP .Vb 10 \& [user1@linux\-fc6a ~]$ sqsh \-SFC6A1502 \-Uuser1 \-V \& Open Client Message \& Layer 7, Origin 9, Severity 5, Number 1 \& ct_connect(): security service layer: internal security control \& layer error: \& Security service provider internal error \-1765328352 \& occurred. \& [user1@linux\-fc6a ~]$ kinit \& Password for user1@LOCALDOMAIN: \& [user1@linux\-fc6a ~]$ sqsh \-SFC6A1502 \-Uuser1 \-V \& \econnect: Network authenticated session expires at: \& 16 Feb 2010 15:28:39 (10964 secs) \& FC6A1502.user1.master.1> .Ve .PP When the connection succeeds, \fIsqsh\fR will store the real name of the security mechanism in the variable \fB\f(CB$secmech\fB\fR. For example: \*(L"\eecho \f(CW$secmech\fR\*(R" may show \&\fIcsfkrb5\fR. The parameter \fB\-V\fR takes a list of characters from the possible values of \fIbcdimoqru\fR. The option \fBu\fR enables Network Authentication, is the default and will allways be set when using \fB\-V\fR or \fB\-Z\fR, specified or not. .PP .Vb 10 \& b \- chanbinding : Channel binding \& c \- confidentiality : Data confidentiality service \& d \- delegation : Allow delegated credentials \& i \- integrity : Data integrity service \& m \- mutualauth : Mutual authentication for connection \& establishment \& o \- dataorigin : Data origin stamping service \& q \- detectseq : Out\-of\-sequence detection \& r \- detectreplay : Data replay detection \& u \- unifiedlogin : Network Authentication .Ve .PP Please check master.dbo.syssecmechs for available services. Non-existing or not supported services supplied with \fB\-V\fR are silently ignored. If you specify \&\fB\-V\fR and/or \fB\-Z\fR, \fIsqsh\fR assumes network authentication is tried and no password is required. .PP If you have a network authenticated connection and want to \ereconnect using normal \s-1ASE\s0 authentication with username and password, you have to reset the network authentication variables by specifying \-Znone .PP For example: .PP .Vb 10 \& [user1@linux\-fc6a ~]$ sqsh \-SFC6A1502 \-Uuser1 \-V \& \econnect: Network authenticated session expires at: \& 16 Feb 2010 15:28:39 (10764 secs) \& FC6A1502.user1.master.1> \eecho $secmech csfkrb5 \& FC6A1502.user1.master.1> \ereconnect \-SASE1502 \-Usa \-Psybase \& Open Client Message \& Layer 7, Origin 9, Severity 5, Number 8 \& ct_connect(): security service layer: internal security control \& layer error: \& Consistency checks performed on the credential failed \& (minor status 0). \& FC6A1502.user1.master.1> \ereconnect \-SASE1502 \-Usa \-Psybase \-Znone \& ASE1502.sa.master.1> .Ve .PP The first \ereconnect fails because sqsh still wants to try network authentication. However, no user principal for 'sa' exists and no ticket is set and thus the connection fails. The second \fB\ereconnect\fR succeeds as the \-Znone option reset appropriate variables. If the Kerberos ticket is renewed with \fBkinit\fR or any other client tool, the \&\fIsqsh\fR session must perform a \fB\ereconnect\fR to refresh the credentials and to prevent a premature session abort. With the command \fB\esnace\fR you can request for the session expiration interval. Depending on the security services that are set, the database connection may be closed without warning as soon as the ticket expires. .PP See chapter 16 \*(L"External Authentication\*(R" from the Sybase System Administration Guide volume 1 for more information on Kerberos network authenticationi, e.a. .SH "COMMANDS" .IX Header "COMMANDS" .SS "Read-Eval-Print" .IX Subsection "Read-Eval-Print" The read-eval-print loop is the heart of the sqsh system and is responsible for prompting a user for input and determining what should be done with it. Typically this loop is for internal use only, however they are open to the user because there are some creative things that can be done with them. .IP "\eloop [\-i] [\-n] [\-e sql] [file]" 4 .IX Item "loop [-i] [-n] [-e sql] [file]" The \fB\eloop\fR command reads input either from a file, a supplied \s-1SQL\s0 statement, or from a user (see the options below), determining whether the current line is a portion of a \s-1TSQL\s0 statement or a sqsh command, and performing the appropriate action. When run in an interactive mode \fB\eloop\fR is also responsible for displaying the current prompt (see \fB\f(CB$prompt\fB\fR below). .Sp \&\fB\eloop\fR completes when all input has been depleted (end-of-file is encountered) or when a command, such as \fB\eexit\fR requests that \fB\eloop\fR exit. .RS 4 .IP "\-i" 4 .IX Item "-i" Normally, if \fIfile\fR is supplied and does not exist, \fB\eloop\fR will return with an error condition, usually causing sqsh to exit. By supplying the \fB\-i\fR flag, control will be returned to the calling loop as if end-of-file had been reached (that is, with no error condition). .IP "\-n" 4 .IX Item "-n" By default, \fB\eloop\fR will automatically attempt to connect to the database if a connection has not already been established via the \fB\econnect\fR command. The \&\fB\-n\fR flag disables this behavior allowing \fB\eloop\fR to process commands that do not require database support. .IP "\-e sql" 4 .IX Item "-e sql" Causes \fB\eloop\fR to process the contents of \fIsql\fR as if the user had typed it at the prompt and an implicit call to \fB\ego\fR is automatically appended to the statement. If multiple instances of \fB\-e\fR are supplied, they are all sent as a single batch to the \s-1SQL\s0 Server for processing. This option may not be used in combination with a \fIfile\fR name as well. .IP "file" 4 .IX Item "file" Specifies the name of a \fIfile\fR to be used as input rather than reading input from the user or from the \fB\-e\fR flag. .RE .RS 4 .RE .PP \fIDatabase Access\fR .IX Subsection "Database Access" .PP Given the size and complexity of sqsh (just look at the length of this man page), it is amazing how few database manipulation commands that there actually are. The following are commands that affect or use the current database connection: .IP "\econnect [\-c] [\-D db] [\-S srv] [\-U user] [\-P pass] [\-I ifile] [\-K keytab] [\-R server_principal] [\-n] [\-N appname] [\-Q query_timeout] [\-T login_timeout] [\-V [bcdimoqru]] [\-Z [secmech|default|none]]" 4 .IX Item "connect [-c] [-D db] [-S srv] [-U user] [-P pass] [-I ifile] [-K keytab] [-R server_principal] [-n] [-N appname] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]] [-Z [secmech|default|none]]" This command is used primarily for internal use to establish a connection to a database. If a connection is already established it has no effect, however if a connection has not been established and \fB\f(CB$password\fB\fR has not been supplied, then the password is requested and a connection is established. \fB\econnect\fR accepts the following parameters: .RS 4 .IP "\-c" 4 .IX Item "-c" By default, the \fB\econnect\fR command uses the contents of \fB\f(CB$database\fB\fR to determine the database context that should be used upon establishing the connection (this is used by \fB\ereconnect\fR to preserve the current database context upon reconnection). The \fB\-c\fR flag suppresses this behavior and the default database context of login is used instead. .IP "\-D db" 4 .IX Item "-D db" Causes \fB\econnect\fR to attempt to automatically switch the database context to \&\fIdb\fR after establishing the connection. .Sp Using this flag is identical to setting the \fB\f(CB$database\fB\fR variable prior to establishing the connection. .IP "\-S srv" 4 .IX Item "-S srv" The name of the Sybase \fIserver\fR to connect, this defaults to \fB\f(CB$DSQUERY\fB\fR if not supplied. .IP "\-U user" 4 .IX Item "-U user" The Sybase \fIuser\fR to connect to the database as, this defaults to \fB\f(CB$username\fB\fR variable if not supplied. .IP "\-P pass" 4 .IX Item "-P pass" The \fIpassword\fR for \fIuser\fR required to connect to \fIserver\fR. This defaults to \&\fB\f(CB$password\fB\fR if not supplied. .IP "\-I ifile" 4 .IX Item "-I ifile" The full path of an alternate Sybase \fIinterfaces\fR file to use. .IP "\-K keytab_file" 4 .IX Item "-K keytab_file" Used for \s-1DCE\s0 user authentication. .IP "\-R principal_name" 4 .IX Item "-R principal_name" Use for Kerberos user authentication to specify the name of the server principal when the name differs from the \fB\f(CB$DSQUERY\fB\fR value. .Sp See also the discussion on Kerberos support. .IP "\-n" 4 .IX Item "-n" Specifies that the connection must use \s-1ANSI\s0 compliant chained mode. .IP "\-N appname" 4 .IX Item "-N appname" Specify the application name the server will use for program_name in the sysprocesses table. .IP "\-Q query_timeout" 4 .IX Item "-Q query_timeout" Set a query timeout period in seconds. .IP "\-T login_timeout" 4 .IX Item "-T login_timeout" Specifies a maximum wait time for session setup. .IP "\-V [bcdimoqru]" 4 .IX Item "-V [bcdimoqru]" Security services used for Kerberos support and other security mechanisms. .IP "\-Z [secmech|default|none]" 4 .IX Item "-Z [secmech|default|none]" Specifies the security mechanism to use for user authentication. For example csfkrb5 for Kerberos support. .RE .RS 4 .RE .IP "\ereconnect [\-c] [\-D db] [\-S srv] [\-U user] [\-P pass] [\-I ifile] [\-K keytab] [\-R server_principal] [\-n] [\-N appname] [\-Q query_timeout] [\-T login_timeout] [\-V [bcdimoqru]] [\-Z [secmech|default|noe]]" 4 .IX Item "reconnect [-c] [-D db] [-S srv] [-U user] [-P pass] [-I ifile] [-K keytab] [-R server_principal] [-n] [-N appname] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]] [-Z [secmech|default|noe]]" The \fB\ereconnect\fR command may be used to force a reconnection to the database using a new username, server name, or password (if desired). If this command fails, the current connection remains (if there is any), however if it succeeds then the current connection is closed and the new connection becomes the only active one. .Sp All arguments that are accepted by \fB\econnect\fR are also accepted by \&\fB\ereconnect\fR (in fact \fB\ereconnect\fR uses \fB\econnect\fR to establish the new connection). .IP "\esnace" 4 .IX Item "snace" Will show the session expiration interval for a network authenticated session, using Kerberos tickets, for example. .IP "\ego [options] [xacts]" 4 .IX Item "go [options] [xacts]" Sends the contents of the \fBWork Buffer\fR to the database, establishing a new connection to the database if one does not already exist (by calling the \&\fB\econnect\fR above). It them displays the results of the query back to stdout and returns, causing the \fBWork Buffer\fR to be cleared and moved to the end of the \&\fBHistory Buffer\fR. .Sp If the \fBWork Buffer\fR is empty and the \fB\f(CB$repeat_batch\fB\fR variable is set to \*(L"On\*(R", \&\fB\ego\fR will attempt to re-run the last command executed (this will only work in interactive mode if history support is enabled). .Sp \&\fB\ego\fR accepts the following arguments: .RS 4 .IP "\-d display" 4 .IX Item "-d display" If X11 support is compiled into sqsh, and X display mode is being used (see \&\fB\-x\fR, below), then \fIdisplay\fR will be used as the X display area for the result set. By default the environment variable \fB\f(CB$DISPLAY\fB\fR is assumed. .IP "\-f" 4 .IX Item "-f" Turns off the display of the footer message \*(L"(%d rows affected)\*(R". Footer messages may also be turned off via the \fB\f(CB$footers\fB\fR variable. .IP "\-h" 4 .IX Item "-h" Turns off all column headers. These may also be turned off via the \fB\f(CB$headers\fB\fR variable. .IP "\-m style" 4 .IX Item "-m style" Temporarily changes the display style to \fIstyle\fR for the duration of the command. Currently supported styles are \fBhoriz\fR (or \fBhor\fR or \fBhorizontal\fR), \&\fBvert\fR (or \fBvertical\fR), \fBbcp\fR, \fBcsv\fR, \fBhtml\fR, \fBmeta\fR, \fBpretty\fR and \&\fBnone\fR. The display style may be permanently set via the \fB\f(CB$style\fB\fR variable or the \fB\-m\fR command line flag. .IP "\-n" 4 .IX Item "-n" Turns off variable expansion in the \fBWork Buffer\fR prior to sending it to the server, this may also be turned off via the \fB\f(CB$expand\fB\fR variable. .IP "\-p" 4 .IX Item "-p" Turns on output of performance statistics when the result set has been successfully returned from the server. This may also be turned on via the \fB\-p\fR command line argument to sqsh, or the \fB\f(CB$statistics\fB\fR variable. .IP "\-s sec" 4 .IX Item "-s sec" If the value of \fIxacts\fR is greater than 1, this causes sqsh to sleep for \fIsec\fR seconds before executing the next transaction. Note that the time spent sleeping is excluded from the statistical information displayed with the \fB\-p\fR flag. .IP "\-t [filter]" 4 .IX Item "-t [filter]" Filters the command batch through an external program, \fIfilter\fR, and prior to being sent to the \s-1SQL\s0 Server. If \fIfilter\fR is not supplied, then \fB\f(CB$filter_prog\fB\fR is used (default is 'm4 \-'). This value may also be set via the \fB\f(CB$filter\fB\fR and \&\fB\f(CB$filter_prog\fB\fR variables. .IP "\-w width" 4 .IX Item "-w width" Overrides the value of \fB\f(CB$width\fB\fR for the life of the query (see \fB\f(CB$width\fB\fR below). .IP "\-x [xgeom]" 4 .IX Item "-x [xgeom]" Turns on the X11 display filter (only if X11 support is compiled into sqsh), which causes the result set to be sent to a separate window. If \fIxgeom\fR is supplied, then this value will be used as \fB\f(CB$xgeom\fB\fR for the life of the query (see \fB\f(CB$xgeom\fB\fR below). .IP "\-T xwin_title" 4 .IX Item "-T xwin_title" Specify the title name of the X result window to create. This will temporarily override the value of \fB\f(CB$xwin_title\fB\fR. Only useful to specify \-T in conjunction with \fB\-x\fR. .IP "xacts" 4 .IX Item "xacts" Specifies number of times the contents of the \fBWork Buffer\fR should be executed. Note that, similar to isql, a result set will only be displayed during the final execution of the batch. Also, the contents of the \fBWork Buffer\fR are only expanded once, prior to the first execution, so the contents of the buffer will not change between subsequent executions. .RE .RS 4 .RE .IP "\ebcp [bcp_options] table" 4 .IX Item "bcp [bcp_options] table" The \fB\ebcp\fR commands acts as a sort of enhanced \fB\ego\fR command that redirects the result set(s) of the batch to another server via the bcp protocol. While it is possible to \fB\ebcp\fR the result set back to the current server (the \&\fB\f(CB$DSQUERY\fB\fR variable), this is achieved more easily via a \s-1SELECT\s0 \s-1INTO\s0. .Sp The nitty-gritty details of \fB\ebcp\fR go like this: First the current \s-1SQL\s0 batch is expanded (unless the \fB\f(CB$expand\fB\fR variable is set to 0) and shipped off to the database for processing. If all goes well, a new connection is established to the destination database (as specified via \f(CW$DSQUERY\fR or the \fB\-S\fR flag) to transfer the result set using bcp. Then, the output of the source database connection is bound to the new bcp connection and data transfer is performed. \&\fB\ebcp\fR can handle multiple result sets without any problem (including result sets returned from stored procedures, etc.) provided that all of the result sets are valid for the destination table. .Sp The equivalent of a \*(L"bcp out\*(R" may be performed using the \fBbcp\fR display style setting and file redirection (see the \fB\f(CB$style\fB\fR variable). .RS 4 .IP "\-A packet" 4 .IX Item "-A packet" Specifies the \s-1TDS\s0 packet size used to communicate with the destination server. If not supplied this defaults to the value the \fB\f(CB$packet_size\fB\fR variable, or (if that is not set), the default server packet size (usually 512 bytes). .IP "\-b batch_size" 4 .IX Item "-b batch_size" The number of records transferred in a single transaction between servers. Note that reaching the end of a result causes the batch to be transferred, regardless of the value of \fIbatch_size\fR. The default is the entire result set. .IP "\-I ifile" 4 .IX Item "-I ifile" The full path of an alternate Sybase \fIinterfaces\fR file to use. .IP "\-J charset" 4 .IX Item "-J charset" Specifies the default \fIcharset\fR used to communicate with the \s-1SQL\s0 Server. This defaults to the current character set (the value of the \fB\f(CB$charset\fB\fR variable). .IP "\-m maxerr" 4 .IX Item "-m maxerr" The maximum number of batches that may fail before \fB\ebcp\fR gives up the ghost (default is 10). Note that this only refers to failures within a given batch. When performing a bcp of multiple result sets to a server, if a given result set has, say, too many columns or bad data types, then the entire bcp process is aborted regardless of the value of \fImaxerr\fR. .IP "\-N" 4 .IX Item "-N" Indicates that the value for an identity column in the destination table is being supplied within the result set. .IP "\-P password" 4 .IX Item "-P password" The \fIpassword\fR for \fIuser\fR required to connect to \fIserver\fR. This defaults to \&\fB\f(CB$password\fB\fR if not supplied. .IP "\-S server" 4 .IX Item "-S server" The name of the Sybase \fIserver\fR to connect, this defaults to \fB\f(CB$DSQUERY\fB\fR if not supplied. .IP "\-U user" 4 .IX Item "-U user" The Sybase \fIuser\fR to connect to the database as, this defaults to \fB\f(CB$username\fB\fR variable if not supplied. .IP "\-X" 4 .IX Item "-X" Causes password negotiation with the destination server to be performed using client-side encryption. .IP "\-z language" 4 .IX Item "-z language" Specifies the language setting to use. .IP "table" 4 .IX Item "table" As with regular \fBbcp\fR, \fItable\fR may be either a fully or partially specified table name in the destination server. Note that since a new database connection is established during the bcp processes that the database context of the connection may not be the same as the current context, so it is usually safest to fully specify the table name in the form database.owner.table. .RE .RS 4 .RE .IP "\erpc [rpc_opt] rpc_name [[parm_opt] [@var=]value ...]" 4 .IX Item "rpc [rpc_opt] rpc_name [[parm_opt] [@var=]value ...]" The \fB\erpc\fR command is used to directly invoke a stored procedure call in the connected server. This command is particularly useful for communicating with an Open Server that does not directly support language calls. .Sp \&\fB\erpc\fR invokes the remote procedure \fIrpc_name\fR with one or more parameters that may be named (using \fI\f(CI@var\fI\fR) or anonymous (by not supplying a name). Unfortunately, due to the fact that Sybase's implementation of \s-1RPC\s0's, does not directly support most implicit data type conversions (mainly between \s-1VARCHAR\s0 (the string you supply on the command line) and the most other data types (that the remote procedure is expecting), the syntax for the \fB\erpc\fR command is somewhat complex. However, in short here is how things work: .Sp As the \fB\erpc\fR command line is being parsed, \fIsqsh\fR attempts to guess the data type of the parameter \fIvalue\fR based on the format (for example if it contains only digits, it is assumed to be an integer), \fIsqsh\fR then performs an explicit data type conversion prior to calling the remote procedure call. If \fIsqsh\fR guesses wrong, several flags are supplied to force it to perform the correct data type conversion (see \fBparm_opt\fR). .PP \fIDisplay Options\fR .IX Subsection "Display Options" .PP The following options may be supplied anywhere on the command line and are used to affect the manner in which the result set(s) returning from the remote procedure call are displayed: .IP "\-d display" 4 .IX Item "-d display" If X support is compiled into sqsh, the value of \fIdisplay\fR is used as the X windows \s-1DISPLAY\s0 variable. Note, this is usually supplied with the \fB\-x\fR flag, below. .IP "\-f" 4 .IX Item "-f" Turns off the display of the footer message \*(L"(%d rows affected)\*(R". Footer messages may also be turned off via the \fB\f(CB$footers\fB\fR variable. .IP "\-h" 4 .IX Item "-h" Turns off all column headers. These may also be turned off via the \fB\f(CB$headers\fB\fR variable. .IP "\-m style" 4 .IX Item "-m style" Temporarily changes the display style to \fIstyle\fR for the duration of the command. Currently supported styles are \fBhoriz\fR (or \fBhor\fR or \fBhorizontal\fR), \&\fBvert\fR (or \fBvertical\fR), \fBbcp\fR, \fBcsv\fR, \fBhtml\fR, \fBmeta\fR, \fBpretty\fR and \&\fBnone\fR. The display style may be permanently set via the \fB\f(CB$style\fB\fR variable or the \fB\-m\fR command line flag. .IP "\-r" 4 .IX Item "-r" Request to recompile the procedure prior to execution. .IP "\-w width" 4 .IX Item "-w width" Temporarily sets the output width to \fIwidth\fR. The output width may be permanently set via the \fI\f(CI$width\fI\fR variable. .IP "\-x [xgeom]" 4 .IX Item "-x [xgeom]" Sends output to a separate X window. If \fIxgeom\fR is supplied, then the X window uses this geometry (see \fB\f(CB$xgeom\fB\fR for details). .IP "\-T xwin_title" 4 .IX Item "-T xwin_title" Specify the title name of the X result window to create. This will temporarily override the value of \fB\f(CB$xwin_title\fB\fR. Only useful to specify \-T in conjunction with \fB\-x\fR. .PP \fIParameter Options\fR .IX Subsection "Parameter Options" .PP The following options may be supplied immediately prior to specifying a parameter \fIvalue\fR and are used to affect the way in which \fIsqsh\fR interprets the contents of the \fIvalue\fR prior to calling the remote procedure. Although \&\fIsqsh\fR will allow any combination of these parameters to be combined, it only really makes sense to combine the \fB\-x\fR flag with any other flag. .IP "\-b" 4 .IX Item "-b" Indicates that the \fIvalue\fR that is specified should be converted to \s-1VARBINARY\s0 before calling \fIrpc_name\fR. This flag is implicit (i.e. you need not supply it) if \fIvalue\fR starts with \*(L"0x\*(R" and contains only digits. .IP "\-c" 4 .IX Item "-c" Indicates that the \fIvalue\fR that is specified should be converted to \s-1VARCHAR\s0 prior to calling \fIrpc_name\fR. This flag is implicit if \fIvalue\fR does not match any of the implicit conversions for the other data types. .IP "\-d" 4 .IX Item "-d" Indicates that the \fIvalue\fR that is specified should be converted to double (float) before calling \fIrpc_name\fR. This flag is implicit if \fIvalue\fR is in valid floating point notation (e.g. 0.1, .1, 1.4e10, or 4e10). .IP "\-i" 4 .IX Item "-i" Indicates that the \fIvalue\fR that is specified should be converted to integer (int) before calling \fIrpc_name\fR. This flag is implicit if \fIvalue\fR contains only digits (and, optionally, a leading sign). .IP "\-y" 4 .IX Item "-y" Indicates that the \fIvalue\fR that is specified should be converted to money before calling \fIrpc_name\fR. This flag is implicit if \fIvalue\fR begins with a \*(L"$\*(R", and contains only digits and, optionally, a decimal. .IP "\-n" 4 .IX Item "-n" Indicates that the \fIvalue\fR that is specified should be converted to numeric before calling \fIrpc_name\fR. This flag is never implicit, as \fIvalue\fR would always match either int (\fB\-i\fR) or float (\fB\-d\fR); however, both of these types will implicitly be converted to a numeric as necessary by the procedure call. .IP "\-u" 4 .IX Item "-u" Indicates that \fIvalue\fR should be ignored and treated as a \s-1NULL\s0 value, This flag is implicit if \fIvalue\fR is "". .SS "Buffers" .IX Subsection "Buffers" The following commands may be used to create, destroy, or manipulate the various buffers described in the \fB\s-1BUFFERS\s0\fR section, above. .IP "\eclear" 4 .IX Item "clear" The \fB\eclear\fR command will discard the current buffer and in contradiction with the \fB\ereset\fR command, will not save the current buffer to the history. When sqsh is compiled with readline support, this command will also clear the screen. (as ^l does.) The alias \fBclear\fR is automatically established upon startup. .IP "\ehistory [\-i] [\-x count]" 4 .IX Item "history [-i] [-x count]" Displays the last \fB\f(CB$histsize\fB\fR batches that have either been sent to the database via the \fB\ego\fR command or cleared from the \fBWork Buffer\fR via the \&\fB\ereset\fR command. With option \fB\-i\fR also display the number of times the buffer is used and the last time the buffer was used. This information may be of special interest when using the \fB\f(CB$histunique\fB\fR feature. The \fB\-x\fR option may specify the number of most recent history entries to display instead of the total list of history entries. .IP "\ehist\-load [filename]" 4 .IX Item "hist-load [filename]" Load a history file and append items to the current history list. Use \fB\f(CB$history\fB\fR if no filename is specified as a parameter. .IP "\ehist\-save [filename]" 4 .IX Item "hist-save [filename]" Will save the current history buffers to the \fB\f(CB$history\fB\fR file or to the filename specified as a parameter. .IP "\eredraw" 4 .IX Item "redraw" Returns a request back to the current read-eval-print loop for it to redisplay the current \fBWork Buffer\fR. If run from non-interactive mode, this command has no effect. .IP "\ereset" 4 .IX Item "reset" The \fB\ereset\fR command corresponds directly to the \fIisql\fR 'reset' command, returning a request to the read-eval-print loop to clear the contents of the current \fBWork Buffer\fR and, if you are running in interactive mode, place a copy of the buffer into the \fBHistory Buffer\fR. The alias \fBreset\fR is automatically established upon startup of \fIsqsh\fR for backward compatibility with \fIisql\fR. .IP "\ebuf\-append dst-buffer [src\-buffer]" 4 .IX Item "buf-append dst-buffer [src-buffer]" Appends the contents of \fIsrc-buffer\fR (defaults to !.) to the contents of \&\fIdst-buffer\fR, if it exists. If \fIdst-buffer\fR doesn't exist it is created. .IP "\ebuf\-copy dst-buffer [src\-buffer]" 4 .IX Item "buf-copy dst-buffer [src-buffer]" Copies the contents of \fIsrc-buffer\fR (defaults to \fB!.\fR, the \fBWork Buffer\fR, if not supplied), to \fIdst-buffer\fR. Refer to \fB\s-1BUFFERS\s0\fR for information on buffer naming conventions. .IP "\ebuf\-del [buffer|range]" 4 .IX Item "buf-del [buffer|range]" Remove a history buffer from the history list. You can also specify a range list consisting of the first and last buffer numbers separated by a '\-'. For example: \&\*(L"\ebuf\-del 1\-10\*(R" will delete the first 10 history entries. Another example, \&\*(L"\ebuf\-del 21\*(R" will only delete buffer number 21. Note that the history buffers will be renumbered consecutively. .IP "\ebuf\-edit [\-r read\-buf] [\-w write\-buf]" 4 .IX Item "buf-edit [-r read-buf] [-w write-buf]" The \fB\ebuf\-edit\fR command is used to edit the contents of a buffer and place the changes into another buffer. This command may only be run while in interactive mode. If \fIread-buf\fR is not supplied then the buffer to be edited defaults to !., if it is not empty, otherwise it defaults to !!. If \fIwrite-buf\fR is not supplied then the edited buffer is written back to !.. .Sp By default, \fB\ebuf\-edit\fR uses the environment variable \fB\f(CB$EDITOR\fB\fR first, followed by \fB\f(CB$VISUAL\fB\fR to determine which editor to use, defaulting to 'vi' if the variable is not set. .Sp It is important to note that as of release 1.2, \fB\ebuf\-edit\fR is no longer able to use the name of an alias to it as the name of the editor to launch. This is primarily due to the change in the behavior of alias (see section \fBAliasing\fR, below, for details). .Sp The commands \fBedit vi\fR and \fBemacs\fR are automatically established upon startup of \fIsqsh\fR for backward compatibility with \fIisql\fR. .IP "\ebuf\-get buffer" 4 .IX Item "buf-get buffer" The \fB\ebuf\-get\fR command is supplied as a shorthand method of running \&\fB\ebuf\-copy\fR It is the equivalent of running: .Sp .Vb 1 \& \ebuf_append !. buffer .Ve .IP "\ebuf\-load [\-a] filename [dst\-buffer]" 4 .IX Item "buf-load [-a] filename [dst-buffer]" Copies the contents of \fIfilename\fR in \fIdst-buffer\fR (defaults to !.). If the \&\fB\-a\fR flag is supplied, the contents of \fIfilename\fR are appended to \&\fIdst-buffer\fR. Note that it is illegal to attempt to write to the contents of the history buffer. .IP "\ebuf\-save [\-a] filename [src\-buffer]" 4 .IX Item "buf-save [-a] filename [src-buffer]" Saves the contents of \fIsrc-buffer\fR (defaults to !.) to \fIfilename\fR. If the \&\fB\-a\fR flag is supplied the contents are appended to \fIfilename\fR rather than overwriting the current contents. .IP "\ebuf\-show [buffer]" 4 .IX Item "buf-show [buffer]" Displays the contents of the named \fIbuffer\fR. If \fIbuffer\fR is not supplied, then the contents of all named buffers are displayed. This command is slightly different from the commands above in that it is only legal to supply a \&\fBNamed Buffer\fR \fIbuffer\fR, \fBHistory Buffers\fR, and the \fBWork Buffer\fR will have no results. .SS "Variables" .IX Subsection "Variables" The following command(s) are used to manipulate the contents of internal variables and environment variables. .IP "\eset [\-x] [name=\fIvalue\fR ...]" 4 .IX Item "set [-x] [name=value ...]" If no arguments are supplied to \fB\eset\fR then the current values of all variables are displayed. Otherwise the variable \fIname\fR is set to \fIvalue\fR. Note that some internal variables (see \fB\s-1SPECIAL\s0 \s-1VARIABLES\s0\fR) may only be set with certain \&\fIvalue\fRs, so this action may fail, leaving the previous contents on \fIname\fR intact. The \fB\-x\fR flag causes the variable to be exported to the environment of any programs launched from \fIsqsh\fR. .SS "Job Control" .IX Subsection "Job Control" The following commands are used to view the status of, or manipulate background jobs that are currently running, these correspond roughly to the commands supplied by such shells as \fB\f(BIcsh\fB\|(1)\fR. .IP "\ejobs [\-i]" 4 .IX Item "jobs [-i]" Displays the status of any currently running jobs, including whether or not these jobs have pending output, how long they have been running, and when they were started. The \fB\-i\fR option will show some additional job information. Note that the total run time of the job is determined from the moment the job is marked complete by the read-eval-print loop when polled, not when it actually ended and is flagged as terminated by the signal handler. .IP "\ewait [job_id]" 4 .IX Item "wait [job_id]" Will pause until job designated by \fIjob_id\fR completes. If \fIjob_id\fR is a negative number then \fB\ewait\fR will pause until \fIany\fR pending jobs completes. If there are no jobs pending, or \fIjob_id\fR does not belong to a running job, then an error message is displayed. Note that if multiple jobs are running, and a \&\fB\ewait\fR is issued for one of them, the other jobs may not automatically get signaled when completed within the wait period of the specific job. The other jobs may need to get signaled with a \fB\ewait \-1\fR as well to be noticed complete by \fIsqsh\fR. .IP "\ekill job_id" 4 .IX Item "kill job_id" Terminates the job specified by \fIjob_id\fR, throwing away any output that may be deferred for the job. If \fIjob_id\fR is not a running job then an error message is displayed. .IP "\eshow job_id" 4 .IX Item "show job_id" Displays the deferred output of completed background job \fIjob_id\fR and removes the job from the list of pending jobs (removing the defer file in the process). If \fIjob_id\fR is still running, or is not a valid complete job, then an error message is displayed. You may need to issue a \fB\ewait job_id\fR first, to get notified of actual job completion. .SS "Aliasing" .IX Subsection "Aliasing" As of release 1.2, \fIsqsh\fR supports full \fIcsh\fR\-style command aliasing. With this feature, \fIsqsh\fR checks the first word of each line, \fIprior to any form of expansion\fR, to see if it matches the name of an existing alias. If it does, the command is reprocessed with the alias definition replacing its name. Unlike \&\fIcsh\fR, however, only one form of history substitution is available within an alias: the '\fB!*\fR' entry, indicating the current line being expanded. If no history expansion is called for, the arguments on the command line remain unchanged. .PP Like \fIcsh\fR, aliases are not recursively expanded, so it is perfectly legal to create an alias that expands to a command by the same name. .PP The following command is used to create an alias: .IP "\ealias [alias_name=alias_body]" 4 .IX Item "alias [alias_name=alias_body]" If no arguments are supplied to the \fB\ealias\fR command, then the list of aliases currently in effect is displayed. Otherwise, it creates a new alias with a name of \fIalias_name\fR and a body of \fIalias_body\fR; if \fIalias_name\fR already exists, the body of the existing \fIalias_name\fR is replaced with the new definition. .Sp After defining the new alias, whenever \fIsqsh\fR encounters a line beginning with \&\fIalias_name\fR, the remainder of the line is replaced with \fIalias_body\fR before any further processing is performed. .Sp If the string '\fB!*\fR' exists anywhere within \fIalias_body\fR, the arguments supplied to the alias are inserted at that point, otherwise the argument are appended to the end of the alias definition. For example: .Sp .Vb 3 \& 1> \ealias hi=\*(Aq\eecho !* said hello\*(Aq \& 1> hi Scott \& Scott said hello .Ve .Sp where as if the alias does not include the \fB!*\fR keyword, then it behaves like so: .Sp .Vb 3 \& 1> \ealias hi=\*(Aq\eecho said hello\*(Aq \& 1> hi Scott \& said hello Scott .Ve .Sp It is perfectly legal to include a \fB!*\fR more than once within a given \&\fIalias_body\fR. Currently there is no way to escape the string \fB!*\fR, if you really need this feature send me mail. .IP "\eunalias alias_name" 4 .IX Item "unalias alias_name" Removes \fIalias_name\fR. .SS "Miscellaneous" .IX Subsection "Miscellaneous" The left over commands. .IP "\eexit [x]" 4 .IX Item "exit [x]" The \fB\eexit\fR command requests that current read-eval-print loop cease processing. When the last loop returns, \fIsqsh\fR \fB\f(BIexit\fB\|(1)\fRs. You may specify a exit code as parameter which will be stored in \fB\f(CB$exit_value\fB\fR and will be used as return value to the shell upon exit of \fIsqsh\fR. (0 <= x <= 255). .IP "\eabort" 4 .IX Item "abort" Causes all nested read-eval-print loops to abort processing, causing \fIsqsh\fR to exit with an exit value of 254 (see section \fB\s-1EXIT\s0 \s-1STATUS\s0\fR). .IP "\eread [\-a] [\-n] [\-h] var_name" 4 .IX Item "read [-a] [-n] [-h] var_name" Reads a line of input from the user, placing the text of the line in the variable \fIvar_name\fR. If the \fB\-n\fR is used, then the trailing new-line is left on the line of text, and if \fB\-a\fR is supplied, then the text of the line is appended to the existing value of \fIvar_name\fR. The \fB\-h\fR flag turns off echoing of typed characters back to the user. .IP "\esleep seconds" 4 .IX Item "sleep seconds" Causes \fIsqsh\fR too pause for \fIseconds\fR. This is useful within scripts of batches which need to pause briefly between batches (it was primarily useful to me for testing background jobs). .IP "\eecho [\-n] [args ...]" 4 .IX Item "echo [-n] [args ...]" Just like the \s-1UNIX\s0 \fB\f(BIecho\fB\|(1)\fR, this prints its arguments to stdout, followed by a new-line. If the \fB\-n\fR flag is supplied, the newline is omitted. .IP "\ewarranty" 4 .IX Item "warranty" Displays the standard \s-1GNU\s0 warranty. .IP "\ehelp [command]" 4 .IX Item "help [command]" Without any arguments \fB\ehelp\fR displays a brief list of all available commands, otherwise, it provides specific help for \fIcommand\fR, if available. When help is requested on a specific \fIcommand\fR, \fB\ehelp\fR looks for the file \&\fI\f(CI$help_dir\fI/command.hlp\fR and displays it to stdout. .IP "\eshell [shell command]" 4 .IX Item "shell [shell command]" If \fIshell command\fR is not supplied then \fIsqsh\fR executes \fB\f(CB$SHELL\fB\fR. If the \&\fB\f(CB$SHELL\fB\fR variable has not been set, then, by default, /bin/sh is executed. Otherwise, if \fIshell command\fR is supplied then it is executed. The exit status of the command executed is stored in the special \fB$?\fR read-only environment variable. .IP "\elock" 4 .IX Item "lock" Locks the current session until the correct password is typed. By default \&\fB\elock\fR attempts to use the \s-1UNIX\s0 password (from /etc/passwd) associated with the user running \fIsqsh\fR, however if the \fB\f(CB$lock\fB\fR variable is set then the contents of that is used for validation instead. .Sp Note, on systems using Shadow Passwords (in which even the encrypted password is unavailable), \fB\elock\fR will only work using the \fB\f(CB$lock\fB\fR variable. .SS "Aliases" .IX Subsection "Aliases" The following aliases are established upon startup of \fIsqsh\fR, and are provided primarily for backward compatibility with \fIisql\fR. These may be removed at any time using the \fB\eunalias\fR command (either at the prompt, or within your .sqshrc file). .IP "!" 4 The \fB!\fR alias is provided as a \fB\f(BIcsh\fB\|(1)\fR\-like history mechanism, and is an alias of \fB\ebuf\-append\fR. With release 0.7, this alias is provided only for backwards compatibility with previous releases of \fIsqsh\fR. See \fB\s-1SPECIAL\s0 \&\s-1VARIABLES\s0\fR, \fB\f(CB$history_shorthand\fB\fR for details on the new shorthand mechanism (the new shorthand more closely resembles that of \fBcsh\fR). .IP "clear" 4 .IX Item "clear" An alias for the \fB\eclear\fR command, which causes the contents of the current work buffer to be cleared and discarded. Also the screen will be cleared if readline is compiled into \fIsqsh\fR. .IP "reset" 4 .IX Item "reset" An alias for the \fB\ereset\fR command, which causes the contents of the current work buffer to be cleared and copied to history (if in interactive mode). .IP "exit [x]" 4 .IX Item "exit [x]" .PD 0 .IP "quit [x]" 4 .IX Item "quit [x]" .PD An alias for the \fB\eexit [x]\fR command, causes the current read-eval-print loop to complete. .IP "edit" 4 .IX Item "edit" .PD 0 .IP "vi" 4 .IX Item "vi" .IP "emacs" 4 .IX Item "emacs" .PD These are provided as aliases for the \fB\ebuf\-edit\fR command. See \&\fBCOMMANDS-Buffers\fR for information on the interactions between \fB\ebuf\-edit\fR and aliases. .IP "go" 4 .IX Item "go" Provided as an alias for the \fB\ego\fR command (for obvious reasons). .IP "help" 4 .IX Item "help" An alias for the \fB\ehelp\fR command. .PP \fIIn-Line \ego\fR .IX Subsection "In-Line go" .PP If the variable \fB\f(CB$semicolon_hack\fB\fR is set to 1 (on), then sqsh supports what is called an in-line \fB\ego\fR feature. This allows the current command batch to be terminated and sent to the database in a single step by appending a ';' onto the end of the current work buffer. This allows .PP .Vb 1 \& 1> sp_who; .Ve .PP To behave in the same manner as if you had typed: .PP .Vb 2 \& 1> sp_who \& 2> \ego .Ve .PP Likewise, anything following the semicolon is passed to the \fB\ego\fR command just as if it was run as a normal command: .PP .Vb 1 \& 1> sp_who ; 2>/dev/null | more .Ve .PP Unlike most other \fIisql\fR replacements, \fIsqsh\fR attempts to be smart about the semicolons. If a semicolon is contained within a set of single or double quotes it will not be interpreted. This includes multiple quotes. For example: .PP .Vb 2 \& 1> select "This is a multiple line \& 2> quote; it is smart!" ; .Ve .PP In the above example, only the second semicolon (the one at the end of the line) will be interpreted. .SH "SPECIAL VARIABLES" .IX Header "SPECIAL VARIABLES" There are several options that are configurable via the command line options to \&\fIsqsh\fR, however these are by no means complete. There are many aspects of \&\fIsqsh\fR's behavior that may only be modified by setting special variables. (In fact, the command line options really only set these variables for you). .SS "Variable Data types" .IX Subsection "Variable Data types" Next to all of the variables that follow is the type of data with which they may be set. Any attempts to set the variable with a type of data that it does not accept will fail. .IP "string" 4 .IX Item "string" Any sequence characters. .IP "boolean" 4 .IX Item "boolean" A positive \fIboolean\fR value may be represented as either \*(L"True\*(R", \*(L"Yes\*(R", \*(L"1\*(R", or \&\*(L"On\*(R" (case insensitive) and a negative boolean value may be represented as \&\*(L"False\*(R", \*(L"No\*(R", \*(L"0\*(R", or \*(L"Off\*(R" (case insensitive). However, internally the value of the variable will always be represented as either a \*(L"1\*(R" or \*(L"0\*(R". .IP "path" 4 .IX Item "path" Must be the \fIpath\fR name that is readable by the \fIsqsh\fR program. .IP "int" 4 .IX Item "int" Must be one or more digits. Note that some variables also restrict the range of the integer. .IP "date-spec" 4 .IX Item "date-spec" This is a string of the format used to specify dates and times for the \&\fB\f(BIdate\fB\|(1)\fR command, or the \fBstrftime(3C)\fR and \fBcftime(3C)\fR standard C library functions. For example '%H:%M:%S' specifies a time of hours in 24 hour format, followed by a colon, followed by minutes, followed by a colon, followed by seconds. .IP "float-format" 4 .IX Item "float-format" A string of the format \fBp.s\fR, where \fBp\fR is the total precision of a floating point value (the total number of digits to be displayed, including those following the decimal) and \fBs\fR is the scale of the value (the total number of digits following the decimal to be displayed). .PP \fIVariables\fR .IX Subsection "Variables" .PP The following variables have special meanings within \fIsqsh\fR and the setting of these variables alter the behavior of the shell. .IP "$? (int)" 4 .IX Item "$? (int)" This read-only variable may contain the following return value: .RS 4 .IP "\(bu" 4 The most recent error number returned from the \s-1SQL\s0 Server (@@errno) of severity > 10 (above informational messages). .IP "\(bu" 4 The exit value of a previously executed pipe command. .IP "\(bu" 4 The return value of the most recently executed sqsh function. .RE .RS 4 .RE .IP "$$? (int)" 4 .IX Item "$$? (int)" This variable may contain the result of the last executed \eif statement: .RS 4 .IP "\- 0 \-" 4 .IX Item "- 0 -" The test evaluated to False. .IP "\- 1 \-" 4 .IX Item "- 1 -" The test evaluated to True. .IP "\- 2 \-" 4 .IX Item "- 2 -" There was an error in the test specification. .RE .RS 4 .RE .IP "$# (int)" 4 .IX Item "$# (int)" Contains the number of arguments passed into the sqsh function or script. .IP "$* (string list)" 4 .IX Item "$* (string list)" Expands to the complete list of arguments supplied to the function or script when invoked. .IP "${0}...${N} (int)" 4 .IX Item "${0}...${N} (int)" Used to reference positional function arguments. Argument ${0} is the name of the function being called, ${1} is the first argument, etc. .IP "$$" 4 Expands to the process \s-1ID\s0 of the current running sqsh session. .IP "\s-1DISPLAY\s0" 4 .IX Item "DISPLAY" May contain the name of the \s-1DISPLAY\s0 the X\-server uses to put the XWindows result window when using \fB\ego \-x\fR. Defaults to the \fI\f(CI$DISPLAY\fI\fR shell environment. .IP "appname" 4 .IX Item "appname" Contains the name \fIsqsh\fR uses to identity itself to the server. Defaults to sqsh\-2.1.7. The application name can be retrieved from the sysprocesses table like: select program_name from master.dbo.sysprocesses where spid=@@pid; .IP "autouse (string)" 4 .IX Item "autouse (string)" Note: the meaning of this variable has been deprecated. .Sp If \fB\f(CB$autouse\fB\fR is set, and the \fB\f(CB$database\fB\fR variable has not been set, then this variable causes \fB\econnect\fR to perform a "use \fB\f(CB$autouse\fB\fR" once a connection has been established. .Sp This variable may also be set using the \fB\-D\fR command line option. .IP "banner (boolean)" 4 .IX Item "banner (boolean)" Turns off the banner message displayed on startup, this variable defaults to 1 and may also be turned off using the \fB\-b\fR command line argument. .IP "batch_failcount (int)" 4 .IX Item "batch_failcount (int)" This internal variable is used to keep track of the number of batches that have failed to execute (essentially, the number of times that the error handler was called). .Sp A batch is considered failed whenever an error of severity \fB\f(CB$thresh_fail\fB\fR is encountered. When \fB\f(CB$batch_failcount\fB\fR reaches \fB\f(CB$thresh_exit\fB\fR \fIsqsh\fR exits with an exit value of the total number of batches that have failed. Setting \&\fB\f(CB$batch_failcount\fB\fR to the string "" will cause it to reset to zero, any other value may have unpredictable results. .Sp See \fB\s-1EXIT\s0 \s-1STATUS\s0\fR for details. .IP "batch_pause (boolean)" 4 .IX Item "batch_pause (boolean)" Causes a \*(L"Paused. Hit enter to continue...\*(R" message to be displayed after each batch is executed. This variable, in conjunction with \fB\f(CB$echo\fB\fR is good for debugging \s-1SQL\s0 scripts specified with the \fB\-i\fR option. .IP "bcp_colsep (string)" 4 .IX Item "bcp_colsep (string)" Used as a separator between columns during \s-1BCP\s0 style output (see the \fB\f(CB$style\fB\fR configuration variable and the \fB\-m\fR option to the \fB\ego\fR command). The default setting is \*(L"|\*(R". .IP "bcp_rowsep (string)" 4 .IX Item "bcp_rowsep (string)" Used as a separator between rows during \s-1BCP\s0 style output (see the \fB\f(CB$style\fB\fR configuration variable and the \fB\-m\fR option to the \fB\ego\fR command). Note that, a newline (\*(L"\en\*(R") is automatically appended this value and should not be supplied. The default setting is \*(L"|\*(R". .IP "bcp_trim (boolean)" 4 .IX Item "bcp_trim (boolean)" Controls whether or not \s-1BCP\s0 style output trims trailing spaces from fixed length columns. The default is \*(L"True\*(R". .IP "chained (boolean)" 4 .IX Item "chained (boolean)" If set then sqsh uses the \*(L"chained\*(R" transaction mode (aka \*(L"AutoCommit off\*(R"). Setting this has \s-1NO\s0 effect on the current connection. It can be set via the command line argument \fB\-n\fR. .IP "charset (string)" 4 .IX Item "charset (string)" If this variable is set prior to establishing a connection with \s-1SQL\s0 Server, then during the connection \fIsqsh\fR will request that the server transform to and from the requested \fIcharset\fR. After establishing a connection, this variable is automatically set to the current character set in use. .IP "clear_on_fail (boolean)" 4 .IX Item "clear_on_fail (boolean)" Normally, whenever the \fB\ego\fR command is run, \fIsqsh\fR clears the current work buffer of its contents, moving them to history. Setting \fB\f(CB$clear_on_fail\fB\fR to 0, leaves the current work buffer intact if a failure is encountered while sending the contents to the database. The default value is 1, or on. .IP "colsep (string)" 4 .IX Item "colsep (string)" Causes the string \fIcolsep\fR to be used to delimit \s-1SQL\s0 column output columns, this defaults to \*(L" \*(R", it may also be set via the command line argument \fB\-s\fR. .IP "colwidth (int)" 4 .IX Item "colwidth (int)" Used to control the maximum column width displayed by the \fBpretty\fR display style (see \fB\f(CB$style\fB\fR below). If a row of a column exceeds this width, it will be wrapped in a relatively visually appealing manner at \fB\f(CB$colwidth\fB\fR characters. Note, however, that if there is enough screen width to hold all columns \&\fB\f(CB$colwidth\fB\fR may be exceeded until the width of the screen is reached. .IP "database (string)" 4 .IX Item "database (string)" If this variable is set prior to establishing a connection to the \s-1SQL\s0 Server, the a "use \fB\f(CB$database\fB\fR" is performed immediately after the connection is established. Once a connection has been established this variable will automatically be set to the current database context. .IP "date (date-spec)" 4 .IX Item "date (date-spec)" This variable may be set with a date format (see the man page for \fB\f(BIdate\fB\|(1)\fR), and the variable expands to the current date in the supplied format. The default format for this variable is \f(CW%d\fR\-%b\-%y (e.g. 02\-Feb\-1996). .IP "datetime (date-spec)" 4 .IX Item "datetime (date-spec)" This variable may be set with a date format similar to \fB\f(CB$date\fB\fR and \fB\f(CB$time\fB\fR and is used to control the display format of all \s-1SQL\s0 Server \s-1DATETIME\s0 and \&\s-1SMALLDATETIME\s0 columns. .Sp Note that this features relies upon the operating system specific locale information for determining such things as the name of the month and day, rather than going through the CT-Lib locale information. This means that the date format could potentially miss-match the locale as requested using the \fB\-z\fR flag. For example, if \fIsqsh\fR is run on an operating system configured for \s-1US\s0 English, but requests French as the language of choice using \fB\-z\fR, the use of \&\fB\f(CB$datetime\fB\fR will cause all date information to be displayed in \s-1US\s0 English rather than French. .Sp Ordinary characters defined in the variable are left in place without any conversion. Characters introduced by a '%' character are replaced during display of a column value as follows: .RS 4 .IP "[]" 4 Any contained between a pair of braces ('[' and ']') will be removed when displaying \s-1SMALLDATETIME\s0 columns. This feature is particularly useful for removing the seconds and milliseconds values which are not applicable to \&\s-1SMALLDATETIME\s0 anyway. For \s-1DATETIME\s0 columns, only the actual braces will be removed. .ie n .IP "%a" 4 .el .IP "\f(CW%a\fR" 4 .IX Item "%a" The abbreviated weekday name according to the current operating system locale. .ie n .IP "%A" 4 .el .IP "\f(CW%A\fR" 4 .IX Item "%A" The full weekday name according to the current operating system locale. .ie n .IP "%b" 4 .el .IP "\f(CW%b\fR" 4 .IX Item "%b" The abbreviated month name according to the current operating system locale. .ie n .IP "%B" 4 .el .IP "\f(CW%B\fR" 4 .IX Item "%B" The full month name according to the current operating system locale. .ie n .IP "%c" 4 .el .IP "\f(CW%c\fR" 4 .IX Item "%c" The preferred date and time representation for the current operating system's locale. .ie n .IP "%d" 4 .el .IP "\f(CW%d\fR" 4 .IX Item "%d" The day of the month as a decimal number (range 0 to 31). .ie n .IP "%D" 4 .el .IP "\f(CW%D\fR" 4 .IX Item "%D" The date in \s-1US\s0 format (mm/dd/yy). .ie n .IP "%H" 4 .el .IP "\f(CW%H\fR" 4 .IX Item "%H" The hour as a decimal number using a 24\-hour clock (range 00 to 23) .ie n .IP "%I" 4 .el .IP "\f(CW%I\fR" 4 .IX Item "%I" The hour as a decimal number using a 12\-hour clock (range 01 to 12) .ie n .IP "%j" 4 .el .IP "\f(CW%j\fR" 4 .IX Item "%j" The day of the year as a decimal number (range 001 to 366). .ie n .IP "%m" 4 .el .IP "\f(CW%m\fR" 4 .IX Item "%m" The month as a decimal number (range 10 to 12). .ie n .IP "%M" 4 .el .IP "\f(CW%M\fR" 4 .IX Item "%M" The minute as a decimal number. .ie n .IP "%p" 4 .el .IP "\f(CW%p\fR" 4 .IX Item "%p" Either 'am' or 'pm' according to the given time value, or the corresponding strings for the current operating system locale. .ie n .IP "%r" 4 .el .IP "\f(CW%r\fR" 4 .IX Item "%r" The time in 12\-hour format (hh:mm:ss [AM|PM]). .ie n .IP "%s" 4 .el .IP "\f(CW%s\fR" 4 .IX Item "%s" Seconds since the epoc (1970\-01\-01 00:00:00 \s-1UTC\s0) (this is not supported on all systems). .ie n .IP "%S" 4 .el .IP "\f(CW%S\fR" 4 .IX Item "%S" The second as a decimal number. .ie n .IP "%T" 4 .el .IP "\f(CW%T\fR" 4 .IX Item "%T" The current time in 24\-hour format (hh:mm:ss). .ie n .IP "%u" 4 .el .IP "\f(CW%u\fR" 4 .IX Item "%u" The millisecond as a decimal number. .ie n .IP "%U" 4 .el .IP "\f(CW%U\fR" 4 .IX Item "%U" The week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week. .ie n .IP "%W" 4 .el .IP "\f(CW%W\fR" 4 .IX Item "%W" The week number of the current year as a decimal number, starting with the first Monday as the first day of the first week. .ie n .IP "%w" 4 .el .IP "\f(CW%w\fR" 4 .IX Item "%w" The day of the week as a decimal, Sunday being 0. .ie n .IP "%x" 4 .el .IP "\f(CW%x\fR" 4 .IX Item "%x" The preferred date representation for the current locale without the time. .ie n .IP "%X" 4 .el .IP "\f(CW%X\fR" 4 .IX Item "%X" The preferred time representation for the current locale without the date. .ie n .IP "%y" 4 .el .IP "\f(CW%y\fR" 4 .IX Item "%y" The year as a decimal number without a century (range 00 to 99). .ie n .IP "%Y" 4 .el .IP "\f(CW%Y\fR" 4 .IX Item "%Y" The year as a decimal number including the century. .ie n .IP "%Z" 4 .el .IP "\f(CW%Z\fR" 4 .IX Item "%Z" The time zone (e.g., \s-1EDT\s0), or nothing if not time zone is determinable. .IP "%%" 4 A literal '%' character. .RE .RS 4 .RE .IP "debug (string)" 4 .IX Item "debug (string)" If \fIsqsh\fR has been compiled with debugging enabled (\-DDEBUG), this variable may be used to control the amount of debugging output displayed. \fB\f(CB$debug\fB\fR may be set to a pipe (|) delimited (logical \s-1OR\s0) set of the following words to turn on various pieces of debugging: \fB\s-1ALIAS\s0\fR, \fB\s-1AVL\s0\fR, \fB\s-1BCP\s0\fR, \fB\s-1DISPLAY\s0\fR, \fB\s-1ENV\s0\fR, \&\fB\s-1ERROR\s0\fR, \fB\s-1EXPAND\s0\fR, \fB\s-1FD\s0\fR, \fB\s-1JOB\s0\fR, \fB\s-1READLINE\s0\fR (abbr. \fB\s-1RL\s0\fR), \fB\s-1RPC\s0\fR, \&\fB\s-1SCREEN\s0\fR, \fB\s-1SIG\s0\fR, \fB\s-1SIGCHLD\s0\fR (or \fB\s-1SIGCLD\s0\fR) or \fB\s-1ALL\s0\fR. .IP "defer_bg (boolean)" 4 .IX Item "defer_bg (boolean)" Normally, when a job is run in the background (via a '&' on the command line), the output of the job is deferred to a temporary file (located in \&\fI\f(CI$tmp_dir\fI\fR) until the user requests the output to be displayed using \fB\eshow jobid\fR. This way the results of the job will not interfere with what the user is doing. Setting this variable to false will result in no deferred output files being created and output sent to the screen immediately .IP "echo (boolean)" 4 .IX Item "echo (boolean)" Setting \fB\f(CB$echo\fB\fR to on (1) causes each command submitted to the database via the \&\fB\ego\fR command to be displayed prior to the output. This variable defaults to 0 (or off), and may also be set using the \fB\-e\fR command line option. .IP "encryption (boolean)" 4 .IX Item "encryption (boolean)" Setting the \fB\f(CB$encryption\fB\fR variable prior to establishing a connection to the server will cause the login connection to be initiated using client-side password encryption. This variable may also be set using the \fB\-X\fR command line option. .IP "exit_failcount (boolean)" 4 .IX Item "exit_failcount (boolean)" Settings this value to 1 causes \fIsqsh\fR to return an exit status of \&\fB\f(CB$batch_failcount\fB\fR rather than 0, upon a non-error termination. See \fB\s-1EXIT\s0 \&\s-1STATUS\s0\fR for details. The default value is 0. .IP "exit_value (int)" 4 .IX Item "exit_value (int)" When you exit sqsh by specifying an exit code, like \fB\eexit 3\fR or using one of the aliases \fBexit\fR or \fBquit\fR commands, then this value is assigned to the \&\fB\f(CB$exit_value\fB\fR variable. You can also assign a value using the \fB\eset\fR command. When sqsh determines this variable has a non-zero value during termination, this value will be used as exit code. See \fB\s-1EXIT\s0 \s-1STATUS\s0\fR for details. .IP "expand (boolean)" 4 .IX Item "expand (boolean)" By default when the \fB\ego\fR command is executed, the contents of the current work buffer is expanded of all environment variables prior to being sent to the database for execution. By setting this variable to \*(L"0\*(R", the buffer will no longer be expanded before being sent to the database. This is useful when you either (1) have strings in the buffer that contain a '$' and you don't want them to be expanded, or (2) for performance reasons; it takes time (and an extra copy of the buffer) to perform the variable expansion. .IP "filter (boolean)" 4 .IX Item "filter (boolean)" Toggles filtering of the \s-1SQL\s0 batch through an external program (defined by the \&\fB\f(CB$filter_prog\fB\fR variable, below) prior to being sent to the \s-1SQL\s0 Server. Default is '0', or 'off'. .IP "filter_prog (string)" 4 .IX Item "filter_prog (string)" Defines the external program through which the \s-1SQL\s0 batch will be filtered prior to being sent to the \s-1SQL\s0 Server. This variable is ignored if \fB\f(CB$filter\fB\fR is set to '0' or 'off'. The default is 'm4 \-'. .IP "float (float-format)" 4 .IX Item "float (float-format)" Defines the display format (the precision and scale) for all floating point values displayed by sqsh. The default is '18.6'. Note that values exceeding the defined precision are not truncated, so setting this value too low may cause columns in a result set to be miss-aligned. .IP "footers (boolean)" 4 .IX Item "footers (boolean)" Toggles the \*(L"(%d rows affected)\*(R" following a result set. The default for this variable is '1'. .IP "headers (boolean)" 4 .IX Item "headers (boolean)" Toggles the column headers preceding a result set. The default for this variable is '1'. .IP "help_dir (path)" 4 .IX Item "help_dir (path)" This is the location of the help files used by the \fB\ehelp\fR command, typically it defaults to something like /usr/local/lib/sqsh/help. .IP "hist_auto_save (int)" 4 .IX Item "hist_auto_save (int)" When variable \fB\f(CB$histsave\fB\fR is on and the \fB\f(CB$hist_auto_save\fB\fR variable has a value greater than 0, then the history will be automatically saved to \fB\f(CB$history\fB\fR after \fB\f(CB$hist_auto_save\fB\fR modifications of the history buffers. When the value is 0 (default), then no automatic history save will be performed. .IP "histnum (int)" 4 .IX Item "histnum (int)" Contains the history number that will be assigned to the current command batch as soon as the \fB\ego\fR command is executed. This variable should be considered read-only. See also the discussion on the \fB\f(CB$histunique\fB\fR variable. .IP "history (path)" 4 .IX Item "history (path)" This is the location of the history file used to store and retrieve a user's history during start-up and shutdown. This defaults to \fI\f(CI$HOME\fI/.sqsh_history\fR. This variable is expanded each time it is referenced by sqsh, much in the same way that \fB\f(CB$prompt\fB\fR is referenced each time the prompt is displayed. .IP "history_shorthand (boolean)" 4 .IX Item "history_shorthand (boolean)" This variable is only meaningful within an interactive session. If set, it turns on the ability to append any named buffer or history buffer onto the current work buffer in a 'sh' history style, such as '!40'. Be careful with this feature, \fIsqsh\fR is not terribly intelligent with looking for history shorthand, so it is possible that it may get confused (although, it is smart enough to ignore !'s in quoted strings). .IP "histsave (boolean)" 4 .IX Item "histsave (boolean)" The value of this variable is used by \fIsqsh\fR to indicate whether the history should be saved to \fB\f(CB$history\fB\fR prior to termination of sqsh. .IP "histsize (int)" 4 .IX Item "histsize (int)" The value of this variable is used to alter the maximum number of history entries are maintained by \fIsqsh\fR (the default is 10). Note that decreasing the value of this variable causes some history entries to be lost. .IP "histunique (boolean)" 4 .IX Item "histunique (boolean)" If set, \fIsqsh\fR maintains a MRU-LRU order of executed buffers and does not store duplicate command buffers. For example, observe the following situation: .Sp .Vb 10 \& LINUX1502.user1.master.1> \ehistory \& (1) sp_who \& (2) grant role mon_role to sa_role \& (3) select * from monProcessActivity \& (4) select @@authmech,show_sec_services() \& (5) select @@servername,@@authmech,show_sec_services() \& LINUX1502.user1.master.1> sp_who \& LINUX1502.user1.master.2> go \& ... output omitted \& LINUX1502.user1.master.1> \ehistory \& (1) grant role mon_role to sa_role \& (2) select * from monProcessActivity \& (3) select @@authmech,show_sec_services() \& (4) select @@servername,@@authmech,show_sec_services() \& (5) sp_who .Ve .Sp \&\fIsp_who\fR is the last executed command and the buffer \- originally the last in the list \- is now on top of the list. When an already existing buffer is reused, the value of the \fB\f(CB$histnum\fB\fR variable is not changed. .IP "hostname (string)" 4 .IX Item "hostname (string)" Used during the connection process to indicate to \s-1SQL\s0 Server the name of the host from which \fIsqsh\fR is connecting. This variable may also be set using the \&\fB\-H\fR flag. .IP "ifs (string)" 4 .IX Item "ifs (string)" The list of Internal Field Separators. .IP "ignoreeof (boolean)" 4 .IX Item "ignoreeof (boolean)" By default, \fIsqsh\fR terminates if the user presses ^d (control-D) on an empty line and readline support is compiled in. If \fB\f(CB$ignoreeof\fB\fR is set in the sqshrc file you get a warning message instead: .Sp .Vb 1 \& CTRL\-D: Use "exit" or "quit" to leave the sqsh shell. .Ve .Sp This is equivalent to using \*(L"set \-o ignoreeof\*(R" in the bash shell. .IP "interactive (boolean)" 4 .IX Item "interactive (boolean)" This is a variable used internally and should probably not be altered by the user. If \fB\f(CB$interactive\fB\fR is '0', then the prompt is not displayed, the history is neither read nor written and some user messages are suppressed. .IP "interfaces (path)" 4 .IX Item "interfaces (path)" This is the full path name of the interfaces file, it defaults to \&\fI\f(CI$SYBASE\fI/interfaces\fR. .IP "keytab_file (string)" 4 .IX Item "keytab_file (string)" Used in Kerberos and \s-1DCE\s0 user authentication security mechanisms. Corresponds with the \fB\-K\fR startup option. .Sp See also the discussion on Kerberos Support. .IP "keyword_completion (int/string)" 4 .IX Item "keyword_completion (int/string)" This variable only applies if \s-1GNU\s0 Readline support has been compiled into \&\fIsqsh\fR. \fB\f(CB$keyword_completion\fB\fR is used to control the \s-1TSQL\s0 keyword completion feature in readline, and may be set using either an integer between 0 and 4, or one of the strings \fInone\fR, \fIlower\fR, \fIupper\fR, \fIsmart\fR, or \fIexact\fR. If it is set to either 0 or \fInone\fR, then no keyword completion is performed (this is the default). \fIlower\fR or 1, causes \fIsqsh\fR to complete the keyword in lowercase, regardless of the case that the partially completed keyword was typed. \fIupper\fR or 2 forces completion to be performed in upper case, \fIsmart\fR, or 3, bases the decision on case upon the first character of the partial keyword, and \fIexact\fR completes the keyword in exactly the same case as defined in the \fI.sqsh_words\fR (for the built-in \s-1TSQL\s0 keywords, this will be lower case). .IP "keyword_file (string)" 4 .IX Item "keyword_file (string)" If readline support has been compiled into \fIsqsh\fR, and \fIsqsh\fR is being run in interactive mode, the contents of this file are used for keyword tab completion by readline rather than the default set of \s-1TSQL\s0 syntactical keywords. The default is \fI\f(CI$HOME\fI/.sqsh_words\fR. .IP "language (string)" 4 .IX Item "language (string)" The \fB\f(CB$language\fB\fR variable is used while establishing a connection to the server to specify the national language used to display system prompts and messages. The variable will automatically track the current language setting of the server. This may also be set via the \fB\-z\fR flag. .IP "lineno (int)" 4 .IX Item "lineno (int)" This is an internal variable and should not be altered by the user. It is used to maintain the line number that is being typed into within the current work buffer. .IP "linesep (string)" 4 .IX Item "linesep (string)" Used to configure the line separator for the horizontal display style, this defaults to \*(L"\en\et\*(R". .IP "lock (string/write\-only)" 4 .IX Item "lock (string/write-only)" Defines the password to be used by the \fB\elock\fR command. If unset or set to the string \*(L"\s-1NULL\s0\*(R", then the \s-1UNIX\s0 password of the user running \fIsqsh\fR is used instead (if possible). Note that \fB\f(CB$lock\fB\fR will always expand to the string \&\*(L"*lock*\*(R" if referenced. .IP "login_timeout (int)" 4 .IX Item "login_timeout (int)" The number of seconds to wait when attempting to create a new connection to a data server. Default is 0 (infinite wait). See also the \fB\-T\fR command line option. .IP "max_timeout (int)" 4 .IX Item "max_timeout (int)" Controls the number of times a query needs to reach its time-out value before the session is aborted. See \fB\f(CB$query_timeout\fB\fR and the \fB\-Q\fR command line flag. The following messages will be displayed and sqsh exits with value 255 when the \&\fB\f(CB$max_timeout\fB\fR limit is reached. .Sp .Vb 3 \& Query or command timeout detected, session aborted \& The client connection has detected this x time(s) \& Aborting on max_timeout limit .Ve .IP "maxlen (int)" 4 .IX Item "maxlen (int)" Controls the maximum amount of data that will be displayed (in any display mode) in a single column. This setting will automatically truncate the output of particularly large data types (such as \s-1TEXT\s0) to the value supplied. The default setting is 8192 bytes (8KB). .IP "newline_go (boolean)" 4 .IX Item "newline_go (boolean)" This flag is used as a horrible kludge to support an \*(L"empty\*(R" alias for the \&\fB\ego\fR command, that is, the equivalent of supplying \*(L"\-c ''\*(R" or just \*(L"\-c\*(R" on the command line. When on, an empty line is interpreted as a call to the \fB\ego\fR command. This feature is not recommended but is supplied for completeness. .IP "output_parms (boolean)" 4 .IX Item "output_parms (boolean)" Flag used to enable or disable the display of output parameter result sets from stored procedures. The default is to enable the display. .IP "packet_size (int)" 4 .IX Item "packet_size (int)" Defines the size of the \s-1TDS\s0 packets used to communicate with \s-1SQL\s0. Changing the value of the variable will not affect the current connection but will take effect upon the next \fB\ereconnect\fR command. Specifying a value of \s-1NULL\s0 indicates that the default packet size is desired. .IP "password (string/write\-only)" 4 .IX Item "password (string/write-only)" This is the user's current password. A \s-1NULL\s0 password may be assigned using an explicit \*(L"\s-1NULL\s0\*(R" string. For security reasons, when referenced the \fB\f(CB$password\fB\fR variable will always expand to the string \*(L"*password*\*(R". .IP "password_retry (boolean)" 4 .IX Item "password_retry (boolean)" When the variable is on and sqsh started in interactive mode, sqsh will ask for the password again if login failed. When set to 'off', sqsh will terminate immediately. Default is on. .IP "principal (string)" 4 .IX Item "principal (string)" Used in Kerberos user authentication as the Server principal name when it differs from the \fB\f(CB$DSQUERY\fB\fR name. Corresponds with the \fB\-R\fR startup option. .Sp See also the discussion on Kerberos Support. .IP "prompt (string)" 4 .IX Item "prompt (string)" This variable is used by \fIsqsh\fR to build your current prompt. Any variables contained within \fB\f(CB$prompt\fB\fR are expanded each time the prompt is displayed. The default value for this is '${lineno}> '. See also the discussion on color support below. .IP "prompt2 (string)" 4 .IX Item "prompt2 (string)" This contents of this prompt are expanded and displayed during interactive use when \fIsqsh\fR requires additional input, such as during a line continuation. The default value is '\-\-> '. .IP "query_timeout (int)" 4 .IX Item "query_timeout (int)" Number of seconds to wait for a query to return data. If the timeout is reached the query is aborted (canceled). See also \fB\f(CB$max_timeout\fB\fR and the \fB\-Q\fR command line option. .IP "rcfile (path)" 4 .IX Item "rcfile (path)" Contains a colon (:) delimited list of sqsh resource (sqshrc) files. The default setting is /usr/local/etc/sqshrc (unless overridden by the \-\-prefix option when sqsh was compiled) followed by \fI\f(CI$HOME\fI/.sqshrc\fR). .IP "readline_history (string)" 4 .IX Item "readline_history (string)" If readline support has been compiled into \fIsqsh\fR, the contents of the readline line-by-line history will be written to the file specified by the \&\fB\f(CB$readline_history\fB\fR variable. The default is \fI\f(CI$HOME\fI/.sqsh_readline\fR. .IP "readline_histsize (int)" 4 .IX Item "readline_histsize (int)" If readline support has been compiled into \fIsqsh\fR, the value of \&\fB\f(CB$readline_histsize\fB\fR specifies the number of lines that are saved in the readline line-by-line history. Setting this to a value of 0 causes every line to be saved. The default value is 100. .IP "real (float-format)" 4 .IX Item "real (float-format)" Defines the display format (the precision and scale) for all real values displayed by sqsh. The default is '18.6'. Note that values exceeding the defined precision are not truncated, so setting this value too low may cause columns in a result set to be miss-aligned. .IP "repeat_batch (boolean)" 4 .IX Item "repeat_batch (boolean)" When set to \fBOn\fR or \fBTrue\fR, a \fB\ego\fR executed with an empty \fB\s-1SQL\s0 Buffer\fR will cause the previous batch to be re-executed. .IP "secmech (string)" 4 .IX Item "secmech (string)" The name of the security mechanism used for user authentication. For instance csfkrb5. When using the \fB\-Z\fR option, the name of the security mechanism can be specified, or when no secmech is supplied, the OpenClient will use the default, i.e. the first security entry from the \fI\f(CI$SYBASE\fI/$SYBASE_OCS/config/libtcl.cfg\fR file. Note that the name used must match the name of the corresponding secmech entry in the \fIobjectid.dat\fR file. When the connection to the server is setup, the actual secmech name will be stored in the \fB\f(CB$secmech\fB\fR variable. .IP "secure_options (string)" 4 .IX Item "secure_options (string)" Describe the security options used for user authentication security mechanisms. Corresponds to the \fB\-V\fR startup option. .Sp See also the paragraph on Kerberos Support. .IP "script (string)" 4 .IX Item "script (string)" If \fIsqsh\fR is run using the \fB\-i\fR flag, then this variable contains the name of the script being executed. .IP "semicolon_cmd (string)" 4 .IX Item "semicolon_cmd (string)" When \fB\f(CB$semicolon_hack\fB\fR (see below) is enabled, the contents of this variable is executed when a semicolon is encountered in the \fB\s-1SQL\s0 Buffer\fR. This variable defaults to the string '\fB\ego\fR'. .IP "semicolon_hack (boolean)" 4 .IX Item "semicolon_hack (boolean)" Toggles on the ability to use a ';' as an in-line command terminator. This feature is not recommended and is only in here because enough users complained. See section \fB\s-1COMMANDS\s0, In-Line Go\fR. .IP "session (string)" 4 .IX Item "session (string)" The location of the session file that will be processed just before connecting to a server. The variable will be expanded so it may contain environment variables. .IP "\s-1SHELL\s0 (string)" 4 .IX Item "SHELL (string)" The name of the shell to be used to execute pipes and to be used by the \&\fB\eshell\fR command (default '/bin/sh'). .IP "statistics (boolean)" 4 .IX Item "statistics (boolean)" Setting \fB\f(CB$statistics\fB\fR to 1 causes timing statistics to be displayed upon the successful execution of every batch of \s-1SQL\s0. This variable may also be set via the \fB\-t\fR command line flag, or by supplying \fB\-t\fR to the \fB\ego\fR command. \&\fB\f(CB$statistics\fB\fR defaults to 0. .IP "style (string)" 4 .IX Item "style (string)" Selects result set display style. Currently eight styles are supported. The \&\fBhoriz\fR (which may also be defined as \fBhor\fR or \fBhorizontal\fR), closely resembles the output of isql, with the traditional columnar output. .Sp The \fBvert\fR (or \fBvertical\fR) style rotates the output, so that every line is represented by a column name followed by a column value. This is nice for looking at particularly wide output. .Sp The \fBbcp\fR style displays results in a format amenable to bcp'ing the result set back into another table. That is, every column value is separated by \&\fB\f(CB$bcp_colsep\fB\fR with the final column separated by \fB\f(CB$bcp_rowsep\fB\fR followed by a newline (\en). If \fB\f(CB$bcp_colsep\fB\fR or \fB\f(CB$bcp_rowsep\fB\fR are not defined then '|' is used as the default separator. Note that this output does not work well with \&\s-1COMPUTE\s0 columns, and uses the default conversion methods for all data types (that is, \fBdatetime\fR columns may truncate the millisecond). .Sp The \fBcsv\fR display style outputs all result sets in the form of a comma separated construct. This mode is ideal to import result sets into spreadsheet programs, for instance. .Sp The \fBhtml\fR display style outputs all result sets in the form of an \s-1HTML\s0 <\s-1TABLE\s0> construct. This mode is ideal for the use of sqsh as a \s-1CGI\s0 application. .Sp The \fBmeta\fR display style outputs only the meta-data information associated with the result and discards the actual row results. This mode is useful for debugging the result sets generated from a full passthru Open Server gateway, or for those interested in what is really coming back from the server. .Sp The \fBpretty\fR display style generates a fluffy table-like output using regular \&\s-1ASCII\s0 characters for borders. This mode does not perform any explicit column wrapping, like the \fBhoriz\fR display mode. However, the \fB\f(CB$colwidth\fB\fR variable can be used to control the maximum width of a given column on the screen. If the column exceeds \fB\f(CB$colwidth\fB\fR characters wide, it is wrapped in a relatively visually appealing manner. Note that \fB\f(CB$colwidth\fB\fR may be exceeded if there is enough screen width to hold the columns without wrapping. .Sp The \fBnone\fR display style suppresses all results from being displayed (however it does actually retrieve result information from the \s-1SQL\s0 Server). This is particularly useful when used with the \fB\-p\fR flag (or the \fB\f(CB$statistics\fB\fR variable) for gathering accurate performance statistics. .IP "term_title (string)" 4 .IX Item "term_title (string)" When this variable is set, sqsh will reset the name of the current terminal (xterm) window it is running in. Works for xterm, rxvt, putty and MS-Windows \s-1CMD\s0 windows. The name consists of the sqsh startup name appended with the expanded value of the \fB\f(CB$term_title\fB\fR variable. .IP "thresh_display (int)" 4 .IX Item "thresh_display (int)" Sets the minimum \s-1SQL\s0 Server error severity that will display a message to the user, the default is 0 and valid ranges are between 0 and 22, inclusive. .IP "thresh_exit (int)" 4 .IX Item "thresh_exit (int)" Defines the maximum number of errors of severity level \fB\f(CB$thresh_fail\fB\fR that may be encountered before sqsh aborts. This is useful primarily for non-interactive scripts, but is allowed on an interactive session. Setting \fB\f(CB$thresh_exit\fB\fR to a value of 0 disables this feature. See section \fB\s-1EXIT\s0 \s-1STATUS\s0\fR for details. .IP "thresh_fail (int)" 4 .IX Item "thresh_fail (int)" Sets the minimum \s-1SQL\s0 Server severity level that is to be considered a failed batch. The minimum for this value is 0 (meaning any error that is not an information message), and the maximum is 22. Whenever \fB\f(CB$thresh_fail\fB\fR is crossed, the variable \fB\f(CB$batch_failcount\fB\fR is incremented by 1. See section \&\fB\s-1EXIT\s0 \s-1STATUS\s0\fR for details. .IP "time (date-spec)" 4 .IX Item "time (date-spec)" This variable may be set with a time format (see the man page for \fB\f(BIdate\fB\|(1)\fR), and the variable expands to the current time in the supplied format. The default format for this variable is \f(CW%H:\fR%M:%S (e.g. 14:32:58). .IP "tmp_dir (path)" 4 .IX Item "tmp_dir (path)" This contains the directory to which temporary files used internally by \fIsqsh\fR are to be written. These files are generated either during buffer editing (the \&\fB\ebuf\-edit\fR command), or to maintain output defer files for background jobs. The default value for this variable is /tmp. .IP "username (string)" 4 .IX Item "username (string)" The name of the user currently connected to the database. .IP "version (none)" 4 .IX Item "version (none)" This read-only variable contains the current version number. (sqsh\-2.1.7) .IP "width (int)" 4 .IX Item "width (int)" The current width of the \s-1SQL\s0 output. .IP "xgeom (string/int)" 4 .IX Item "xgeom (string/int)" If X11 support is compiled into \fIsqsh\fR, this value is used to configure the default window size (in characters) of the X display. This variable must be of the format \fBWxH\fR or just \fBW\fR, where \fBW\fR is the width of the window and \fBH\fR is the height of the window. If the height of the window is not supplied, then 25 lines is assumed. If \fB\f(CB$xgeom\fB\fR is not set, then \fB\f(CB$width\fB\fR is used as the default width and the height is assumed to be 25. If neither is set, then 80x25 is assumed. .IP "xwin_title (string)" 4 .IX Item "xwin_title (string)" If X11 support is compiled into \fIsqsh\fR and an X11 result windows is requested by using the \fB\-x\fR parameter of the \fI\ego\fR or \fI\erpc\fR commands, then this variable will be used to set the title name of the window. Can be temporarily overridden with the \fB\-T\fR option of the \fI\ego\fR and \fI\erpc\fR commands. .SS "Script Execution" .IX Subsection "Script Execution" As with most shells, \fIsqsh\fR allows a file containing \s-1SQL\s0 and script commands to be executed directly via the magical \s-1UNIX\s0 \fB#!\fR convention. On most \s-1UNIX\s0 platforms, when the operating system encounters the bytes \fB#!\fR as the first two bytes of an executable file it will automatically pipe the file through the interpreter specified immediately after the \fB#!\fR. For example, to create an executable \fIsqsh\fR script to run \fBsp_who\fR, you simply need to create a file like so: .PP .Vb 3 \& #!/usr/local/bin/sqsh \-i \& sp_who \& go .Ve .PP Thus, if your \fBsp_who\fR script is executed directly, it will automatically launch "\fB/usr/local/bin/sqsh \-i sp_who\fR" for you. .PP And, to make things even more flexible, \fIsqsh\fR supports positional parameters, similar to most shells, of the form \fB${n}\fR which will expand to the \fBn\fRth argument to your \fIsqsh\fR script. For example: .PP .Vb 3 \& #!/usr/local/bin/sqsh \-i \& sp_who ${1} \& go .Ve .PP will cause the \fBsp_who\fR stored procedure to be executed with an argument of the first command line parameter supplied to the \fBsp_who\fR shell script. .PP Note that positional parameters \fImust\fR be contained between braces to avoid conflicts with the \s-1TSQL\s0 \fBmoney\fR data type (without the braces, the variable will not be expanded). .SH "EXIT STATUS" .IX Header "EXIT STATUS" One of the major complaints of \fIisql\fR is that it provides no facility to detect when an error condition occurred while it is performing processing. \fIsqsh\fR provides a rather complex, but flexible mechanism for returning meaningful information concerning its reason for exit in the form of an exit status (see \&\fB\f(BIexit\fB\|(3)\fR). .PP When \fIsqsh\fR begins execution two handlers are associated with the current connection to the database, one is a message handler which is responsible for displaying the text of any \s-1SQL\s0 Server messages or errors, and the other is an error handler, which is responsible for determining what to do with an error condition (bear with me, these are only loose descriptions). And, associated with each message and error condition is a severity level, between 0 and 22 (informational message to fatal condition). .PP Associated with these two message handlers are several variables that are used to either control their behavior, or are used as indicators by the message handler: .ie n .IP "$thresh_display" 4 .el .IP "\f(CW$thresh_display\fR" 4 .IX Item "$thresh_display" This variable is used by the message handler to determine the minimum error severity which will cause a message to be displayed. By default this is 0, which will display all messages (with a couple of exceptions). Setting this to 1, for example, would suppress informational messages such as the output of \&\fBset showplan on\fR. .ie n .IP "$thresh_fail" 4 .el .IP "\f(CW$thresh_fail\fR" 4 .IX Item "$thresh_fail" This variable is used by the error handler to determine which error severity is considered by \fIsqsh\fR to be a failure. Normally, this defaults to 11 which indicates that any error, other than informational messages, is a failure. The next variable will explain the importance of this value. .ie n .IP "$batch_failcount" 4 .el .IP "\f(CW$batch_failcount\fR" 4 .IX Item "$batch_failcount" This variable should be considered read-only, and contains the total number of times that batches have caused an error of severity \fB\f(CB$thresh_fail\fB\fR or more. The only value that is valid to explicitly set this value to, is "" (the empty string), which will reset this value to 0, any other value may have unpredictable results. .ie n .IP "$thresh_exit" 4 .el .IP "\f(CW$thresh_exit\fR" 4 .IX Item "$thresh_exit" This variable is used to determine the limit at which \fB\f(CB$batch_failcount\fB\fR will cause \fIsqsh\fR to exit. If \fB\f(CB$thresh_exit\fB\fR is 0, then this feature is disabled. In other words, if \fB\f(CB$batch_failcount\fB = \f(CB$thresh_exit\fB\fR and \fB\f(CB$thresh_exit\fB\fR is greater than 0, then \fIsqsh\fR will exit, returning \fB\f(CB$batch_failcount\fB\fR as an exit status. .Sp Note that, unless \fB\f(CB$exit_failcount\fB\fR is set to 1, \fIsqsh\fR will exit with 0 if the total number of failures does not reach \fB\f(CB$thresh_exit\fB\fR. .ie n .IP "$exit_failcount" 4 .el .IP "\f(CW$exit_failcount\fR" 4 .IX Item "$exit_failcount" This variable is used only when \fIsqsh\fR would normally exit with a success status (0), this causes it to instead exit with a value of \fB\f(CB$batch_failcount\fB\fR (which may, itself, be 0). .ie n .IP "$exit_value" 4 .el .IP "\f(CW$exit_value\fR" 4 .IX Item "$exit_value" When this variable is non-zero, it will override the \fB\f(CB$exit_failcount\fB\fR and \&\fB\f(CB$batch_failcount\fB\fR values and just exit the value of \fB\f(CB$exit_value\fB\fR. This variable may be explicitly set using the \fB\eset\fR command, or implicitly using \&\fB\eexit x\fR and its aliased counterparts. .PP To recap, here is a list of error codes that may be returned by \fIsqsh\fR upon exit, and the reason that they could be returned: .IP "\- 0 \-" 4 .IX Item "- 0 -" No error has been encountered. .IP "\- 1...253 \-" 4 .IX Item "- 1...253 -" Between 1 and 253 batches have failed (if you run more than 253 batches, the exit status of sqsh is undetermined...I may fix this in the future). .IP "\- 254 \-" 4 .IX Item "- 254 -" An explicit \fB\eabort\fR was called, or a \s-1SIGINT\s0 (^C) was issued during a non-interactive session. .IP "\- 255 \-" 4 .IX Item "- 255 -" A general error condition has occurred, such as a bad command line argument to sqsh, memory allocation failure, file access error, etc. .PP The following sections provide detailed examples of combinations of variable settings and the results produced upon exit with certain failure conditions. It is assumed the \fB\f(CB$exit_value\fB\fR variable contains 0 in the next examples. .IP "thresh_display=0, thresh_fail=0, thresh_exit=1" 4 .IX Item "thresh_display=0, thresh_fail=0, thresh_exit=1" With this combination, all error messages will be displayed as they happen, and every error will be considered an failure condition. Upon reaching the first error, \fIsqsh\fR will abort with an exit status of 1, or the total number of failures (the \fB\f(CB$batch_failcount\fB\fR variable). However, if nothing goes wrong during the whole process, a zero is returned. .IP "thresh_display=0, thresh_fail=0, thresh_exit=3" 4 .IX Item "thresh_display=0, thresh_fail=0, thresh_exit=3" This combination will cause all error conditions to be displayed and all of them to be considered a failure condition. Upon reaching three total failed batches, \&\fIsqsh\fR will exit with a status of 3. However if 0, 1, or 2 batches fail, then 0 is returned. .IP "thresh_display=22, thresh_fail=0, thresh_exit=3" 4 .IX Item "thresh_display=22, thresh_fail=0, thresh_exit=3" This behaves the same as the previous example, with the exception that all error messages will be suppressed from being displayed. This is particularly useful if you just care about the exit value more than the actual error. .IP "thresh_display=0, thresh_fail=2, thresh_exit=1" 4 .IX Item "thresh_display=0, thresh_fail=2, thresh_exit=1" This will cause the first error of severity 2 or higher to be displayed and cause \fIsqsh\fR to exit with a failure condition of 1. .IP "thresh_display=0, thresh_fail=0, thresh_exit=3, exit_failcount=1" 4 .IX Item "thresh_display=0, thresh_fail=0, thresh_exit=3, exit_failcount=1" This is identical to the second example, above, however \fBsqsh\fR will return the total number of batches that failed even if \fB\f(CB$batch_failcount\fB\fR does not reach 3. .IP "exit_value=nonzero" 4 .IX Item "exit_value=nonzero" This will override all conditions explained above and just exit the specific value. .SS "Miscellaneous" .IX Subsection "Miscellaneous" \fIColorizing sqsh prompts, etc.\fR .IX Subsection "Colorizing sqsh prompts, etc." .PP Color codes are presented as a string like {1;2;3}. If sqsh encounters a { (curly brace) in the prompt string it will assume a color-code is supplied and will act as such. No checks will be performed on the validity of the color-code definition itself. The color definition consists of three values separated by a semicolon. .PP The first code defines the Color Attribute Code with possible values: 0=none 1=bold .PP The second value defines the Text Color Code: 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white .PP The third value defines the Background Color Code: 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white The last color-code for the background may be omitted. .PP Not all color and attribute combinations will present good results, depending on your terminal type and color scheme. But the following values work \s-1OK\s0 on a xterm with a creamy white background color in Linux as well as rxvt in Cygwin with a black background window: .PP Prompt: Blue text in white background \*(L"{0;34;47}\*(R" .PP Command text: Yellow text \*(L"{0;33}\*(R" .PP sqsh will translate the color-codes to an actual color-code string that is presented to readline: for example \*(L"\e001\e033[0;36;47m\e002\*(R". Note that if you want to use curly brackets in your prompt, you have to escape colorization by specifying a double brace, like {{...}}. For example: .PP .Vb 3 \& \eset prompt_color=\*(Aq{0;34;47}\*(Aq \& \eset text_color=\*(Aq{0;33}\*(Aq \& \eset prompt=\*(Aq$prompt_color{{$DSQUERY.$username.$database.$lineno}}>$text_color \*(Aq .Ve .PP Color support is automatically available if sqsh is compiled and linked with readline support enabled. .SH "FILES" .IX Header "FILES" Defaults: \f(CW$HOME\fR/.sqshrc, \f(CW$HOME\fR/.sqsh_session, \f(CW$HOME\fR/.sqsh_history, \&\f(CW$HOME\fR/.sqsh_readline, \f(CW$HOME\fR/.sqsh_words, \f(CW$tmp_dir\fR/sqsh\-dfr.*, \&\f(CW$tmp_dir\fR/sqsh\-edit.* These can all be modified using the internal \fIsqsh\fR variables described above. .SH "BUGS" .IX Header "BUGS" The addition of flow-of-control expressions has extended sqsh \fIway\fR beyond the scope of its original design, and it is quite obvious from using the features they are hacked in and are rather clunky (although still quite usable). As a result, the processing of these expressions is rather slow (when compared to bourne shell), and the error reporting doesn't lend itself to debugging large scripts. The development of 1000+ line scripts is discouraged. .PP The combination of backgrounding and pipes does not work properly right now. I know why this is happening, but haven't determined an elegant solution to it just yet. What happens is, when a background job is run that incorporates a pipe-line, \fIsqsh\fR will suspend until the job is complete, which is obviously not what you desire. To test this, try the following: .PP .Vb 2 \& 1> select * from syscolumns \& 2> go | grep id & .Ve .PP You will find that you do not get your prompt back until the job completes. If you want a technical explanation of why this is happening, send me e\-mail at the address at the end. .PP I would like to support all of the flags available in \fIisql\fR right now. This shouldn't be very hard. .PP No complaints about spelling or grammar. I hate documentation, so count yourself lucky that you have a manual page at all. sqsh-2.1.7/doc/sqsh.html0100664000076500007650000047365211336752152015405 0ustar mpepplermpeppler sqsh

NAME

sqsh - Interactive database shell (version 2.1.7)


SYNOPSIS

       sqsh [[options]] [[args......]]
            [ -a count ]
            [ -A packet_size ]
            [ -b ]
            [ -B ]
            [ -c [cmdend] ]
            [ -C sql ]
            [ -d severity ]
            [ -D database ]
            [ -e ]
            [ -E editor ]
            [ -f severity ]
            [ -G tds_version ]
            [ -h ]
            [ -H hostname ]
            [ -i filename ]
            [ -I interfaces ]
            [ -J charset ]
            [ -k keywords ]
            [ -K keytab]
            [ -l debug_flags ]
            [ -L var=value ]
            [ -m style ]
            [ -n on|off ]
            [ -N appname ]
            [ -o filename ]
            [ -p ]
            [ -P [password] ]
            [ -Q query_timeout ]
            [ -r [sqshrc] ]
            [ -R server principal ]
            [ -s colsep ]
            [ -S server ]
            [ -t [filter] ]
            [ -T login_timeout ]
            [ -U username ]
            [ -v ]
            [ -V [bcdimoqru]]
            [ -w width ]
            [ -X ]
            [ -y directory ]
            [ -z language ]
            [ -Z [secmech|default|none] ]


DESCRIPTION

Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), and is intended as a replacement for the venerable 'isql' program supplied by Sybase. It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work.

Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality.


OPTIONS

The following options may be used to adjust some of the behavior of sqsh, however a large portion of the configuration options are available only through environment variables which may be set at runtime or via a .sqshrc file.

Options may also be supplied in the SQSH environment variable. This variable is parsed prior to parsing the command line, so in most cases the command line will override the contents of the variable. Be aware that for options which are allowed to be supplied multiple times, such as -c, supplying them both in a variable and on the command line will be the same as supplying them multiple times on the command line.

-a count

Sets the maximum count of failures (as determined by the $thresh_fail variable) that may occur before sqsh will abort. Setting this to 0 indicates that sqsh should not exit on errors. This value defaults to 0 and may also be set using the $thresh_exit variable. See section EXIT STATUS for details.

-A packetsize

Specifies the size of the network TDS packets used to communicate with the SQL server. This value must be between 512 and 8192, and be a multiple of 512. Check your SQL Server configuration to determine supported packet sizes. This value may also be specified at run-time using the $packet_size variable.

-b

Suppress the banner message upon startup. This is unnecessary in cases where stdout has been redirected to a file. This option may also be set via the $banner variable.

-B

Turns off all buffering of stdin, stdout, and stderr. This feature allows sqsh to be run from an interactive control script such as chat and expect.

-c [cmdend]

Internally sqsh provides the command \go to send a batch of SQL to the database and provides a single alias, go for this command. Each time cmdend is supplied a new alias for \go is established.

-C sql

Causes the sql command to be executed by sqsh, similar to the same behavior exhibited by the -i flag. This sql statement may not contain double quotes (this limitation may be lifted in a future release of sqsh).

-d severity

Sets the minimum SQL Server error severity that will be displayed to the user. The default is 0, and valid ranges are from 0 to 22. This may also be set using the $thresh_display variable. See section EXIT STATUS.

-D database

Causes sqsh to attempt to start with your database context set to database rather than your default database (usually master). This may also be set using the $database variable.

-e

Includes each command issued to sqsh to be included in the output. This option may also be set via the $echo variable (which is unrelated to the \echo command).

-E editor

Set the default editor to editor. This may also be set using the UNIX environment variable $EDITOR to the name of the editor desired.

-f severity

Sets the minimum severity level considered a failure by sqsh. This is the same as setting the $thresh_fail variable. See section EXIT STATUS for details.

-G tds_version

Set the TDS version to use. Valid versions are 4.0, 4.2, 4.6, 4.9.5, 5.0 and freetds additionally supports versions 7.0 and 8.0. The specified value is assigned to the variable $tds_version. Input validation is not performed by sqsh. However, when an invalid TDS version is specified, the default version of 5.0 will be used. After a session is setup, the variable $tds_version will be set to the TDS version in effect. The variable will not be available if option -G is not used. Meant for test and debugging purposes only.

TDS stands for Tabular Data Stream and is the communication protocol Sybase and Microsoft uses for Client-Server communication.

-h

Turns off column headers and trailing "(# rows affected)" from batch output.

-H hostname

Sets the client hostname as reported in sysprocesses. This may also be set via the $hostname variable.

-i filename

Read all input from filename rather than from stdin.

-I interfaces

When a connection is established to the database, the interfaces file is used to turn the value of $DSQUERY into the hostname and port to which the connection will be made, by default this is located in $SYBASE/interfaces. This flag allows this default to be overridden.

-J charset

Specifies the character set to be used on the client side to communicate with SQL Server. This may also be set using the $charset environment variable.

-k keywords

Specifies a file containing a list of keywords to be used for keyword tab completion, if readline support has been compiled into sqsh. This file may also be set via the $keyword_file variable, which defaults to $HOME/.sqsh_words.

-K keytab

Kerberos support. Specify the keytab file name for DCE.

See the Kerberos Support section below for details.

-l debug_flags

If sqsh has been compiled with -DDEBUG, this option may be used to turn on and off debugging options. See the $debug variable, below.

-L var=value

Sets the value of $var to value. This may be used to set the value of any sqsh variable even if an explicit command line variable is supplied for setting the variable. The -L flag may be used to set the value of non-configuration variables as well.

-m style

Changes the current display style to style. Currently supported styles are horiz, vert, bcp, csv, html, meta, pretty and none. The current display style may also be set using the $style variable or via the -m flag to the \go command.

-n on|off

Enables chained transaction mode on connect (if set to on). Chained transaction mode is also known as "AutoCommit off" mode.

-N appname

Set the application name sqsh uses to identify itself to the SQL server. The application name can be retrieved from the server using the column program_name of the master.dbo.sysprocesses table. Defaults to sqsh-2.1.7.

-o filename

Redirects all output to filename rather than stdout.

-p

Display performance statistics upon completion of every SQL batch. This option may also be turned on via the $statistics variable, or by supplying the -p flag to the \go command.

-P [password]

The Sybase password for username required to connect to server (default, NULL). The password may also be set via $password. Supplying a password of '-' causes the password to be read from the first line of stdin.

sqsh takes pains to hide the password from any user trying to view the command line used to launch sqsh, so using -P should not constitute a security hole. Alternatively, you can store your default password in .sqshrc file which is not readable by anyone other than yourself. (chmod 600 .sqshrc)

-Q value

Query timeout value (equivalent to isql's -t option). If set, will timeout a long running query. Maps to the $query_timeout variable.

For example:

  sqsh -SASE1502 -Usa -P -Q30
  ASE1502.sa.master.1> cd tix
  ASE1502.sa.tix.1> select count(*) from E_TIX;
  Open Client Message
  Layer 1, Origin 2, Severity 2, Number 63
  ct_results(): user api layer: internal Client Library error:
                Read from the server has timed out.
  ASE1502: Query or command timeout detected, command/batch cancelled
  ASE1502: The client connection has detected this 1 time(s).

See also the $max_timeout variable, which controls the number of times a timeout may occur on the current connection before the session is aborted.

-r [sqshrc]

Specifies an alternate .sqshrc file to be processed, rather than the default. If no sqshrc is supplied following -r, then no initialization files are processed. This flag must be the first argument supplied on the command line, all other instances will be ignored.

-R server_principal

Kerberos support: Specifies a server principal to use for network (Kerberos) authentication, if the server name in the interfaces file differs from the real server name.

See the Kerberos Support section below for details.

-s colsep

Causes the string colsep to be used to delimit SQL column output columns, this defaults to " ".

-S server

The name of the Sybase server to connect, the default of this is the external environment variable $DSQUERY. If neither -S nor $DSQUERY is set then defaults to "SYBASE". This value may also be set via the internal variable $DSQUERY.

-t [filter]

Enables filtering of command batches through an external program, filter, and prior to being sent to the SQL Server. If filter is not supplied, then $filter_prog is used (default is 'm4 -'). This value may also be set via the $filter and $filter_prog variables.

-T value

Specifies the login timeout (similar to isql's -l flag). If set specifies the number of seconds sqsh will wait before timing out a login request. Maps to the $login_timeout variable.

-U username

The Sybase username to connect to the database as, this defaults to the username of the user running sqsh. The username may also be set via the $username variable.

-v

Displays the version number, $version, and exits.

-V [bcdimoqru]

Kerberos support: Specify the security options to use.

See the Kerberos Support section below for details.

-w width

The maximum output width of a displayed result set, this defaults to your screen width in interactive mode.

-X

Initiates the login connection to the server with client-side password encryption (if supported). If either SQL Server does not recognize this option, or if the version of CT-Lib used to compile sqsh does not support this option, then it will be ignored. This option may also be set using the $encryption environment variable.

-y directory

Specifies a SYBASE directory to use other than the value of $SYBASE in order to find the interfaces file.

-z language

Specifies an alternate language to display sqsh prompts and messages. Without the -z flag, the server's default language will be used. This may also be set using the $language variable.

-Z [secmech|default|none]

Kerberos support: Specify the security mechanism to use.

See the Kerberos Support section below for details.

args...

If sqsh is run with the -i flag specifying an input file to be processed (rather than initiating an interactive session), arguments may be supplied on the command line to be passed to the input file. These arguments may be accessed using the variables ${0}, ${1}, ... (see the Variables section, below, for more information).

Initialization

Upon startup, sqsh initializes all internal environment variables, commands, and aliases to their default values, it then looks in the system-wide configuration file (usually /usr/local/etc/sqshrc), followed by a local configuration file $HOME/.sqshrc (this may be overridden via the SQSHRC external environment variable). If this file is found it is executed just like a script would be using the -i flag.

The .sqshrc file may contain anything that could normally be typed at the prompt, however it should be noted that at the time this file is read sqsh has yet to establish a connection to the database, however most commands that perform database activity, such as \go will attempt to establish a database connection when executed (it may also prompt you for a password if necessary). Also, if database activity is required within this startup file, the \connect command (see COMMANDS, below) may be executed.

After the .sqshrc file has been executed, sqsh then parses any command line options (thus any variables set in your .sqshrc file may be overridden by command line options). Following that, if sqsh is run in interactive mode (i.e. without -i and if stdin is attached to a tty), it then looks for .sqsh_history and loads the contents of that file into this history buffer (see BUFFERS, below).

Immediately prior to establishing a connection to the database (either during startup, or by an explicit \connect or \reconnect command), the file $HOME/.sqsh_session is executed. The name of this file may be overridden using the $session variable.

Command line

When a line is first read by sqsh, the first word is separated from the line. This word is then expanded of all variables (see Variable Substitution, below), followed by command expansion (see Command Substitution, below). The first word of the resulting string is then analyzed to see if it is either a valid sqsh command or alias.

The sqsh command line follows many of the same rules as Bourne shell, allowing file redirection, pipelining, command substitution, and back-grounding via the same syntax.

Comments

Any line beginning with a # followed by a non-alphanumeric character (any character other than 0-9, a-z, A-Z, and _) causes the entire line to be ignored. Because of the possible collision with T-SQL session specific temp-table names, the line will not be ignored if the first character following the #, is alphanumeric.

Quoting

Quoting is used to prevent the interpretation of special keywords or characters to sqsh, such as white-space, variable expansion, or command substitution. There are three types of quoting, escape, single-quotes, and double-quotes.

Enclosing characters in single quotes preserves the literal interpretation of each character contained within the quotes. A single quote may not appear within single quotes, even when preceded by an escape. For example:

    1> \echo I can not expand '$username'

outputs

    I can not expand $username

The characters \\ are used to escape the meaning (and thus prevent the interpretation) of the character immediately following them. The \ character itself may be escaped. For example:

    1> \echo I can\\'t expand '$username'

outputs

    I can't expand $username

The escape character may also be used to escape a new-line in order to perform a line continuation, in this case the new-line is discarded and the continued line is automatically appended to the previous line, for example:

    1> \echo Hello \\
    --> World!
    Hello World!

Enclosing characters in double quotes preserves the literal meaning of all characters within them with the exception of $, ', and \\. A double quote may be contained within double quotes by escaping it.

    1> \echo "\\"I can't deny it, I like $username\\", she said"

prints out

    "I can't deny it, I like gray", she said

Expansion

After a line of input has been read, sqsh attempts to expand the line of any aliases (see Aliasing, below), following that it attempts to determine if the line begins with a command keyword. Once a line has been determined to contain a command name it has two types of expansion performed up it: variable substitution, followed by command substitution respectively. Following this expansion the command line is separated into words and the command is executed.

Variable Substitution

The character $ is used to indicate variable substitution or expansion within a word. These variables may be assigned values by the \set command like so:

    1> \set name=value

name may be a character or underscore followed by any combination of characters, digits, or underscore, and may not contain any special characters, such as (') and ("). The restriction on the first character being a digit is introduced because SQL allows the representation of money data types as $nn.nn where n is a digit.

value may contain anything, however if it is to include white-space, then it must be quoted (see Words & Quoting, above). Note that in order to prevent the expansion of a variable use either single quotes, or two \'s, like thus:

    1> \echo \\$name
    $name

Variables may be referenced in one of two ways:

$variable In this manner all characters, digits, and underscores are treated as the name of the variable until another type of character is reached (either a special character, or a white-space). ${variable} The braces are required only when variable is followed by a letter, digit, or underscore that is not to be interpreted as part of its name. Note that the same effect may be achieved using double quotes.

It should be noted that because the variables are expanded prior to breaking the command line into words, if the contents of the variable contain white spaces, they are treated as significant by the parser. In the following example:

    1> \set x="1 2 3"
    1> \echo $x

the \echo command receives three arguments, "1", "2", and "3", although it looks as if only one argument was passed to it. This behavior is consistent with most shells (such as csh, bourne shell, etc.).

Command Substitution

Sqsh supports a second form of expansion called command substitution. This form of expansion substitutes a command on the command line with the output of the external UNIX command. This expansion may be achieved by placing the command line to be executed in back-quotes (`). For example:

    1> \set password=`/sybase/bin/getpwd $DSQUERY`
    1> \echo $password
    ilikepickles

This example, the external program /sybase/bin/getpwd is executed with the current contents of the $DSQUERY environment variable, the entire expression is then replaced with the output of getpwd (ilikepickles) prior to executing the \set command. By default, the output of the substituted command is first broken into words according to the contents of the $ifs variable prior to assembling together back into the command line. So, by overriding the contents of $ifs you may affect the behavior of the substitution process.

For example:

    1> \set ifs=":"
    1> \echo `echo hello:how:are:you`
    hello how are you

This mechanism is frequently useful for parsing input files, such as /etc/passwd into fields.

Input/Output Redirection

As with standard Bourne shell (and most other shells, for that matter), a command's input and output may be redirected using a special notation interpreted by the shell. The following may appear anywhere on the command line, but only redirection that is specified prior to a pipe (|) actually has any effect on the behavior of internal sqsh commands (refer to Pipes, below).

<word

Use the file word as the standard input for the command. Typically very few sqsh commands actually read anything from stdin, so this will usually have no effect (see the \loop command).

[n]>word

Associate the output of file descriptor n (stdout, by default) with file word. If this file does not exist it is created; otherwise it is truncated to zero length.

[n]>>word

Append the output of file descriptor n (stdout, by default) to file word, creating it if it does not exist.

[m]>&n

Redirect the output of file descriptor m (stdout by default), to same output as file descriptor n. The order in which redirections are specified on the command line is significant, as the redirections are evaluated left-to-right. For example:

    1> select * from select /* syntax error */
    2> \go >/tmp/output 2>&1

This statement first redirects the standard output of the \go command to the file /tmp/output, then redirects the stderr to the same file. So, when the commands fails, the error output will be found in the file /tmp/output.

However, by changing the order of redirection, you can completely change the meaning:

    1> select * from select
    2> \go 2>&1 >/tmp/output
    Msg 156, Level 15, State 1
    Server 'SQSH_TEST', Line 1
    Incorrect syntax near the keyword 'select'.

In this case, error output will be sent to stdout, while what would have gone to stdout is redirected to /tmp/output (in this case /tmp/output will be empty).

Please read the section on Background Jobs, below, for detailed info on the interaction between file redirection and background jobs.

Pipes

A pipeline is a sequence of one or more commands separated by a '|', each command using the stdout of the preceding program for its own stdin. However the first command in the pipeline must be a sqsh command, and all other commands must be external (or UNIX) programs. Any sqsh command may be run through a pipeline, although for many of them (such as the \set command) it doesn't really make any sense to do this. The following is an example of a pipeline:

    1> select * from syslogins
    2> \go | more

This command causes the result set generated by the \go command to be sent to the more(1) program, which then sends it to your screen, pausing at each screen full of data (this is the primary reason that I wrote sqsh).

There are several peculiarities in the way in which sqsh deals with pipelines as opposed to the way in which standard Bourne shell treats them.

Everything following the first occurrence of a pipe (|) character is broken into white-space delimited words, including such special shell commands as '2>&1' and other occurrences of pipes. If there are any variables contained in these words they are expanded following the same quoting rules as described in Words & Quoting, above, with the one exception that all quotes are left in place. These words are then reassembled into a single string and shipped off to /bin/sh for processing.

In short, sqsh makes no attempt to interpret what follows the first pipe, instead it is shipped off to a "real" shell to do the work. The rationale behind this is that I was lazy and didn't feel like writing all of the same bizarre variable handling, &&'ing, ||'ing, grouping, and variable expansion rules that Bourne shell supports, and instead I let Bourne do the dirty work.

The advantage of this method is that you can do some very complex stuff after the pipeline, such as:

    1> select * from syscolumns
    2> \go | (cd /tmp; compress -c > sysolumns.Z)

Not that I can think of any real reason to do this...but you can if you want to.

Background Jobs

Backgrounding provides a mechanism whereby you may run any sqsh command as a background process and continue working while it runs. Sqsh offers two types of backgrounding:

Deferred

In this mode sqsh redirects all output of the background job to a temporary file (located in the directory $tmp_dir) while the job is running, so that the output is not intermixed with what you are currently working on. When the job completes you are notified of the process completion and the output may be viewed using the \show command.

Non-Deferred

This corresponds to the common idea of a background process under UNIX. In this mode the output of the job is not implicitly redirected for you, and thus may become intermingled with what you are currently working. The mode selection you choose is selectable via the $defer_bg variable (which defaults to '1', or 'On'). Typically the only reason to not use deferred mode is to prevent large result sets from filling up your file system.

To specify that a job be run in the background, simply append a & to the end of the command line, as:

    1> sp_long_arduous_proc 1, 30
    2> \go &
    Job #1 running [xxxx]
    1>

When sqsh encounters the & on the end of the command line it spawns a child process (with a Unix process id of xxxx) then the child process calls the \go. \go command then establishes a new connection to the database (using the current values of the $DSQUERY, $username, $password variables) and executes the shown query. While the job is executing the commands \jobs \wait and \kill may be used to monitor or alter a currently running job (see section COMMANDS, below). When any job completes sqsh will display a notification, such as:

    1> select count(*) from <return>
    Job #1 complete (output pending)
    2>

When a job completes, if it had no output, it is immediately considered terminated and will not show up in the current list of running jobs. However if the complete job has pending output, it will continue to be displayed as a running job (with the \jobs command) until a \show is used to display the output of the job.

There is a known bug with job backgrounding when used in conjunction with pipes, please refer to the BUGS section at the end of the manual.

Buffers

In normal isql only two buffers are maintained; the buffer into which you are currently typing, and a buffer that contains the last batch executed (this is kept around for when you run 'vi', or 'edit').

Sqsh maintains several distinct sets of buffers:

Work Buffer: This buffer corresponds directly to the isql work buffer. It is the buffer into which you enter the current batch prior to sending it to the database.

History Buffer: This is actually a chain of 0 or more buffers (configurable by the $histsize variable) of the last $histsize batches that have been run. This buffer is only maintained when sqsh is run in interactive mode; that is, batches executed using the -i flag, or executed via redirection from the UNIX prompt will not be maintained in history (after all, they are already in a file somewhere).

If the variable $histsave is True (see section SPECIAL VARIABLES), and sqsh is in interactive mode, then the current history buffer is written to $HOME/.sqsh_history when you exit. This file is then read back into sqsh the next time it is started in interactive mode.

Named Buffers: At any time during a session the Work Buffer, or any of the History Buffers may be copied into a named buffer using the \buf-copy command (see section COMMANDS, below). These buffers are lost when you exit (however you may use the \buf-save command to save named buffers to a file).

Buffer Short-Hand

Many commands allow all of these buffers to be referenced in a short-hand fashion, very similar to the way that csh(1) references its commands history. Any of these shorthands may be used for any buffer parameter described in the COMMANDS section:

!.

The current work buffer.

!!

The last command executed (note, this is not available in non-interactive mode as it does not maintain a history).

!+

The next available history entry. This is a write-only buffer, so typically only applies to such commands as \buf-copy.

!n

Refers to history #n. Each time an entry is written to history it is assigned an increasing number from the last entry, with this short-hand you may reference any given history.

!buf_name

Just for consistency this is supplied as a reference to named buffer buf_name, however buf_name without the leading '!' is also considered correct.

buf_name

Refers to the named buffer buf_name.

Variables

Variables may also be contained within work buffers. Under these circumstances the variables remain unexpanded until the buffer is sent to the database (via the \go command), during which time they are expanded and replaced within the buffer. This behavior may be altered via the $expand variable. (see Special Variables, below).

The following is an example of using variables within a buffer:

    1> \set table_name=syscolumns
    1> select count(*) from $table_name
    2> \go

This is the equivalent of performing the query:

    1> select count(*) from syscolumns
    2> \go

directly. Typically this feature is useful for reusing large complex where clauses, or long column names.

Quoting rules apply the same in SQL buffers as they do in command lines. That is, any variables contained within double quotes (") are expanded and variables contained within single quotes (') are left untouched. Thus:

    1> select "$username", '$username'
    2> \go

yields the results

    ---- ---------
    gray $username

Command Substitution

As with the command line, the output of UNIX commands may also be substituted within a SQL buffer upon execution (once again, only if the $expand variable is set to 1, or true). In this circumstance the command contained within back quotes (`) is replaced with its output prior to forwarding the buffer to SQL server. For example:

    1> select count(*) from `echo syscolumns`
    2> \go

Causes the strings 'echo syscolumns' to be replaced by the word syscolumns prior to executing the command. It should be noted that the contents of the substituted command are only executed at the time of the \go command, not when the line of SQL is input.

Flow-of-Control

New with version 2.0 of sqsh, is the ability to perform basic flow-of-control and functions using the \if, \while, \do, and \func commands.

Blocks & SQL Buffers

All sqsh flow-of-control commands are block-based. That is, if the test expression of the command is met, then a block of sqsh-script will be executed. For example, the definition of the \if command is:

    \if expression
        block
    \fi

This block may be any number of lines of sqsh commands, SQL, or flow-of-control statements to be executed if the expression evaluates to a success condition (0).

Each block has its own SQL buffer for the duration that the block is executed. That is, the following statements:

    1> /*
    2> ** IMPROPER USAGE OF IF BLOCK
    3> */
    4> select count(*) from
    5> \if [ $x -gt 10 ]
    6>     sysobjects
    7> \else
    8>     sysindexes
    9> \fi
    5> go

will yield:

    Msg 102, Level 15, State 1
    Server 'bps_pro', Line 1
    Incorrect syntax near 'from'

because the string 'sysobjects' or 'sysindexes' were inserted into their own SQL buffers. These buffers are discarded as soon as the end of the block was reached, and since a \go command was not contained within the block, no additional errors were generated.

Thus, the correct way to write the above expression would be:

    1> /*
    2> ** PROPER USAGE OF IF BLOCK
    3> */
    4>  \if [ $x -gt 10 ]
    5>     select count(*) from sysobjects
    6>     go
    7> \else
    8>     select count(*) from sysindexes
    9>     go
    10> \fi

or, even:

    1> /*
    2> ** PROPER USAGE OF IF BLOCK
    3> */
    4>  \if [ $x -gt 10 ]
    5>     \set table_name=sysobjects
    6> \else
    7>     \set table_name=sysindexes
    8> \fi
    4> select * from $table_name
    5> go

Also, note that the line number displayed in the sqsh prompt resets to the current position in the outer SQL buffer after reaching the \fi terminator.

Expressions

All flow-of-control statements in sqsh take an expression to determine which block of code to execute. Just like UNIX's Bourne Shell, this expression is simply an operating system program that is executed by sqsh. If the command returns a success status (calls exit(0)), then it is considered successful.

For example, with following statement:

    \while test $x -lt 10
        block
    \done

will execute the contents of block while the current value of $x is less than 10. Note that 'test' is a standard UNIX program to perform basic string or numeric comparisons (among other things). Also, unlike many shells, sqsh has no built-in version of 'test'.

Sqsh does, however, support the standard short form of 'test':

    \while [ $x -lt 10 ]
        block
    \done

With this expression the open brace ('[') is replaced by the sqsh parser with 'test', and the close brace (']') is discarded.

Unsupported Expressions

Currently sqsh does not support the standard shell predicate operators '&&' and '||'. These can be performed like so:

    \if sh -c "cmd1 && cmd2"
        block
    \done

\if statement

The \if command performs conditional execution of a sqsh block based upon the outcome of a supplied expression:

    \if expr1
        block1
    \elif expr2
        block2
    \else
        block3
    \fi

In this example, if expression expr1 evaluates to true, then the block block1 is evaluated. Otherwise, if the expression expr2 evaluates to true, then block block2 is evaluated. Finally, if all other tests fail block3 is evaluated.

Note that, unlike Bourne Shell, every \if command must be accompanies by a trailing \fi statement. Also the sqsh parser is not terribly intelligent: The \else and \fi statements must be the only contents on the line in which they appear, and they may not be aliased to another name.

\while statement

The \while command executes a block of sqsh code for the while a supplied expression remains true.

    \while expr
        block
    \done

In this example, while the expression expr evaluates to true, then the block block is evaluated.

The \break statement may be used to break out of the inner-most \while or \for loop (more on \for below).

\for statement

The \for command executes a block of sqsh code for each word supplied:

    \for var in word ...
        block
    \done

For each word supplied, the value of the variable $var is set to the word and the block of code is executed. Execution ends when there are no more words in the list.

As with \while the \break statement may be used to break out of the inner-most execution loop.

\do command

The \do command is kind of a cross between a statement and a command.

It is a form of \go (see below for details on the \go command) in which a block of sqsh code may be executed for each row of data returned from the query. When the block is executed, special sqsh variables #[0-9]+ (a hash followed by a number) may be used to reference the values in the returned query. For example the following command:

    select id, name from master..sysdatabases
    \do
        \echo "Checkpointing database #2, dbid #1"
        use #2
        go
        checkpoint
        go
    \done

would cause a CHECKPOINT command to be issued in each database on the server.

Command line options

The \do command establishes a new connection to be used by the block of code when executed. By default, this connection is established to the current server (the current setting of $DSQUERY), using the current username ($username) and the current password ($password). This behavior may, however, be overridden using command line options:

-D database

Establishes the connection to the database as the supplied database.

-U username

Establishes the connection to the server as the supplied username.

-P password

Establishes the connection to the server using the supplied password (which is hopefully a valid password for the supplied username).

-S server

Establishes the connection to the supplied server.

-n

Do not create a connection for use by the \do loop. This flag is mutually exclusive with the above flags. With this flag enabled, attempts to perform database commands within the block will generate a flurry of CT-Library errors.

Column variables

As mentioned above, the values of the columns in the current result set may be determined using the special #[0-9]+ variables. Thus, the variable #1 would contain the value of column number one of the current result set, and #122 could contain the value of the 122'nd column (column numbers begin at 1).

In the case of nested \do loops, values in previous nesting levels may be referred to by simply appending an addition '#' for each previous nesting level, like so:

    select id, name from sysobjects
    \do
        select name, indid from sysindexes where id = #1
        \do
            \echo "Table ##2 (objid ##1) has index #1"
        \done
    \done

obviously, this isn't the way you would do this query in real life, but you get the idea.

When expanding columns with NULL values, the column variable will expand to an empty string (''). Also, references to non-existent columns, such as #0, will result in an empty string ('').

As with regular sqsh variables (those referenced with a '$'), column variables will not be expanded when contained within single quotes.

Aborting

If the \break or \return commands are issued during the processing of a \do loop, the current query will be canceled, the connection used by the loop will be closed (unless the -n flag was supplied) and the \do loop will abort.

\func command

The \func command is used to define a reusable block of sqsh code as a function. Functions are defined like so:

    \func stats
        \if [ $# -ne 1 ]
            \echo "use: stats [on | off]"
            \return 1
        \fi
        set statistics io ${1}
        set statistics time ${1}
        go
    \done

In this example a new function is established called stats that expects a single argument, either "on" or "off". Using this argument, stats will enable or disable time-based and I/O-based statistics.

Once established, the function may be called like so:

    \call stats on

Causing all instances of ${1} to be replaced with the first command line argument to stats.

Command line options

Currently only one command line argument is available to the \func command.

-x

Causes the function to be exported as a sqsh command. That is, the function may be invoked directly without requiring the \call command. This behavior is optional because command names can potentially conflict with T-SQL keywords. When using this flag it is recommended that you prepend a backslash (\) to your function name.

Function variables

As shown in the example above, several special variables are available for use within the body of the function. These are:

$#

Expands to the number of arguments supplied to the function or script when invoked.

$*

Expands to the complete list of arguments supplied to the function or script when invoked.

${0}..${N}

Expands to positional arguments to the function. ${0} is the name of the function being invoked, ${1} is the first argument, ${2} the second and so-on, up to argument N. Note that, unlike most shells, sqsh requires that function arguments be referred to using the special curly brace syntax (${1}, rather than $1). The reason for this is that $1 is a valid MONEY value and using the curly braces gets rid of this ambiguity.

$?

After the invocation of a function, this will contain its return value (see below).

Return value

A value may be returned from a function via the \return command.

Like so:

    \return N

Where N is a positive value. This return value is available to the caller of the function via the $? variable. As convention, a return value of 0 is used to indicate a success.

If \return is not explicitly called, the default return value is the current value of the $? variable (which is set to 0 upon entry of the function). Thus, if any SQL statements are invoked within the function, the default return value of $? will be the last error code returned during the processing of the SQL statement.

Kerberos Support

Starting with version 2.1.6, sqsh provides the same command line options as isql to handle Kerberos network authentication.

In version 2.1.5 experimental Kerberos support was added using the -K and -R options. -K was merely a switch to set Kerberos on. In sqsh 2.1.6 a more advanced implementation of network authentication is introduced, although still experimental.

By using the parameters -K, -R, -V, -Z you can make use of your defined network security settings (libtcl.cfg). The named options are identical to the ones defined for isql.

-K keytab_file

Keytab_file name for DCE.

-R server_principal

Server principal name when servername specified in interfaces differs from the real server name.

-V [bcdimoqru]

Specify security options to use with the security mechanism. Each character stands for a specific security service.

-Z [secmech|default|none]

Request a security mechanism defined for Kerberos, DCE or PAM in your libtcl.cfg file. Use secmech to specify the name of a SECURITY entry or default for the first available entry in libtcl.cfg. None must be specified to disable network authentication or reset possible existing values in variables $secmech or $secure_options.

For example, connecting to a server using Kerberos (which happens to be the default, i.e. first entry in libtcl.cfg [SECURITY] tab in this example):

  ~> sqsh -SSYB1502 -Uuser1 -RFC6A1502 -Z
  \connect: Network authenticated session expires at:
            16 Feb 2010 15:28:39 (11764 secs)
  SYB1502.user1.master.1> select @@servername,@@authmech,
                                 show_sec_services();
  ----------------  -----------  ----------------------------------
  FC6A1502          kerberos     unifiedlogin delegation mutualauth
                                 integrity confidentiality
                                 detectreplay detectseq

Note that the real name of the server (@@servername) differs from the server name in the interfaces file, so we have to specify the principal name through the -R parameter. When you do not specify the -V parameter together with -Z, all available security options will be enabled. When -V is specified without any security service options, only option u for Network Authentication will be implicitly set and the default security mechanism will be used if -Z is not specified.

  [user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
  Open Client Message
  Layer 7, Origin 9, Severity 5, Number 1
  ct_connect(): security service layer: internal security control
                layer error:
                Security service provider internal error -1765328352
                occurred.
  [user1@linux-fc6a ~]$ kinit
  Password for user1@LOCALDOMAIN:
  [user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
  \connect: Network authenticated session expires at:
            16 Feb 2010 15:28:39 (10964 secs)
  FC6A1502.user1.master.1>

When the connection succeeds, sqsh will store the real name of the security mechanism in the variable $secmech. For example: "\echo $secmech" may show csfkrb5. The parameter -V takes a list of characters from the possible values of bcdimoqru. The option u enables Network Authentication, is the default and will allways be set when using -V or -Z, specified or not.

    b - chanbinding     : Channel binding
    c - confidentiality : Data confidentiality service
    d - delegation      : Allow delegated credentials
    i - integrity       : Data integrity service
    m - mutualauth      : Mutual authentication for connection
                          establishment
    o - dataorigin      : Data origin stamping service
    q - detectseq       : Out-of-sequence detection
    r - detectreplay    : Data replay detection
    u - unifiedlogin    : Network Authentication

Please check master.dbo.syssecmechs for available services. Non-existing or not supported services supplied with -V are silently ignored. If you specify -V and/or -Z, sqsh assumes network authentication is tried and no password is required.

If you have a network authenticated connection and want to \reconnect using normal ASE authentication with username and password, you have to reset the network authentication variables by specifying -Znone

For example:

  [user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
  \connect: Network authenticated session expires at:
            16 Feb 2010 15:28:39 (10764 secs)
  FC6A1502.user1.master.1> \echo $secmech csfkrb5
  FC6A1502.user1.master.1> \reconnect -SASE1502 -Usa -Psybase
  Open Client Message
  Layer 7, Origin 9, Severity 5, Number 8
  ct_connect(): security service layer: internal security control
                layer error:
  Consistency checks performed on the credential failed
  (minor status 0).
  FC6A1502.user1.master.1> \reconnect -SASE1502 -Usa -Psybase -Znone
  ASE1502.sa.master.1>

The first \reconnect fails because sqsh still wants to try network authentication. However, no user principal for 'sa' exists and no ticket is set and thus the connection fails. The second \reconnect succeeds as the -Znone option reset appropriate variables. If the Kerberos ticket is renewed with kinit or any other client tool, the sqsh session must perform a \reconnect to refresh the credentials and to prevent a premature session abort. With the command \snace you can request for the session expiration interval. Depending on the security services that are set, the database connection may be closed without warning as soon as the ticket expires.

See chapter 16 "External Authentication" from the Sybase System Administration Guide volume 1 for more information on Kerberos network authenticationi, e.a.


COMMANDS

Read-Eval-Print

The read-eval-print loop is the heart of the sqsh system and is responsible for prompting a user for input and determining what should be done with it. Typically this loop is for internal use only, however they are open to the user because there are some creative things that can be done with them.

\loop [-i] [-n] [-e sql] [file]

The \loop command reads input either from a file, a supplied SQL statement, or from a user (see the options below), determining whether the current line is a portion of a TSQL statement or a sqsh command, and performing the appropriate action. When run in an interactive mode \loop is also responsible for displaying the current prompt (see $prompt below).

\loop completes when all input has been depleted (end-of-file is encountered) or when a command, such as \exit requests that \loop exit.

-i

Normally, if file is supplied and does not exist, \loop will return with an error condition, usually causing sqsh to exit. By supplying the -i flag, control will be returned to the calling loop as if end-of-file had been reached (that is, with no error condition).

-n

By default, \loop will automatically attempt to connect to the database if a connection has not already been established via the \connect command. The -n flag disables this behavior allowing \loop to process commands that do not require database support.

-e sql

Causes \loop to process the contents of sql as if the user had typed it at the prompt and an implicit call to \go is automatically appended to the statement. If multiple instances of -e are supplied, they are all sent as a single batch to the SQL Server for processing. This option may not be used in combination with a file name as well.

file

Specifies the name of a file to be used as input rather than reading input from the user or from the -e flag.

Database Access

Given the size and complexity of sqsh (just look at the length of this man page), it is amazing how few database manipulation commands that there actually are. The following are commands that affect or use the current database connection:

\connect [-c] [-D db] [-S srv] [-U user] [-P pass] [-I ifile] [-K keytab] [-R server_principal] [-n] [-N appname] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]] [-Z [secmech|default|none]]

This command is used primarily for internal use to establish a connection to a database. If a connection is already established it has no effect, however if a connection has not been established and $password has not been supplied, then the password is requested and a connection is established. \connect accepts the following parameters:

-c

By default, the \connect command uses the contents of $database to determine the database context that should be used upon establishing the connection (this is used by \reconnect to preserve the current database context upon reconnection). The -c flag suppresses this behavior and the default database context of login is used instead.

-D db

Causes \connect to attempt to automatically switch the database context to db after establishing the connection.

Using this flag is identical to setting the $database variable prior to establishing the connection.

-S srv

The name of the Sybase server to connect, this defaults to $DSQUERY if not supplied.

-U user

The Sybase user to connect to the database as, this defaults to $username variable if not supplied.

-P pass

The password for user required to connect to server. This defaults to $password if not supplied.

-I ifile

The full path of an alternate Sybase interfaces file to use.

-K keytab_file

Used for DCE user authentication.

-R principal_name

Use for Kerberos user authentication to specify the name of the server principal when the name differs from the $DSQUERY value.

See also the discussion on Kerberos support.

-n

Specifies that the connection must use ANSI compliant chained mode.

-N appname

Specify the application name the server will use for program_name in the sysprocesses table.

-Q query_timeout

Set a query timeout period in seconds.

-T login_timeout

Specifies a maximum wait time for session setup.

-V [bcdimoqru]

Security services used for Kerberos support and other security mechanisms.

-Z [secmech|default|none]

Specifies the security mechanism to use for user authentication. For example csfkrb5 for Kerberos support.

\reconnect [-c] [-D db] [-S srv] [-U user] [-P pass] [-I ifile] [-K keytab] [-R server_principal] [-n] [-N appname] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]] [-Z [secmech|default|noe]]

The \reconnect command may be used to force a reconnection to the database using a new username, server name, or password (if desired). If this command fails, the current connection remains (if there is any), however if it succeeds then the current connection is closed and the new connection becomes the only active one.

All arguments that are accepted by \connect are also accepted by \reconnect (in fact \reconnect uses \connect to establish the new connection).

\snace

Will show the session expiration interval for a network authenticated session, using Kerberos tickets, for example.

\go [options] [xacts]

Sends the contents of the Work Buffer to the database, establishing a new connection to the database if one does not already exist (by calling the \connect above). It them displays the results of the query back to stdout and returns, causing the Work Buffer to be cleared and moved to the end of the History Buffer.

If the Work Buffer is empty and the $repeat_batch variable is set to "On", \go will attempt to re-run the last command executed (this will only work in interactive mode if history support is enabled).

\go accepts the following arguments:

-d display

If X11 support is compiled into sqsh, and X display mode is being used (see -x, below), then display will be used as the X display area for the result set. By default the environment variable $DISPLAY is assumed.

-f

Turns off the display of the footer message "(%d rows affected)". Footer messages may also be turned off via the $footers variable.

-h

Turns off all column headers. These may also be turned off via the $headers variable.

-m style

Temporarily changes the display style to style for the duration of the command. Currently supported styles are horiz (or hor or horizontal), vert (or vertical), bcp, csv, html, meta, pretty and none. The display style may be permanently set via the $style variable or the -m command line flag.

-n

Turns off variable expansion in the Work Buffer prior to sending it to the server, this may also be turned off via the $expand variable.

-p

Turns on output of performance statistics when the result set has been successfully returned from the server. This may also be turned on via the -p command line argument to sqsh, or the $statistics variable.

-s sec

If the value of xacts is greater than 1, this causes sqsh to sleep for sec seconds before executing the next transaction. Note that the time spent sleeping is excluded from the statistical information displayed with the -p flag.

-t [filter]

Filters the command batch through an external program, filter, and prior to being sent to the SQL Server. If filter is not supplied, then $filter_prog is used (default is 'm4 -'). This value may also be set via the $filter and $filter_prog variables.

-w width

Overrides the value of $width for the life of the query (see $width below).

-x [xgeom]

Turns on the X11 display filter (only if X11 support is compiled into sqsh), which causes the result set to be sent to a separate window. If xgeom is supplied, then this value will be used as $xgeom for the life of the query (see $xgeom below).

-T xwin_title

Specify the title name of the X result window to create. This will temporarily override the value of $xwin_title. Only useful to specify -T in conjunction with -x.

xacts

Specifies number of times the contents of the Work Buffer should be executed. Note that, similar to isql, a result set will only be displayed during the final execution of the batch. Also, the contents of the Work Buffer are only expanded once, prior to the first execution, so the contents of the buffer will not change between subsequent executions.

\bcp [bcp_options] table

The \bcp commands acts as a sort of enhanced \go command that redirects the result set(s) of the batch to another server via the bcp protocol. While it is possible to \bcp the result set back to the current server (the $DSQUERY variable), this is achieved more easily via a SELECT INTO.

The nitty-gritty details of \bcp go like this: First the current SQL batch is expanded (unless the $expand variable is set to 0) and shipped off to the database for processing. If all goes well, a new connection is established to the destination database (as specified via $DSQUERY or the -S flag) to transfer the result set using bcp. Then, the output of the source database connection is bound to the new bcp connection and data transfer is performed. \bcp can handle multiple result sets without any problem (including result sets returned from stored procedures, etc.) provided that all of the result sets are valid for the destination table.

The equivalent of a "bcp out" may be performed using the bcp display style setting and file redirection (see the $style variable).

-A packet

Specifies the TDS packet size used to communicate with the destination server. If not supplied this defaults to the value the $packet_size variable, or (if that is not set), the default server packet size (usually 512 bytes).

-b batch_size

The number of records transferred in a single transaction between servers. Note that reaching the end of a result causes the batch to be transferred, regardless of the value of batch_size. The default is the entire result set.

-I ifile

The full path of an alternate Sybase interfaces file to use.

-J charset

Specifies the default charset used to communicate with the SQL Server. This defaults to the current character set (the value of the $charset variable).

-m maxerr

The maximum number of batches that may fail before \bcp gives up the ghost (default is 10). Note that this only refers to failures within a given batch. When performing a bcp of multiple result sets to a server, if a given result set has, say, too many columns or bad data types, then the entire bcp process is aborted regardless of the value of maxerr.

-N

Indicates that the value for an identity column in the destination table is being supplied within the result set.

-P password

The password for user required to connect to server. This defaults to $password if not supplied.

-S server

The name of the Sybase server to connect, this defaults to $DSQUERY if not supplied.

-U user

The Sybase user to connect to the database as, this defaults to $username variable if not supplied.

-X

Causes password negotiation with the destination server to be performed using client-side encryption.

-z language

Specifies the language setting to use.

table

As with regular bcp, table may be either a fully or partially specified table name in the destination server. Note that since a new database connection is established during the bcp processes that the database context of the connection may not be the same as the current context, so it is usually safest to fully specify the table name in the form database.owner.table.

\rpc [rpc_opt] rpc_name [[parm_opt] [@var=]value ...]

The \rpc command is used to directly invoke a stored procedure call in the connected server. This command is particularly useful for communicating with an Open Server that does not directly support language calls.

\rpc invokes the remote procedure rpc_name with one or more parameters that may be named (using @var) or anonymous (by not supplying a name). Unfortunately, due to the fact that Sybase's implementation of RPC's, does not directly support most implicit data type conversions (mainly between VARCHAR (the string you supply on the command line) and the most other data types (that the remote procedure is expecting), the syntax for the \rpc command is somewhat complex. However, in short here is how things work:

As the \rpc command line is being parsed, sqsh attempts to guess the data type of the parameter value based on the format (for example if it contains only digits, it is assumed to be an integer), sqsh then performs an explicit data type conversion prior to calling the remote procedure call. If sqsh guesses wrong, several flags are supplied to force it to perform the correct data type conversion (see parm_opt).

Display Options

The following options may be supplied anywhere on the command line and are used to affect the manner in which the result set(s) returning from the remote procedure call are displayed:

-d display

If X support is compiled into sqsh, the value of display is used as the X windows DISPLAY variable. Note, this is usually supplied with the -x flag, below.

-f

Turns off the display of the footer message "(%d rows affected)". Footer messages may also be turned off via the $footers variable.

-h

Turns off all column headers. These may also be turned off via the $headers variable.

-m style

Temporarily changes the display style to style for the duration of the command. Currently supported styles are horiz (or hor or horizontal), vert (or vertical), bcp, csv, html, meta, pretty and none. The display style may be permanently set via the $style variable or the -m command line flag.

-r

Request to recompile the procedure prior to execution.

-w width

Temporarily sets the output width to width. The output width may be permanently set via the $width variable.

-x [xgeom]

Sends output to a separate X window. If xgeom is supplied, then the X window uses this geometry (see $xgeom for details).

-T xwin_title

Specify the title name of the X result window to create. This will temporarily override the value of $xwin_title. Only useful to specify -T in conjunction with -x.

Parameter Options

The following options may be supplied immediately prior to specifying a parameter value and are used to affect the way in which sqsh interprets the contents of the value prior to calling the remote procedure. Although sqsh will allow any combination of these parameters to be combined, it only really makes sense to combine the -x flag with any other flag.

-b

Indicates that the value that is specified should be converted to VARBINARY before calling rpc_name. This flag is implicit (i.e. you need not supply it) if value starts with "0x" and contains only digits.

-c

Indicates that the value that is specified should be converted to VARCHAR prior to calling rpc_name. This flag is implicit if value does not match any of the implicit conversions for the other data types.

-d

Indicates that the value that is specified should be converted to double (float) before calling rpc_name. This flag is implicit if value is in valid floating point notation (e.g. 0.1, .1, 1.4e10, or 4e10).

-i

Indicates that the value that is specified should be converted to integer (int) before calling rpc_name. This flag is implicit if value contains only digits (and, optionally, a leading sign).

-y

Indicates that the value that is specified should be converted to money before calling rpc_name. This flag is implicit if value begins with a "$", and contains only digits and, optionally, a decimal.

-n

Indicates that the value that is specified should be converted to numeric before calling rpc_name. This flag is never implicit, as value would always match either int (-i) or float (-d); however, both of these types will implicitly be converted to a numeric as necessary by the procedure call.

-u

Indicates that value should be ignored and treated as a NULL value, This flag is implicit if value is "".

Buffers

The following commands may be used to create, destroy, or manipulate the various buffers described in the BUFFERS section, above.

\clear

The \clear command will discard the current buffer and in contradiction with the \reset command, will not save the current buffer to the history. When sqsh is compiled with readline support, this command will also clear the screen. (as ^l does.) The alias clear is automatically established upon startup.

\history [-i] [-x count]

Displays the last $histsize batches that have either been sent to the database via the \go command or cleared from the Work Buffer via the \reset command. With option -i also display the number of times the buffer is used and the last time the buffer was used. This information may be of special interest when using the $histunique feature. The -x option may specify the number of most recent history entries to display instead of the total list of history entries.

\hist-load [filename]

Load a history file and append items to the current history list. Use $history if no filename is specified as a parameter.

\hist-save [filename]

Will save the current history buffers to the $history file or to the filename specified as a parameter.

\redraw

Returns a request back to the current read-eval-print loop for it to redisplay the current Work Buffer. If run from non-interactive mode, this command has no effect.

\reset

The \reset command corresponds directly to the isql 'reset' command, returning a request to the read-eval-print loop to clear the contents of the current Work Buffer and, if you are running in interactive mode, place a copy of the buffer into the History Buffer. The alias reset is automatically established upon startup of sqsh for backward compatibility with isql.

\buf-append dst-buffer [src-buffer]

Appends the contents of src-buffer (defaults to !.) to the contents of dst-buffer, if it exists. If dst-buffer doesn't exist it is created.

\buf-copy dst-buffer [src-buffer]

Copies the contents of src-buffer (defaults to !., the Work Buffer, if not supplied), to dst-buffer. Refer to BUFFERS for information on buffer naming conventions.

\buf-del [buffer|range]

Remove a history buffer from the history list. You can also specify a range list consisting of the first and last buffer numbers separated by a '-'. For example: "\buf-del 1-10" will delete the first 10 history entries. Another example, "\buf-del 21" will only delete buffer number 21. Note that the history buffers will be renumbered consecutively.

\buf-edit [-r read-buf] [-w write-buf]

The \buf-edit command is used to edit the contents of a buffer and place the changes into another buffer. This command may only be run while in interactive mode. If read-buf is not supplied then the buffer to be edited defaults to !., if it is not empty, otherwise it defaults to !!. If write-buf is not supplied then the edited buffer is written back to !..

By default, \buf-edit uses the environment variable $EDITOR first, followed by $VISUAL to determine which editor to use, defaulting to 'vi' if the variable is not set.

It is important to note that as of release 1.2, \buf-edit is no longer able to use the name of an alias to it as the name of the editor to launch. This is primarily due to the change in the behavior of alias (see section Aliasing, below, for details).

The commands edit vi and emacs are automatically established upon startup of sqsh for backward compatibility with isql.

\buf-get buffer

The \buf-get command is supplied as a shorthand method of running \buf-copy It is the equivalent of running:

    \buf_append !. buffer
\buf-load [-a] filename [dst-buffer]

Copies the contents of filename in dst-buffer (defaults to !.). If the -a flag is supplied, the contents of filename are appended to dst-buffer. Note that it is illegal to attempt to write to the contents of the history buffer.

\buf-save [-a] filename [src-buffer]

Saves the contents of src-buffer (defaults to !.) to filename. If the -a flag is supplied the contents are appended to filename rather than overwriting the current contents.

\buf-show [buffer]

Displays the contents of the named buffer. If buffer is not supplied, then the contents of all named buffers are displayed. This command is slightly different from the commands above in that it is only legal to supply a Named Buffer buffer, History Buffers, and the Work Buffer will have no results.

Variables

The following command(s) are used to manipulate the contents of internal variables and environment variables.

\set [-x] [name=value ...]

If no arguments are supplied to \set then the current values of all variables are displayed. Otherwise the variable name is set to value. Note that some internal variables (see SPECIAL VARIABLES) may only be set with certain values, so this action may fail, leaving the previous contents on name intact. The -x flag causes the variable to be exported to the environment of any programs launched from sqsh.

Job Control

The following commands are used to view the status of, or manipulate background jobs that are currently running, these correspond roughly to the commands supplied by such shells as csh(1).

\jobs [-i]

Displays the status of any currently running jobs, including whether or not these jobs have pending output, how long they have been running, and when they were started. The -i option will show some additional job information. Note that the total run time of the job is determined from the moment the job is marked complete by the read-eval-print loop when polled, not when it actually ended and is flagged as terminated by the signal handler.

\wait [job_id]

Will pause until job designated by job_id completes. If job_id is a negative number then \wait will pause until any pending jobs completes. If there are no jobs pending, or job_id does not belong to a running job, then an error message is displayed. Note that if multiple jobs are running, and a \wait is issued for one of them, the other jobs may not automatically get signaled when completed within the wait period of the specific job. The other jobs may need to get signaled with a \wait -1 as well to be noticed complete by sqsh.

\kill job_id

Terminates the job specified by job_id, throwing away any output that may be deferred for the job. If job_id is not a running job then an error message is displayed.

\show job_id

Displays the deferred output of completed background job job_id and removes the job from the list of pending jobs (removing the defer file in the process). If job_id is still running, or is not a valid complete job, then an error message is displayed. You may need to issue a \wait job_id first, to get notified of actual job completion.

Aliasing

As of release 1.2, sqsh supports full csh-style command aliasing. With this feature, sqsh checks the first word of each line, prior to any form of expansion, to see if it matches the name of an existing alias. If it does, the command is reprocessed with the alias definition replacing its name. Unlike csh, however, only one form of history substitution is available within an alias: the '!*' entry, indicating the current line being expanded. If no history expansion is called for, the arguments on the command line remain unchanged.

Like csh, aliases are not recursively expanded, so it is perfectly legal to create an alias that expands to a command by the same name.

The following command is used to create an alias:

\alias [alias_name=alias_body]

If no arguments are supplied to the \alias command, then the list of aliases currently in effect is displayed. Otherwise, it creates a new alias with a name of alias_name and a body of alias_body; if alias_name already exists, the body of the existing alias_name is replaced with the new definition.

After defining the new alias, whenever sqsh encounters a line beginning with alias_name, the remainder of the line is replaced with alias_body before any further processing is performed.

If the string '!*' exists anywhere within alias_body, the arguments supplied to the alias are inserted at that point, otherwise the argument are appended to the end of the alias definition. For example:

    1> \alias hi='\echo !* said hello'
    1> hi Scott
    Scott said hello

where as if the alias does not include the !* keyword, then it behaves like so:

    1> \alias hi='\echo said hello'
    1> hi Scott
    said hello Scott

It is perfectly legal to include a !* more than once within a given alias_body. Currently there is no way to escape the string !*, if you really need this feature send me mail.

\unalias alias_name

Removes alias_name.

Miscellaneous

The left over commands.

\exit [x]

The \exit command requests that current read-eval-print loop cease processing. When the last loop returns, sqsh exit(1)s. You may specify a exit code as parameter which will be stored in $exit_value and will be used as return value to the shell upon exit of sqsh. (0 <= x <= 255).

\abort

Causes all nested read-eval-print loops to abort processing, causing sqsh to exit with an exit value of 254 (see section EXIT STATUS).

\read [-a] [-n] [-h] var_name

Reads a line of input from the user, placing the text of the line in the variable var_name. If the -n is used, then the trailing new-line is left on the line of text, and if -a is supplied, then the text of the line is appended to the existing value of var_name. The -h flag turns off echoing of typed characters back to the user.

\sleep seconds

Causes sqsh too pause for seconds. This is useful within scripts of batches which need to pause briefly between batches (it was primarily useful to me for testing background jobs).

\echo [-n] [args ...]

Just like the UNIX echo(1), this prints its arguments to stdout, followed by a new-line. If the -n flag is supplied, the newline is omitted.

\warranty

Displays the standard GNU warranty.

\help [command]

Without any arguments \help displays a brief list of all available commands, otherwise, it provides specific help for command, if available. When help is requested on a specific command, \help looks for the file $help_dir/command.hlp and displays it to stdout.

\shell [shell command]

If shell command is not supplied then sqsh executes $SHELL. If the $SHELL variable has not been set, then, by default, /bin/sh is executed. Otherwise, if shell command is supplied then it is executed. The exit status of the command executed is stored in the special $? read-only environment variable.

\lock

Locks the current session until the correct password is typed. By default \lock attempts to use the UNIX password (from /etc/passwd) associated with the user running sqsh, however if the $lock variable is set then the contents of that is used for validation instead.

Note, on systems using Shadow Passwords (in which even the encrypted password is unavailable), \lock will only work using the $lock variable.

Aliases

The following aliases are established upon startup of sqsh, and are provided primarily for backward compatibility with isql. These may be removed at any time using the \unalias command (either at the prompt, or within your .sqshrc file).

!

The ! alias is provided as a csh(1)-like history mechanism, and is an alias of \buf-append. With release 0.7, this alias is provided only for backwards compatibility with previous releases of sqsh. See SPECIAL VARIABLES, $history_shorthand for details on the new shorthand mechanism (the new shorthand more closely resembles that of csh).

clear

An alias for the \clear command, which causes the contents of the current work buffer to be cleared and discarded. Also the screen will be cleared if readline is compiled into sqsh.

reset

An alias for the \reset command, which causes the contents of the current work buffer to be cleared and copied to history (if in interactive mode).

exit [x]
quit [x]

An alias for the \exit [x] command, causes the current read-eval-print loop to complete.

edit
vi
emacs

These are provided as aliases for the \buf-edit command. See COMMANDS-Buffers for information on the interactions between \buf-edit and aliases.

go

Provided as an alias for the \go command (for obvious reasons).

help

An alias for the \help command.

In-Line \go

If the variable $semicolon_hack is set to 1 (on), then sqsh supports what is called an in-line \go feature. This allows the current command batch to be terminated and sent to the database in a single step by appending a ';' onto the end of the current work buffer. This allows

    1> sp_who;

To behave in the same manner as if you had typed:

    1> sp_who
    2> \go

Likewise, anything following the semicolon is passed to the \go command just as if it was run as a normal command:

    1> sp_who ; 2>/dev/null | more

Unlike most other isql replacements, sqsh attempts to be smart about the semicolons. If a semicolon is contained within a set of single or double quotes it will not be interpreted. This includes multiple quotes. For example:

    1> select "This is a multiple line
    2> quote; it is smart!" ;

In the above example, only the second semicolon (the one at the end of the line) will be interpreted.


SPECIAL VARIABLES

There are several options that are configurable via the command line options to sqsh, however these are by no means complete. There are many aspects of sqsh's behavior that may only be modified by setting special variables. (In fact, the command line options really only set these variables for you).

Variable Data types

Next to all of the variables that follow is the type of data with which they may be set. Any attempts to set the variable with a type of data that it does not accept will fail.

string

Any sequence characters.

boolean

A positive boolean value may be represented as either "True", "Yes", "1", or "On" (case insensitive) and a negative boolean value may be represented as "False", "No", "0", or "Off" (case insensitive). However, internally the value of the variable will always be represented as either a "1" or "0".

path

Must be the path name that is readable by the sqsh program.

int

Must be one or more digits. Note that some variables also restrict the range of the integer.

date-spec

This is a string of the format used to specify dates and times for the date(1) command, or the strftime(3C) and cftime(3C) standard C library functions. For example '%H:%M:%S' specifies a time of hours in 24 hour format, followed by a colon, followed by minutes, followed by a colon, followed by seconds.

float-format

A string of the format p.s, where p is the total precision of a floating point value (the total number of digits to be displayed, including those following the decimal) and s is the scale of the value (the total number of digits following the decimal to be displayed).

Variables

The following variables have special meanings within sqsh and the setting of these variables alter the behavior of the shell.

$? (int)

This read-only variable may contain the following return value:

  • The most recent error number returned from the SQL Server (@@errno) of severity > 10 (above informational messages).

  • The exit value of a previously executed pipe command.

  • The return value of the most recently executed sqsh function.

$$? (int)

This variable may contain the result of the last executed \if statement:

- 0 -

The test evaluated to False.

- 1 -

The test evaluated to True.

- 2 -

There was an error in the test specification.

$# (int)

Contains the number of arguments passed into the sqsh function or script.

$* (string list)

Expands to the complete list of arguments supplied to the function or script when invoked.

${0}...${N} (int)

Used to reference positional function arguments. Argument ${0} is the name of the function being called, ${1} is the first argument, etc.

$$

Expands to the process ID of the current running sqsh session.

DISPLAY

May contain the name of the DISPLAY the X-server uses to put the XWindows result window when using \go -x. Defaults to the $DISPLAY shell environment.

appname

Contains the name sqsh uses to identity itself to the server. Defaults to sqsh-2.1.7. The application name can be retrieved from the sysprocesses table like: select program_name from master.dbo.sysprocesses where spid=@@pid;

autouse (string)

Note: the meaning of this variable has been deprecated.

If $autouse is set, and the $database variable has not been set, then this variable causes \connect to perform a "use $autouse" once a connection has been established.

This variable may also be set using the -D command line option.

banner (boolean)

Turns off the banner message displayed on startup, this variable defaults to 1 and may also be turned off using the -b command line argument.

batch_failcount (int)

This internal variable is used to keep track of the number of batches that have failed to execute (essentially, the number of times that the error handler was called).

A batch is considered failed whenever an error of severity $thresh_fail is encountered. When $batch_failcount reaches $thresh_exit sqsh exits with an exit value of the total number of batches that have failed. Setting $batch_failcount to the string "" will cause it to reset to zero, any other value may have unpredictable results.

See EXIT STATUS for details.

batch_pause (boolean)

Causes a "Paused. Hit enter to continue..." message to be displayed after each batch is executed. This variable, in conjunction with $echo is good for debugging SQL scripts specified with the -i option.

bcp_colsep (string)

Used as a separator between columns during BCP style output (see the $style configuration variable and the -m option to the \go command). The default setting is "|".

bcp_rowsep (string)

Used as a separator between rows during BCP style output (see the $style configuration variable and the -m option to the \go command). Note that, a newline ("\n") is automatically appended this value and should not be supplied. The default setting is "|".

bcp_trim (boolean)

Controls whether or not BCP style output trims trailing spaces from fixed length columns. The default is "True".

chained (boolean)

If set then sqsh uses the "chained" transaction mode (aka "AutoCommit off"). Setting this has NO effect on the current connection. It can be set via the command line argument -n.

charset (string)

If this variable is set prior to establishing a connection with SQL Server, then during the connection sqsh will request that the server transform to and from the requested charset. After establishing a connection, this variable is automatically set to the current character set in use.

clear_on_fail (boolean)

Normally, whenever the \go command is run, sqsh clears the current work buffer of its contents, moving them to history. Setting $clear_on_fail to 0, leaves the current work buffer intact if a failure is encountered while sending the contents to the database. The default value is 1, or on.

colsep (string)

Causes the string colsep to be used to delimit SQL column output columns, this defaults to " ", it may also be set via the command line argument -s.

colwidth (int)

Used to control the maximum column width displayed by the pretty display style (see $style below). If a row of a column exceeds this width, it will be wrapped in a relatively visually appealing manner at $colwidth characters. Note, however, that if there is enough screen width to hold all columns $colwidth may be exceeded until the width of the screen is reached.

database (string)

If this variable is set prior to establishing a connection to the SQL Server, the a "use $database" is performed immediately after the connection is established. Once a connection has been established this variable will automatically be set to the current database context.

date (date-spec)

This variable may be set with a date format (see the man page for date(1)), and the variable expands to the current date in the supplied format. The default format for this variable is %d-%b-%y (e.g. 02-Feb-1996).

datetime (date-spec)

This variable may be set with a date format similar to $date and $time and is used to control the display format of all SQL Server DATETIME and SMALLDATETIME columns.

Note that this features relies upon the operating system specific locale information for determining such things as the name of the month and day, rather than going through the CT-Lib locale information. This means that the date format could potentially miss-match the locale as requested using the -z flag. For example, if sqsh is run on an operating system configured for US English, but requests French as the language of choice using -z, the use of $datetime will cause all date information to be displayed in US English rather than French.

Ordinary characters defined in the variable are left in place without any conversion. Characters introduced by a '%' character are replaced during display of a column value as follows:

[]

Any contained between a pair of braces ('[' and ']') will be removed when displaying SMALLDATETIME columns. This feature is particularly useful for removing the seconds and milliseconds values which are not applicable to SMALLDATETIME anyway. For DATETIME columns, only the actual braces will be removed.

%a

The abbreviated weekday name according to the current operating system locale.

%A

The full weekday name according to the current operating system locale.

%b

The abbreviated month name according to the current operating system locale.

%B

The full month name according to the current operating system locale.

%c

The preferred date and time representation for the current operating system's locale.

%d

The day of the month as a decimal number (range 0 to 31).

%D

The date in US format (mm/dd/yy).

%H

The hour as a decimal number using a 24-hour clock (range 00 to 23)

%I

The hour as a decimal number using a 12-hour clock (range 01 to 12)

%j

The day of the year as a decimal number (range 001 to 366).

%m

The month as a decimal number (range 10 to 12).

%M

The minute as a decimal number.

%p

Either 'am' or 'pm' according to the given time value, or the corresponding strings for the current operating system locale.

%r

The time in 12-hour format (hh:mm:ss [AM|PM]).

%s

Seconds since the epoc (1970-01-01 00:00:00 UTC) (this is not supported on all systems).

%S

The second as a decimal number.

%T

The current time in 24-hour format (hh:mm:ss).

%u

The millisecond as a decimal number.

%U

The week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week.

%W

The week number of the current year as a decimal number, starting with the first Monday as the first day of the first week.

%w

The day of the week as a decimal, Sunday being 0.

%x

The preferred date representation for the current locale without the time.

%X

The preferred time representation for the current locale without the date.

%y

The year as a decimal number without a century (range 00 to 99).

%Y

The year as a decimal number including the century.

%Z

The time zone (e.g., EDT), or nothing if not time zone is determinable.

%%

A literal '%' character.

debug (string)

If sqsh has been compiled with debugging enabled (-DDEBUG), this variable may be used to control the amount of debugging output displayed. $debug may be set to a pipe (|) delimited (logical OR) set of the following words to turn on various pieces of debugging: ALIAS, AVL, BCP, DISPLAY, ENV, ERROR, EXPAND, FD, JOB, READLINE (abbr. RL), RPC, SCREEN, SIG, SIGCHLD (or SIGCLD) or ALL.

defer_bg (boolean)

Normally, when a job is run in the background (via a '&' on the command line), the output of the job is deferred to a temporary file (located in $tmp_dir) until the user requests the output to be displayed using \show jobid. This way the results of the job will not interfere with what the user is doing. Setting this variable to false will result in no deferred output files being created and output sent to the screen immediately

echo (boolean)

Setting $echo to on (1) causes each command submitted to the database via the \go command to be displayed prior to the output. This variable defaults to 0 (or off), and may also be set using the -e command line option.

encryption (boolean)

Setting the $encryption variable prior to establishing a connection to the server will cause the login connection to be initiated using client-side password encryption. This variable may also be set using the -X command line option.

exit_failcount (boolean)

Settings this value to 1 causes sqsh to return an exit status of $batch_failcount rather than 0, upon a non-error termination. See EXIT STATUS for details. The default value is 0.

exit_value (int)

When you exit sqsh by specifying an exit code, like \exit 3 or using one of the aliases exit or quit commands, then this value is assigned to the $exit_value variable. You can also assign a value using the \set command. When sqsh determines this variable has a non-zero value during termination, this value will be used as exit code. See EXIT STATUS for details.

expand (boolean)

By default when the \go command is executed, the contents of the current work buffer is expanded of all environment variables prior to being sent to the database for execution. By setting this variable to "0", the buffer will no longer be expanded before being sent to the database. This is useful when you either (1) have strings in the buffer that contain a '$' and you don't want them to be expanded, or (2) for performance reasons; it takes time (and an extra copy of the buffer) to perform the variable expansion.

filter (boolean)

Toggles filtering of the SQL batch through an external program (defined by the $filter_prog variable, below) prior to being sent to the SQL Server. Default is '0', or 'off'.

filter_prog (string)

Defines the external program through which the SQL batch will be filtered prior to being sent to the SQL Server. This variable is ignored if $filter is set to '0' or 'off'. The default is 'm4 -'.

float (float-format)

Defines the display format (the precision and scale) for all floating point values displayed by sqsh. The default is '18.6'. Note that values exceeding the defined precision are not truncated, so setting this value too low may cause columns in a result set to be miss-aligned.

footers (boolean)

Toggles the "(%d rows affected)" following a result set. The default for this variable is '1'.

headers (boolean)

Toggles the column headers preceding a result set. The default for this variable is '1'.

help_dir (path)

This is the location of the help files used by the \help command, typically it defaults to something like /usr/local/lib/sqsh/help.

hist_auto_save (int)

When variable $histsave is on and the $hist_auto_save variable has a value greater than 0, then the history will be automatically saved to $history after $hist_auto_save modifications of the history buffers. When the value is 0 (default), then no automatic history save will be performed.

histnum (int)

Contains the history number that will be assigned to the current command batch as soon as the \go command is executed. This variable should be considered read-only. See also the discussion on the $histunique variable.

history (path)

This is the location of the history file used to store and retrieve a user's history during start-up and shutdown. This defaults to $HOME/.sqsh_history. This variable is expanded each time it is referenced by sqsh, much in the same way that $prompt is referenced each time the prompt is displayed.

history_shorthand (boolean)

This variable is only meaningful within an interactive session. If set, it turns on the ability to append any named buffer or history buffer onto the current work buffer in a 'sh' history style, such as '!40'. Be careful with this feature, sqsh is not terribly intelligent with looking for history shorthand, so it is possible that it may get confused (although, it is smart enough to ignore !'s in quoted strings).

histsave (boolean)

The value of this variable is used by sqsh to indicate whether the history should be saved to $history prior to termination of sqsh.

histsize (int)

The value of this variable is used to alter the maximum number of history entries are maintained by sqsh (the default is 10). Note that decreasing the value of this variable causes some history entries to be lost.

histunique (boolean)

If set, sqsh maintains a MRU-LRU order of executed buffers and does not store duplicate command buffers. For example, observe the following situation:

   LINUX1502.user1.master.1> \history
   (1) sp_who
   (2) grant role mon_role to sa_role
   (3) select * from monProcessActivity
   (4) select @@authmech,show_sec_services()
   (5) select @@servername,@@authmech,show_sec_services()
   LINUX1502.user1.master.1> sp_who
   LINUX1502.user1.master.2> go
   ... output omitted
   LINUX1502.user1.master.1> \history
   (1) grant role mon_role to sa_role
   (2) select * from monProcessActivity
   (3) select @@authmech,show_sec_services()
   (4) select @@servername,@@authmech,show_sec_services()
   (5) sp_who

sp_who is the last executed command and the buffer - originally the last in the list - is now on top of the list. When an already existing buffer is reused, the value of the $histnum variable is not changed.

hostname (string)

Used during the connection process to indicate to SQL Server the name of the host from which sqsh is connecting. This variable may also be set using the -H flag.

ifs (string)

The list of Internal Field Separators.

ignoreeof (boolean)

By default, sqsh terminates if the user presses ^d (control-D) on an empty line and readline support is compiled in. If $ignoreeof is set in the sqshrc file you get a warning message instead:

    CTRL-D: Use "exit" or "quit" to leave the sqsh shell.

This is equivalent to using "set -o ignoreeof" in the bash shell.

interactive (boolean)

This is a variable used internally and should probably not be altered by the user. If $interactive is '0', then the prompt is not displayed, the history is neither read nor written and some user messages are suppressed.

interfaces (path)

This is the full path name of the interfaces file, it defaults to $SYBASE/interfaces.

keytab_file (string)

Used in Kerberos and DCE user authentication security mechanisms. Corresponds with the -K startup option.

See also the discussion on Kerberos Support.

keyword_completion (int/string)

This variable only applies if GNU Readline support has been compiled into sqsh. $keyword_completion is used to control the TSQL keyword completion feature in readline, and may be set using either an integer between 0 and 4, or one of the strings none, lower, upper, smart, or exact. If it is set to either 0 or none, then no keyword completion is performed (this is the default). lower or 1, causes sqsh to complete the keyword in lowercase, regardless of the case that the partially completed keyword was typed. upper or 2 forces completion to be performed in upper case, smart, or 3, bases the decision on case upon the first character of the partial keyword, and exact completes the keyword in exactly the same case as defined in the .sqsh_words (for the built-in TSQL keywords, this will be lower case).

keyword_file (string)

If readline support has been compiled into sqsh, and sqsh is being run in interactive mode, the contents of this file are used for keyword tab completion by readline rather than the default set of TSQL syntactical keywords. The default is $HOME/.sqsh_words.

language (string)

The $language variable is used while establishing a connection to the server to specify the national language used to display system prompts and messages. The variable will automatically track the current language setting of the server. This may also be set via the -z flag.

lineno (int)

This is an internal variable and should not be altered by the user. It is used to maintain the line number that is being typed into within the current work buffer.

linesep (string)

Used to configure the line separator for the horizontal display style, this defaults to "\n\t".

lock (string/write-only)

Defines the password to be used by the \lock command. If unset or set to the string "NULL", then the UNIX password of the user running sqsh is used instead (if possible). Note that $lock will always expand to the string "*lock*" if referenced.

login_timeout (int)

The number of seconds to wait when attempting to create a new connection to a data server. Default is 0 (infinite wait). See also the -T command line option.

max_timeout (int)

Controls the number of times a query needs to reach its time-out value before the session is aborted. See $query_timeout and the -Q command line flag. The following messages will be displayed and sqsh exits with value 255 when the $max_timeout limit is reached.

    Query or command timeout detected, session aborted
    The client connection has detected this x time(s)
    Aborting on max_timeout limit
maxlen (int)

Controls the maximum amount of data that will be displayed (in any display mode) in a single column. This setting will automatically truncate the output of particularly large data types (such as TEXT) to the value supplied. The default setting is 8192 bytes (8KB).

newline_go (boolean)

This flag is used as a horrible kludge to support an "empty" alias for the \go command, that is, the equivalent of supplying "-c ''" or just "-c" on the command line. When on, an empty line is interpreted as a call to the \go command. This feature is not recommended but is supplied for completeness.

output_parms (boolean)

Flag used to enable or disable the display of output parameter result sets from stored procedures. The default is to enable the display.

packet_size (int)

Defines the size of the TDS packets used to communicate with SQL. Changing the value of the variable will not affect the current connection but will take effect upon the next \reconnect command. Specifying a value of NULL indicates that the default packet size is desired.

password (string/write-only)

This is the user's current password. A NULL password may be assigned using an explicit "NULL" string. For security reasons, when referenced the $password variable will always expand to the string "*password*".

password_retry (boolean)

When the variable is on and sqsh started in interactive mode, sqsh will ask for the password again if login failed. When set to 'off', sqsh will terminate immediately. Default is on.

principal (string)

Used in Kerberos user authentication as the Server principal name when it differs from the $DSQUERY name. Corresponds with the -R startup option.

See also the discussion on Kerberos Support.

prompt (string)

This variable is used by sqsh to build your current prompt. Any variables contained within $prompt are expanded each time the prompt is displayed. The default value for this is '${lineno}> '. See also the discussion on color support below.

prompt2 (string)

This contents of this prompt are expanded and displayed during interactive use when sqsh requires additional input, such as during a line continuation. The default value is '--> '.

query_timeout (int)

Number of seconds to wait for a query to return data. If the timeout is reached the query is aborted (canceled). See also $max_timeout and the -Q command line option.

rcfile (path)

Contains a colon (:) delimited list of sqsh resource (sqshrc) files. The default setting is /usr/local/etc/sqshrc (unless overridden by the --prefix option when sqsh was compiled) followed by $HOME/.sqshrc).

readline_history (string)

If readline support has been compiled into sqsh, the contents of the readline line-by-line history will be written to the file specified by the $readline_history variable. The default is $HOME/.sqsh_readline.

readline_histsize (int)

If readline support has been compiled into sqsh, the value of $readline_histsize specifies the number of lines that are saved in the readline line-by-line history. Setting this to a value of 0 causes every line to be saved. The default value is 100.

real (float-format)

Defines the display format (the precision and scale) for all real values displayed by sqsh. The default is '18.6'. Note that values exceeding the defined precision are not truncated, so setting this value too low may cause columns in a result set to be miss-aligned.

repeat_batch (boolean)

When set to On or True, a \go executed with an empty SQL Buffer will cause the previous batch to be re-executed.

secmech (string)

The name of the security mechanism used for user authentication. For instance csfkrb5. When using the -Z option, the name of the security mechanism can be specified, or when no secmech is supplied, the OpenClient will use the default, i.e. the first security entry from the $SYBASE/$SYBASE_OCS/config/libtcl.cfg file. Note that the name used must match the name of the corresponding secmech entry in the objectid.dat file. When the connection to the server is setup, the actual secmech name will be stored in the $secmech variable.

secure_options (string)

Describe the security options used for user authentication security mechanisms. Corresponds to the -V startup option.

See also the paragraph on Kerberos Support.

script (string)

If sqsh is run using the -i flag, then this variable contains the name of the script being executed.

semicolon_cmd (string)

When $semicolon_hack (see below) is enabled, the contents of this variable is executed when a semicolon is encountered in the SQL Buffer. This variable defaults to the string '\go'.

semicolon_hack (boolean)

Toggles on the ability to use a ';' as an in-line command terminator. This feature is not recommended and is only in here because enough users complained. See section COMMANDS, In-Line Go.

session (string)

The location of the session file that will be processed just before connecting to a server. The variable will be expanded so it may contain environment variables.

SHELL (string)

The name of the shell to be used to execute pipes and to be used by the \shell command (default '/bin/sh').

statistics (boolean)

Setting $statistics to 1 causes timing statistics to be displayed upon the successful execution of every batch of SQL. This variable may also be set via the -t command line flag, or by supplying -t to the \go command. $statistics defaults to 0.

style (string)

Selects result set display style. Currently eight styles are supported. The horiz (which may also be defined as hor or horizontal), closely resembles the output of isql, with the traditional columnar output.

The vert (or vertical) style rotates the output, so that every line is represented by a column name followed by a column value. This is nice for looking at particularly wide output.

The bcp style displays results in a format amenable to bcp'ing the result set back into another table. That is, every column value is separated by $bcp_colsep with the final column separated by $bcp_rowsep followed by a newline (\n). If $bcp_colsep or $bcp_rowsep are not defined then '|' is used as the default separator. Note that this output does not work well with COMPUTE columns, and uses the default conversion methods for all data types (that is, datetime columns may truncate the millisecond).

The csv display style outputs all result sets in the form of a comma separated construct. This mode is ideal to import result sets into spreadsheet programs, for instance.

The html display style outputs all result sets in the form of an HTML <TABLE> construct. This mode is ideal for the use of sqsh as a CGI application.

The meta display style outputs only the meta-data information associated with the result and discards the actual row results. This mode is useful for debugging the result sets generated from a full passthru Open Server gateway, or for those interested in what is really coming back from the server.

The pretty display style generates a fluffy table-like output using regular ASCII characters for borders. This mode does not perform any explicit column wrapping, like the horiz display mode. However, the $colwidth variable can be used to control the maximum width of a given column on the screen. If the column exceeds $colwidth characters wide, it is wrapped in a relatively visually appealing manner. Note that $colwidth may be exceeded if there is enough screen width to hold the columns without wrapping.

The none display style suppresses all results from being displayed (however it does actually retrieve result information from the SQL Server). This is particularly useful when used with the -p flag (or the $statistics variable) for gathering accurate performance statistics.

term_title (string)

When this variable is set, sqsh will reset the name of the current terminal (xterm) window it is running in. Works for xterm, rxvt, putty and MS-Windows CMD windows. The name consists of the sqsh startup name appended with the expanded value of the $term_title variable.

thresh_display (int)

Sets the minimum SQL Server error severity that will display a message to the user, the default is 0 and valid ranges are between 0 and 22, inclusive.

thresh_exit (int)

Defines the maximum number of errors of severity level $thresh_fail that may be encountered before sqsh aborts. This is useful primarily for non-interactive scripts, but is allowed on an interactive session. Setting $thresh_exit to a value of 0 disables this feature. See section EXIT STATUS for details.

thresh_fail (int)

Sets the minimum SQL Server severity level that is to be considered a failed batch. The minimum for this value is 0 (meaning any error that is not an information message), and the maximum is 22. Whenever $thresh_fail is crossed, the variable $batch_failcount is incremented by 1. See section EXIT STATUS for details.

time (date-spec)

This variable may be set with a time format (see the man page for date(1)), and the variable expands to the current time in the supplied format. The default format for this variable is %H:%M:%S (e.g. 14:32:58).

tmp_dir (path)

This contains the directory to which temporary files used internally by sqsh are to be written. These files are generated either during buffer editing (the \buf-edit command), or to maintain output defer files for background jobs. The default value for this variable is /tmp.

username (string)

The name of the user currently connected to the database.

version (none)

This read-only variable contains the current version number. (sqsh-2.1.7)

width (int)

The current width of the SQL output.

xgeom (string/int)

If X11 support is compiled into sqsh, this value is used to configure the default window size (in characters) of the X display. This variable must be of the format WxH or just W, where W is the width of the window and H is the height of the window. If the height of the window is not supplied, then 25 lines is assumed. If $xgeom is not set, then $width is used as the default width and the height is assumed to be 25. If neither is set, then 80x25 is assumed.

xwin_title (string)

If X11 support is compiled into sqsh and an X11 result windows is requested by using the -x parameter of the \go or \rpc commands, then this variable will be used to set the title name of the window. Can be temporarily overridden with the -T option of the \go and \rpc commands.

Script Execution

As with most shells, sqsh allows a file containing SQL and script commands to be executed directly via the magical UNIX #! convention. On most UNIX platforms, when the operating system encounters the bytes #! as the first two bytes of an executable file it will automatically pipe the file through the interpreter specified immediately after the #!. For example, to create an executable sqsh script to run sp_who, you simply need to create a file like so:

    #!/usr/local/bin/sqsh -i
    sp_who
    go

Thus, if your sp_who script is executed directly, it will automatically launch "/usr/local/bin/sqsh -i sp_who" for you.

And, to make things even more flexible, sqsh supports positional parameters, similar to most shells, of the form ${n} which will expand to the nth argument to your sqsh script. For example:

    #!/usr/local/bin/sqsh -i
    sp_who ${1}
    go

will cause the sp_who stored procedure to be executed with an argument of the first command line parameter supplied to the sp_who shell script.

Note that positional parameters must be contained between braces to avoid conflicts with the TSQL money data type (without the braces, the variable will not be expanded).


EXIT STATUS

One of the major complaints of isql is that it provides no facility to detect when an error condition occurred while it is performing processing. sqsh provides a rather complex, but flexible mechanism for returning meaningful information concerning its reason for exit in the form of an exit status (see exit(3)).

When sqsh begins execution two handlers are associated with the current connection to the database, one is a message handler which is responsible for displaying the text of any SQL Server messages or errors, and the other is an error handler, which is responsible for determining what to do with an error condition (bear with me, these are only loose descriptions). And, associated with each message and error condition is a severity level, between 0 and 22 (informational message to fatal condition).

Associated with these two message handlers are several variables that are used to either control their behavior, or are used as indicators by the message handler:

$thresh_display

This variable is used by the message handler to determine the minimum error severity which will cause a message to be displayed. By default this is 0, which will display all messages (with a couple of exceptions). Setting this to 1, for example, would suppress informational messages such as the output of set showplan on.

$thresh_fail

This variable is used by the error handler to determine which error severity is considered by sqsh to be a failure. Normally, this defaults to 11 which indicates that any error, other than informational messages, is a failure. The next variable will explain the importance of this value.

$batch_failcount

This variable should be considered read-only, and contains the total number of times that batches have caused an error of severity $thresh_fail or more. The only value that is valid to explicitly set this value to, is "" (the empty string), which will reset this value to 0, any other value may have unpredictable results.

$thresh_exit

This variable is used to determine the limit at which $batch_failcount will cause sqsh to exit. If $thresh_exit is 0, then this feature is disabled. In other words, if $batch_failcount = $thresh_exit and $thresh_exit is greater than 0, then sqsh will exit, returning $batch_failcount as an exit status.

Note that, unless $exit_failcount is set to 1, sqsh will exit with 0 if the total number of failures does not reach $thresh_exit.

$exit_failcount

This variable is used only when sqsh would normally exit with a success status (0), this causes it to instead exit with a value of $batch_failcount (which may, itself, be 0).

$exit_value

When this variable is non-zero, it will override the $exit_failcount and $batch_failcount values and just exit the value of $exit_value. This variable may be explicitly set using the \set command, or implicitly using \exit x and its aliased counterparts.

To recap, here is a list of error codes that may be returned by sqsh upon exit, and the reason that they could be returned:

- 0 -

No error has been encountered.

- 1...253 -

Between 1 and 253 batches have failed (if you run more than 253 batches, the exit status of sqsh is undetermined...I may fix this in the future).

- 254 -

An explicit \abort was called, or a SIGINT (^C) was issued during a non-interactive session.

- 255 -

A general error condition has occurred, such as a bad command line argument to sqsh, memory allocation failure, file access error, etc.

The following sections provide detailed examples of combinations of variable settings and the results produced upon exit with certain failure conditions. It is assumed the $exit_value variable contains 0 in the next examples.

thresh_display=0, thresh_fail=0, thresh_exit=1

With this combination, all error messages will be displayed as they happen, and every error will be considered an failure condition. Upon reaching the first error, sqsh will abort with an exit status of 1, or the total number of failures (the $batch_failcount variable). However, if nothing goes wrong during the whole process, a zero is returned.

thresh_display=0, thresh_fail=0, thresh_exit=3

This combination will cause all error conditions to be displayed and all of them to be considered a failure condition. Upon reaching three total failed batches, sqsh will exit with a status of 3. However if 0, 1, or 2 batches fail, then 0 is returned.

thresh_display=22, thresh_fail=0, thresh_exit=3

This behaves the same as the previous example, with the exception that all error messages will be suppressed from being displayed. This is particularly useful if you just care about the exit value more than the actual error.

thresh_display=0, thresh_fail=2, thresh_exit=1

This will cause the first error of severity 2 or higher to be displayed and cause sqsh to exit with a failure condition of 1.

thresh_display=0, thresh_fail=0, thresh_exit=3, exit_failcount=1

This is identical to the second example, above, however sqsh will return the total number of batches that failed even if $batch_failcount does not reach 3.

exit_value=nonzero

This will override all conditions explained above and just exit the specific value.

Miscellaneous

Colorizing sqsh prompts, etc.

Color codes are presented as a string like {1;2;3}. If sqsh encounters a { (curly brace) in the prompt string it will assume a color-code is supplied and will act as such. No checks will be performed on the validity of the color-code definition itself. The color definition consists of three values separated by a semicolon.

The first code defines the Color Attribute Code with possible values: 0=none 1=bold

The second value defines the Text Color Code: 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white

The third value defines the Background Color Code: 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white The last color-code for the background may be omitted.

Not all color and attribute combinations will present good results, depending on your terminal type and color scheme. But the following values work OK on a xterm with a creamy white background color in Linux as well as rxvt in Cygwin with a black background window:

Prompt: Blue text in white background "{0;34;47}"

Command text: Yellow text "{0;33}"

sqsh will translate the color-codes to an actual color-code string that is presented to readline: for example "\001\033[0;36;47m\002". Note that if you want to use curly brackets in your prompt, you have to escape colorization by specifying a double brace, like {{...}}. For example:

   \set prompt_color='{0;34;47}'
   \set text_color='{0;33}'
   \set prompt='$prompt_color{{$DSQUERY.$username.$database.$lineno}}>$text_color '

Color support is automatically available if sqsh is compiled and linked with readline support enabled.


FILES

Defaults: $HOME/.sqshrc, $HOME/.sqsh_session, $HOME/.sqsh_history, $HOME/.sqsh_readline, $HOME/.sqsh_words, $tmp_dir/sqsh-dfr.*, $tmp_dir/sqsh-edit.* These can all be modified using the internal sqsh variables described above.


BUGS

The addition of flow-of-control expressions has extended sqsh way beyond the scope of its original design, and it is quite obvious from using the features they are hacked in and are rather clunky (although still quite usable). As a result, the processing of these expressions is rather slow (when compared to bourne shell), and the error reporting doesn't lend itself to debugging large scripts. The development of 1000+ line scripts is discouraged.

The combination of backgrounding and pipes does not work properly right now. I know why this is happening, but haven't determined an elegant solution to it just yet. What happens is, when a background job is run that incorporates a pipe-line, sqsh will suspend until the job is complete, which is obviously not what you desire. To test this, try the following:

    1> select * from syscolumns
    2> go | grep id &

You will find that you do not get your prompt back until the job completes. If you want a technical explanation of why this is happening, send me e-mail at the address at the end.

I would like to support all of the flags available in isql right now. This shouldn't be very hard.

No complaints about spelling or grammar. I hate documentation, so count yourself lucky that you have a manual page at all.

sqsh-2.1.7/doc/sqsh.pod0100664000076500007650000035143411336752152015214 0ustar mpepplermpeppler =head1 NAME sqsh - Interactive database shell (version 2.1.7) =head1 SYNOPSIS sqsh [[options]] [[args......]] [ -a count ] [ -A packet_size ] [ -b ] [ -B ] [ -c [cmdend] ] [ -C sql ] [ -d severity ] [ -D database ] [ -e ] [ -E editor ] [ -f severity ] [ -G tds_version ] [ -h ] [ -H hostname ] [ -i filename ] [ -I interfaces ] [ -J charset ] [ -k keywords ] [ -K keytab] [ -l debug_flags ] [ -L var=value ] [ -m style ] [ -n on|off ] [ -N appname ] [ -o filename ] [ -p ] [ -P [password] ] [ -Q query_timeout ] [ -r [sqshrc] ] [ -R server principal ] [ -s colsep ] [ -S server ] [ -t [filter] ] [ -T login_timeout ] [ -U username ] [ -v ] [ -V [bcdimoqru]] [ -w width ] [ -X ] [ -y directory ] [ -z language ] [ -Z [secmech|default|none] ] =head1 DESCRIPTION Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell), and is intended as a replacement for the venerable 'isql' program supplied by Sybase. It came about due to years of frustration of trying to do real work with a program that was never meant to perform real work. Sqsh is much more than a nice prompt, it is intended to provide much of the functionality provided by a good shell, such as variables, aliasing, redirection, pipes, back-grounding, job control, history, command substitution, and dynamic configuration. Also, as a by-product of the design, it is remarkably easy to extend and add functionality. =head1 OPTIONS The following options may be used to adjust some of the behavior of sqsh, however a large portion of the configuration options are available only through environment variables which may be set at runtime or via a .sqshrc file. Options may also be supplied in the SQSH environment variable. This variable is parsed prior to parsing the command line, so in most cases the command line will override the contents of the variable. Be aware that for options which are allowed to be supplied multiple times, such as B<-c>, supplying them both in a variable and on the command line will be the same as supplying them multiple times on the command line. =over 4 =item -a count Sets the maximum I of failures (as determined by the $thresh_fail variable) that may occur before sqsh will abort. Setting this to 0 indicates that sqsh should not exit on errors. This value defaults to 0 and may also be set using the $thresh_exit variable. See section B for details. =item -A packetsize Specifies the size of the network TDS packets used to communicate with the SQL server. This value must be between 512 and 8192, and be a multiple of 512. Check your SQL Server configuration to determine supported packet sizes. This value may also be specified at run-time using the $packet_size variable. =item -b Suppress the banner message upon startup. This is unnecessary in cases where stdout has been redirected to a file. This option may also be set via the $banner variable. =item -B Turns off all buffering of stdin, stdout, and stderr. This feature allows sqsh to be run from an interactive control script such as chat and expect. =item -c [cmdend] Internally sqsh provides the command B<\go> to send a batch of SQL to the database and provides a single alias, B for this command. Each time I is supplied a new alias for B<\go> is established. =item -C sql Causes the I command to be executed by sqsh, similar to the same behavior exhibited by the -i flag. This I statement may not contain double quotes (this limitation may be lifted in a future release of sqsh). =item -d severity Sets the minimum SQL Server error severity that will be displayed to the user. The default is 0, and valid ranges are from 0 to 22. This may also be set using the $thresh_display variable. See section B. =item -D database Causes sqsh to attempt to start with your database context set to I rather than your default database (usually master). This may also be set using the $database variable. =item -e Includes each command issued to sqsh to be included in the output. This option may also be set via the $echo variable (which is unrelated to the B<\echo> command). =item -E editor Set the default editor to I. This may also be set using the UNIX environment variable $EDITOR to the name of the editor desired. =item -f severity Sets the minimum I level considered a failure by sqsh. This is the same as setting the $thresh_fail variable. See section B for details. =item -G tds_version Set the TDS version to use. Valid versions are 4.0, 4.2, 4.6, 4.9.5, 5.0 and freetds additionally supports versions 7.0 and 8.0. The specified value is assigned to the variable $tds_version. Input validation is not performed by sqsh. However, when an invalid TDS version is specified, the default version of 5.0 will be used. After a session is setup, the variable $tds_version will be set to the TDS version in effect. The variable will not be available if option -G is not used. Meant for test and debugging purposes only. TDS stands for Tabular Data Stream and is the communication protocol Sybase and Microsoft uses for Client-Server communication. =item -h Turns off column headers and trailing "(# rows affected)" from batch output. =item -H hostname Sets the client hostname as reported in sysprocesses. This may also be set via the $hostname variable. =item -i filename Read all input from I rather than from stdin. =item -I interfaces When a connection is established to the database, the I file is used to turn the value of $DSQUERY into the hostname and port to which the connection will be made, by default this is located in $SYBASE/interfaces. This flag allows this default to be overridden. =item -J charset Specifies the character set to be used on the client side to communicate with SQL Server. This may also be set using the $charset environment variable. =item -k keywords Specifies a file containing a list of keywords to be used for keyword tab completion, if readline support has been compiled into sqsh. This file may also be set via the $keyword_file variable, which defaults to $HOME/.sqsh_words. =item -K keytab Kerberos support. Specify the keytab file name for DCE. See the Kerberos Support section below for details. =item -l debug_flags If sqsh has been compiled with -DDEBUG, this option may be used to turn on and off debugging options. See the $debug variable, below. =item -L var=value Sets the value of $var to I. This may be used to set the value of any sqsh variable even if an explicit command line variable is supplied for setting the variable. The B<-L> flag may be used to set the value of non-configuration variables as well. =item -m style Changes the current display style to I