diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 02:48:30 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-17 02:48:30 +0000 |
commit | e1481e0a7c066357dfb67136f331b5f069d94f3c (patch) | |
tree | 19599adc9a54e8295402ceb25d6f2ea42edea439 | |
download | knowit-e1481e0a7c066357dfb67136f331b5f069d94f3c.tar.gz knowit-e1481e0a7c066357dfb67136f331b5f069d94f3c.zip |
Added abandoned KDE3 version of knowit
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/knowit@1091582 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | COPYING | 340 | ||||
-rw-r--r-- | ChangeLog | 187 | ||||
-rw-r--r-- | INSTALL | 167 | ||||
-rw-r--r-- | Makefile.am | 22 | ||||
-rw-r--r-- | Makefile.cvs | 10 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | README | 19 | ||||
-rw-r--r-- | TODO | 63 | ||||
-rw-r--r-- | acinclude.m4 | 11207 | ||||
-rw-r--r-- | aclocal.m4 | 12040 | ||||
-rw-r--r-- | config.h.in | 219 | ||||
-rw-r--r-- | config.log | 325 | ||||
-rw-r--r-- | configure.files | 2 | ||||
-rw-r--r-- | configure.in | 82 | ||||
-rw-r--r-- | configure.in.in | 6 | ||||
-rw-r--r-- | doc/Makefile.am | 6 | ||||
-rw-r--r-- | doc/en/Makefile.am | 2 | ||||
-rw-r--r-- | doc/en/index.docbook | 261 | ||||
-rw-r--r-- | doc/en/screenshot.png | bin | 0 -> 18194 bytes | |||
-rw-r--r-- | knowit.kdevelop | 190 | ||||
-rw-r--r-- | knowit.kdevelop.pcs | bin | 0 -> 110106 bytes | |||
-rw-r--r-- | knowit.kdevses | 19 | ||||
-rw-r--r-- | knowit.spec | 43 | ||||
-rw-r--r-- | po/Makefile.am | 1 | ||||
-rw-r--r-- | po/de.po | 949 | ||||
-rw-r--r-- | po/es.po | 964 | ||||
-rw-r--r-- | po/fr.po | 941 | ||||
-rw-r--r-- | po/hu.po | 980 | ||||
-rw-r--r-- | po/knowit.pot | 833 | ||||
-rw-r--r-- | po/pl.po | 938 | ||||
-rw-r--r-- | po/ru.po | 975 | ||||
-rw-r--r-- | po/sk.po | 1073 | ||||
-rw-r--r-- | po/zh_CN.GB2312.po | 1061 | ||||
-rw-r--r-- | src/Makefile.am | 35 | ||||
-rw-r--r-- | src/hi16-app-knowit.png | bin | 0 -> 848 bytes | |||
-rw-r--r-- | src/hi32-app-knowit.png | bin | 0 -> 2207 bytes | |||
-rw-r--r-- | src/knowit.cpp | 1328 | ||||
-rw-r--r-- | src/knowit.desktop | 14 | ||||
-rw-r--r-- | src/knowit.h | 257 | ||||
-rw-r--r-- | src/knowit.lsm | 14 | ||||
-rw-r--r-- | src/knowitapp.cpp | 33 | ||||
-rw-r--r-- | src/knowitapp.h | 45 | ||||
-rw-r--r-- | src/knowitchooser.cpp | 85 | ||||
-rw-r--r-- | src/knowitchooser.h | 48 | ||||
-rw-r--r-- | src/knowitedit.cpp | 66 | ||||
-rw-r--r-- | src/knowitedit.h | 38 | ||||
-rw-r--r-- | src/knowitlink.cpp | 101 | ||||
-rw-r--r-- | src/knowitlink.h | 45 | ||||
-rw-r--r-- | src/knowitlinks.cpp | 56 | ||||
-rw-r--r-- | src/knowitlinks.h | 43 | ||||
-rw-r--r-- | src/knowitpref.cpp | 392 | ||||
-rw-r--r-- | src/knowitpref.h | 104 | ||||
-rw-r--r-- | src/knowittray.cpp | 33 | ||||
-rw-r--r-- | src/knowittray.h | 31 | ||||
-rw-r--r-- | src/knowittree.cpp | 146 | ||||
-rw-r--r-- | src/knowittree.h | 55 | ||||
-rw-r--r-- | src/knowitui.rc | 187 | ||||
-rw-r--r-- | src/main.cpp | 51 | ||||
-rw-r--r-- | src/notes.cpp | 432 | ||||
-rw-r--r-- | src/notes.h | 106 | ||||
-rw-r--r-- | src/tips | 63 | ||||
-rw-r--r-- | src/x-knowit.desktop | 6 | ||||
-rw-r--r-- | stamp-h.in | 0 | ||||
-rw-r--r-- | subdirs | 3 | ||||
-rw-r--r-- | templates/cpp | 19 | ||||
-rw-r--r-- | templates/h | 19 |
67 files changed, 37783 insertions, 0 deletions
@@ -0,0 +1 @@ +Michal Rudolf <mrudolf@kdewebdev.org> @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..28463e1 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,187 @@ +KNOWIT CHANGELOG +================ + + + added + - removed + ~ changed/modified + # bug fixed + +VERSIONS: + +Knowit 0.10 2004-03-31 + + + add list formatting menu commands + # fix Alt+Ctrl+End moving to the end of notes + # fix parent note icon update after child is moved + ~ minor compilation fixes and optimizations + +Knowit 0.10b4 2004-03-14 + + + warn when knowituirc is missing + + link URL copy command + + remember maximization state + + use KTextEdit instead of QTextEdit + + properly handle read-only documents on quit and autosave + # improve note management from keyboard (Alt+Right) + ~ upgraded project to new KDevelop + # remove deprecated function calls + +Knowit 0.10b3 2004-01-07 + + automatically expand note when dragging another over [+] + + drag&drop URLs/files onto editor or links widget + + added Delete/Enter/Ctrl+Enter shortcuts for links widget + # unconditional save option setting was not remembered + # backup file was not saved + # backup file on open only, not on every save + +Knowit 0.10b2 2003-12-19 + # fixed bug when exporting selected node with children + + links should be exported properly now + # compilation problem fixed on some systems + +Knowit 0.10b1 2003-12-14 + + more configurable output: numbered headers, table of contents, + charset(UTF8/local), editor font/color, optional rule between notes + + when dragging, automatically scroll note list if necessary + + configurable toolbars + +KnowIt 0.9 2003-12-12 + # fixed wrong e-mail address + ~ updated German, Hungarian Polish and Spanish translations + # minor bugfix in export + +KnowIt 0.9b3 2003-10-31 + + editor font is configurable (modified patch by Florian Kolter, thanks!) + ~ e-mail adress updated + ~ documentation updated + ~ some spelling corrections + ~ some translations updated + +KnowIt 0.9b2 2003-06-29 + + added better link editor + + links to local KnowIt notes added + # fixed removing link with description + + editor colors are now configurable + +KnowIt 0.9b1 2003-06-25 + ~ Enter from numpad also inserts breakline + + now it is possible to disable Tab in editor + ~ switch to IconList GUI in Options dialog, GUI cleanup + # some fixed to fix compilation in KDE 3.0.x + + optionally automatically backup current file + ~ TODO file rewritten + +KnowIt 0.9a3 2003-05-31 + + icons for links added + + option to save file on exit without confirmation + + configurable link format + + Enter inserts breakline, not paragraph end by default + + many toolbars + ~ UI/XML interface used + # fixed crash on 'Raw text format' without selected note + # fixed restoring current note bug + # fixed re-appearing of first-time message about links handling + + MIME file for KnowIt + +KnowIt 0.9a2 2003-05-20 + ~ enhanced links support + + option to allow only one instance of KnowIt running + ~ many changed to saving options/querying on close/quit + ~ improved session management + +KnowIt 0.9a1 2003-05-18 + + added links and descriptions + +KnowIt 0.8 2003-05-04 + + minimize to tray shortcut added + # disable query when closing window with tray support enabled + ~ most translations updated + +KnowIt 0.8beta1 2003-04-25 + + + more functions to manage notes + + shortcuts for managing notes + + shortcuts for changing current note + + ability to sort subnotes + + window could be split horizontally or vertically + ~ better default date format + + support for alternate colors in the tree + + default new note name can be set + # fix compilation with --enable-final + ~ Find command finds subsequent occurencies in current note + + option to autocollapse nonactive notes + +KnowIt 0.7 2003-04-02 + + + Superscript/subscript commands + + Insert/Overwrite edit mode + + configurable word wrap + + Raw Text mode, allowing direct editing of HTML source of the note + # all editing commands are now disabled when note tree is empty + + AutoSave + + configurable date format + +KnowIt 0.6 2003-01-10 + + + Hungarian translation added (by Karoly Szilagyi} + + Spanish translation added (by Eloy Cuadra) + ~ updated Chinese translation, now it installs in locale/zn_CN + # 'Insert date' bug fixed + # 'Go to note' icon doesn't stay pressed on toolbar + ~ ChangeLog format changed (inspired by KickPIM) + + added 'text color' icon + + added text alignment configuration + + added Tip of the day + + added 'Insert file' command + # added i18n() for some messages to allow translation + ~ TODO updated + ~ temporarily disabled node tree shortcuts (they conflict with + some other keys) + ~ hompeage has changed to http://KnowIt.sourceforge.net + +KnowIt 0.5 2002-12-13 + + + Slovak translation added (by Pavol Cvengros) + + French translation added (by Stephane Nicolas) + + toolbar added + + Bold/Italic/Underline commands now show current state + + editor disabled when no notes are present + # compile fix for FreeBSD (thanks to Alan Eldridge) + ~ new subnote is added as the last one, not the first one + ~ added some comments in the code (KnowIt.h) + +KnowIt 0.4 2002-11-28 + + # don't reopen last file if it wasn't found previous time + # grave bug fixed (hopefully) - single note text was not saved + + don't close KnowIt on window close if docked + (thanks to Steff for suggestion) + + centered system tray icon (thanks to Steff for code) + + added Expand/Collapse all/current for notes tree + # fixed bad icon name for Edit->Toggle underline + + added configuration dialog + + documentation fixes (thanks to Thilo Roessler and Larry Poorman) + + Chinese translation (by hansen) + + German translation (by Michael Buesch) + +KnowIt 0.3 2002-11-22 + + + shortcuts for notes tree + + notes menu, shortcuts for adding/deleting/renaming notes + + add note: get note title + # GUI fixes: activate added note + + all shortcuts are now configurable + ~ internal rewrite of notes handling + + export to HTML: experimental support for HTML export - suggestions + about better formatting would be welcomed + + application is docked if it was docked on startup + +KnowIt 0.2 2002-11-16 + + # save as: warning if file already exists + # open recent: fixed detection of file changes, remove URL on failure + + add color support for note text + + added basic system tray support + + print: basic printing support + +KnowIt 0.1 2002-11-02 @@ -0,0 +1,167 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Type `make install' to install the programs and any data files and + documentation. + + 4. You can remove the program binaries and object files from the + source code directory by typing `make clean'. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..8a2284f --- /dev/null +++ b/Makefile.am @@ -0,0 +1,22 @@ +SUBDIRS = $(TOPSUBDIRS) + +$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ; + +$(top_srcdir)/subdirs: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs + +$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in + @cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4 + +MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files + +package-messages: + cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common package-messages + $(MAKE) -C po merge + +EXTRA_DIST = admin COPYING configure.in.in + +dist-hook: + cd $(top_distdir) && perl admin/am_edit -padmin + cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs diff --git a/Makefile.cvs b/Makefile.cvs new file mode 100644 index 0000000..4c0afd1 --- /dev/null +++ b/Makefile.cvs @@ -0,0 +1,10 @@ +all: + @echo "This Makefile is only for the CVS repository" + @echo "This will be deleted before making the distribution" + @echo "" + $(MAKE) -f admin/Makefile.common cvs + +dist: + $(MAKE) -f admin/Makefile.common dist + +.SILENT: @@ -0,0 +1,2 @@ +See ChangeLog +
\ No newline at end of file @@ -0,0 +1,19 @@ +KnowIt is a simple tool for managing notes. It is similar to +TuxCards, but KDE-based. Notes are organized in tree-like hierarchy, +texts are in RichText format, so bold, italic and lists are supported, +with more to come. + +I started this project because I cannot make TuxCards handle non-ASCII +characters properly, moreover it kept crashing. I wanted also more +functionality (see TODO). KnowIt should handle any characters properly, +as files are saved in UTF8 and KDE takes care of proper display for current +language/charset. + +If you have any suggestions, wishes, tips, do not hesitate to write to me. +Spelling and grammar corrections are most welcomed, too, as well as +programming suggestions (this is my first KDE project so far). + +My address: +Michal Rudolf <mrudolf@kdewebdev.org> + +KnowIt homepage: http://knowit.sourceforge.net @@ -0,0 +1,63 @@ +TODO for KnowIt +--------------- + +1. GUI-related items +-------------------- + +Editor: +* color chooser: last color and some predefined (with shortcuts) +* sort selected text (problem: how to sort text inside HTML tags?) +* advanced search (fuzzy search, filters, keywords etc.) +* inserting images/tables etc. (probably impossible in current Qt version) +* rich text copy/cut (now only text is copied from note to note); Qt bug? +* templates: RichText structures which can be autofilled with relevant info +* spellchecking + +Links: +* add browse button for local links +* link local notes by id, not name (after 1.0 - requires new file format) +* reorder link popup menu commands + +Tree: +* update icons after reordering +* configurable pixmaps for notes (after 1.0 - requires new file format) +* list of notes containing given text (+filters?) +* selectable list of all notes + +Others: +* status bar: more information? (lines, words, paragraphs, notes, + filters, results of some commands?) +* multiple KnowIt documents in single tabbed window; + it would required moving some variables from knowit.cpp + to knowitdoc.cpp (to allow different documents). Edit/Items + may be then functions, not variables, returning current document + editor/tree. +* add 'Quick add entry' command to taskbar +* add 'Paste as new note' command + +Export: +* handle local links +* strip <p></p> and <div></div> at the end of text + +2. Non-GUI items +---------------- + +File: +* proper handling of text-format notes +* password - allow files to be encrypted (useful for holding passwords) +* store tree state on save: which nodes are open. (after 1.0 - requires new file format) +* speed up loading large files + +Import/export: +* export to text +* improve printing (print more than current note). Problem: how to select + notes for printing? How to print bigger document? +* optionally print/export links + +Internals: +* make some actions KSelectActions (f. e. alignment) +* undo for deleting/moving notes (how?) +* check accelerators? + +Documentation: +* update tips diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..c4bc9ed --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,11207 @@ +## -*- autoconf -*- + +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) +dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +dnl Boston, MA 02110-1301, USA. + +dnl IMPORTANT NOTE: +dnl Please do not modify this file unless you expect your modifications to be +dnl carried into every other module in the repository. +dnl +dnl Single-module modifications are best placed in configure.in for kdelibs +dnl and kdebase or configure.in.in if present. + +# KDE_PATH_X_DIRECT +dnl Internal subroutine of AC_PATH_X. +dnl Set ac_x_includes and/or ac_x_libraries. +AC_DEFUN([KDE_PATH_X_DIRECT], +[ +AC_REQUIRE([KDE_CHECK_LIB64]) + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +AC_TRY_CPP([#include <$x_direct_test_include>], +[# We can compile using X headers with no special include directory. +ac_x_includes=], +[# Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /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 \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done]) +fi # $ac_x_includes = NO + +if test "$ac_x_libraries" = NO; then + # Check for the libraries. + + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc + + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +AC_TRY_LINK(, [${x_direct_test_function}()], +[LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries=], +[LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ + /usr/X11/lib${kdelibsuff} \ + /usr/X11R6/lib${kdelibsuff} \ + /usr/X11R5/lib${kdelibsuff} \ + /usr/X11R4/lib${kdelibsuff} \ + \ + /usr/lib${kdelibsuff}/X11 \ + /usr/lib${kdelibsuff}/X11R6 \ + /usr/lib${kdelibsuff}/X11R5 \ + /usr/lib${kdelibsuff}/X11R4 \ + \ + /usr/local/X11/lib${kdelibsuff} \ + /usr/local/X11R6/lib${kdelibsuff} \ + /usr/local/X11R5/lib${kdelibsuff} \ + /usr/local/X11R4/lib${kdelibsuff} \ + \ + /usr/local/lib${kdelibsuff}/X11 \ + /usr/local/lib${kdelibsuff}/X11R6 \ + /usr/local/lib${kdelibsuff}/X11R5 \ + /usr/local/lib${kdelibsuff}/X11R4 \ + \ + /usr/X386/lib${kdelibsuff} \ + /usr/x386/lib${kdelibsuff} \ + /usr/XFree86/lib${kdelibsuff}/X11 \ + \ + /usr/lib${kdelibsuff} \ + /usr/local/lib${kdelibsuff} \ + /usr/unsupported/lib${kdelibsuff} \ + /usr/athena/lib${kdelibsuff} \ + /usr/local/x11r5/lib${kdelibsuff} \ + /usr/lpp/Xamples/lib${kdelibsuff} \ + /lib/usr/lib${kdelibsuff}/X11 \ + \ + /usr/openwin/lib${kdelibsuff} \ + /usr/openwin/share/lib${kdelibsuff} \ + ; \ +do +dnl 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/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done]) +fi # $ac_x_libraries = NO +]) + + +dnl ------------------------------------------------------------------------ +dnl Find a file (or one of more files in a list of dirs) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_FIND_FILE], +[ +$3=NO +for i in $2; +do + for j in $1; + do + echo "configure: __oline__: $i/$j" >&AC_FD_CC + if test -r "$i/$j"; then + echo "taking that" >&AC_FD_CC + $3=$i + break 2 + fi + done +done +]) + +dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, +dnl if-not-found, test-parameter) +AC_DEFUN([KDE_FIND_PATH], +[ + AC_MSG_CHECKING([for $1]) + if test -n "$$2"; then + kde_cv_path="$$2"; + else + kde_cache=`echo $1 | sed 'y%./+-%__p_%'` + + AC_CACHE_VAL(kde_cv_path_$kde_cache, + [ + kde_cv_path="NONE" + dirs="$3" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + dirs="$dirs $dir" + done + IFS=$kde_save_IFS + + for dir in $dirs; do + if test -x "$dir/$1"; then + if test -n "$5" + then + evalstr="$dir/$1 $5 2>&1 " + if eval $evalstr; then + kde_cv_path="$dir/$1" + break + fi + else + kde_cv_path="$dir/$1" + break + fi + fi + done + + eval "kde_cv_path_$kde_cache=$kde_cv_path" + + ]) + + eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" + + fi + + if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then + AC_MSG_RESULT(not found) + $4 + else + AC_MSG_RESULT($kde_cv_path) + $2=$kde_cv_path + + fi +]) + +AC_DEFUN([KDE_MOC_ERROR_MESSAGE], +[ + AC_MSG_ERROR([No Qt meta object compiler (moc) found! +Please check whether you installed Qt correctly. +You need to have a running moc binary. +configure tried to run $ac_cv_path_moc and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable MOC to the right one before running +configure. +]) +]) + +AC_DEFUN([KDE_UIC_ERROR_MESSAGE], +[ + AC_MSG_WARN([No Qt ui compiler (uic) found! +Please check whether you installed Qt correctly. +You need to have a running uic binary. +configure tried to run $ac_cv_path_uic and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable UIC to the right one before running +configure. +]) +]) + + +AC_DEFUN([KDE_CHECK_UIC_FLAG], +[ + AC_MSG_CHECKING([whether uic supports -$1 ]) + kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` + AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, + [ + cat >conftest.ui <<EOT + <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI> +EOT + ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" + if AC_TRY_EVAL(ac_uic_testrun); then + eval "kde_cv_prog_uic_$kde_cache=yes" + else + eval "kde_cv_prog_uic_$kde_cache=no" + fi + rm -f conftest* + ]) + + if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then + AC_MSG_RESULT([yes]) + : + $3 + else + AC_MSG_RESULT([no]) + : + $4 + fi +]) + + +dnl ------------------------------------------------------------------------ +dnl Find the meta object compiler and the ui compiler in the PATH, +dnl in $QTDIR/bin, and some more usual places +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_MOC_UIC], +[ + AC_REQUIRE([KDE_CHECK_PERL]) + qt_bindirs="" + for dir in $kde_qt_dirs; do + qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" + done + qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" + if test ! "$ac_qt_bindir" = "NO"; then + qt_bindirs="$ac_qt_bindir $qt_bindirs" + fi + + KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) + if test -z "$UIC_NOT_NEEDED"; then + KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) + if test -z "$UIC_PATH" ; then + KDE_UIC_ERROR_MESSAGE + exit 1 + else + UIC=$UIC_PATH + + if test $kde_qtver = 3; then + KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) + KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) + + if test x$ac_uic_supports_libpath = xyes; then + UIC="$UIC -L \$(kde_widgetdir)" + fi + if test x$ac_uic_supports_nounload = xyes; then + UIC="$UIC -nounload" + fi + fi + fi + else + UIC="echo uic not available: " + fi + + AC_SUBST(MOC) + AC_SUBST(UIC) + + UIC_TR="i18n" + if test $kde_qtver = 3; then + UIC_TR="tr2i18n" + fi + + AC_SUBST(UIC_TR) +]) + +AC_DEFUN([KDE_1_CHECK_PATHS], +[ + KDE_1_CHECK_PATH_HEADERS + + KDE_TEST_RPATH= + + if test -n "$USE_RPATH"; then + + if test -n "$kde_libraries"; then + KDE_TEST_RPATH="-R $kde_libraries" + fi + + if test -n "$qt_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" + fi + + if test -n "$x_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" + fi + + KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" + fi + +AC_MSG_CHECKING([for KDE libraries installed]) +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + AC_MSG_RESULT(yes) +else + AC_MSG_ERROR([your system fails at linking a small KDE application! +Check, if your compiler is installed correctly and if you have used the +same compiler to compile Qt and kdelibs as you did use now. +For more details about this problem, look at the end of config.log.]) +fi + +if eval `KDEDIR= ./conftest 2>&5`; then + kde_result=done +else + kde_result=problems +fi + +KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log +kde_have_all_paths=yes + +KDE_SET_PATHS($kde_result) + +]) + +AC_DEFUN([KDE_SET_PATHS], +[ + kde_cv_all_paths="kde_have_all_paths=\"yes\" \ + kde_htmldir=\"$kde_htmldir\" \ + kde_appsdir=\"$kde_appsdir\" \ + kde_icondir=\"$kde_icondir\" \ + kde_sounddir=\"$kde_sounddir\" \ + kde_datadir=\"$kde_datadir\" \ + kde_locale=\"$kde_locale\" \ + kde_cgidir=\"$kde_cgidir\" \ + kde_confdir=\"$kde_confdir\" \ + kde_kcfgdir=\"$kde_kcfgdir\" \ + kde_mimedir=\"$kde_mimedir\" \ + kde_toolbardir=\"$kde_toolbardir\" \ + kde_wallpaperdir=\"$kde_wallpaperdir\" \ + kde_templatesdir=\"$kde_templatesdir\" \ + kde_bindir=\"$kde_bindir\" \ + kde_servicesdir=\"$kde_servicesdir\" \ + kde_servicetypesdir=\"$kde_servicetypesdir\" \ + kde_moduledir=\"$kde_moduledir\" \ + kde_styledir=\"$kde_styledir\" \ + kde_widgetdir=\"$kde_widgetdir\" \ + xdg_appsdir=\"$xdg_appsdir\" \ + xdg_menudir=\"$xdg_menudir\" \ + xdg_directorydir=\"$xdg_directorydir\" \ + kde_result=$1" +]) + +AC_DEFUN([KDE_SET_DEFAULT_PATHS], +[ +if test "$1" = "default"; then + + if test -z "$kde_htmldir"; then + kde_htmldir='\${datadir}/doc/HTML' + fi + if test -z "$kde_appsdir"; then + kde_appsdir='\${datadir}/applnk' + fi + if test -z "$kde_icondir"; then + kde_icondir='\${datadir}/icons' + fi + if test -z "$kde_sounddir"; then + kde_sounddir='\${datadir}/sounds' + fi + if test -z "$kde_datadir"; then + kde_datadir='\${datadir}/apps' + fi + if test -z "$kde_locale"; then + kde_locale='\${datadir}/locale' + fi + if test -z "$kde_cgidir"; then + kde_cgidir='\${exec_prefix}/cgi-bin' + fi + if test -z "$kde_confdir"; then + kde_confdir='\${datadir}/config' + fi + if test -z "$kde_kcfgdir"; then + kde_kcfgdir='\${datadir}/config.kcfg' + fi + if test -z "$kde_mimedir"; then + kde_mimedir='\${datadir}/mimelnk' + fi + if test -z "$kde_toolbardir"; then + kde_toolbardir='\${datadir}/toolbar' + fi + if test -z "$kde_wallpaperdir"; then + kde_wallpaperdir='\${datadir}/wallpapers' + fi + if test -z "$kde_templatesdir"; then + kde_templatesdir='\${datadir}/templates' + fi + if test -z "$kde_bindir"; then + kde_bindir='\${exec_prefix}/bin' + fi + if test -z "$kde_servicesdir"; then + kde_servicesdir='\${datadir}/services' + fi + if test -z "$kde_servicetypesdir"; then + kde_servicetypesdir='\${datadir}/servicetypes' + fi + if test -z "$kde_moduledir"; then + if test "$kde_qtver" = "2"; then + kde_moduledir='\${libdir}/kde2' + else + kde_moduledir='\${libdir}/kde3' + fi + fi + if test -z "$kde_styledir"; then + kde_styledir='\${libdir}/kde3/plugins/styles' + fi + if test -z "$kde_widgetdir"; then + kde_widgetdir='\${libdir}/kde3/plugins/designer' + fi + if test -z "$xdg_appsdir"; then + xdg_appsdir='\${datadir}/applications/kde' + fi + if test -z "$xdg_menudir"; then + xdg_menudir='\${sysconfdir}/xdg/menus' + fi + if test -z "$xdg_directorydir"; then + xdg_directorydir='\${datadir}/desktop-directories' + fi + + KDE_SET_PATHS(defaults) + +else + + if test $kde_qtver = 1; then + AC_MSG_RESULT([compiling]) + KDE_1_CHECK_PATHS + else + AC_MSG_ERROR([path checking not yet supported for KDE 2]) + fi + +fi +]) + +AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], +[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || + test -z "$kde_icondir" || test -z "$kde_sounddir" || + test -z "$kde_datadir" || test -z "$kde_locale" || + test -z "$kde_cgidir" || test -z "$kde_confdir" || + test -z "$kde_kcfgdir" || + test -z "$kde_mimedir" || test -z "$kde_toolbardir" || + test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || + test -z "$kde_bindir" || test -z "$kde_servicesdir" || + test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || + test -z "$kde_styledir" || test -z "kde_widgetdir" || + test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || + test "x$kde_have_all_paths" != "xyes"; then + kde_have_all_paths=no + fi +]) + +AC_DEFUN([KDE_MISSING_PROG_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed KDE correctly. +]) +]) + +AC_DEFUN([KDE_MISSING_ARTS_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed aRts correctly or use +--without-arts to compile without aRts support (this will remove functionality). +]) +]) + +AC_DEFUN([KDE_SUBST_PROGRAMS], +[ + AC_ARG_WITH(arts, + AC_HELP_STRING([--without-arts],[build without aRts [default=yes]]), + [build_arts=$withval], + [build_arts=yes] + ) + AM_CONDITIONAL(include_ARTS, test "$build_arts" != "no") + + kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" + test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" + if test -n "$KDEDIRS"; then + kde_save_IFS=$IFS + IFS=: + for dir in $KDEDIRS; do + kde_default_bindirs="$dir/bin $kde_default_bindirs " + done + IFS=$kde_save_IFS + fi + kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs" + KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) + KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) + if test "$build_arts" != "no"; then + KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) + KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) + fi + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) + KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) + + kde32ornewer=1 + if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then + kde32ornewer= + else + if test "$kde_qtver" = "3" && test "$kde_qtsubver" -le 1; then + kde32ornewer= + fi + fi + + if test -n "$kde32ornewer"; then + KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)]) + KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)]) + fi + KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [XMLLINT=""]) + + if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then + kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" + test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" + AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) + if test "$KDE_XSL_STYLESHEET" = "NO"; then + KDE_XSL_STYLESHEET="" + else + KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" + fi + fi + + DCOP_DEPENDENCIES='$(DCOPIDL)' + if test -n "$kde32ornewer"; then + KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' + DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' + AC_SUBST(KCONFIG_COMPILER) + AC_SUBST(KCFG_DEPENDENCIES) + AC_SUBST(DCOPIDLNG) + fi + AC_SUBST(DCOPIDL) + AC_SUBST(DCOPIDL2CPP) + AC_SUBST(DCOP_DEPENDENCIES) + AC_SUBST(MCOPIDL) + AC_SUBST(ARTSCCONFIG) + AC_SUBST(KDECONFIG) + AC_SUBST(MEINPROC) + AC_SUBST(KDE_XSL_STYLESHEET) + AC_SUBST(XMLLINT) + + if test -x "$KDECONFIG"; then # it can be "compiled" + kde_libs_prefix=`$KDECONFIG --prefix` + if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then + AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. + This means it has been moved since you installed it. + This won't work. Please recompile kdelibs for the new prefix. + ]) + fi + kde_libs_htmldir=`$KDECONFIG --install html --expandvars` + else + kde_libs_prefix='$(prefix)' + kde_libs_htmldir='$(kde_htmldir)' + fi + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) +])dnl + +AC_DEFUN([AC_CREATE_KFSSTND], +[ +AC_REQUIRE([AC_CHECK_RPATH]) + +AC_MSG_CHECKING([for KDE paths]) +kde_result="" +kde_cached_paths=yes +AC_CACHE_VAL(kde_cv_all_paths, +[ + KDE_SET_DEFAULT_PATHS($1) + kde_cached_paths=no +]) +eval "$kde_cv_all_paths" +KDE_CHECK_PATHS_FOR_COMPLETENESS +if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then + # wrong values were cached, may be, we can set better ones + kde_result= + kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= + kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= + kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= + kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= + kde_have_all_paths= + kde_styledir= + kde_widgetdir= + xdg_appsdir = xdg_menudir= xdg_directorydir= + KDE_SET_DEFAULT_PATHS($1) + eval "$kde_cv_all_paths" + KDE_CHECK_PATHS_FOR_COMPLETENESS + kde_result="$kde_result (cache overridden)" +fi +if test "$kde_have_all_paths" = "no"; then + AC_MSG_ERROR([configure could not run a little KDE program to test the environment. +Since it had compiled and linked before, it must be a strange problem on your system. +Look at config.log for details. If you are not able to fix this, look at +http://www.kde.org/faq/installation.html or any www.kde.org mirror. +(If you're using an egcs version on Linux, you may update binutils!) +]) +else + rm -f conftest* + AC_MSG_RESULT($kde_result) +fi + +bindir=$kde_bindir + +KDE_SUBST_PROGRAMS + +]) + +AC_DEFUN([AC_SUBST_KFSSTND], +[ +AC_SUBST(kde_htmldir) +AC_SUBST(kde_appsdir) +AC_SUBST(kde_icondir) +AC_SUBST(kde_sounddir) +AC_SUBST(kde_datadir) +AC_SUBST(kde_locale) +AC_SUBST(kde_confdir) +AC_SUBST(kde_kcfgdir) +AC_SUBST(kde_mimedir) +AC_SUBST(kde_wallpaperdir) +AC_SUBST(kde_bindir) +dnl X Desktop Group standards +AC_SUBST(xdg_appsdir) +AC_SUBST(xdg_menudir) +AC_SUBST(xdg_directorydir) +dnl for KDE 2 +AC_SUBST(kde_templatesdir) +AC_SUBST(kde_servicesdir) +AC_SUBST(kde_servicetypesdir) +AC_SUBST(kde_moduledir) +AC_SUBST(kdeinitdir, '$(kde_moduledir)') +AC_SUBST(kde_styledir) +AC_SUBST(kde_widgetdir) +if test "$kde_qtver" = 1; then + kde_minidir="$kde_icondir/mini" +else +# for KDE 1 - this breaks KDE2 apps using minidir, but +# that's the plan ;-/ + kde_minidir="/dev/null" +fi +dnl AC_SUBST(kde_minidir) +dnl AC_SUBST(kde_cgidir) +dnl AC_SUBST(kde_toolbardir) +]) + +AC_DEFUN([KDE_MISC_TESTS], +[ + dnl Checks for libraries. + AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD + AC_SUBST(LIBUTIL) + AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD + AC_SUBST(LIBCOMPAT) + kde_have_crypt= + AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], + AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ + AC_MSG_WARN([you have no crypt in either libcrypt or libc. +You should install libcrypt from another source or configure with PAM +support]) + kde_have_crypt=no + ])) + AC_SUBST(LIBCRYPT) + if test $kde_have_crypt = yes; then + AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) + fi + AC_CHECK_SOCKLEN_T + AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + AC_CHECK_LIB(dnet_stub, dnet_ntoa, + [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) + fi + AC_CHECK_FUNC(inet_ntoa) + if test $ac_cv_func_inet_ntoa = no; then + AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") + fi + AC_CHECK_FUNC(connect) + if test $ac_cv_func_connect = no; then + AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , + $X_EXTRA_LIBS) + fi + + AC_CHECK_FUNC(remove) + if test $ac_cv_func_remove = no; then + AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + AC_CHECK_FUNC(shmat, , + AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) + + # more headers that need to be explicitly included on darwin + AC_CHECK_HEADERS(sys/types.h stdint.h) + + # darwin requires a poll emulation library + AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") + + # CoreAudio framework + AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ + AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) + FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio" + ]) + + AC_CHECK_RES_INIT + AC_SUBST(LIB_POLL) + AC_SUBST(FRAMEWORK_COREAUDIO) + LIBSOCKET="$X_EXTRA_LIBS" + AC_SUBST(LIBSOCKET) + AC_SUBST(X_EXTRA_LIBS) + AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 + AC_SUBST(LIBUCB) + + case $host in dnl this *is* LynxOS specific + *-*-lynxos* ) + AC_MSG_CHECKING([LynxOS header file wrappers]) + [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] + AC_MSG_RESULT(disabled) + AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS + ;; + esac + + KDE_CHECK_TYPES + KDE_CHECK_LIBDL + KDE_CHECK_STRLCPY + +# darwin needs this to initialize the environment +AC_CHECK_HEADERS(crt_externs.h) +AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) + +AH_VERBATIM(_DARWIN_ENVIRON, +[ +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include <sys/time.h> +# include <crt_externs.h> +# define environ (*_NSGetEnviron()) +#endif +]) + +AH_VERBATIM(_AIX_STRINGS_H_BZERO, +[ +/* + * AIX defines FD_SET in terms of bzero, but fails to include <strings.h> + * that defines bzero. + */ + +#if defined(_AIX) +#include <strings.h> +#endif +]) + +AC_CHECK_FUNCS([vsnprintf snprintf]) + +AH_VERBATIM(_TRU64,[ +/* + * On HP-UX, the declaration of vsnprintf() is needed every time ! + */ + +#if !defined(HAVE_VSNPRINTF) || defined(hpux) +#if __STDC__ +#include <stdarg.h> +#include <stdlib.h> +#else +#include <varargs.h> +#endif +#ifdef __cplusplus +extern "C" +#endif +int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); +#ifdef __cplusplus +extern "C" +#endif +int snprintf(char *str, size_t n, char const *fmt, ...); +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Find the header files and libraries for X-Windows. Extended the +dnl macro AC_PATH_X +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([K_PATH_X], +[ +AC_REQUIRE([KDE_MISC_TESTS])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_ARG_ENABLE( + embedded, + AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), + kde_use_qt_emb=$enableval, + kde_use_qt_emb=no +) + +AC_ARG_ENABLE( + qtopia, + AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), + kde_use_qt_emb_palm=$enableval, + kde_use_qt_emb_palm=no +) + +AC_ARG_ENABLE( + mac, + AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), + kde_use_qt_mac=$enableval, + kde_use_qt_mac=no +) + +if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then + +AC_MSG_CHECKING(for X) + +AC_CACHE_VAL(kde_cv_have_x, +[# One or both of the vars are not set, and there is no cached value. +if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then + kde_x_includes=NO +else + kde_x_includes=$x_includes +fi +if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then + kde_x_libraries=NO +else + kde_x_libraries=$x_libraries +fi + +# below we use the standard autoconf calls +ac_x_libraries=$kde_x_libraries +ac_x_includes=$kde_x_includes + +KDE_PATH_X_DIRECT +dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. +dnl Unfortunately, if compiling with the N32 ABI, this is not the correct +dnl location. The correct location is /usr/lib32 or an undefined value +dnl (the linker is smart enough to pick the correct default library). +dnl Things work just fine if you use just AC_PATH_X_DIRECT. +dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to +dnl /usr/openwin/include, which doesn't work. /usr/include does work, so +dnl x_includes should be left alone. +case "$host" in +mips-sgi-irix6*) + ;; +*-*-solaris*) + ;; +*) + _AC_PATH_X_XMKMF + if test -z "$ac_x_includes"; then + ac_x_includes="." + fi + if test -z "$ac_x_libraries"; then + ac_x_libraries="/usr/lib${kdelibsuff}" + fi +esac +#from now on we use our own again + +# when the user already gave --x-includes, we ignore +# what the standard autoconf macros told us. +if test "$kde_x_includes" = NO; then + kde_x_includes=$ac_x_includes +fi + +# for --x-libraries too +if test "$kde_x_libraries" = NO; then + kde_x_libraries=$ac_x_libraries +fi + +if test "$kde_x_includes" = NO; then + AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) +fi + +if test "$kde_x_libraries" = NO; then + AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) +fi + +# Record where we found X for the cache. +kde_cv_have_x="have_x=yes \ + kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" +])dnl + +eval "$kde_cv_have_x" + +if test "$have_x" != yes; then + AC_MSG_RESULT($have_x) + no_x=yes +else + AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) +fi + +if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then + X_INCLUDES="" + x_includes="."; dnl better than nothing :- + else + x_includes=$kde_x_includes + X_INCLUDES="-I$x_includes" +fi + +if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then + X_LDFLAGS="" + x_libraries="/usr/lib"; dnl better than nothing :- + else + x_libraries=$kde_x_libraries + X_LDFLAGS="-L$x_libraries" +fi +all_includes="$X_INCLUDES" +all_libraries="$X_LDFLAGS" + +# Check for libraries that X11R6 Xt/Xaw programs need. +ac_save_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to +# check for ICE first), but we must link in the order -lSM -lICE or +# we get undefined symbols. So assume we have SM if we have ICE. +# These have to be linked with before -lX11, unlike the other +# libraries we check for below, so use a different variable. +# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. +AC_CHECK_LIB(ICE, IceConnectionNumber, + [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) +LDFLAGS="$ac_save_LDFLAGS" + +LIB_X11='-lX11 $(LIBSOCKET)' + +AC_MSG_CHECKING(for libXext) +AC_CACHE_VAL(kde_cv_have_libXext, +[ +kde_ldflags_safe="$LDFLAGS" +kde_libs_safe="$LIBS" + +LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" +LIBS="-lXext -lX11 $LIBSOCKET" + +AC_TRY_LINK([ +#include <stdio.h> +#ifdef STDC_HEADERS +# include <stdlib.h> +#endif +], +[ +printf("hello Xext\n"); +], +kde_cv_have_libXext=yes, +kde_cv_have_libXext=no +) + +LDFLAGS=$kde_ldflags_safe +LIBS=$kde_libs_safe +]) + +AC_MSG_RESULT($kde_cv_have_libXext) + +if test "$kde_cv_have_libXext" = "no"; then + AC_MSG_ERROR([We need a working libXext to proceed. Since configure +can't find it itself, we stop here assuming that make wouldn't find +them either.]) +fi + +LIB_XEXT="-lXext" +QTE_NORTTI="" + +elif test "$kde_use_qt_emb" = "yes"; then + dnl We're using QT Embedded + CPPFLAGS=-DQWS + CXXFLAGS="$CXXFLAGS -fno-rtti" + QTE_NORTTI="-fno-rtti -DQWS" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +elif test "$kde_use_qt_mac" = "yes"; then + dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to + dnl be included to get the information) --Sam + CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" + CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +fi +AC_SUBST(X_PRE_LIBS) +AC_SUBST(LIB_X11) +AC_SUBST(LIB_XRENDER) +AC_SUBST(LIBSM) +AC_SUBST(X_INCLUDES) +AC_SUBST(X_LDFLAGS) +AC_SUBST(x_includes) +AC_SUBST(x_libraries) +AC_SUBST(QTE_NORTTI) +AC_SUBST(LIB_XEXT) + +]) + +AC_DEFUN([KDE_PRINT_QT_PROGRAM], +[ +AC_REQUIRE([KDE_USE_QT]) +cat > conftest.$ac_ext <<EOF +#include "confdefs.h" +#include <qglobal.h> +#include <qapplication.h> +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext <<EOF +#include <qevent.h> +#include <qstring.h> +#include <qstyle.h> +EOF + +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <<EOF +#if QT_VERSION < 210 +#error 1 +#endif +EOF +fi +fi + +if test "$kde_qtver" = "3"; then +cat >> conftest.$ac_ext <<EOF +#include <qcursor.h> +#include <qstylefactory.h> +#include <private/qucomextra_p.h> +EOF +fi + +echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext +cat >> conftest.$ac_ext <<EOF +#error 1 +#endif + +int main() { +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext <<EOF + QStringList *t = new QStringList(); + Q_UNUSED(t); +EOF +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <<EOF + QString s; + s.setLatin1("Elvis is alive", 14); +EOF +fi +fi +if test "$kde_qtver" = "3"; then +cat >> conftest.$ac_ext <<EOF + (void)QStyleFactory::create(QString::null); + QCursor c(Qt::WhatsThisCursor); +EOF +fi +cat >> conftest.$ac_ext <<EOF + return 0; +} +EOF +]) + +AC_DEFUN([KDE_USE_QT], +[ +if test -z "$1"; then + # Current default Qt version: 3.2 + kde_qtver=3 + kde_qtsubver=2 +else + kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'` + # following is the check if subversion isnt found in passed argument + if test "$kde_qtsubver" = "$1"; then + kde_qtsubver=1 + fi + kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'` + if test "$kde_qtver" = "1"; then + kde_qtsubver=42 + fi +fi + +if test -z "$2"; then + if test "$kde_qtver" = "2"; then + if test $kde_qtsubver -gt 0; then + kde_qt_minversion=">= Qt 2.2.2" + else + kde_qt_minversion=">= Qt 2.0.2" + fi + fi + if test "$kde_qtver" = "3"; then + if test $kde_qtsubver -gt 0; then + if test $kde_qtsubver -gt 1; then + kde_qt_minversion=">= Qt 3.2" + else + kde_qt_minversion=">= Qt 3.1 (20021021)" + fi + else + kde_qt_minversion=">= Qt 3.0" + fi + fi + if test "$kde_qtver" = "1"; then + kde_qt_minversion=">= 1.42 and < 2.0" + fi +else + kde_qt_minversion="$2" +fi + +if test -z "$3"; then + if test $kde_qtver = 3; then + if test $kde_qtsubver -gt 0; then + kde_qt_verstring="QT_VERSION >= 0x03@VER@00" + qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'` + kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"` + else + kde_qt_verstring="QT_VERSION >= 300" + fi + fi + if test $kde_qtver = 2; then + if test $kde_qtsubver -gt 0; then + kde_qt_verstring="QT_VERSION >= 222" + else + kde_qt_verstring="QT_VERSION >= 200" + fi + fi + if test $kde_qtver = 1; then + kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200" + fi +else + kde_qt_verstring="$3" +fi + +if test $kde_qtver = 3; then + kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3" +fi +if test $kde_qtver = 2; then + kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt" +fi +if test $kde_qtver = 1; then + kde_qt_dirs="$QTDIR /usr/lib/qt" +fi +]) + +AC_DEFUN([KDE_CHECK_QT_DIRECT], +[ +AC_REQUIRE([KDE_USE_QT]) +AC_MSG_CHECKING([if Qt compiles without flags]) +AC_CACHE_VAL(kde_cv_qt_direct, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH +ac_LIBRARY_PATH="$LIBRARY_PATH" +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_includes" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$LIBQT -lXext -lX11 $LIBSOCKET" +else +LIBS="$LIBQT $LIBSOCKET" +fi +LD_LIBRARY_PATH= +export LD_LIBRARY_PATH +LIBRARY_PATH= +export LIBRARY_PATH + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + kde_cv_qt_direct="yes" +else + kde_cv_qt_direct="no" + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "$kde_cv_qt_direct" = "yes"; then + AC_MSG_RESULT(yes) + $1 +else + AC_MSG_RESULT(no) + $2 +fi +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the Qt headers and libraries. +dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) +dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_1_3], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([KDE_USE_QT]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +dnl ------------------------------------------------------------------------ +dnl Add configure flag to enable linking to MT version of Qt library. +dnl ------------------------------------------------------------------------ + +AC_ARG_ENABLE( + mt, + AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]), + kde_use_qt_mt=$enableval, + [ + if test $kde_qtver = 3; then + kde_use_qt_mt=yes + else + kde_use_qt_mt=no + fi + ] +) + +USING_QT_MT="" + +dnl ------------------------------------------------------------------------ +dnl If we not get --disable-qt-mt then adjust some vars for the host. +dnl ------------------------------------------------------------------------ + +KDE_MT_LDFLAGS= +KDE_MT_LIBS= +if test "x$kde_use_qt_mt" = "xyes"; then + KDE_CHECK_THREADING + if test "x$kde_use_threading" = "xyes"; then + CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" + KDE_MT_LDFLAGS="$USE_THREADS" + KDE_MT_LIBS="$LIBPTHREAD" + else + kde_use_qt_mt=no + fi +fi +AC_SUBST(KDE_MT_LDFLAGS) +AC_SUBST(KDE_MT_LIBS) + +kde_qt_was_given=yes + +dnl ------------------------------------------------------------------------ +dnl If we haven't been told how to link to Qt, we work it out for ourselves. +dnl ------------------------------------------------------------------------ +if test -z "$LIBQT_GLOB"; then + if test "x$kde_use_qt_emb" = "xyes"; then + LIBQT_GLOB="libqte.*" + else + LIBQT_GLOB="libqt.*" + fi +fi + +if test -z "$LIBQT"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-embedded then adjust the Qt library name. +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + qtlib="qte" + else + qtlib="qt" + fi + + kde_int_qt="-l$qtlib" +else + kde_int_qt="$LIBQT" + kde_lib_qt_set=yes +fi + +if test -z "$LIBQPE"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-palmtop then add -lqpe to the link line +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + if test "x$kde_use_qt_emb_palm" = "xyes"; then + LIB_QPE="-lqpe" + else + LIB_QPE="" + fi + else + LIB_QPE="" + fi +fi + +dnl ------------------------------------------------------------------------ +dnl If we got --enable-qt-mt then adjust the Qt library name for the host. +dnl ------------------------------------------------------------------------ + +if test "x$kde_use_qt_mt" = "xyes"; then + if test -z "$LIBQT"; then + LIBQT="-l$qtlib-mt" + kde_int_qt="-l$qtlib-mt" + else + LIBQT="$qtlib-mt" + kde_int_qt="$qtlib-mt" + fi + LIBQT_GLOB="lib$qtlib-mt.*" + USING_QT_MT="using -mt" +else + LIBQT="-l$qtlib" +fi + +if test $kde_qtver != 1; then + + AC_REQUIRE([AC_FIND_PNG]) + AC_REQUIRE([AC_FIND_JPEG]) + LIBQT="$LIBQT $LIBPNG $LIBJPEG" +fi + +if test $kde_qtver = 3; then + AC_REQUIRE([KDE_CHECK_LIBDL]) + LIBQT="$LIBQT $LIBDL" +fi + +AC_MSG_CHECKING([for Qt]) + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" +fi +ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO +qt_libraries="" +qt_includes="" +AC_ARG_WITH(qt-dir, + AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]), + [ ac_qt_includes="$withval"/include + ac_qt_libraries="$withval"/lib${kdelibsuff} + ac_qt_bindir="$withval"/bin + ]) + +AC_ARG_WITH(qt-includes, + AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]), + [ + ac_qt_includes="$withval" + ]) + +kde_qt_libs_given=no + +AC_ARG_WITH(qt-libraries, + AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]), + [ ac_qt_libraries="$withval" + kde_qt_libs_given=yes + ]) + +AC_CACHE_VAL(ac_cv_have_qt, +[#try to guess Qt locations + +qt_incdirs="" +for dir in $kde_qt_dirs; do + qt_incdirs="$qt_incdirs $dir/include $dir" +done +qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes" +if test ! "$ac_qt_includes" = "NO"; then + qt_incdirs="$ac_qt_includes $qt_incdirs" +fi + +if test "$kde_qtver" != "1"; then + kde_qt_header=qstyle.h +else + kde_qt_header=qglobal.h +fi + +AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) +ac_qt_includes="$qt_incdir" + +qt_libdirs="" +for dir in $kde_qt_dirs; do + qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" +done +qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" +if test ! "$ac_qt_libraries" = "NO"; then + qt_libdir=$ac_qt_libraries +else + qt_libdirs="$ac_qt_libraries $qt_libdirs" + # if the Qt was given, the chance is too big that libqt.* doesn't exist + qt_libdir=NONE + for dir in $qt_libdirs; do + try="ls -1 $dir/${LIBQT_GLOB}" + if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done +fi +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIBQT="$LIBQT ${kde_int_qt}_incremental" + break + fi +done + +ac_qt_libraries="$qt_libdir" + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" +LIBS="$LIBS $LIBQT $KDE_MT_LIBS" + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* +else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC + ac_qt_libraries="NO" +fi +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +AC_LANG_RESTORE +if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then + ac_cv_have_qt="have_qt=no" + ac_qt_notfound="" + missing_qt_mt="" + if test "$ac_qt_includes" = NO; then + if test "$ac_qt_libraries" = NO; then + ac_qt_notfound="(headers and libraries)"; + else + ac_qt_notfound="(headers)"; + fi + else + if test "x$kde_use_qt_mt" = "xyes"; then + missing_qt_mt=" +Make sure that you have compiled Qt with thread support!" + ac_qt_notfound="(library $qtlib-mt)"; + else + ac_qt_notfound="(library $qtlib)"; + fi + fi + + AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! +For more details about this problem, look at the end of config.log.$missing_qt_mt]) +else + have_qt="yes" +fi +]) + +eval "$ac_cv_have_qt" + +if test "$have_qt" != yes; then + AC_MSG_RESULT([$have_qt]); +else + ac_cv_have_qt="have_qt=yes \ + ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" + AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) + + qt_libraries="$ac_qt_libraries" + qt_includes="$ac_qt_includes" +fi + +if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then + KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) +fi + +AC_SUBST(qt_libraries) +AC_SUBST(qt_includes) + +if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then + QT_INCLUDES="" +else + QT_INCLUDES="-I$qt_includes" + all_includes="$QT_INCLUDES $all_includes" +fi + +if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then + QT_LDFLAGS="" +else + QT_LDFLAGS="-L$qt_libraries" + all_libraries="$all_libraries $QT_LDFLAGS" +fi +test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" + +AC_SUBST(QT_INCLUDES) +AC_SUBST(QT_LDFLAGS) +AC_PATH_QT_MOC_UIC + +KDE_CHECK_QT_JPEG + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' +else +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' +fi +test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIB_QT="$LIB_QT ${kde_int_qt}_incremental" + break + fi +done + +AC_SUBST(LIB_QT) +AC_SUBST(LIB_QPE) + +AC_SUBST(kde_qtver) +]) + +AC_DEFUN([AC_PATH_QT], +[ +AC_PATH_QT_1_3 +]) + +AC_DEFUN([KDE_CHECK_UIC_PLUGINS], +[ +AC_REQUIRE([AC_PATH_QT_MOC_UIC]) + +if test x$ac_uic_supports_libpath = xyes; then + +AC_MSG_CHECKING([if UIC has KDE plugins available]) +AC_CACHE_VAL(kde_cv_uic_plugins, +[ +cat > actest.ui << EOF +<!DOCTYPE UI><UI version="3.0" stdsetdef="1"> +<class>NewConnectionDialog</class> +<widget class="QDialog"> + <widget class="KLineEdit"> + <property name="name"> + <cstring>testInput</cstring> + </property> + </widget> +</widget> +</UI> +EOF + + + +kde_cv_uic_plugins=no +kde_line="$UIC_PATH -L $kde_widgetdir" +if test x$ac_uic_supports_nounload = xyes; then + kde_line="$kde_line -nounload" +fi +kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" +if AC_TRY_EVAL(kde_line); then + # if you're trying to debug this check and think it's incorrect, + # better check your installation. The check _is_ correct - your + # installation is not. + if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then + kde_cv_uic_plugins=yes + fi +fi +rm -f actest.ui actest.cpp +]) + +AC_MSG_RESULT([$kde_cv_uic_plugins]) +if test "$kde_cv_uic_plugins" != yes; then + AC_MSG_ERROR([you need to install kdelibs first.]) +fi +fi +]) + +AC_DEFUN([KDE_CHECK_FINAL], +[ + AC_ARG_ENABLE(final, + AC_HELP_STRING([--enable-final], + [build size optimized apps (experimental - needs lots of memory)]), + kde_use_final=$enableval, kde_use_final=no) + + if test "x$kde_use_final" = "xyes"; then + KDE_USE_FINAL_TRUE="" + KDE_USE_FINAL_FALSE="#" + else + KDE_USE_FINAL_TRUE="#" + KDE_USE_FINAL_FALSE="" + fi + AC_SUBST(KDE_USE_FINAL_TRUE) + AC_SUBST(KDE_USE_FINAL_FALSE) +]) + +AC_DEFUN([KDE_CHECK_CLOSURE], +[ + AC_ARG_ENABLE(closure, + AC_HELP_STRING([--enable-closure],[delay template instantiation]), + kde_use_closure=$enableval, kde_use_closure=no) + + KDE_NO_UNDEFINED="" + if test "x$kde_use_closure" = "xyes"; then + KDE_USE_CLOSURE_TRUE="" + KDE_USE_CLOSURE_FALSE="#" +# CXXFLAGS="$CXXFLAGS $REPO" + else + KDE_USE_CLOSURE_TRUE="#" + KDE_USE_CLOSURE_FALSE="" + KDE_NO_UNDEFINED="" + case $host in + *-*-linux-gnu) + KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], + [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], + [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], + [KDE_NO_UNDEFINED=""])], + [KDE_NO_UNDEFINED=""]) + ;; + esac + fi + AC_SUBST(KDE_USE_CLOSURE_TRUE) + AC_SUBST(KDE_USE_CLOSURE_FALSE) + AC_SUBST(KDE_NO_UNDEFINED) +]) + +AC_DEFUN([KDE_CHECK_NMCHECK], +[ + AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), + kde_use_nmcheck=$enableval, kde_use_nmcheck=no) + + if test "$kde_use_nmcheck" = "yes"; then + KDE_USE_NMCHECK_TRUE="" + KDE_USE_NMCHECK_FALSE="#" + else + KDE_USE_NMCHECK_TRUE="#" + KDE_USE_NMCHECK_FALSE="" + fi + AC_SUBST(KDE_USE_NMCHECK_TRUE) + AC_SUBST(KDE_USE_NMCHECK_FALSE) +]) + +AC_DEFUN([KDE_EXPAND_MAKEVAR], [ +savex=$exec_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +tmp=$$2 +while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done +exec_prefix=$savex +]) + +dnl ------------------------------------------------------------------------ +dnl Now, the same with KDE +dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) +dnl and $(kde_includes) will be the kdehdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_BASE_PATH_KDE], +[ +AC_REQUIRE([KDE_CHECK_STL]) +AC_REQUIRE([AC_PATH_QT])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_CHECK_RPATH +AC_MSG_CHECKING([for KDE]) + +if test "${prefix}" != NONE; then + kde_includes=${includedir} + KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) + + kde_libraries=${libdir} + KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) + +else + ac_kde_includes= + ac_kde_libraries= + kde_libraries="" + kde_includes="" +fi + +AC_CACHE_VAL(ac_cv_have_kde, +[#try to guess kde locations + +if test "$kde_qtver" = 1; then + kde_check_header="ksock.h" + kde_check_lib="libkdecore.la" +else + kde_check_header="ksharedptr.h" + kde_check_lib="libkio.la" +fi + +if test -z "$1"; then + +kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" +test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" +kde_incdirs="$ac_kde_includes $kde_incdirs" +AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) +ac_kde_includes="$kde_incdir" + +if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then + AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE headers installed. This will fail. +So, check this please and use another prefix!]) +fi + +kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" +test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" +kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" +AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) +ac_kde_libraries="$kde_libdir" + +kde_widgetdir=NO +dnl this might be somewhere else +AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) + +if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then +AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE libraries installed. This will fail. +So, check this please and use another prefix!]) +fi + +if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then +AC_MSG_ERROR([ +I can't find the designer plugins. These are required and should have been installed +by kdelibs]) +fi + +if test -n "$kde_widgetdir"; then + kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" +fi + + +if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then + ac_cv_have_kde="have_kde=no" +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" +fi + +else dnl test -z $1 + + ac_cv_have_kde="have_kde=no" + +fi +])dnl + +eval "$ac_cv_have_kde" + +if test "$have_kde" != "yes"; then + if test "${prefix}" = NONE; then + ac_kde_prefix="$ac_default_prefix" + else + ac_kde_prefix="$prefix" + fi + if test "$exec_prefix" = NONE; then + ac_kde_exec_prefix="$ac_kde_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix]) + else + ac_kde_exec_prefix="$exec_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) + fi + + kde_libraries="${libdir}" + kde_includes="${includedir}" + +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" + AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) + + kde_libraries="$ac_kde_libraries" + kde_includes="$ac_kde_includes" +fi +AC_SUBST(kde_libraries) +AC_SUBST(kde_includes) + +if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then + KDE_INCLUDES="" +else + KDE_INCLUDES="-I$kde_includes" + all_includes="$KDE_INCLUDES $all_includes" +fi + +KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION" + +KDE_LDFLAGS="-L$kde_libraries" +if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then + all_libraries="$all_libraries $KDE_LDFLAGS" +fi + +AC_SUBST(KDE_LDFLAGS) +AC_SUBST(KDE_INCLUDES) + +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +all_libraries="$all_libraries $USER_LDFLAGS" +all_includes="$all_includes $USER_INCLUDES" +AC_SUBST(all_includes) +AC_SUBST(all_libraries) + +if test -z "$1"; then +KDE_CHECK_UIC_PLUGINS +fi + +ac_kde_libraries="$kde_libdir" + +AC_SUBST(AUTODIRS) + + +]) + +AC_DEFUN([KDE_CHECK_EXTRA_LIBS], +[ +AC_MSG_CHECKING(for extra includes) +AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), + kde_use_extra_includes="$withval", + kde_use_extra_includes=NONE +) +kde_extra_includes= +if test -n "$kde_use_extra_includes" && \ + test "$kde_use_extra_includes" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_includes; do + kde_extra_includes="$kde_extra_includes $dir" + USER_INCLUDES="$USER_INCLUDES -I$dir" + done + IFS=$ac_save_ifs + kde_use_extra_includes="added" +else + kde_use_extra_includes="no" +fi +AC_SUBST(USER_INCLUDES) + +AC_MSG_RESULT($kde_use_extra_includes) + +kde_extra_libs= +AC_MSG_CHECKING(for extra libs) +AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), + kde_use_extra_libs=$withval, + kde_use_extra_libs=NONE +) +if test -n "$kde_use_extra_libs" && \ + test "$kde_use_extra_libs" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_libs; do + kde_extra_libs="$kde_extra_libs $dir" + KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" + USER_LDFLAGS="$USER_LDFLAGS -L$dir" + done + IFS=$ac_save_ifs + kde_use_extra_libs="added" +else + kde_use_extra_libs="no" +fi + +AC_SUBST(USER_LDFLAGS) + +AC_MSG_RESULT($kde_use_extra_libs) + +]) + +AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], +[ + AC_MSG_CHECKING([for KDE headers installed]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS +cat > conftest.$ac_ext <<EOF +#ifdef STDC_HEADERS +# include <stdlib.h> +#endif +#include <stdio.h> +#include "confdefs.h" +#include <kapp.h> + +int main() { + printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); + printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); + printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); + printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); + printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); + printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); + printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); + printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); + printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); + printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); + printf("kde_wallpaperdir=\\"%s\\"\n", + KApplication::kde_wallpaperdir().data()); + printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); + printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); + printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); + printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); + printf("kde_moduledir=\\"/tmp/dummy\\"\n"); + printf("kde_styledir=\\"/tmp/dummy\\"\n"); + printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); + printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); + printf("xdg_menudir=\\"/tmp/dummy\\"\n"); + printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); + printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); + return 0; + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$all_includes $CPPFLAGS" + if AC_TRY_EVAL(ac_compile); then + AC_MSG_RESULT(yes) + else + AC_MSG_ERROR([your system is not able to compile a small KDE application! +Check, if you installed the KDE header files correctly. +For more details about this problem, look at the end of config.log.]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_CHECK_KDEQTADDON], +[ +AC_MSG_CHECKING(for kde-qt-addon) +AC_CACHE_VAL(kde_cv_have_kdeqtaddon, +[ + kde_ldflags_safe="$LDFLAGS" + kde_libs_safe="$LIBS" + kde_cxxflags_safe="$CXXFLAGS" + + LIBS="-lkde-qt-addon $LIBQT $LIBS" + CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" + LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" + + AC_TRY_LINK([ + #include <qdom.h> + ], + [ + QDomDocument doc; + ], + kde_cv_have_kdeqtaddon=yes, + kde_cv_have_kdeqtaddon=no + ) + + LDFLAGS=$kde_ldflags_safe + LIBS=$kde_libs_safe + CXXFLAGS=$kde_cxxflags_safe +]) + +AC_MSG_RESULT($kde_cv_have_kdeqtaddon) + +if test "$kde_cv_have_kdeqtaddon" = "no"; then + AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. +It is a separate package (and CVS module) named kde-qt-addon.]) +fi +]) + +AC_DEFUN([KDE_CREATE_LIBS_ALIASES], +[ + AC_REQUIRE([KDE_MISC_TESTS]) + AC_REQUIRE([KDE_CHECK_LIBDL]) + AC_REQUIRE([K_PATH_X]) + +if test $kde_qtver = 3; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KABC, "-lkabc") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") + AC_SUBST(LIB_KUTILS, "-lkutils") + AC_SUBST(LIB_KDEPIM, "-lkdepim") +# these are for backward compatibility + AC_SUBST(LIB_KSYCOCA, "-lkio") + AC_SUBST(LIB_KFILE, "-lkio") +elif test $kde_qtver = 2; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KSYCOCA, "-lksycoca") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KFILE, "-lkfile") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") +else + AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") + AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") + AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") + AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") + AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") +fi +]) + +AC_DEFUN([AC_PATH_KDE], +[ + AC_BASE_PATH_KDE + AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), + [ + if test "$enableval" = "no"; + then ac_use_path_checking="default" + else ac_use_path_checking="" + fi + ], + [ + if test "$kde_qtver" = 1; + then ac_use_path_checking="" + else ac_use_path_checking="default" + fi + ] + ) + + AC_CREATE_KFSSTND($ac_use_path_checking) + + AC_SUBST_KFSSTND + KDE_CREATE_LIBS_ALIASES +]) + +dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) +AC_DEFUN([KDE_CHECK_FUNC_EXT], +[ +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL(kde_cv_func_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +save_CXXFLAGS="$CXXFLAGS" +kde_safe_LIBS="$LIBS" +LIBS="$LIBS $X_EXTRA_LIBS" +if test "$GXX" = "yes"; then +CXXFLAGS="$CXXFLAGS -pedantic-errors" +fi +AC_TRY_COMPILE([ +$2 +], +[ +$3 +], +kde_cv_func_$1=yes, +kde_cv_func_$1=no) +CXXFLAGS="$save_CXXFLAGS" +LIBS="$kde_safe_LIBS" +AC_LANG_RESTORE +]) + +AC_MSG_RESULT($kde_cv_func_$1) + +AC_MSG_CHECKING([if $1 needs custom prototype]) +AC_CACHE_VAL(kde_cv_proto_$1, +[ +if test "x$kde_cv_func_$1" = xyes; then + kde_cv_proto_$1=no +else + case "$1" in + setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) + kde_cv_proto_$1="yes - in libkdefakes" + ;; + *) + kde_cv_proto_$1=unknown + ;; + esac +fi + +if test "x$kde_cv_proto_$1" = xunknown; then + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + kde_safe_libs=$LIBS + LIBS="$LIBS $X_EXTRA_LIBS" + AC_TRY_LINK([ +$2 + +extern "C" $4; +], +[ +$3 +], +[ kde_cv_func_$1=yes + kde_cv_proto_$1=yes ], + [kde_cv_proto_$1="$1 unavailable"] +) +LIBS=$kde_safe_libs +AC_LANG_RESTORE +fi +]) +AC_MSG_RESULT($kde_cv_proto_$1) + +if test "x$kde_cv_func_$1" = xyes; then + AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) + $6 +fi +if test "x$kde_cv_proto_$1" = xno; then + AC_DEFINE(HAVE_$5_PROTO, 1, + [Define if you have the $1 prototype]) +fi + +AH_VERBATIM([_HAVE_$5_PROTO], +[ +#if !defined(HAVE_$5_PROTO) +#ifdef __cplusplus +extern "C" { +#endif +$4; +#ifdef __cplusplus +} +#endif +#endif +]) +]) + +AC_DEFUN([AC_CHECK_SETENV], +[ + KDE_CHECK_FUNC_EXT(setenv, [ +#include <stdlib.h> +], + [setenv("VAR", "VALUE", 1);], + [int setenv (const char *, const char *, int)], + [SETENV]) +]) + +AC_DEFUN([AC_CHECK_UNSETENV], +[ + KDE_CHECK_FUNC_EXT(unsetenv, [ +#include <stdlib.h> +], + [unsetenv("VAR");], + [void unsetenv (const char *)], + [UNSETENV]) +]) + +AC_DEFUN([AC_CHECK_GETDOMAINNAME], +[ + KDE_CHECK_FUNC_EXT(getdomainname, [ +#include <stdlib.h> +#include <unistd.h> +#include <netdb.h> +], + [ +char buffer[200]; +getdomainname(buffer, 200); +], + [#include <sys/types.h> + int getdomainname (char *, size_t)], + [GETDOMAINNAME]) +]) + +AC_DEFUN([AC_CHECK_GETHOSTNAME], +[ + KDE_CHECK_FUNC_EXT(gethostname, [ +#include <stdlib.h> +#include <unistd.h> +], + [ +char buffer[200]; +gethostname(buffer, 200); +], + [int gethostname (char *, unsigned int)], + [GETHOSTNAME]) +]) + +AC_DEFUN([AC_CHECK_USLEEP], +[ + KDE_CHECK_FUNC_EXT(usleep, [ +#include <unistd.h> +], + [ +usleep(200); +], + [int usleep (unsigned int)], + [USLEEP]) +]) + + +AC_DEFUN([AC_CHECK_RANDOM], +[ + KDE_CHECK_FUNC_EXT(random, [ +#include <stdlib.h> +], + [ +random(); +], + [long int random(void)], + [RANDOM]) + + KDE_CHECK_FUNC_EXT(srandom, [ +#include <stdlib.h> +], + [ +srandom(27); +], + [void srandom(unsigned int)], + [SRANDOM]) + +]) + +AC_DEFUN([AC_CHECK_INITGROUPS], +[ + KDE_CHECK_FUNC_EXT(initgroups, [ +#include <sys/types.h> +#include <unistd.h> +#include <grp.h> +], + [ +char buffer[200]; +initgroups(buffer, 27); +], + [int initgroups(const char *, gid_t)], + [INITGROUPS]) +]) + +AC_DEFUN([AC_CHECK_MKSTEMPS], +[ + KDE_CHECK_FUNC_EXT(mkstemps, [ +#include <stdlib.h> +#include <unistd.h> +], + [ +mkstemps("/tmp/aaaXXXXXX", 6); +], + [int mkstemps(char *, int)], + [MKSTEMPS]) +]) + +AC_DEFUN([AC_CHECK_MKDTEMP], +[ + KDE_CHECK_FUNC_EXT(mkdtemp, [ +#include <stdlib.h> +#include <unistd.h> +], + [ +mkdtemp("/tmp/aaaXXXXXX"); +], + [char *mkdtemp(char *)], + [MKDTEMP]) +]) + + +AC_DEFUN([AC_CHECK_RES_INIT], +[ + AC_MSG_CHECKING([if res_init needs -lresolv]) + kde_libs_safe="$LIBS" + LIBS="$LIBS $X_EXTRA_LIBS -lresolv" + AC_TRY_LINK( + [ +#include <sys/types.h> +#include <netinet/in.h> +#include <arpa/nameser.h> +#include <resolv.h> + ], + [ + res_init(); + ], + [ + LIBRESOLV="-lresolv" + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) + LIBS=$kde_libs_safe + AC_SUBST(LIBRESOLV) + + AC_MSG_CHECKING([if res_init is available]) + AC_TRY_COMPILE( + [ +#include <sys/types.h> +#include <netinet/in.h> +#include <arpa/nameser.h> +#include <resolv.h> + ], + [ + res_init(); + ], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) +]) + +AC_DEFUN([AC_CHECK_STRLCPY], +[ + KDE_CHECK_FUNC_EXT(strlcpy, [ +#include <string.h> +], +[ char buf[20]; + strlcpy(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcpy(char*, const char*, unsigned long)], + [STRLCPY]) +]) + +AC_DEFUN([AC_CHECK_STRLCAT], +[ + KDE_CHECK_FUNC_EXT(strlcat, [ +#include <string.h> +], +[ char buf[20]; + buf[0]='\0'; + strlcat(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcat(char*, const char*, unsigned long)], + [STRLCAT]) +]) + +AC_DEFUN([AC_FIND_GIF], + [AC_MSG_CHECKING([for giflib]) +AC_CACHE_VAL(ac_cv_lib_gif, +[ac_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" +else +LIBS="$all_libraries -lgif" +fi +AC_TRY_LINK(dnl +[ +#ifdef __cplusplus +extern "C" { +#endif +int GifLastError(void); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [return GifLastError();], + eval "ac_cv_lib_gif=yes", + eval "ac_cv_lib_gif=no") +LIBS="$ac_save_LIBS" +])dnl +if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) +else + AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) +fi +]) + +AC_DEFUN([KDE_FIND_JPEG_HELPER], +[ +AC_MSG_CHECKING([for libjpeg$2]) +AC_CACHE_VAL(ac_cv_lib_jpeg_$1, +[ +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" +ac_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[/* Override any gcc2 internal prototype to avoid an error. */ +struct jpeg_decompress_struct; +typedef struct jpeg_decompress_struct * j_decompress_ptr; +typedef int size_t; +#ifdef __cplusplus +extern "C" { +#endif + void jpeg_CreateDecompress(j_decompress_ptr cinfo, + int version, size_t structsize); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [jpeg_CreateDecompress(0L, 0, 0);], + eval "ac_cv_lib_jpeg_$1=-ljpeg$2", + eval "ac_cv_lib_jpeg_$1=no") +LIBS="$ac_save_LIBS" +CFLAGS="$ac_save_CFLAGS" +]) + +if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then + LIBJPEG="$ac_cv_lib_jpeg_$1" + AC_MSG_RESULT($ac_cv_lib_jpeg_$1) +else + AC_MSG_RESULT(no) + $3 +fi + +]) + +AC_DEFUN([AC_FIND_JPEG], +[ +dnl first look for libraries +KDE_FIND_JPEG_HELPER(6b, 6b, + KDE_FIND_JPEG_HELPER(normal, [], + [ + LIBJPEG= + ] + ) +) + +dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h +dnl requires system dependent includes loaded before it) +jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" +AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) +test "x$jpeg_incdir" = xNO && jpeg_incdir= + +dnl if headers _and_ libraries are missing, this is no error, and we +dnl continue with a warning (the user will get no jpeg support in khtml) +dnl if only one is missing, it means a configuration error, but we still +dnl only warn +if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then + AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) +else + if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then + AC_MSG_WARN([ +There is an installation error in jpeg support. You seem to have only one +of either the headers _or_ the libraries installed. You may need to either +provide correct --with-extra-... options, or the development package of +libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ +Disabling JPEG support. +]) + else + AC_MSG_WARN([libjpeg not found. disable JPEG support.]) + fi + jpeg_incdir= + LIBJPEG= +fi + +AC_SUBST(LIBJPEG) +AH_VERBATIM(_AC_CHECK_JPEG, +[/* + * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system + * headers and I'm too lazy to write a configure test as long as only + * unixware is related + */ +#ifdef _UNIXWARE +#define HAVE_BOOLEAN +#endif +]) +]) + +AC_DEFUN([KDE_CHECK_QT_JPEG], +[ +if test -n "$LIBJPEG"; then +AC_MSG_CHECKING([if Qt needs $LIBJPEG]) +AC_CACHE_VAL(kde_cv_qt_jpeg, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS $LIBQT" +LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[#include <qapplication.h>], + [ + int argc; + char** argv; + QApplication app(argc, argv);], + eval "kde_cv_qt_jpeg=no", + eval "kde_cv_qt_jpeg=yes") +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +fi +]) + +if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then + AC_MSG_RESULT(yes) + LIBJPEG_QT='$(LIBJPEG)' +else + AC_MSG_RESULT(no) + LIBJPEG_QT= +fi + +]) + +AC_DEFUN([AC_FIND_ZLIB], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for libz]) +AC_CACHE_VAL(ac_cv_lib_z, +[ +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#include<zlib.h> +], +[ + char buf[42]; + gzFile f = (gzFile) 0; + /* this would segfault.. but we only link, don't run */ + (void) gzgets(f, buf, sizeof(buf)); + + return (zlibVersion() == ZLIB_VERSION); +], + eval "ac_cv_lib_z='-lz'", + eval "ac_cv_lib_z=no") +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if test ! "$ac_cv_lib_z" = no; then + AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) + LIBZ="$ac_cv_lib_z" + AC_MSG_RESULT($ac_cv_lib_z) +else + AC_MSG_ERROR(not found. + Possibly configure picks up an outdated version + installed by XFree86. Remove it from your system. + + Check your installation and look into config.log) + LIBZ="" +fi +AC_SUBST(LIBZ) +]) + +AC_DEFUN([KDE_TRY_TIFFLIB], +[ +AC_MSG_CHECKING([for libtiff $1]) + +AC_CACHE_VAL(kde_cv_libtiff_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" +else +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" +fi +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl +[ +#include<tiffio.h> +], + [return (TIFFOpen( "", "r") == 0); ], +[ + kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" +], [ + kde_cv_libtiff_$1=no +]) + +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +]) + +if test "$kde_cv_libtiff_$1" = "no"; then + AC_MSG_RESULT(no) + LIBTIFF="" + $3 +else + LIBTIFF="$kde_cv_libtiff_$1" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) + $2 +fi + +]) + +AC_DEFUN([AC_FIND_TIFF], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +KDE_TRY_TIFFLIB(tiff, [], + KDE_TRY_TIFFLIB(tiff34)) + +AC_SUBST(LIBTIFF) +]) + + +AC_DEFUN([AC_FIND_PNG], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_MSG_CHECKING([for libpng]) +AC_CACHE_VAL(ac_cv_lib_png, +[ +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" +else +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" +fi +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include<png.h> + ], + [ + png_structp png_ptr = png_create_read_struct( /* image ptr */ + PNG_LIBPNG_VER_STRING, 0, 0, 0 ); + return( png_ptr != 0 ); + ], + eval "ac_cv_lib_png='-lpng $LIBZ -lm'", + eval "ac_cv_lib_png=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) + LIBPNG="$ac_cv_lib_png" + AC_SUBST(LIBPNG) + AC_MSG_RESULT($ac_cv_lib_png) +else + AC_MSG_RESULT(no) + LIBPNG="" + AC_SUBST(LIBPNG) +fi +]) + + +AC_DEFUN([AC_FIND_JASPER], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_MSG_CHECKING([for jasper]) +AC_CACHE_VAL(ac_cv_jasper, +[ +kde_save_LIBS="$LIBS" +LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include<jasper/jasper.h> + ], + [ + return( jas_init() ); + ], + eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'", + eval "ac_cv_jasper=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper]) + LIB_JASPER="$ac_cv_jasper" + AC_MSG_RESULT($ac_cv_jasper) +else + AC_MSG_RESULT(no) + LIB_JASPER="" +fi +AC_SUBST(LIB_JASPER) +]) + +AC_DEFUN([AC_CHECK_BOOL], +[ + AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) +]) + +AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], +[ +AC_MSG_CHECKING(if you need GNU extensions) +AC_CACHE_VAL(ac_cv_gnu_extensions, +[ +cat > conftest.c << EOF +#include <features.h> + +#ifdef __GNU_LIBRARY__ +yes +#endif +EOF + +if (eval "$ac_cpp conftest.c") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_gnu_extensions=yes +else + ac_cv_gnu_extensions=no +fi +]) + +AC_MSG_RESULT($ac_cv_gnu_extensions) +if test "$ac_cv_gnu_extensions" = "yes"; then + AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) +fi +]) + +AC_DEFUN([KDE_CHECK_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CXX supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + +dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables +dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) +dnl it's all white-space separated +AC_DEFUN([AC_REMOVE_FORBIDDEN], +[ __val=$$1 + __forbid=" $2 " + if test -n "$__val"; then + __new="" + ac_save_IFS=$IFS + IFS=" " + for i in $__val; do + case "$__forbid" in + *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; + *) # Careful to not add spaces, where there were none, because otherwise + # libtool gets confused, if we change e.g. CXX + if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; + esac + done + IFS=$ac_save_IFS + $1=$__new + fi +]) + +dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given +AC_DEFUN([AC_VALIDIFY_CXXFLAGS], +[dnl +if test "x$kde_use_qt_emb" != "xyes"; then + AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) +else + AC_REMOVE_FORBIDDEN(CXX, [-rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) +fi +]) + +AC_DEFUN([AC_CHECK_COMPILERS], +[ + AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), + [ + case $enableval in + yes) + kde_use_debug_code="yes" + kde_use_debug_define=no + ;; + full) + kde_use_debug_code="full" + kde_use_debug_define=no + ;; + *) + kde_use_debug_code="no" + kde_use_debug_define=yes + ;; + esac + ], + [kde_use_debug_code="no" + kde_use_debug_define=no + ]) + + dnl Just for configure --help + AC_ARG_ENABLE(dummyoption, + AC_HELP_STRING([--disable-debug], + [disables debug output and debug symbols [default=no]]), + [],[]) + + AC_ARG_ENABLE(strict, + AC_HELP_STRING([--enable-strict], + [compiles with strict compiler options (may not work!)]), + [ + if test $enableval = "no"; then + kde_use_strict_options="no" + else + kde_use_strict_options="yes" + fi + ], [kde_use_strict_options="no"]) + + AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]), + [ + if test $enableval = "no"; then + kde_use_warnings="no" + else + kde_use_warnings="yes" + fi + ], [kde_use_warnings="yes"]) + + dnl enable warnings for debug build + if test "$kde_use_debug_code" != "no"; then + kde_use_warnings=yes + fi + + AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), + [kde_use_profiling=$enableval], + [kde_use_profiling="no"] + ) + + dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS + CFLAGS=" $CFLAGS" + + AC_PROG_CC + + AC_PROG_CPP + + if test "$GCC" = "yes"; then + if test "$kde_use_debug_code" != "no"; then + if test $kde_use_debug_code = "full"; then + CFLAGS="-g3 -fno-inline $CFLAGS" + else + CFLAGS="-g -O2 $CFLAGS" + fi + else + CFLAGS="-O2 $CFLAGS" + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CFLAGS="-DNDEBUG $CFLAGS" + fi + + + case "$host" in + *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; + *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; + esac + + if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then + LDFLAGS="" + fi + + CXXFLAGS=" $CXXFLAGS" + + AC_PROG_CXX + + if test "$GXX" = "yes" || test "$CXX" = "KCC"; then + if test "$kde_use_debug_code" != "no"; then + if test "$CXX" = "KCC"; then + CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + else + if test "$kde_use_debug_code" = "full"; then + CXXFLAGS="-g3 -fno-inline $CXXFLAGS" + else + CXXFLAGS="-g -O2 $CXXFLAGS" + fi + fi + KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) + + dnl convenience compiler flags + KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) + AC_SUBST(WOVERLOADED_VIRTUAL) + else + if test "$CXX" = "KCC"; then + CXXFLAGS="+K3 $CXXFLAGS" + else + CXXFLAGS="-O2 $CXXFLAGS" + fi + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" + fi + + if test "$kde_use_profiling" = "yes"; then + KDE_CHECK_COMPILER_FLAG(pg, + [ + CFLAGS="-pg $CFLAGS" + CXXFLAGS="-pg $CXXFLAGS" + ]) + fi + + if test "$kde_use_warnings" = "yes"; then + if test "$GCC" = "yes"; then + case $host in + *-*-linux-gnu) + CFLAGS="-ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"; CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) + ;; + esac + CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) + fi + fi + + if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then + CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" + fi + + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) + KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) + KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"]) + KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) + fi + if test "$CXX" = "KCC"; then + dnl unfortunately we currently cannot disable exception support in KCC + dnl because doing so is binary incompatible and Qt by default links with exceptions :-( + dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) + dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) + + AC_ARG_ENABLE(pch, + AC_HELP_STRING([--enable-pch], + [enables precompiled header support (currently only KCC) [default=no]]), + [ + kde_use_pch=$enableval + ],[kde_use_pch=no]) + + if test "$kde_use_pch" = "yes"; then + dnl TODO: support --pch-dir! + KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) + dnl the below works (but the dir must exist), but it's + dnl useless for a whole package. + dnl The are precompiled headers for each source file, so when compiling + dnl from scratch, it doesn't make a difference, and they take up + dnl around ~5Mb _per_ sourcefile. + dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, + dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) + fi + dnl this flag controls inlining. by default KCC inlines in optimisation mode + dnl all implementations that are defined inside the class {} declaration. + dnl because of templates-compatibility with broken gcc compilers, this + dnl can cause excessive inlining. This flag limits it to a sane level + KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) + KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) + KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) + KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) + dnl Some source files are shared between multiple executables + dnl (or libraries) and some of those need template instantiations. + dnl In that case KCC needs to compile those sources with + dnl --one_instantiation_per_object. To make it easy for us we compile + dnl _all_ objects with that flag (--one_per is a shorthand). + KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) + fi + AC_SUBST(USE_EXCEPTIONS) + dnl obsolete macro - provided to keep things going + USE_RTTI= + AC_SUBST(USE_RTTI) + + case "$host" in + *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; + *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; + *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; + *-*-solaris*) + if test "$GXX" = yes; then + libstdcpp=`$CXX -print-file-name=libstdc++.so` + if test ! -f $libstdcpp; then + AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) + fi + fi + ;; + esac + + AC_VALIDIFY_CXXFLAGS + + AC_PROG_CXXCPP + + if test "$GCC" = yes; then + NOOPT_CFLAGS=-O0 + fi + KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0]) + + AC_SUBST(NOOPT_CXXFLAGS) + AC_SUBST(NOOPT_CFLAGS) + + KDE_CHECK_FINAL + KDE_CHECK_CLOSURE + KDE_CHECK_NMCHECK + + ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) +]) + +AC_DEFUN([KDE_ADD_DEPENDENCIES], +[ + [A]M_DEPENDENCIES(CC) + [A]M_DEPENDENCIES(CXX) +]) + +dnl just a wrapper to clean up configure.in +AC_DEFUN([KDE_PROG_LIBTOOL], +[ +AC_REQUIRE([AC_CHECK_COMPILERS]) +AC_REQUIRE([AC_ENABLE_SHARED]) +AC_REQUIRE([AC_ENABLE_STATIC]) + +AC_REQUIRE([AC_LIBTOOL_DLOPEN]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_OBJEXT +AC_EXEEXT + +AM_PROG_LIBTOOL +AC_LIBTOOL_CXX + +LIBTOOL_SHELL="/bin/sh ./libtool" +# LIBTOOL="$LIBTOOL --silent" +KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" +AC_SUBST(KDE_PLUGIN) + +# we patch configure quite some so we better keep that consistent for incremental runs +AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure') +]) + +AC_DEFUN([KDE_CHECK_LIB64], +[ + kdelibsuff=no + AC_ARG_ENABLE(libsuffix, + AC_HELP_STRING([--enable-libsuffix], + [/lib directory suffix (64,32,none[=default])]), + kdelibsuff=$enableval) + # TODO: add an auto case that compiles a little C app to check + # where the glibc is + if test "$kdelibsuff" = "no"; then + kdelibsuff= + fi + if test -z "$kdelibsuff"; then + AC_MSG_RESULT([not using lib directory suffix]) + AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) + else + if test "$libdir" = '${exec_prefix}/lib'; then + libdir="$libdir${kdelibsuff}" + AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms + fi + AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories) + AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) + fi +]) + +AC_DEFUN([KDE_CHECK_TYPES], +[ AC_CHECK_SIZEOF(int, 4)dnl + AC_CHECK_SIZEOF(short)dnl + AC_CHECK_SIZEOF(long, 4)dnl + AC_CHECK_SIZEOF(char *, 4)dnl +])dnl + +AC_DEFUN([KDE_DO_IT_ALL], +[ +AC_CANONICAL_SYSTEM +AC_ARG_PROGRAM +AM_INIT_AUTOMAKE($1, $2) +AM_DISABLE_LIBRARIES +AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) +AC_CHECK_COMPILERS +KDE_PROG_LIBTOOL +AM_KDE_WITH_NLS +AC_PATH_KDE +]) + +AC_DEFUN([AC_CHECK_RPATH], +[ +AC_MSG_CHECKING(for rpath) +AC_ARG_ENABLE(rpath, + AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), + USE_RPATH=$enableval, USE_RPATH=yes) + +if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then + + KDE_RPATH="-R \$(kde_libraries)" + + if test -n "$qt_libraries"; then + KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" + fi + dnl $x_libraries is set to /usr/lib in case + if test -n "$X_LDFLAGS"; then + X_RPATH="-R \$(x_libraries)" + KDE_RPATH="$KDE_RPATH $X_RPATH" + fi + if test -n "$KDE_EXTRA_RPATH"; then + KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" + fi +fi +AC_SUBST(KDE_EXTRA_RPATH) +AC_SUBST(KDE_RPATH) +AC_SUBST(X_RPATH) +AC_MSG_RESULT($USE_RPATH) +]) + +dnl Check for the type of the third argument of getsockname +AC_DEFUN([AC_CHECK_SOCKLEN_T], [ + AC_MSG_CHECKING(for socklen_t) + AC_CACHE_VAL(ac_cv_socklen_t, [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ],[ +socklen_t a=0; +getsockname(0,(struct sockaddr*)0, &a); + ], + ac_cv_socklen_t=socklen_t, + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ],[ +int a=0; +getsockname(0,(struct sockaddr*)0, &a); + ], + ac_cv_socklen_t=int, + ac_cv_socklen_t=size_t + ) + ) + AC_LANG_RESTORE + ]) + + AC_MSG_RESULT($ac_cv_socklen_t) + if test "$ac_cv_socklen_t" != "socklen_t"; then + AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t, + [Define the real type of socklen_t]) + fi + AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define]) + +]) + +dnl This is a merge of some macros out of the gettext aclocal.m4 +dnl since we don't need anything, I took the things we need +dnl the copyright for them is: +dnl > +dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +dnl This Makefile.in is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. +dnl > +dnl for this file it is relicensed under LGPL + +AC_DEFUN([AM_KDE_WITH_NLS], + [ + dnl If we use NLS figure out what method + + AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, + [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then + AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + MSGFMT=$GMSGFMT + AC_SUBST(GMSGFMT) + AC_SUBST(MSGFMT) + + AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext programs is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + AC_SUBST(XGETTEXT) + + ]) + +# Search path for a program which passes the given test. +# Ulrich Drepper <drepper@cygnus.com>, 1996. + +# serial 1 +# Stephan Kulow: I appended a _KDE against name conflicts + +dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test -n "[$]$1"; then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + + +# Check whether LC_MESSAGES is available in <locale.h>. +# Ulrich Drepper <drepper@cygnus.com>, 1995. + +# serial 1 + +AC_DEFUN([AM_LC_MESSAGES], + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) + fi + fi]) + +dnl From Jim Meyering. +dnl FIXME: migrate into libit. + +AC_DEFUN([AM_FUNC_OBSTACK], +[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)], + am_cv_func_obstack=yes, + am_cv_func_obstack=no)]) + if test $am_cv_func_obstack = yes; then + AC_DEFINE(HAVE_OBSTACK) + else + LIBOBJS="$LIBOBJS obstack.o" + fi +]) + +dnl From Jim Meyering. Use this if you use the GNU error.[ch]. +dnl FIXME: Migrate into libit + +AC_DEFUN([AM_FUNC_ERROR_AT_LINE], +[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, + [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], + am_cv_lib_error_at_line=yes, + am_cv_lib_error_at_line=no)]) + if test $am_cv_lib_error_at_line = no; then + LIBOBJS="$LIBOBJS error.o" + fi + AC_SUBST(LIBOBJS)dnl +]) + +# Macro to add for using GNU gettext. +# Ulrich Drepper <drepper@cygnus.com>, 1995. + +# serial 1 +# Stephan Kulow: I put a KDE in it to avoid name conflicts + +AC_DEFUN([AM_KDE_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([AM_KDE_WITH_NLS])dnl + AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ +__argz_count __argz_stringify __argz_next]) + + AC_MSG_CHECKING(for stpcpy) + AC_CACHE_VAL(kde_cv_func_stpcpy, + [ + kde_safe_cxxflags=$CXXFLAGS + CXXFLAGS="-Werror" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include <string.h> + ], + [ + char buffer[200]; + stpcpy(buffer, buffer); + ], + kde_cv_func_stpcpy=yes, + kde_cv_func_stpcpy=no) + AC_LANG_RESTORE + CXXFLAGS=$kde_safe_cxxflags + ]) + AC_MSG_RESULT($kde_cv_func_stpcpy) + if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then + AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) + fi + + AM_LC_MESSAGES + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + ]) + +AC_DEFUN([AC_HAVE_XPM], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= + test -z "$XPM_INCLUDE" && XPM_INCLUDE= + + AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), + xpm_test=$withval, xpm_test="yes") + if test "x$xpm_test" = xno; then + ac_cv_have_xpm=no + else + AC_MSG_CHECKING(for XPM) + AC_CACHE_VAL(ac_cv_have_xpm, + [ + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" + else + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" + fi + CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" + test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" + AC_TRY_LINK([#include <X11/xpm.h>],[], + ac_cv_have_xpm="yes",ac_cv_have_xpm="no") + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + ])dnl + + if test "$ac_cv_have_xpm" = no; then + AC_MSG_RESULT(no) + XPM_LDFLAGS="" + XPMINC="" + $2 + else + AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) + if test "$XPM_LDFLAGS" = ""; then + XPMLIB='-lXpm $(LIB_X11)' + else + XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' + fi + if test "$XPM_INCLUDE" = ""; then + XPMINC="" + else + XPMINC="-I$XPM_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + AC_SUBST(XPMINC) + AC_SUBST(XPMLIB) +]) + +AC_DEFUN([AC_HAVE_DPMS], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= + test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= + DPMS_LIB= + + AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), + dpms_test=$withval, dpms_test="yes") + if test "x$dpms_test" = xno; then + ac_cv_have_dpms=no + else + AC_MSG_CHECKING(for DPMS) + dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. + dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". + AC_CACHE_VAL(ac_cv_have_dpms, + [ + if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then + AC_MSG_RESULT(no) + ac_cv_have_dpms="no" + else + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + ac_save_libs="$LIBS" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include <X11/Xproto.h> + #include <X11/X.h> + #include <X11/Xlib.h> + #include <X11/extensions/dpms.h> + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + ac_cv_have_dpms="yes", [ + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + LIBS="$LIBS -lXdpms" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include <X11/Xproto.h> + #include <X11/X.h> + #include <X11/Xlib.h> + #include <X11/extensions/dpms.h> + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + [ + ac_cv_have_dpms="-lXdpms" + ],ac_cv_have_dpms="no") + ]) + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LIBS="$ac_save_libs" + fi + ])dnl + + if test "$ac_cv_have_dpms" = no; then + AC_MSG_RESULT(no) + DPMS_LDFLAGS="" + DPMSINC="" + $2 + else + AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) + if test "$ac_cv_have_dpms" = "-lXdpms"; then + DPMS_LIB="-lXdpms" + fi + if test "$DPMS_LDFLAGS" = ""; then + DPMSLIB="$DPMS_LIB "'$(LIB_X11)' + else + DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' + fi + if test "$DPMS_INCLUDE" = ""; then + DPMSINC="" + else + DPMSINC="-I$DPMS_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + ac_save_cflags="$CFLAGS" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, + [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>]) + AC_CHECK_DECL(DPMSCapable, + AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, + [#include <X11/extensions/dpms.h>]) + AH_TEMPLATE(HAVE_DPMSINFO_PROTO, + [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>]) + AC_CHECK_DECL(DPMSInfo, + AC_DEFINE(HAVE_DPMSINFO_PROTO),, + [#include <X11/extensions/dpms.h>]) + CFLAGS="$ac_save_cflags" + AC_SUBST(DPMSINC) + AC_SUBST(DPMSLIB) +]) + +AC_DEFUN([AC_HAVE_GL], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$GL_LDFLAGS" && GL_LDFLAGS= + test -z "$GL_INCLUDE" && GL_INCLUDE= + + AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), + gl_test=$withval, gl_test="yes") + if test "x$kde_use_qt_emb" = "xyes"; then + # GL and Qt Embedded is a no-go for now. + ac_cv_have_gl=no + elif test "x$gl_test" = xno; then + ac_cv_have_gl=no + else + AC_MSG_CHECKING(for GL) + AC_CACHE_VAL(ac_cv_have_gl, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_ldflags="$LDFLAGS" + ac_save_cxxflags="$CXXFLAGS" + LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$CFLAGS $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include <GL/gl.h> +#include <GL/glu.h> +], [], + ac_cv_have_gl="mesa", ac_cv_have_gl="no") + if test "x$ac_cv_have_gl" = "xno"; then + LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$ac_save_cflags $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include <GL/gl.h> +#include <GL/glu.h> +], [], + ac_cv_have_gl="yes", ac_cv_have_gl="no") + fi + AC_LANG_RESTORE + LDFLAGS="$ac_save_ldflags" + CXXFLAGS="$ac_save_cxxflags" + ])dnl + + if test "$ac_cv_have_gl" = "no"; then + AC_MSG_RESULT(no) + GL_LDFLAGS="" + GLINC="" + $2 + else + AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) + if test "$GL_LDFLAGS" = ""; then + if test "$ac_cv_have_gl" = "mesa"; then + GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)' + else + GLLIB='-lGLU -lGL $(LIB_X11)' + fi + else + if test "$ac_cv_have_gl" = "mesa"; then + GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)' + else + GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' + fi + fi + if test "$GL_INCLUDE" = ""; then + GLINC="" + else + GLINC="-I$GL_INCLUDE" + fi + AC_MSG_RESULT($ac_cv_have_gl) + $1 + fi + fi + AC_SUBST(GLINC) + AC_SUBST(GLLIB) +]) + + + dnl shadow password and PAM magic - maintained by ossi@kde.org + +AC_DEFUN([KDE_PAM], [ + AC_REQUIRE([KDE_CHECK_LIBDL]) + + want_pam= + AC_ARG_WITH(pam, + AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), + [ if test "x$withval" = "xyes"; then + want_pam=yes + pam_service=kde + elif test "x$withval" = "xno"; then + want_pam=no + else + want_pam=yes + pam_service=$withval + fi + ], [ pam_service=kde ]) + + use_pam= + PAMLIBS= + if test "x$want_pam" != xno; then + AC_CHECK_LIB(pam, pam_start, [ + AC_CHECK_HEADER(security/pam_appl.h, + [ pam_header=security/pam_appl.h ], + [ AC_CHECK_HEADER(pam/pam_appl.h, + [ pam_header=pam/pam_appl.h ], + [ + AC_MSG_WARN([PAM detected, but no headers found! +Make sure you have the necessary development packages installed.]) + ] + ) + ] + ) + ], , $LIBDL) + if test -z "$pam_header"; then + if test "x$want_pam" = xyes; then + AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) + fi + else + AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) + PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + use_pam=yes + + dnl darwin claims to be something special + if test "$pam_header" = "pam/pam_appl.h"; then + AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) + fi + + dnl test whether struct pam_message is const (Linux) or not (Sun) + AC_MSG_CHECKING(for const pam_message) + AC_EGREP_HEADER([struct pam_message], $pam_header, + [ AC_EGREP_HEADER([const struct pam_message], $pam_header, + [AC_MSG_RESULT([const: Linux-type PAM])], + [AC_MSG_RESULT([nonconst: Sun-type PAM]) + AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] + )], + [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + fi + fi + + AC_SUBST(PAMLIBS) +]) + +dnl DEF_PAM_SERVICE(arg name, full name, define name) +AC_DEFUN([DEF_PAM_SERVICE], [ + AC_ARG_WITH($1-pam, + AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE=$withval + else + AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. +You may want to enforce it by using --with-pam.]) + fi + ], + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE="$pam_service" + fi + ]) + if test -n "$$3_PAM_SERVICE"; then + AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) + AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) + fi + AC_SUBST($3_PAM_SERVICE) +]) + +AC_DEFUN([KDE_SHADOWPASSWD], [ + AC_REQUIRE([KDE_PAM]) + + AC_CHECK_LIB(shadow, getspent, + [ LIBSHADOW="-lshadow" + ac_use_shadow=yes + ], + [ dnl for UnixWare + AC_CHECK_LIB(gen, getspent, + [ LIBGEN="-lgen" + ac_use_shadow=yes + ], + [ AC_CHECK_FUNC(getspent, + [ ac_use_shadow=yes ], + [ ac_use_shadow=no ]) + ]) + ]) + AC_SUBST(LIBSHADOW) + AC_SUBST(LIBGEN) + + AC_MSG_CHECKING([for shadow passwords]) + + AC_ARG_WITH(shadow, + AC_HELP_STRING([--with-shadow],[If you want shadow password support]), + [ if test "x$withval" != "xno"; then + use_shadow=yes + else + use_shadow=no + fi + ], [ + use_shadow="$ac_use_shadow" + ]) + + if test "x$use_shadow" = xyes; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) + else + AC_MSG_RESULT(no) + LIBSHADOW= + LIBGEN= + fi + + dnl finally make the relevant binaries setuid root, if we have shadow passwds. + dnl this still applies, if we could use it indirectly through pam. + if test "x$use_shadow" = xyes || + ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then + case $host in + *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) + SETUIDFLAGS="-m 4755 -o root";; + *) + SETUIDFLAGS="-m 4755";; + esac + fi + AC_SUBST(SETUIDFLAGS) + +]) + +AC_DEFUN([KDE_PASSWDLIBS], [ + AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT + AC_REQUIRE([KDE_PAM]) + AC_REQUIRE([KDE_SHADOWPASSWD]) + + if test "x$use_pam" = "xyes"; then + PASSWDLIBS="$PAMLIBS" + else + PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" + fi + + dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but + dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires + dnl root to read, so kcheckpass needs to be root (even when using pam, since pam + dnl may need to read /etc/master.passwd). + case $host in + *-*-freebsd*) + SETUIDFLAGS="-m 4755 -o root" + ;; + *) + ;; + esac + + AC_SUBST(PASSWDLIBS) +]) + +AC_DEFUN([KDE_CHECK_LIBDL], +[ +AC_CHECK_LIB(dl, dlopen, [ +LIBDL="-ldl" +ac_cv_have_dlfcn=yes +]) + +AC_CHECK_LIB(dld, shl_unload, [ +LIBDL="-ldld" +ac_cv_have_shload=yes +]) + +AC_SUBST(LIBDL) +]) + +AC_DEFUN([KDE_CHECK_DLOPEN], +[ +KDE_CHECK_LIBDL +AC_CHECK_HEADERS(dlfcn.h dl.h) +if test "$ac_cv_header_dlfcn_h" = "no"; then + ac_cv_have_dlfcn=no +fi + +if test "$ac_cv_header_dl_h" = "no"; then + ac_cv_have_shload=no +fi + +dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE +dnl (MM) +AC_ARG_ENABLE(dlopen, +AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), +enable_dlopen=$enableval, +enable_dlopen=yes) + +# override the user's opinion, if we know it better ;) +if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then + enable_dlopen=no +fi + +if test "$ac_cv_have_dlfcn" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) +fi + +if test "$ac_cv_have_shload" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) +fi + +if test "$enable_dlopen" = no ; then + test -n "$1" && eval $1 +else + test -n "$2" && eval $2 +fi + +]) + +AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], +[ +KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) +KDE_PROG_LIBTOOL +AC_MSG_CHECKING([dynamic loading]) +eval "`egrep '^build_libtool_libs=' libtool`" +if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then + dynamic_loading=yes + AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) +else + dynamic_loading=no +fi +AC_MSG_RESULT($dynamic_loading) +if test "$dynamic_loading" = "yes"; then + $1 +else + $2 +fi +]) + +AC_DEFUN([KDE_ADD_INCLUDES], +[ +if test -z "$1"; then + test_include="Pix.h" +else + test_include="$1" +fi + +AC_MSG_CHECKING([for libg++ ($test_include)]) + +AC_CACHE_VAL(kde_cv_libgpp_includes, +[ +kde_cv_libgpp_includes=no + + for ac_dir in \ + \ + /usr/include/g++ \ + /usr/include \ + /usr/unsupported/include \ + /opt/include \ + $extra_include \ + ; \ + do + if test -r "$ac_dir/$test_include"; then + kde_cv_libgpp_includes=$ac_dir + break + fi + done +]) + +AC_MSG_RESULT($kde_cv_libgpp_includes) +if test "$kde_cv_libgpp_includes" != "no"; then + all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" +fi +]) +]) + +AC_DEFUN([KDE_CHECK_LIBPTHREAD], +[ + LIBPTHREAD="" + + if test -n "$PTHREAD_LIBS"; then + PTHREAD_LIBS_save="$PTHREAD_LIBS" + PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` + KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [LIBPTHREAD="$PTHREAD_LIBS_save"] ) + PTHREAD_LIBS="$PTHREAD_LIBS_save" + fi + + if test -z "$LIBPTHREAD"; then + AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) + fi + + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], +[ + USE_THREADS="" + if test -z "$LIBPTHREAD"; then + KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) + fi + + AH_VERBATIM(__svr_define, [ +#if defined(__SVR4) && !defined(__svr4__) +#define __svr4__ 1 +#endif +]) + case $host_os in + solaris*) + KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) + CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" + ;; + freebsd*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" + ;; + aix*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + LIBPTHREAD="$LIBPTHREAD -lc_r" + ;; + linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" + if test "$CXX" = "KCC"; then + CXXFLAGS="$CXXFLAGS --thread_safe" + NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" + fi + ;; + *) + ;; + esac + AC_SUBST(USE_THREADS) + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_THREADING], +[ + AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) + AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) + dnl default is yes if libpthread is found and no if no libpthread is available + if test -z "$LIBPTHREAD"; then + if test -z "$USE_THREADS"; then + kde_check_threading_default=no + else + kde_check_threading_default=yes + fi + else + kde_check_threading_default=yes + fi + AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), + kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) + if test "x$kde_use_threading" = "xyes"; then + AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) + fi +]) + +AC_DEFUN([KDE_TRY_LINK_PYTHON], +[ +if test "$kde_python_link_found" = no; then + +if test "$1" = normal; then + AC_MSG_CHECKING(if a Python application links) +else + AC_MSG_CHECKING(if Python depends on $2) +fi + +AC_CACHE_VAL(kde_cv_try_link_python_$1, +[ +kde_save_cflags="$CFLAGS" +CFLAGS="$CFLAGS $PYTHONINC" +kde_save_libs="$LIBS" +LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" +kde_save_ldflags="$LDFLAGS" +LDFLAGS="$LDFLAGS $PYTHONLIB" + +AC_TRY_LINK( +[ +#include <Python.h> +],[ + PySys_SetArgv(1, 0); +], + [kde_cv_try_link_python_$1=yes], + [kde_cv_try_link_python_$1=no] +) +CFLAGS="$kde_save_cflags" +LIBS="$kde_save_libs" +LDFLAGS="$kde_save_ldflags" +]) + +if test "$kde_cv_try_link_python_$1" = "yes"; then + AC_MSG_RESULT(yes) + kde_python_link_found=yes + if test ! "$1" = normal; then + LIBPYTHON="$LIBPYTHON $2" + fi + $3 +else + AC_MSG_RESULT(no) + $4 +fi + +fi + +]) + +AC_DEFUN([KDE_CHECK_PYTHON_DIR], +[ +AC_MSG_CHECKING([for Python directory]) + +AC_CACHE_VAL(kde_cv_pythondir, +[ + if test -z "$PYTHONDIR"; then + kde_cv_pythondir=/usr/local + else + kde_cv_pythondir="$PYTHONDIR" + fi +]) + +AC_ARG_WITH(pythondir, +AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), +[ + ac_python_dir=$withval +], ac_python_dir=$kde_cv_pythondir +) + +AC_MSG_RESULT($ac_python_dir) +]) + +AC_DEFUN([KDE_CHECK_PYTHON_INTERN], +[ +AC_REQUIRE([KDE_CHECK_LIBDL]) +AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) +AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) + +if test -z "$1"; then + version="1.5" +else + version="$1" +fi + +AC_MSG_CHECKING([for Python$version]) + +python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" +AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) +if test ! -r $python_incdir/Python.h; then + AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) + python_incdir=$python_incdir/python$version + if test ! -r $python_incdir/Python.h; then + python_incdir=no + fi +fi + +PYTHONINC=-I$python_incdir + +python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" +AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) +if test ! -r $python_libdir/libpython$version.so; then + AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) + if test ! -r $python_libdir/libpython$version.a; then + AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) + python_libdir=$python_libdir/python$version/config + if test ! -r $python_libdir/libpython$version.a; then + python_libdir=no + fi + fi +fi + +PYTHONLIB=-L$python_libdir +kde_orig_LIBPYTHON=$LIBPYTHON +if test -z "$LIBPYTHON"; then + LIBPYTHON=-lpython$version +fi + +AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) +python_moddir=$python_moddir/python$version +if test ! -r $python_moddir/copy.py; then + python_moddir=no +fi + +PYTHONMODDIR=$python_moddir + +AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) + +if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then + LIBPYTHON=$kde_orig_LIBPYTHON + test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" + test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" + $2 +else + dnl Note: this test is very weak + kde_python_link_found=no + KDE_TRY_LINK_PYTHON(normal) + KDE_TRY_LINK_PYTHON(m, -lm) + KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) + KDE_TRY_LINK_PYTHON(tcl, -ltcl) + KDE_TRY_LINK_PYTHON(db2, -ldb2) + KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) + KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], + [AC_MSG_WARN([it seems, Python depends on another library. + Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this + and contact the authors to let them know about this problem]) + ]) + + LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" + AC_SUBST(PYTHONINC) + AC_SUBST(PYTHONLIB) + AC_SUBST(LIBPYTHON) + AC_SUBST(PYTHONMODDIR) + AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) +fi + +]) + + +AC_DEFUN([KDE_CHECK_PYTHON], +[ + KDE_CHECK_PYTHON_INTERN("2.3", + [KDE_CHECK_PYTHON_INTERN("2.2", + [KDE_CHECK_PYTHON_INTERN("2.1", + [KDE_CHECK_PYTHON_INTERN("2.0", + [KDE_CHECK_PYTHON_INTERN($1, $2) ]) + ]) + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_STL], +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" + + AC_MSG_CHECKING([if C++ programs can be compiled]) + AC_CACHE_VAL(kde_cv_stl_works, + [ + AC_TRY_COMPILE([ +#include <string> +using namespace std; +],[ + string astring="Hallo Welt."; + astring.erase(0, 6); // now astring is "Welt" + return 0; +], kde_cv_stl_works=yes, + kde_cv_stl_works=no) +]) + + AC_MSG_RESULT($kde_cv_stl_works) + + if test "$kde_cv_stl_works" = "yes"; then + # back compatible + AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + else + AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs. +Check config.log for details - if you're using a Linux distribution you might miss +a package named similiar to libstd++-dev.]) + fi + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE +]) + +AC_DEFUN([AC_FIND_QIMGIO], + [AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for qimgio]) +AC_CACHE_VAL(ac_cv_lib_qimgio, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +ac_save_CXXFLAGS="$CXXFLAGS" +LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +AC_TRY_RUN(dnl +[ +#include <qimageio.h> +#include <qstring.h> +int main() { + QString t = "hallo"; + t.fill('t'); + qInitImageIO(); +} +], + ac_cv_lib_qimgio=yes, + ac_cv_lib_qimgio=no, + ac_cv_lib_qimgio=no) +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then + LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) + AC_SUBST(LIBQIMGIO) +else + AC_MSG_RESULT(not found) +fi +]) + +AC_DEFUN([AM_DISABLE_LIBRARIES], +[ + AC_PROVIDE([AM_ENABLE_STATIC]) + AC_PROVIDE([AM_ENABLE_SHARED]) + enable_static=no + enable_shared=yes +]) + + +AC_DEFUN([AC_CHECK_UTMP_FILE], +[ + AC_MSG_CHECKING([for utmp file]) + + AC_CACHE_VAL(kde_cv_utmp_file, + [ + kde_cv_utmp_file=no + + for ac_file in \ + \ + /var/run/utmp \ + /var/adm/utmp \ + /etc/utmp \ + ; \ + do + if test -r "$ac_file"; then + kde_cv_utmp_file=$ac_file + break + fi + done + ]) + + if test "$kde_cv_utmp_file" != "no"; then + AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) + $1 + AC_MSG_RESULT($kde_cv_utmp_file) + else + $2 + AC_MSG_RESULT([non found]) + fi +]) + + +AC_DEFUN([KDE_CREATE_SUBDIRSLIST], +[ + +DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" + +if test ! -s $srcdir/subdirs; then + dnl Note: Makefile.common creates subdirs, so this is just a fallback + TOPSUBDIRS="" + files=`cd $srcdir && ls -1` + dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` + for i in $dirs; do + echo $i >> $srcdir/subdirs + done +fi + +ac_topsubdirs= +if test -s $srcdir/inst-apps; then + ac_topsubdirs="`cat $srcdir/inst-apps`" +elif test -s $srcdir/subdirs; then + ac_topsubdirs="`cat $srcdir/subdirs`" +fi + +for i in $ac_topsubdirs; do + AC_MSG_CHECKING([if $i should be compiled]) + if test -d $srcdir/$i; then + install_it="yes" + for j in $DO_NOT_COMPILE; do + if test $i = $j; then + install_it="no" + fi + done + else + install_it="no" + fi + AC_MSG_RESULT($install_it) + vari=`echo $i | sed -e 's,[[-+.]],_,g'` + if test $install_it = "yes"; then + TOPSUBDIRS="$TOPSUBDIRS $i" + eval "$vari""_SUBDIR_included=yes" + else + eval "$vari""_SUBDIR_included=no" + fi +done + +AC_SUBST(TOPSUBDIRS) +]) + +AC_DEFUN([KDE_CHECK_NAMESPACES], +[ +AC_MSG_CHECKING(whether C++ compiler supports namespaces) +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_TRY_COMPILE([ +], +[ +namespace Foo { + extern int i; + namespace Bar { + extern int i; + } +} + +int Foo::i = 0; +int Foo::Bar::i = 1; +],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_NAMESPACES) +], [ +AC_MSG_RESULT(no) +]) +AC_LANG_RESTORE +]) + +dnl ------------------------------------------------------------------------ +dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_S_ISSOCK], +[ +AC_MSG_CHECKING(for S_ISSOCK) +AC_CACHE_VAL(ac_cv_have_s_issock, +[ +AC_TRY_LINK( +[ +#include <sys/stat.h> +], +[ +struct stat buff; +int b = S_ISSOCK( buff.st_mode ); +], +ac_cv_have_s_issock=yes, +ac_cv_have_s_issock=no) +]) +AC_MSG_RESULT($ac_cv_have_s_issock) +if test "$ac_cv_have_s_issock" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) +fi + +AH_VERBATIM(_ISSOCK, +[ +#ifndef HAVE_S_ISSOCK +#define HAVE_S_ISSOCK +#define S_ISSOCK(mode) (1==0) +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], +[ +AC_MSG_CHECKING(for MAXPATHLEN) +AC_CACHE_VAL(ac_cv_maxpathlen, +[ +cat > conftest.$ac_ext <<EOF +#ifdef STDC_HEADERS +# include <stdlib.h> +#endif +#include <stdio.h> +#include <sys/param.h> +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif + +KDE_HELLO MAXPATHLEN + +EOF + +ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" + +if AC_TRY_EVAL(ac_try) && test -s conftest.out; then + ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` +else + ac_cv_maxpathlen=1024 +fi + +rm conftest.* + +]) +AC_MSG_RESULT($ac_cv_maxpathlen) +AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) +]) + +AC_DEFUN([KDE_CHECK_HEADER], +[ + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADER([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_CHECK_HEADERS], +[ + AH_CHECK_HEADERS([$1]) + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_FAST_CONFIGURE], +[ + dnl makes configure fast (needs perl) + AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), + with_fast_perl=$enableval, with_fast_perl=yes) +]) + +AC_DEFUN([KDE_CONF_FILES], +[ + val= + if test -f $srcdir/configure.files ; then + val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` + fi + CONF_FILES= + if test -n "$val" ; then + for i in $val ; do + CONF_FILES="$CONF_FILES $i" + done + fi + AC_SUBST(CONF_FILES) +])dnl + +AC_DEFUN([KDE_SET_PREFIX], +[ + unset CDPATH + dnl make $KDEDIR the default for the installation + AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) + + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + ac_configure_args="$ac_configure_args --prefix=$prefix" + fi + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + +pushdef([AC_PROG_INSTALL], +[ + dnl our own version, testing for a -p flag + popdef([AC_PROG_INSTALL]) + dnl as AC_PROG_INSTALL works as it works we first have + dnl to save if the user didn't specify INSTALL, as the + dnl autoconf one overwrites INSTALL and we have no chance to find + dnl out afterwards + test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL + test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM + test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT + AC_PROG_INSTALL + + if test -z "$kde_save_INSTALL_given" ; then + # OK, user hasn't given any INSTALL, autoconf found one for us + # now we test, if it supports the -p flag + AC_MSG_CHECKING(for -p flag to install) + rm -f confinst.$$.* > /dev/null 2>&1 + echo "Testtest" > confinst.$$.orig + ac_res=no + if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then + if test -f confinst.$$.new ; then + # OK, -p seems to do no harm to install + INSTALL="${INSTALL} -p" + ac_res=yes + fi + fi + rm -f confinst.$$.* + AC_MSG_RESULT($ac_res) + fi + dnl the following tries to resolve some signs and wonders coming up + dnl with different autoconf/automake versions + dnl e.g.: + dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s + dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) + dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s + dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has + dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the + dnl install-@DIR@PROGRAMS targets to explicitly use that flag + dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as + dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 + dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure + dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from + dnl automake (due to broken Makefile.am or whatever) to install programs, + dnl and so does not see the -s flag in automake > 1.4 + dnl to clean up that mess we: + dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG + dnl which cleans KDE's program with automake > 1.4; + dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems + dnl with automake<=1.4 + dnl note that dues to this sometimes two '-s' flags are used (if KDE + dnl properly uses install-@DIR@PROGRAMS, but I don't care + dnl + dnl And to all this comes, that I even can't write in comments variable + dnl names used by automake, because it is so stupid to think I wanted to + dnl _use_ them, therefor I have written A_M_... instead of AM_ + dnl hmm, I wanted to say something ... ahh yes: Arghhh. + + if test -z "$kde_save_INSTALL_PROGRAM_given" ; then + INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' + fi + if test -z "$kde_save_INSTALL_SCRIPT_given" ; then + INSTALL_SCRIPT='${INSTALL}' + fi +])dnl + +AC_DEFUN([KDE_LANG_CPLUSPLUS], +[AC_LANG_CPLUSPLUS +ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) +]) + +pushdef([AC_LANG_CPLUSPLUS], +[popdef([AC_LANG_CPLUSPLUS]) +KDE_LANG_CPLUSPLUS +]) + +AC_DEFUN([KDE_CHECK_LONG_LONG], +[ +AC_MSG_CHECKING(for long long) +AC_CACHE_VAL(kde_cv_c_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_LINK([], [ + long long foo = 0; + foo = foo+1; + ], + kde_cv_c_long_long=yes, kde_cv_c_long_long=no) + AC_LANG_RESTORE +]) +AC_MSG_RESULT($kde_cv_c_long_long) +if test "$kde_cv_c_long_long" = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) +fi +]) + +AC_DEFUN([KDE_CHECK_LIB], +[ + kde_save_LDFLAGS="$LDFLAGS" + dnl AC_CHECK_LIB modifies LIBS, so save it here + kde_save_LIBS="$LIBS" + LDFLAGS="$LDFLAGS $all_libraries" + case $host_os in + aix*) LDFLAGS="-brtl $LDFLAGS" + test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" + ;; + esac + AC_CHECK_LIB($1, $2, $3, $4, $5) + LDFLAGS="$kde_save_LDFLAGS" + LIBS="$kde_save_LIBS" +]) + +AC_DEFUN([KDE_JAVA_PREFIX], +[ + dir=`dirname "$1"` + base=`basename "$1"` + list=`ls -1 $dir 2> /dev/null` + for entry in $list; do + if test -d $dir/$entry/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/bin" + ;; + esac + elif test -d $dir/$entry/jre/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/jre/bin" + ;; + esac + fi + done +]) + +dnl KDE_CHEC_JAVA_DIR(onlyjre) +AC_DEFUN([KDE_CHECK_JAVA_DIR], +[ + +AC_ARG_WITH(java, +AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), +[ ac_java_dir=$withval +], ac_java_dir="" +) + +AC_MSG_CHECKING([for Java]) + +dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH +if test "x$ac_java_dir" = "xno"; then + kde_java_bindir=no + kde_java_includedir=no + kde_java_libjvmdir=no + kde_java_libgcjdir=no + kde_java_libhpidir=no +else + if test "x$ac_java_dir" = "x"; then + + + dnl No option set -> collect list of candidate paths + if test -n "$JAVA_HOME"; then + KDE_JAVA_PREFIX($JAVA_HOME) + fi + KDE_JAVA_PREFIX(/usr/j2se) + KDE_JAVA_PREFIX(/usr/lib/j2se) + KDE_JAVA_PREFIX(/usr/j*dk*) + KDE_JAVA_PREFIX(/usr/lib/j*dk*) + KDE_JAVA_PREFIX(/opt/j*sdk*) + KDE_JAVA_PREFIX(/usr/lib/java*) + KDE_JAVA_PREFIX(/usr/java*) + KDE_JAVA_PREFIX(/usr/java/j*dk*) + KDE_JAVA_PREFIX(/usr/java/j*re*) + KDE_JAVA_PREFIX(/usr/lib/SunJava2*) + KDE_JAVA_PREFIX(/usr/lib/SunJava*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava*) + KDE_JAVA_PREFIX(/opt/java*) + + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + if test -d "$dir"; then + javadirs="$javadirs $dir" + fi + done + IFS=$kde_save_IFS + jredirs= + + dnl Now javadirs contains a list of paths that exist, all ending with bin/ + for dir in $javadirs; do + dnl Check for the java executable + if test -x "$dir/java"; then + dnl And also check for a libjvm.so somewhere under there + dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. + if test "$dir" != "/usr/bin"; then + libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + if test ! -f $libjvmdir/libjvm.so; then continue; fi + jredirs="$jredirs $dir" + fi + fi + done + + dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found + JAVAC= + JAVA= + kde_java_bindir=no + for dir in $jredirs; do + JAVA="$dir/java" + kde_java_bindir=$dir + if test -x "$dir/javac"; then + JAVAC="$dir/javac" + break + fi + done + + if test -n "$JAVAC"; then + dnl this substitution might not work - well, we test for jni.h below + kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` + else + kde_java_includedir=no + fi + else + dnl config option set + kde_java_bindir=$ac_java_dir/bin + if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then + kde_java_includedir=no + else + kde_java_includedir=$ac_java_dir/include + fi + fi +fi + +dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" +if test "x$kde_java_bindir" != "xno"; then + + dnl Look for libjvm.so + kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + dnl Look for libgcj.so + kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` + dnl Look for libhpi.so and avoid green threads + kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` + + dnl Now check everything's fine under there + dnl the include dir is our flag for having the JDK + if test -d "$kde_java_includedir"; then + if test ! -x "$kde_java_bindir/javac"; then + AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) + fi + if test ! -x "$kde_java_bindir/javah"; then + AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -x "$kde_java_bindir/jar"; then + AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -r "$kde_java_includedir/jni.h"; then + AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) + fi + + jni_includes="-I$kde_java_includedir" + dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. + dnl and under linux here.. + + dnl not needed for gcj + + if test "x$kde_java_libgcjdir" = "x"; then + test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" + test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" + test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + fi + + else + JAVAC= + jni_includes= + fi + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libjvmdir/libjvm.so"; then + AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) + fi + else + if test ! -r "$kde_java_libgcjdir/libgcj.so"; then + AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) + fi + fi + + if test ! -x "$kde_java_bindir/java"; then + AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + + dnl not needed for gcj compile + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libhpidir/libhpi.so"; then + AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + fi + fi + + if test -n "$jni_includes"; then + dnl Check for JNI version + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_cxxflags_safe="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" + + AC_TRY_COMPILE([ + #include <jni.h> + ], + [ + #ifndef JNI_VERSION_1_2 + Syntax Error + #endif + ],[ kde_jni_works=yes ], + [ kde_jni_works=no ]) + + if test $kde_jni_works = no; then + AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. + You need to have Java Development Kit (JDK) version 1.2. + + Use --with-java to specify another location. + Use --without-java to configure without java support. + Or download a newer JDK and try again. + See e.g. http://java.sun.com/products/jdk/1.2 ]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + AC_LANG_RESTORE + + dnl All tests ok, inform and subst the variables + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + if test "x$kde_java_libgcjdir" = "x"; then + JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + else + JVMLIBS="-L$kde_java_libgcjdir -lgcj" + fi + AC_MSG_RESULT([java JDK in $kde_java_bindir]) + + else + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([java JRE in $kde_java_bindir]) + fi +elif test -d "/Library/Java/Home"; then + kde_java_bindir="/Library/Java/Home/bin" + jni_includes="-I/Library/Java/Home/include" + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + JVMLIBS="-Xlinker -framework -Xlinker JavaVM" + + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([Apple Java Framework]) +else + AC_MSG_RESULT([none found]) +fi + +AC_SUBST(JAVAC) +AC_SUBST(JAVAH) +AC_SUBST(JAR) +AC_SUBST(JVMLIBS) +AC_SUBST(jni_includes) + +# for backward compat +kde_cv_java_includedir=$kde_java_includedir +kde_cv_java_bindir=$kde_java_bindir +]) + +dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. +dnl When the argument list becomes big, as in KDE for AC_OUTPUT in +dnl big packages, m4_foreach is dog-slow. So use our own version of +dnl it. (matz@kde.org) +m4_define([mm_foreach], +[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) +m4_define([mm_car], [[$1]]) +m4_define([mm_car2], [[$@]]) +m4_define([_mm_foreach], +[m4_if(m4_quote($2), [], [], + [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1], + mm_car2(m4_shift($2)), + [$3])])]) +m4_define([AC_FOREACH], +[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) + +AC_DEFUN([KDE_NEED_FLEX], +[ +kde_libs_safe=$LIBS +LIBS="$LIBS $USER_LDFLAGS" +AM_PROG_LEX +LIBS=$kde_libs_safe +if test -z "$LEXLIB"; then + AC_MSG_ERROR([You need to have flex installed.]) +fi +AC_SUBST(LEXLIB) +]) + +AC_DEFUN([AC_PATH_QTOPIA], +[ + dnl TODO: use AC_CACHE_VAL + + if test -z "$1"; then + qtopia_minver_maj=1 + qtopia_minver_min=5 + qtopia_minver_pat=0 + else + qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` + qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` + qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` + fi + + qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" + qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" + + AC_REQUIRE([AC_PATH_QT]) + + AC_MSG_CHECKING([for Qtopia]) + + LIB_QTOPIA="-lqpe" + AC_SUBST(LIB_QTOPIA) + + kde_qtopia_dirs="$QPEDIR /opt/Qtopia" + + ac_qtopia_incdir=NO + + AC_ARG_WITH(qtopia-dir, + AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), + [ ac_qtopia_incdir="$withval"/include] ) + + qtopia_incdirs="" + for dir in $kde_qtopia_dirs; do + qtopia_incdirs="$qtopia_incdirs $dir/include" + done + + if test ! "$ac_qtopia_incdir" = "NO"; then + qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" + fi + + qtopia_incdir="" + AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) + ac_qtopia_incdir="$qtopia_incdir" + + if test -z "$qtopia_incdir"; then + AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) + fi + + qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; + qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; + qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; + + qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" + qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" + if test "$qtopia_ver" -lt "$qtopia_minver"; then + AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr +is required.]) + fi + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + ac_cxxflags_safe="$CXXFLAGS" + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" + LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" + LIBS="$LIBS $LIB_QTOPIA $LIBQT" + + cat > conftest.$ac_ext <<EOF +#include "confdefs.h" +#include <qpe/qpeapplication.h> +#include <qpe/version.h> + +int main( int argc, char **argv ) +{ + QPEApplication app( argc, argv ); + return 0; +} +EOF + + if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* + else + rm -f conftest* + AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at +the end of config.log]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + AC_LANG_RESTORE + + QTOPIA_INCLUDES="-I$qtopia_incdir" + AC_SUBST(QTOPIA_INCLUDES) + + AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) +]) + + +AC_DEFUN([KDE_INIT_DOXYGEN], +[ +AC_MSG_CHECKING([for Qt docs]) +kde_qtdir= +if test "${with_qt_dir+set}" = set; then + kde_qtdir="$with_qt_dir" +fi + +AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR) +AC_MSG_RESULT($QTDOCDIR) + +AC_SUBST(QTDOCDIR) + +KDE_FIND_PATH(dot, DOT, [], []) +if test -n "$DOT"; then + KDE_HAVE_DOT="YES" +else + KDE_HAVE_DOT="NO" +fi +AC_SUBST(KDE_HAVE_DOT) +KDE_FIND_PATH(doxygen, DOXYGEN, [], []) +AC_SUBST(DOXYGEN) + +DOXYGEN_PROJECT_NAME="$1" +DOXYGEN_PROJECT_NUMBER="$2" +AC_SUBST(DOXYGEN_PROJECT_NAME) +AC_SUBST(DOXYGEN_PROJECT_NUMBER) + +KDE_HAS_DOXYGEN=no +if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then + KDE_HAS_DOXYGEN=yes +fi +AC_SUBST(KDE_HAS_DOXYGEN) + +]) + + +AC_DEFUN([AC_FIND_BZIP2], +[ +AC_MSG_CHECKING([for bzDecompress in libbz2]) +AC_CACHE_VAL(ac_cv_lib_bzip2, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#define BZ_NO_STDIO +#include<bzlib.h> +], + [ bz_stream s; (void) bzDecompress(&s); ], + eval "ac_cv_lib_bzip2='-lbz2'", + eval "ac_cv_lib_bzip2=no") +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +AC_MSG_RESULT($ac_cv_lib_bzip2) + +if test ! "$ac_cv_lib_bzip2" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2" + AC_SUBST(LIBBZ2) + +else + + cxx_shared_flag= + ld_shared_flag= + KDE_CHECK_COMPILER_FLAG(shared, [ + ld_shared_flag="-shared" + ]) + KDE_CHECK_COMPILER_FLAG(fPIC, [ + cxx_shared_flag="-fPIC" + ]) + + AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) + AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + kde_save_LIBS="$LIBS" + LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" + kde_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" + + AC_TRY_LINK(dnl + [ + #define BZ_NO_STDIO + #include<bzlib.h> + ], + [ bz_stream s; (void) BZ2_bzDecompress(&s); ], + eval "ac_cv_lib_bzip2_prefix='-lbz2'", + eval "ac_cv_lib_bzip2_prefix=no") + LIBS="$kde_save_LIBS" + CXXFLAGS="$kde_save_CXXFLAGS" + AC_LANG_RESTORE + ])dnl + + AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) + + if test ! "$ac_cv_lib_bzip2_prefix" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2_prefix" + AC_SUBST(LIBBZ2) + + AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) + dnl else, we just ignore this + fi + +fi +AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the SSL headers and libraries. +dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) +dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([KDE_CHECK_SSL], +[ +LIBSSL="-lssl -lcrypto" +AC_REQUIRE([KDE_CHECK_LIB64]) + +ac_ssl_includes=NO ac_ssl_libraries=NO +ssl_libraries="" +ssl_includes="" +AC_ARG_WITH(ssl-dir, + AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), + [ ac_ssl_includes="$withval"/include + ac_ssl_libraries="$withval"/lib$kdelibsuff + ]) + +want_ssl=yes +AC_ARG_WITH(ssl, + AC_HELP_STRING([--without-ssl],[disable SSL checks]), + [want_ssl=$withval]) + +if test $want_ssl = yes; then + +AC_MSG_CHECKING(for OpenSSL) + +AC_CACHE_VAL(ac_cv_have_ssl, +[#try to guess OpenSSL locations + + ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" + ssl_incdirs="$ac_ssl_includes $ssl_incdirs" + AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) + ac_ssl_includes="$ssl_incdir" + + ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" + if test ! "$ac_ssl_libraries" = "NO"; then + ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" + fi + + test=NONE + ssl_libdir=NONE + for dir in $ssl_libdirs; do + try="ls -1 $dir/libssl*" + if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done + + ac_ssl_libraries="$ssl_libdir" + + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" + LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" + + AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, + ac_ssl_rsaref="yes" + , + ac_ssl_rsaref="no" + ) + + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then + have_ssl=no + else + have_ssl=yes; + fi + + ]) + + eval "$ac_cv_have_ssl" + + AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) + + AC_MSG_CHECKING([whether OpenSSL uses rsaref]) + AC_MSG_RESULT($ac_ssl_rsaref) + + AC_MSG_CHECKING([for easter eggs]) + AC_MSG_RESULT([none found]) + +else + have_ssl=no +fi + +if test "$have_ssl" = yes; then + AC_MSG_CHECKING(for OpenSSL version) + dnl Check for SSL version + AC_CACHE_VAL(ac_cv_ssl_version, + [ + + cat >conftest.$ac_ext <<EOF +#include <openssl/opensslv.h> +#include <stdio.h> + int main() { + +#ifndef OPENSSL_VERSION_NUMBER + printf("ssl_version=\\"error\\"\n"); +#else + if (OPENSSL_VERSION_NUMBER < 0x00906000) + printf("ssl_version=\\"old\\"\n"); + else + printf("ssl_version=\\"ok\\"\n"); +#endif + return (0); + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + if test "$ac_ssl_includes" != "/usr/include"; then + CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" + fi + + if AC_TRY_EVAL(ac_link); then + + if eval `./conftest 2>&5`; then + if test $ssl_version = error; then + AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) + else + if test $ssl_version = old; then + AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) + have_ssl=no + fi + fi + ac_cv_ssl_version="ssl_version=$ssl_version" + else + AC_MSG_ERROR([Your system couldn't run a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure <faure@kde.org>, attaching your config.log]) + fi + + else + AC_MSG_ERROR([Your system couldn't link a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure <faure@kde.org>, attaching your config.log]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + ]) + + eval "$ac_cv_ssl_version" + AC_MSG_RESULT($ssl_version) +fi + +if test "$have_ssl" != yes; then + LIBSSL=""; +else + AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) + ac_cv_have_ssl="have_ssl=yes \ + ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" + + + ssl_libraries="$ac_ssl_libraries" + ssl_includes="$ac_ssl_includes" + + if test "$ac_ssl_rsaref" = yes; then + LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" + fi + + if test $ssl_version = "old"; then + AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) + fi +fi + +SSL_INCLUDES= + +if test "$ssl_includes" = "/usr/include"; then + if test -f /usr/kerberos/include/krb5.h; then + SSL_INCLUDES="-I/usr/kerberos/include" + fi +elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then + SSL_INCLUDES="-I$ssl_includes" +fi + +if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then + SSL_LDFLAGS="" +else + SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" +fi + +AC_SUBST(SSL_INCLUDES) +AC_SUBST(SSL_LDFLAGS) +AC_SUBST(LIBSSL) +]) + +AC_DEFUN([KDE_CHECK_STRLCPY], +[ + AC_REQUIRE([AC_CHECK_STRLCAT]) + AC_REQUIRE([AC_CHECK_STRLCPY]) + AC_CHECK_SIZEOF(size_t) + AC_CHECK_SIZEOF(unsigned long) + + AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long]) + AC_TRY_COMPILE(,[ + #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG + choke me + #endif + ],AC_MSG_RESULT([yes]),[ + AC_MSG_RESULT(no) + AC_MSG_ERROR([ + Apparently on your system our assumption sizeof size_t == sizeof unsigned long + does not apply. Please mail kde-devel@kde.org with a description of your system! + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_BINUTILS], +[ + AC_MSG_CHECKING([if ld supports unversioned version maps]) + + kde_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" + echo "{ local: extern \"C++\" { foo }; };" > conftest.map + AC_TRY_LINK([int foo;], +[ +#ifdef __INTEL_COMPILER +icc apparently does not support libtools version-info and version-script +at the same time. Dunno where the bug is, but until somebody figured out, +better disable the optional version scripts. +#endif + + foo = 42; +], kde_supports_versionmaps=yes, kde_supports_versionmaps=no) + LDFLAGS="$kde_save_LDFLAGS" + rm -f conftest.map + AM_CONDITIONAL(include_VERSION_SCRIPT, + [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"]) + + AC_MSG_RESULT($kde_supports_versionmaps) +]) + +AC_DEFUN([AM_PROG_OBJC],[ +AC_CHECK_PROGS(OBJC, gcc, gcc) +test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH]) +if test "x${OBJCFLAGS-unset}" = xunset; then + OBJCFLAGS="-g -O2" +fi +AC_SUBST(OBJCFLAGS) +_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) +]) + +AC_DEFUN([KDE_CHECK_PERL], +[ + KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ + AC_MSG_ERROR([No Perl found in your $PATH. +We need perl to generate some code.]) + ]) + AC_SUBST(PERL) +]) +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +## Copyright 1996, 1997, 1998, 1999, 2000, 2001 +## Free Software Foundation, Inc. +## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +## +## As a special exception to the GNU General Public License, if you +## distribute this file as part of a program that contains a +## configuration script generated by Autoconf, you may include it under +## the same distribution terms that you use for the rest of that program. + +# serial 47 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +[$]* +EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string="`eval $cmd`") 2>/dev/null && + echo_test_string="`eval $cmd`" && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + LINUX_64_MODE="32" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + LINUX_64_MODE="64" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test ! -s conftest.err; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + testring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test ! -s out/conftest.err; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*-gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + libsuff= + if test "x$LINUX_64_MODE" = x64; then + # Some platforms are per default 64-bit, so there's no /lib64 + if test -d /lib64; then + libsuff=64 + fi + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && test "X$CXX" != "Xno"; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 dll's +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +#- set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +])# AC_PROG_LD + + +# AC_PROG_LD_GNU +# -------------- +AC_DEFUN([AC_PROG_LD_GNU], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac]) +with_gnu_ld=$lt_cv_prog_gnu_ld +])# AC_PROG_LD_GNU + + +# AC_PROG_LD_RELOAD_FLAG +# ---------------------- +# find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], +[AC_CACHE_CHECK([for $LD option to reload object files], + lt_cv_ld_reload_flag, + [lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +])# AC_PROG_LD_RELOAD_FLAG + + +# AC_DEPLIBS_CHECK_METHOD +# ----------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], +[AC_CACHE_CHECK([how to recognise dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* | pw32*) + # win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='win32_libid' + ;; + +darwin* | rhapsody*) + # this will be overwritten by pass_all, but leave it in just in case + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.[[012]]) + lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case "$host_cpu" in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* ) + lt_cv_deplibs_check_method=pass_all ;; + # the debian people say, arm and glibc 2.3.1 works for them with pass_all + arm* ) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will +# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided and an installed libltdl is not found, it is +# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' +# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single +# quotes!). If your package is not flat and you're not using automake, +# define top_builddir and top_srcdir appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# -------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +# Report which librarie types wil actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cc + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + dgux*) + case $cc_basename in + ec++) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC) + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case "$host_cpu" in + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc) + # Intel C++ + with_gnu_ld=yes + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + cxx) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + osf3*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext <<EOF +int a; +void foo (void) { a = 0; } +EOF +],[$1],[CXX],[cat > conftest.$ac_ext <<EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +EOF +],[$1],[F77],[cat > conftest.$ac_ext <<EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +EOF +],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +EOF +]) +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then + _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + ;; + + *.$objext|*.$libext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then + _LT_AC_TAGVAR(predep_objects, $1)="$p" + else + _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then + _LT_AC_TAGVAR(postdep_objects, $1)="$p" + else + _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$rm -f confest.$objext + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +])# AC_LIBTOOL_POSTDEP_PREDEP + +# AC_LIBTOOL_LANG_F77_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +AC_DEFUN([_LT_AC_LANG_F77_CONFIG], +[AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4*) + test "$enable_shared" = yes && enable_static=no + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP + + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_F77_CONFIG + + +# AC_LIBTOOL_LANG_GCJ_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], +[AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_GCJ_CONFIG + + +# AC_LIBTOOL_LANG_RC_CONFIG +# -------------------------- +# Ensure that the configuration vars for the Windows resource compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +AC_DEFUN([_LT_AC_LANG_RC_CONFIG], +[AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_RC_CONFIG + + +# AC_LIBTOOL_CONFIG([TAGNAME]) +# ---------------------------- +# If TAGNAME is not passed, then create an initial libtool script +# with a default configuration from the untagged config vars. Otherwise +# add code to config.status for appending the configuration named by +# TAGNAME from the matching tagged config vars. +AC_DEFUN([AC_LIBTOOL_CONFIG], +[# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGISTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat <<EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <<EOF >> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + cxx) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux*) + case $CC in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi4*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include <windows.h> +# #undef WIN32_LEAN_AND_MEAN +# #include <stdio.h> +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include <cygwin/cygwin_dll.h> +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && break + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..f556271 --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,12040 @@ +# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*- + +# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) +dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +dnl Boston, MA 02110-1301, USA. + +dnl IMPORTANT NOTE: +dnl Please do not modify this file unless you expect your modifications to be +dnl carried into every other module in the repository. +dnl +dnl Single-module modifications are best placed in configure.in for kdelibs +dnl and kdebase or configure.in.in if present. + +# KDE_PATH_X_DIRECT +dnl Internal subroutine of AC_PATH_X. +dnl Set ac_x_includes and/or ac_x_libraries. +AC_DEFUN([KDE_PATH_X_DIRECT], +[ +AC_REQUIRE([KDE_CHECK_LIB64]) + +if test "$ac_x_includes" = NO; then + # Guess where to find include files, by looking for this one X11 .h file. + test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h + + # First, try using that file with no special directory specified. +AC_TRY_CPP([#include <$x_direct_test_include>], +[# We can compile using X headers with no special include directory. +ac_x_includes=], +[# Look for the header file in a standard set of common directories. +# Check X11 before X11Rn because it is often a symlink to the current release. + for ac_dir in \ + /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 \ + ; \ + do + if test -r "$ac_dir/$x_direct_test_include"; then + ac_x_includes=$ac_dir + break + fi + done]) +fi # $ac_x_includes = NO + +if test "$ac_x_libraries" = NO; then + # Check for the libraries. + + test -z "$x_direct_test_library" && x_direct_test_library=Xt + test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc + + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS="$LIBS" + LIBS="-l$x_direct_test_library $LIBS" +AC_TRY_LINK(, [${x_direct_test_function}()], +[LIBS="$ac_save_LIBS" +# We can link X programs with no special library path. +ac_x_libraries=], +[LIBS="$ac_save_LIBS" +# First see if replacing the include by lib works. +# Check X11 before X11Rn because it is often a symlink to the current release. +for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ + /usr/X11/lib${kdelibsuff} \ + /usr/X11R6/lib${kdelibsuff} \ + /usr/X11R5/lib${kdelibsuff} \ + /usr/X11R4/lib${kdelibsuff} \ + \ + /usr/lib${kdelibsuff}/X11 \ + /usr/lib${kdelibsuff}/X11R6 \ + /usr/lib${kdelibsuff}/X11R5 \ + /usr/lib${kdelibsuff}/X11R4 \ + \ + /usr/local/X11/lib${kdelibsuff} \ + /usr/local/X11R6/lib${kdelibsuff} \ + /usr/local/X11R5/lib${kdelibsuff} \ + /usr/local/X11R4/lib${kdelibsuff} \ + \ + /usr/local/lib${kdelibsuff}/X11 \ + /usr/local/lib${kdelibsuff}/X11R6 \ + /usr/local/lib${kdelibsuff}/X11R5 \ + /usr/local/lib${kdelibsuff}/X11R4 \ + \ + /usr/X386/lib${kdelibsuff} \ + /usr/x386/lib${kdelibsuff} \ + /usr/XFree86/lib${kdelibsuff}/X11 \ + \ + /usr/lib${kdelibsuff} \ + /usr/local/lib${kdelibsuff} \ + /usr/unsupported/lib${kdelibsuff} \ + /usr/athena/lib${kdelibsuff} \ + /usr/local/x11r5/lib${kdelibsuff} \ + /usr/lpp/Xamples/lib${kdelibsuff} \ + /lib/usr/lib${kdelibsuff}/X11 \ + \ + /usr/openwin/lib${kdelibsuff} \ + /usr/openwin/share/lib${kdelibsuff} \ + ; \ +do +dnl 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/lib${x_direct_test_library}.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done]) +fi # $ac_x_libraries = NO +]) + + +dnl ------------------------------------------------------------------------ +dnl Find a file (or one of more files in a list of dirs) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_FIND_FILE], +[ +$3=NO +for i in $2; +do + for j in $1; + do + echo "configure: __oline__: $i/$j" >&AC_FD_CC + if test -r "$i/$j"; then + echo "taking that" >&AC_FD_CC + $3=$i + break 2 + fi + done +done +]) + +dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, +dnl if-not-found, test-parameter) +AC_DEFUN([KDE_FIND_PATH], +[ + AC_MSG_CHECKING([for $1]) + if test -n "$$2"; then + kde_cv_path="$$2"; + else + kde_cache=`echo $1 | sed 'y%./+-%__p_%'` + + AC_CACHE_VAL(kde_cv_path_$kde_cache, + [ + kde_cv_path="NONE" + dirs="$3" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + dirs="$dirs $dir" + done + IFS=$kde_save_IFS + + for dir in $dirs; do + if test -x "$dir/$1"; then + if test -n "$5" + then + evalstr="$dir/$1 $5 2>&1 " + if eval $evalstr; then + kde_cv_path="$dir/$1" + break + fi + else + kde_cv_path="$dir/$1" + break + fi + fi + done + + eval "kde_cv_path_$kde_cache=$kde_cv_path" + + ]) + + eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" + + fi + + if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then + AC_MSG_RESULT(not found) + $4 + else + AC_MSG_RESULT($kde_cv_path) + $2=$kde_cv_path + + fi +]) + +AC_DEFUN([KDE_MOC_ERROR_MESSAGE], +[ + AC_MSG_ERROR([No Qt meta object compiler (moc) found! +Please check whether you installed Qt correctly. +You need to have a running moc binary. +configure tried to run $ac_cv_path_moc and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable MOC to the right one before running +configure. +]) +]) + +AC_DEFUN([KDE_UIC_ERROR_MESSAGE], +[ + AC_MSG_WARN([No Qt ui compiler (uic) found! +Please check whether you installed Qt correctly. +You need to have a running uic binary. +configure tried to run $ac_cv_path_uic and the test didn't +succeed. If configure shouldn't have tried this one, set +the environment variable UIC to the right one before running +configure. +]) +]) + + +AC_DEFUN([KDE_CHECK_UIC_FLAG], +[ + AC_MSG_CHECKING([whether uic supports -$1 ]) + kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` + AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, + [ + cat >conftest.ui <<EOT + <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI> +EOT + ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" + if AC_TRY_EVAL(ac_uic_testrun); then + eval "kde_cv_prog_uic_$kde_cache=yes" + else + eval "kde_cv_prog_uic_$kde_cache=no" + fi + rm -f conftest* + ]) + + if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then + AC_MSG_RESULT([yes]) + : + $3 + else + AC_MSG_RESULT([no]) + : + $4 + fi +]) + + +dnl ------------------------------------------------------------------------ +dnl Find the meta object compiler and the ui compiler in the PATH, +dnl in $QTDIR/bin, and some more usual places +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_MOC_UIC], +[ + AC_REQUIRE([KDE_CHECK_PERL]) + qt_bindirs="" + for dir in $kde_qt_dirs; do + qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" + done + qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" + if test ! "$ac_qt_bindir" = "NO"; then + qt_bindirs="$ac_qt_bindir $qt_bindirs" + fi + + KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) + if test -z "$UIC_NOT_NEEDED"; then + KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) + if test -z "$UIC_PATH" ; then + KDE_UIC_ERROR_MESSAGE + exit 1 + else + UIC=$UIC_PATH + + if test $kde_qtver = 3; then + KDE_CHECK_UIC_FLAG(L,[/nonexistent],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) + KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) + + if test x$ac_uic_supports_libpath = xyes; then + UIC="$UIC -L \$(kde_widgetdir)" + fi + if test x$ac_uic_supports_nounload = xyes; then + UIC="$UIC -nounload" + fi + fi + fi + else + UIC="echo uic not available: " + fi + + AC_SUBST(MOC) + AC_SUBST(UIC) + + UIC_TR="i18n" + if test $kde_qtver = 3; then + UIC_TR="tr2i18n" + fi + + AC_SUBST(UIC_TR) +]) + +AC_DEFUN([KDE_1_CHECK_PATHS], +[ + KDE_1_CHECK_PATH_HEADERS + + KDE_TEST_RPATH= + + if test -n "$USE_RPATH"; then + + if test -n "$kde_libraries"; then + KDE_TEST_RPATH="-R $kde_libraries" + fi + + if test -n "$qt_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" + fi + + if test -n "$x_libraries"; then + KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" + fi + + KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" + fi + +AC_MSG_CHECKING([for KDE libraries installed]) +ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + AC_MSG_RESULT(yes) +else + AC_MSG_ERROR([your system fails at linking a small KDE application! +Check, if your compiler is installed correctly and if you have used the +same compiler to compile Qt and kdelibs as you did use now. +For more details about this problem, look at the end of config.log.]) +fi + +if eval `KDEDIR= ./conftest 2>&5`; then + kde_result=done +else + kde_result=problems +fi + +KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log +kde_have_all_paths=yes + +KDE_SET_PATHS($kde_result) + +]) + +AC_DEFUN([KDE_SET_PATHS], +[ + kde_cv_all_paths="kde_have_all_paths=\"yes\" \ + kde_htmldir=\"$kde_htmldir\" \ + kde_appsdir=\"$kde_appsdir\" \ + kde_icondir=\"$kde_icondir\" \ + kde_sounddir=\"$kde_sounddir\" \ + kde_datadir=\"$kde_datadir\" \ + kde_locale=\"$kde_locale\" \ + kde_cgidir=\"$kde_cgidir\" \ + kde_confdir=\"$kde_confdir\" \ + kde_kcfgdir=\"$kde_kcfgdir\" \ + kde_mimedir=\"$kde_mimedir\" \ + kde_toolbardir=\"$kde_toolbardir\" \ + kde_wallpaperdir=\"$kde_wallpaperdir\" \ + kde_templatesdir=\"$kde_templatesdir\" \ + kde_bindir=\"$kde_bindir\" \ + kde_servicesdir=\"$kde_servicesdir\" \ + kde_servicetypesdir=\"$kde_servicetypesdir\" \ + kde_moduledir=\"$kde_moduledir\" \ + kde_styledir=\"$kde_styledir\" \ + kde_widgetdir=\"$kde_widgetdir\" \ + xdg_appsdir=\"$xdg_appsdir\" \ + xdg_menudir=\"$xdg_menudir\" \ + xdg_directorydir=\"$xdg_directorydir\" \ + kde_result=$1" +]) + +AC_DEFUN([KDE_SET_DEFAULT_PATHS], +[ +if test "$1" = "default"; then + + if test -z "$kde_htmldir"; then + kde_htmldir='\${datadir}/doc/HTML' + fi + if test -z "$kde_appsdir"; then + kde_appsdir='\${datadir}/applnk' + fi + if test -z "$kde_icondir"; then + kde_icondir='\${datadir}/icons' + fi + if test -z "$kde_sounddir"; then + kde_sounddir='\${datadir}/sounds' + fi + if test -z "$kde_datadir"; then + kde_datadir='\${datadir}/apps' + fi + if test -z "$kde_locale"; then + kde_locale='\${datadir}/locale' + fi + if test -z "$kde_cgidir"; then + kde_cgidir='\${exec_prefix}/cgi-bin' + fi + if test -z "$kde_confdir"; then + kde_confdir='\${datadir}/config' + fi + if test -z "$kde_kcfgdir"; then + kde_kcfgdir='\${datadir}/config.kcfg' + fi + if test -z "$kde_mimedir"; then + kde_mimedir='\${datadir}/mimelnk' + fi + if test -z "$kde_toolbardir"; then + kde_toolbardir='\${datadir}/toolbar' + fi + if test -z "$kde_wallpaperdir"; then + kde_wallpaperdir='\${datadir}/wallpapers' + fi + if test -z "$kde_templatesdir"; then + kde_templatesdir='\${datadir}/templates' + fi + if test -z "$kde_bindir"; then + kde_bindir='\${exec_prefix}/bin' + fi + if test -z "$kde_servicesdir"; then + kde_servicesdir='\${datadir}/services' + fi + if test -z "$kde_servicetypesdir"; then + kde_servicetypesdir='\${datadir}/servicetypes' + fi + if test -z "$kde_moduledir"; then + if test "$kde_qtver" = "2"; then + kde_moduledir='\${libdir}/kde2' + else + kde_moduledir='\${libdir}/kde3' + fi + fi + if test -z "$kde_styledir"; then + kde_styledir='\${libdir}/kde3/plugins/styles' + fi + if test -z "$kde_widgetdir"; then + kde_widgetdir='\${libdir}/kde3/plugins/designer' + fi + if test -z "$xdg_appsdir"; then + xdg_appsdir='\${datadir}/applications/kde' + fi + if test -z "$xdg_menudir"; then + xdg_menudir='\${sysconfdir}/xdg/menus' + fi + if test -z "$xdg_directorydir"; then + xdg_directorydir='\${datadir}/desktop-directories' + fi + + KDE_SET_PATHS(defaults) + +else + + if test $kde_qtver = 1; then + AC_MSG_RESULT([compiling]) + KDE_1_CHECK_PATHS + else + AC_MSG_ERROR([path checking not yet supported for KDE 2]) + fi + +fi +]) + +AC_DEFUN([KDE_CHECK_PATHS_FOR_COMPLETENESS], +[ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || + test -z "$kde_icondir" || test -z "$kde_sounddir" || + test -z "$kde_datadir" || test -z "$kde_locale" || + test -z "$kde_cgidir" || test -z "$kde_confdir" || + test -z "$kde_kcfgdir" || + test -z "$kde_mimedir" || test -z "$kde_toolbardir" || + test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || + test -z "$kde_bindir" || test -z "$kde_servicesdir" || + test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || + test -z "$kde_styledir" || test -z "kde_widgetdir" || + test -z "$xdg_appsdir" || test -z "$xdg_menudir" || test -z "$xdg_directorydir" || + test "x$kde_have_all_paths" != "xyes"; then + kde_have_all_paths=no + fi +]) + +AC_DEFUN([KDE_MISSING_PROG_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed KDE correctly. +]) +]) + +AC_DEFUN([KDE_MISSING_ARTS_ERROR], +[ + AC_MSG_ERROR([The important program $1 was not found! +Please check whether you installed aRts correctly or use +--without-arts to compile without aRts support (this will remove functionality). +]) +]) + +AC_DEFUN([KDE_SUBST_PROGRAMS], +[ + AC_ARG_WITH(arts, + AC_HELP_STRING([--without-arts],[build without aRts [default=yes]]), + [build_arts=$withval], + [build_arts=yes] + ) + AM_CONDITIONAL(include_ARTS, test "$build_arts" != "no") + + kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" + test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" + if test -n "$KDEDIRS"; then + kde_save_IFS=$IFS + IFS=: + for dir in $KDEDIRS; do + kde_default_bindirs="$dir/bin $kde_default_bindirs " + done + IFS=$kde_save_IFS + fi + kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs" + KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) + KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) + if test "$build_arts" != "no"; then + KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) + KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) + fi + KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) + KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) + + kde32ornewer=1 + if test -n "$kde_qtver" && test "$kde_qtver" -lt 3; then + kde32ornewer= + else + if test "$kde_qtver" = "3" && test "$kde_qtsubver" -le 1; then + kde32ornewer= + fi + fi + + if test -n "$kde32ornewer"; then + KDE_FIND_PATH(kconfig_compiler, KCONFIG_COMPILER, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(kconfig_compiler)]) + KDE_FIND_PATH(dcopidlng, DCOPIDLNG, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidlng)]) + fi + KDE_FIND_PATH(xmllint, XMLLINT, [${prefix}/bin ${exec_prefix}/bin /usr/local/bin /opt/local/bin], [XMLLINT=""]) + + if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then + kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" + test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" + AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) + if test "$KDE_XSL_STYLESHEET" = "NO"; then + KDE_XSL_STYLESHEET="" + else + KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" + fi + fi + + DCOP_DEPENDENCIES='$(DCOPIDL)' + if test -n "$kde32ornewer"; then + KCFG_DEPENDENCIES='$(KCONFIG_COMPILER)' + DCOP_DEPENDENCIES='$(DCOPIDL) $(DCOPIDLNG)' + AC_SUBST(KCONFIG_COMPILER) + AC_SUBST(KCFG_DEPENDENCIES) + AC_SUBST(DCOPIDLNG) + fi + AC_SUBST(DCOPIDL) + AC_SUBST(DCOPIDL2CPP) + AC_SUBST(DCOP_DEPENDENCIES) + AC_SUBST(MCOPIDL) + AC_SUBST(ARTSCCONFIG) + AC_SUBST(KDECONFIG) + AC_SUBST(MEINPROC) + AC_SUBST(KDE_XSL_STYLESHEET) + AC_SUBST(XMLLINT) + + if test -x "$KDECONFIG"; then # it can be "compiled" + kde_libs_prefix=`$KDECONFIG --prefix` + if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then + AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. + This means it has been moved since you installed it. + This won't work. Please recompile kdelibs for the new prefix. + ]) + fi + kde_libs_htmldir=`$KDECONFIG --install html --expandvars` + else + kde_libs_prefix='$(prefix)' + kde_libs_htmldir='$(kde_htmldir)' + fi + AC_SUBST(kde_libs_prefix) + AC_SUBST(kde_libs_htmldir) +])dnl + +AC_DEFUN([AC_CREATE_KFSSTND], +[ +AC_REQUIRE([AC_CHECK_RPATH]) + +AC_MSG_CHECKING([for KDE paths]) +kde_result="" +kde_cached_paths=yes +AC_CACHE_VAL(kde_cv_all_paths, +[ + KDE_SET_DEFAULT_PATHS($1) + kde_cached_paths=no +]) +eval "$kde_cv_all_paths" +KDE_CHECK_PATHS_FOR_COMPLETENESS +if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then + # wrong values were cached, may be, we can set better ones + kde_result= + kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= + kde_datadir= kde_locale= kde_cgidir= kde_confdir= kde_kcfgdir= + kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= + kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= + kde_have_all_paths= + kde_styledir= + kde_widgetdir= + xdg_appsdir = xdg_menudir= xdg_directorydir= + KDE_SET_DEFAULT_PATHS($1) + eval "$kde_cv_all_paths" + KDE_CHECK_PATHS_FOR_COMPLETENESS + kde_result="$kde_result (cache overridden)" +fi +if test "$kde_have_all_paths" = "no"; then + AC_MSG_ERROR([configure could not run a little KDE program to test the environment. +Since it had compiled and linked before, it must be a strange problem on your system. +Look at config.log for details. If you are not able to fix this, look at +http://www.kde.org/faq/installation.html or any www.kde.org mirror. +(If you're using an egcs version on Linux, you may update binutils!) +]) +else + rm -f conftest* + AC_MSG_RESULT($kde_result) +fi + +bindir=$kde_bindir + +KDE_SUBST_PROGRAMS + +]) + +AC_DEFUN([AC_SUBST_KFSSTND], +[ +AC_SUBST(kde_htmldir) +AC_SUBST(kde_appsdir) +AC_SUBST(kde_icondir) +AC_SUBST(kde_sounddir) +AC_SUBST(kde_datadir) +AC_SUBST(kde_locale) +AC_SUBST(kde_confdir) +AC_SUBST(kde_kcfgdir) +AC_SUBST(kde_mimedir) +AC_SUBST(kde_wallpaperdir) +AC_SUBST(kde_bindir) +dnl X Desktop Group standards +AC_SUBST(xdg_appsdir) +AC_SUBST(xdg_menudir) +AC_SUBST(xdg_directorydir) +dnl for KDE 2 +AC_SUBST(kde_templatesdir) +AC_SUBST(kde_servicesdir) +AC_SUBST(kde_servicetypesdir) +AC_SUBST(kde_moduledir) +AC_SUBST(kdeinitdir, '$(kde_moduledir)') +AC_SUBST(kde_styledir) +AC_SUBST(kde_widgetdir) +if test "$kde_qtver" = 1; then + kde_minidir="$kde_icondir/mini" +else +# for KDE 1 - this breaks KDE2 apps using minidir, but +# that's the plan ;-/ + kde_minidir="/dev/null" +fi +dnl AC_SUBST(kde_minidir) +dnl AC_SUBST(kde_cgidir) +dnl AC_SUBST(kde_toolbardir) +]) + +AC_DEFUN([KDE_MISC_TESTS], +[ + dnl Checks for libraries. + AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD + AC_SUBST(LIBUTIL) + AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD + AC_SUBST(LIBCOMPAT) + kde_have_crypt= + AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], + AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ + AC_MSG_WARN([you have no crypt in either libcrypt or libc. +You should install libcrypt from another source or configure with PAM +support]) + kde_have_crypt=no + ])) + AC_SUBST(LIBCRYPT) + if test $kde_have_crypt = yes; then + AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) + fi + AC_CHECK_SOCKLEN_T + AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + AC_CHECK_LIB(dnet_stub, dnet_ntoa, + [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) + fi + AC_CHECK_FUNC(inet_ntoa) + if test $ac_cv_func_inet_ntoa = no; then + AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") + fi + AC_CHECK_FUNC(connect) + if test $ac_cv_func_connect = no; then + AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , + $X_EXTRA_LIBS) + fi + + AC_CHECK_FUNC(remove) + if test $ac_cv_func_remove = no; then + AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + AC_CHECK_FUNC(shmat, , + AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) + + # more headers that need to be explicitly included on darwin + AC_CHECK_HEADERS(sys/types.h stdint.h) + + # darwin requires a poll emulation library + AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") + + # CoreAudio framework + AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ + AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) + FRAMEWORK_COREAUDIO="-Xlinker -framework -Xlinker CoreAudio" + ]) + + AC_CHECK_RES_INIT + AC_SUBST(LIB_POLL) + AC_SUBST(FRAMEWORK_COREAUDIO) + LIBSOCKET="$X_EXTRA_LIBS" + AC_SUBST(LIBSOCKET) + AC_SUBST(X_EXTRA_LIBS) + AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 + AC_SUBST(LIBUCB) + + case $host in dnl this *is* LynxOS specific + *-*-lynxos* ) + AC_MSG_CHECKING([LynxOS header file wrappers]) + [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] + AC_MSG_RESULT(disabled) + AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS + ;; + esac + + KDE_CHECK_TYPES + KDE_CHECK_LIBDL + KDE_CHECK_STRLCPY + +# darwin needs this to initialize the environment +AC_CHECK_HEADERS(crt_externs.h) +AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) + +AH_VERBATIM(_DARWIN_ENVIRON, +[ +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include <sys/time.h> +# include <crt_externs.h> +# define environ (*_NSGetEnviron()) +#endif +]) + +AH_VERBATIM(_AIX_STRINGS_H_BZERO, +[ +/* + * AIX defines FD_SET in terms of bzero, but fails to include <strings.h> + * that defines bzero. + */ + +#if defined(_AIX) +#include <strings.h> +#endif +]) + +AC_CHECK_FUNCS([vsnprintf snprintf]) + +AH_VERBATIM(_TRU64,[ +/* + * On HP-UX, the declaration of vsnprintf() is needed every time ! + */ + +#if !defined(HAVE_VSNPRINTF) || defined(hpux) +#if __STDC__ +#include <stdarg.h> +#include <stdlib.h> +#else +#include <varargs.h> +#endif +#ifdef __cplusplus +extern "C" +#endif +int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); +#ifdef __cplusplus +extern "C" +#endif +int snprintf(char *str, size_t n, char const *fmt, ...); +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Find the header files and libraries for X-Windows. Extended the +dnl macro AC_PATH_X +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([K_PATH_X], +[ +AC_REQUIRE([KDE_MISC_TESTS])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_ARG_ENABLE( + embedded, + AC_HELP_STRING([--enable-embedded],[link to Qt-embedded, don't use X]), + kde_use_qt_emb=$enableval, + kde_use_qt_emb=no +) + +AC_ARG_ENABLE( + qtopia, + AC_HELP_STRING([--enable-qtopia],[link to Qt-embedded, link to the Qtopia Environment]), + kde_use_qt_emb_palm=$enableval, + kde_use_qt_emb_palm=no +) + +AC_ARG_ENABLE( + mac, + AC_HELP_STRING([--enable-mac],[link to Qt/Mac (don't use X)]), + kde_use_qt_mac=$enableval, + kde_use_qt_mac=no +) + +if test "$kde_use_qt_emb" = "no" && test "$kde_use_qt_mac" = "no"; then + +AC_MSG_CHECKING(for X) + +AC_CACHE_VAL(kde_cv_have_x, +[# One or both of the vars are not set, and there is no cached value. +if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then + kde_x_includes=NO +else + kde_x_includes=$x_includes +fi +if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then + kde_x_libraries=NO +else + kde_x_libraries=$x_libraries +fi + +# below we use the standard autoconf calls +ac_x_libraries=$kde_x_libraries +ac_x_includes=$kde_x_includes + +KDE_PATH_X_DIRECT +dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. +dnl Unfortunately, if compiling with the N32 ABI, this is not the correct +dnl location. The correct location is /usr/lib32 or an undefined value +dnl (the linker is smart enough to pick the correct default library). +dnl Things work just fine if you use just AC_PATH_X_DIRECT. +dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to +dnl /usr/openwin/include, which doesn't work. /usr/include does work, so +dnl x_includes should be left alone. +case "$host" in +mips-sgi-irix6*) + ;; +*-*-solaris*) + ;; +*) + _AC_PATH_X_XMKMF + if test -z "$ac_x_includes"; then + ac_x_includes="." + fi + if test -z "$ac_x_libraries"; then + ac_x_libraries="/usr/lib${kdelibsuff}" + fi +esac +#from now on we use our own again + +# when the user already gave --x-includes, we ignore +# what the standard autoconf macros told us. +if test "$kde_x_includes" = NO; then + kde_x_includes=$ac_x_includes +fi + +# for --x-libraries too +if test "$kde_x_libraries" = NO; then + kde_x_libraries=$ac_x_libraries +fi + +if test "$kde_x_includes" = NO; then + AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) +fi + +if test "$kde_x_libraries" = NO; then + AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) +fi + +# Record where we found X for the cache. +kde_cv_have_x="have_x=yes \ + kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" +])dnl + +eval "$kde_cv_have_x" + +if test "$have_x" != yes; then + AC_MSG_RESULT($have_x) + no_x=yes +else + AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) +fi + +if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then + X_INCLUDES="" + x_includes="."; dnl better than nothing :- + else + x_includes=$kde_x_includes + X_INCLUDES="-I$x_includes" +fi + +if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then + X_LDFLAGS="" + x_libraries="/usr/lib"; dnl better than nothing :- + else + x_libraries=$kde_x_libraries + X_LDFLAGS="-L$x_libraries" +fi +all_includes="$X_INCLUDES" +all_libraries="$X_LDFLAGS" + +# Check for libraries that X11R6 Xt/Xaw programs need. +ac_save_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +# SM needs ICE to (dynamically) link under SunOS 4.x (so we have to +# check for ICE first), but we must link in the order -lSM -lICE or +# we get undefined symbols. So assume we have SM if we have ICE. +# These have to be linked with before -lX11, unlike the other +# libraries we check for below, so use a different variable. +# --interran@uluru.Stanford.EDU, kb@cs.umb.edu. +AC_CHECK_LIB(ICE, IceConnectionNumber, + [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) +LDFLAGS="$ac_save_LDFLAGS" + +LIB_X11='-lX11 $(LIBSOCKET)' + +AC_MSG_CHECKING(for libXext) +AC_CACHE_VAL(kde_cv_have_libXext, +[ +kde_ldflags_safe="$LDFLAGS" +kde_libs_safe="$LIBS" + +LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" +LIBS="-lXext -lX11 $LIBSOCKET" + +AC_TRY_LINK([ +#include <stdio.h> +#ifdef STDC_HEADERS +# include <stdlib.h> +#endif +], +[ +printf("hello Xext\n"); +], +kde_cv_have_libXext=yes, +kde_cv_have_libXext=no +) + +LDFLAGS=$kde_ldflags_safe +LIBS=$kde_libs_safe +]) + +AC_MSG_RESULT($kde_cv_have_libXext) + +if test "$kde_cv_have_libXext" = "no"; then + AC_MSG_ERROR([We need a working libXext to proceed. Since configure +can't find it itself, we stop here assuming that make wouldn't find +them either.]) +fi + +LIB_XEXT="-lXext" +QTE_NORTTI="" + +elif test "$kde_use_qt_emb" = "yes"; then + dnl We're using QT Embedded + CPPFLAGS=-DQWS + CXXFLAGS="$CXXFLAGS -fno-rtti" + QTE_NORTTI="-fno-rtti -DQWS" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +elif test "$kde_use_qt_mac" = "yes"; then + dnl We're using QT/Mac (I use QT_MAC so that qglobal.h doesn't *have* to + dnl be included to get the information) --Sam + CXXFLAGS="$CXXFLAGS -DQT_MAC -no-cpp-precomp" + CFLAGS="$CFLAGS -DQT_MAC -no-cpp-precomp" + X_PRE_LIBS="" + LIB_X11="" + LIB_XEXT="" + LIB_XRENDER="" + LIBSM="" + X_INCLUDES="" + X_LDFLAGS="" + x_includes="" + x_libraries="" +fi +AC_SUBST(X_PRE_LIBS) +AC_SUBST(LIB_X11) +AC_SUBST(LIB_XRENDER) +AC_SUBST(LIBSM) +AC_SUBST(X_INCLUDES) +AC_SUBST(X_LDFLAGS) +AC_SUBST(x_includes) +AC_SUBST(x_libraries) +AC_SUBST(QTE_NORTTI) +AC_SUBST(LIB_XEXT) + +]) + +AC_DEFUN([KDE_PRINT_QT_PROGRAM], +[ +AC_REQUIRE([KDE_USE_QT]) +cat > conftest.$ac_ext <<EOF +#include "confdefs.h" +#include <qglobal.h> +#include <qapplication.h> +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext <<EOF +#include <qevent.h> +#include <qstring.h> +#include <qstyle.h> +EOF + +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <<EOF +#if QT_VERSION < 210 +#error 1 +#endif +EOF +fi +fi + +if test "$kde_qtver" = "3"; then +cat >> conftest.$ac_ext <<EOF +#include <qcursor.h> +#include <qstylefactory.h> +#include <private/qucomextra_p.h> +EOF +fi + +echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext +cat >> conftest.$ac_ext <<EOF +#error 1 +#endif + +int main() { +EOF +if test "$kde_qtver" = "2"; then +cat >> conftest.$ac_ext <<EOF + QStringList *t = new QStringList(); + Q_UNUSED(t); +EOF +if test $kde_qtsubver -gt 0; then +cat >> conftest.$ac_ext <<EOF + QString s; + s.setLatin1("Elvis is alive", 14); +EOF +fi +fi +if test "$kde_qtver" = "3"; then +cat >> conftest.$ac_ext <<EOF + (void)QStyleFactory::create(QString::null); + QCursor c(Qt::WhatsThisCursor); +EOF +fi +cat >> conftest.$ac_ext <<EOF + return 0; +} +EOF +]) + +AC_DEFUN([KDE_USE_QT], +[ +if test -z "$1"; then + # Current default Qt version: 3.2 + kde_qtver=3 + kde_qtsubver=2 +else + kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'` + # following is the check if subversion isnt found in passed argument + if test "$kde_qtsubver" = "$1"; then + kde_qtsubver=1 + fi + kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'` + if test "$kde_qtver" = "1"; then + kde_qtsubver=42 + fi +fi + +if test -z "$2"; then + if test "$kde_qtver" = "2"; then + if test $kde_qtsubver -gt 0; then + kde_qt_minversion=">= Qt 2.2.2" + else + kde_qt_minversion=">= Qt 2.0.2" + fi + fi + if test "$kde_qtver" = "3"; then + if test $kde_qtsubver -gt 0; then + if test $kde_qtsubver -gt 1; then + kde_qt_minversion=">= Qt 3.2" + else + kde_qt_minversion=">= Qt 3.1 (20021021)" + fi + else + kde_qt_minversion=">= Qt 3.0" + fi + fi + if test "$kde_qtver" = "1"; then + kde_qt_minversion=">= 1.42 and < 2.0" + fi +else + kde_qt_minversion="$2" +fi + +if test -z "$3"; then + if test $kde_qtver = 3; then + if test $kde_qtsubver -gt 0; then + kde_qt_verstring="QT_VERSION >= 0x03@VER@00" + qtsubver=`echo "00$kde_qtsubver" | sed -e 's,.*\(..\)$,\1,'` + kde_qt_verstring=`echo $kde_qt_verstring | sed -e "s,@VER@,$qtsubver,"` + else + kde_qt_verstring="QT_VERSION >= 300" + fi + fi + if test $kde_qtver = 2; then + if test $kde_qtsubver -gt 0; then + kde_qt_verstring="QT_VERSION >= 222" + else + kde_qt_verstring="QT_VERSION >= 200" + fi + fi + if test $kde_qtver = 1; then + kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200" + fi +else + kde_qt_verstring="$3" +fi + +if test $kde_qtver = 3; then + kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt /usr/share/qt3" +fi +if test $kde_qtver = 2; then + kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt" +fi +if test $kde_qtver = 1; then + kde_qt_dirs="$QTDIR /usr/lib/qt" +fi +]) + +AC_DEFUN([KDE_CHECK_QT_DIRECT], +[ +AC_REQUIRE([KDE_USE_QT]) +AC_MSG_CHECKING([if Qt compiles without flags]) +AC_CACHE_VAL(kde_cv_qt_direct, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH +ac_LIBRARY_PATH="$LIBRARY_PATH" +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_includes" +LDFLAGS="$LDFLAGS $X_LDFLAGS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$LIBQT -lXext -lX11 $LIBSOCKET" +else +LIBS="$LIBQT $LIBSOCKET" +fi +LD_LIBRARY_PATH= +export LD_LIBRARY_PATH +LIBRARY_PATH= +export LIBRARY_PATH + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + kde_cv_qt_direct="yes" +else + kde_cv_qt_direct="no" + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC +fi + +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" +export LD_LIBRARY_PATH +LIBRARY_PATH="$ac_LIBRARY_PATH" +export LIBRARY_PATH +AC_LANG_RESTORE +]) + +if test "$kde_cv_qt_direct" = "yes"; then + AC_MSG_RESULT(yes) + $1 +else + AC_MSG_RESULT(no) + $2 +fi +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the Qt headers and libraries. +dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) +dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_PATH_QT_1_3], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([KDE_USE_QT]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +dnl ------------------------------------------------------------------------ +dnl Add configure flag to enable linking to MT version of Qt library. +dnl ------------------------------------------------------------------------ + +AC_ARG_ENABLE( + mt, + AC_HELP_STRING([--disable-mt],[link to non-threaded Qt (deprecated)]), + kde_use_qt_mt=$enableval, + [ + if test $kde_qtver = 3; then + kde_use_qt_mt=yes + else + kde_use_qt_mt=no + fi + ] +) + +USING_QT_MT="" + +dnl ------------------------------------------------------------------------ +dnl If we not get --disable-qt-mt then adjust some vars for the host. +dnl ------------------------------------------------------------------------ + +KDE_MT_LDFLAGS= +KDE_MT_LIBS= +if test "x$kde_use_qt_mt" = "xyes"; then + KDE_CHECK_THREADING + if test "x$kde_use_threading" = "xyes"; then + CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" + KDE_MT_LDFLAGS="$USE_THREADS" + KDE_MT_LIBS="$LIBPTHREAD" + else + kde_use_qt_mt=no + fi +fi +AC_SUBST(KDE_MT_LDFLAGS) +AC_SUBST(KDE_MT_LIBS) + +kde_qt_was_given=yes + +dnl ------------------------------------------------------------------------ +dnl If we haven't been told how to link to Qt, we work it out for ourselves. +dnl ------------------------------------------------------------------------ +if test -z "$LIBQT_GLOB"; then + if test "x$kde_use_qt_emb" = "xyes"; then + LIBQT_GLOB="libqte.*" + else + LIBQT_GLOB="libqt.*" + fi +fi + +if test -z "$LIBQT"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-embedded then adjust the Qt library name. +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + qtlib="qte" + else + qtlib="qt" + fi + + kde_int_qt="-l$qtlib" +else + kde_int_qt="$LIBQT" + kde_lib_qt_set=yes +fi + +if test -z "$LIBQPE"; then +dnl ------------------------------------------------------------ +dnl If we got --enable-palmtop then add -lqpe to the link line +dnl ------------------------------------------------------------ + if test "x$kde_use_qt_emb" = "xyes"; then + if test "x$kde_use_qt_emb_palm" = "xyes"; then + LIB_QPE="-lqpe" + else + LIB_QPE="" + fi + else + LIB_QPE="" + fi +fi + +dnl ------------------------------------------------------------------------ +dnl If we got --enable-qt-mt then adjust the Qt library name for the host. +dnl ------------------------------------------------------------------------ + +if test "x$kde_use_qt_mt" = "xyes"; then + if test -z "$LIBQT"; then + LIBQT="-l$qtlib-mt" + kde_int_qt="-l$qtlib-mt" + else + LIBQT="$qtlib-mt" + kde_int_qt="$qtlib-mt" + fi + LIBQT_GLOB="lib$qtlib-mt.*" + USING_QT_MT="using -mt" +else + LIBQT="-l$qtlib" +fi + +if test $kde_qtver != 1; then + + AC_REQUIRE([AC_FIND_PNG]) + AC_REQUIRE([AC_FIND_JPEG]) + LIBQT="$LIBQT $LIBPNG $LIBJPEG" +fi + +if test $kde_qtver = 3; then + AC_REQUIRE([KDE_CHECK_LIBDL]) + LIBQT="$LIBQT $LIBDL" +fi + +AC_MSG_CHECKING([for Qt]) + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" +fi +ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO +qt_libraries="" +qt_includes="" +AC_ARG_WITH(qt-dir, + AC_HELP_STRING([--with-qt-dir=DIR],[where the root of Qt is installed ]), + [ ac_qt_includes="$withval"/include + ac_qt_libraries="$withval"/lib${kdelibsuff} + ac_qt_bindir="$withval"/bin + ]) + +AC_ARG_WITH(qt-includes, + AC_HELP_STRING([--with-qt-includes=DIR],[where the Qt includes are. ]), + [ + ac_qt_includes="$withval" + ]) + +kde_qt_libs_given=no + +AC_ARG_WITH(qt-libraries, + AC_HELP_STRING([--with-qt-libraries=DIR],[where the Qt library is installed.]), + [ ac_qt_libraries="$withval" + kde_qt_libs_given=yes + ]) + +AC_CACHE_VAL(ac_cv_have_qt, +[#try to guess Qt locations + +qt_incdirs="" +for dir in $kde_qt_dirs; do + qt_incdirs="$qt_incdirs $dir/include $dir" +done +qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 /usr/include/qt3 $x_includes" +if test ! "$ac_qt_includes" = "NO"; then + qt_incdirs="$ac_qt_includes $qt_incdirs" +fi + +if test "$kde_qtver" != "1"; then + kde_qt_header=qstyle.h +else + kde_qt_header=qglobal.h +fi + +AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) +ac_qt_includes="$qt_incdir" + +qt_libdirs="" +for dir in $kde_qt_dirs; do + qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" +done +qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" +if test ! "$ac_qt_libraries" = "NO"; then + qt_libdir=$ac_qt_libraries +else + qt_libdirs="$ac_qt_libraries $qt_libdirs" + # if the Qt was given, the chance is too big that libqt.* doesn't exist + qt_libdir=NONE + for dir in $qt_libdirs; do + try="ls -1 $dir/${LIBQT_GLOB}" + if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done +fi +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIBQT="$LIBQT ${kde_int_qt}_incremental" + break + fi +done + +ac_qt_libraries="$qt_libdir" + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + +ac_cxxflags_safe="$CXXFLAGS" +ac_ldflags_safe="$LDFLAGS" +ac_libs_safe="$LIBS" + +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" +LIBS="$LIBS $LIBQT $KDE_MT_LIBS" + +KDE_PRINT_QT_PROGRAM + +if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* +else + echo "configure: failed program was:" >&AC_FD_CC + cat conftest.$ac_ext >&AC_FD_CC + ac_qt_libraries="NO" +fi +rm -f conftest* +CXXFLAGS="$ac_cxxflags_safe" +LDFLAGS="$ac_ldflags_safe" +LIBS="$ac_libs_safe" + +AC_LANG_RESTORE +if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then + ac_cv_have_qt="have_qt=no" + ac_qt_notfound="" + missing_qt_mt="" + if test "$ac_qt_includes" = NO; then + if test "$ac_qt_libraries" = NO; then + ac_qt_notfound="(headers and libraries)"; + else + ac_qt_notfound="(headers)"; + fi + else + if test "x$kde_use_qt_mt" = "xyes"; then + missing_qt_mt=" +Make sure that you have compiled Qt with thread support!" + ac_qt_notfound="(library $qtlib-mt)"; + else + ac_qt_notfound="(library $qtlib)"; + fi + fi + + AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! +For more details about this problem, look at the end of config.log.$missing_qt_mt]) +else + have_qt="yes" +fi +]) + +eval "$ac_cv_have_qt" + +if test "$have_qt" != yes; then + AC_MSG_RESULT([$have_qt]); +else + ac_cv_have_qt="have_qt=yes \ + ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" + AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) + + qt_libraries="$ac_qt_libraries" + qt_includes="$ac_qt_includes" +fi + +if test ! "$kde_qt_libs_given" = "yes" && test ! "$kde_qtver" = 3; then + KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) +fi + +AC_SUBST(qt_libraries) +AC_SUBST(qt_includes) + +if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then + QT_INCLUDES="" +else + QT_INCLUDES="-I$qt_includes" + all_includes="$QT_INCLUDES $all_includes" +fi + +if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then + QT_LDFLAGS="" +else + QT_LDFLAGS="-L$qt_libraries" + all_libraries="$all_libraries $QT_LDFLAGS" +fi +test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" + +AC_SUBST(QT_INCLUDES) +AC_SUBST(QT_LDFLAGS) +AC_PATH_QT_MOC_UIC + +KDE_CHECK_QT_JPEG + +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' +else +LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBZ) $(LIBPNG)' +fi +test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" +for a in $qt_libdir/lib`echo ${kde_int_qt} | sed 's,^-l,,'`_incremental.*; do + if test -e "$a"; then + LIB_QT="$LIB_QT ${kde_int_qt}_incremental" + break + fi +done + +AC_SUBST(LIB_QT) +AC_SUBST(LIB_QPE) + +AC_SUBST(kde_qtver) +]) + +AC_DEFUN([AC_PATH_QT], +[ +AC_PATH_QT_1_3 +]) + +AC_DEFUN([KDE_CHECK_UIC_PLUGINS], +[ +AC_REQUIRE([AC_PATH_QT_MOC_UIC]) + +if test x$ac_uic_supports_libpath = xyes; then + +AC_MSG_CHECKING([if UIC has KDE plugins available]) +AC_CACHE_VAL(kde_cv_uic_plugins, +[ +cat > actest.ui << EOF +<!DOCTYPE UI><UI version="3.0" stdsetdef="1"> +<class>NewConnectionDialog</class> +<widget class="QDialog"> + <widget class="KLineEdit"> + <property name="name"> + <cstring>testInput</cstring> + </property> + </widget> +</widget> +</UI> +EOF + + + +kde_cv_uic_plugins=no +kde_line="$UIC_PATH -L $kde_widgetdir" +if test x$ac_uic_supports_nounload = xyes; then + kde_line="$kde_line -nounload" +fi +kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" +if AC_TRY_EVAL(kde_line); then + # if you're trying to debug this check and think it's incorrect, + # better check your installation. The check _is_ correct - your + # installation is not. + if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then + kde_cv_uic_plugins=yes + fi +fi +rm -f actest.ui actest.cpp +]) + +AC_MSG_RESULT([$kde_cv_uic_plugins]) +if test "$kde_cv_uic_plugins" != yes; then + AC_MSG_ERROR([you need to install kdelibs first.]) +fi +fi +]) + +AC_DEFUN([KDE_CHECK_FINAL], +[ + AC_ARG_ENABLE(final, + AC_HELP_STRING([--enable-final], + [build size optimized apps (experimental - needs lots of memory)]), + kde_use_final=$enableval, kde_use_final=no) + + if test "x$kde_use_final" = "xyes"; then + KDE_USE_FINAL_TRUE="" + KDE_USE_FINAL_FALSE="#" + else + KDE_USE_FINAL_TRUE="#" + KDE_USE_FINAL_FALSE="" + fi + AC_SUBST(KDE_USE_FINAL_TRUE) + AC_SUBST(KDE_USE_FINAL_FALSE) +]) + +AC_DEFUN([KDE_CHECK_CLOSURE], +[ + AC_ARG_ENABLE(closure, + AC_HELP_STRING([--enable-closure],[delay template instantiation]), + kde_use_closure=$enableval, kde_use_closure=no) + + KDE_NO_UNDEFINED="" + if test "x$kde_use_closure" = "xyes"; then + KDE_USE_CLOSURE_TRUE="" + KDE_USE_CLOSURE_FALSE="#" +# CXXFLAGS="$CXXFLAGS $REPO" + else + KDE_USE_CLOSURE_TRUE="#" + KDE_USE_CLOSURE_FALSE="" + KDE_NO_UNDEFINED="" + case $host in + *-*-linux-gnu) + KDE_CHECK_COMPILER_FLAG([Wl,--no-undefined], + [KDE_CHECK_COMPILER_FLAG([Wl,--allow-shlib-undefined], + [KDE_NO_UNDEFINED="-Wl,--no-undefined -Wl,--allow-shlib-undefined"], + [KDE_NO_UNDEFINED=""])], + [KDE_NO_UNDEFINED=""]) + ;; + esac + fi + AC_SUBST(KDE_USE_CLOSURE_TRUE) + AC_SUBST(KDE_USE_CLOSURE_FALSE) + AC_SUBST(KDE_NO_UNDEFINED) +]) + +AC_DEFUN([KDE_CHECK_NMCHECK], +[ + AC_ARG_ENABLE(nmcheck,AC_HELP_STRING([--enable-nmcheck],[enable automatic namespace cleanness check]), + kde_use_nmcheck=$enableval, kde_use_nmcheck=no) + + if test "$kde_use_nmcheck" = "yes"; then + KDE_USE_NMCHECK_TRUE="" + KDE_USE_NMCHECK_FALSE="#" + else + KDE_USE_NMCHECK_TRUE="#" + KDE_USE_NMCHECK_FALSE="" + fi + AC_SUBST(KDE_USE_NMCHECK_TRUE) + AC_SUBST(KDE_USE_NMCHECK_FALSE) +]) + +AC_DEFUN([KDE_EXPAND_MAKEVAR], [ +savex=$exec_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +tmp=$$2 +while $1=`eval echo "$tmp"`; test "x$$1" != "x$tmp"; do tmp=$$1; done +exec_prefix=$savex +]) + +dnl ------------------------------------------------------------------------ +dnl Now, the same with KDE +dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) +dnl and $(kde_includes) will be the kdehdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_BASE_PATH_KDE], +[ +AC_REQUIRE([KDE_CHECK_STL]) +AC_REQUIRE([AC_PATH_QT])dnl +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_CHECK_RPATH +AC_MSG_CHECKING([for KDE]) + +if test "${prefix}" != NONE; then + kde_includes=${includedir} + KDE_EXPAND_MAKEVAR(ac_kde_includes, includedir) + + kde_libraries=${libdir} + KDE_EXPAND_MAKEVAR(ac_kde_libraries, libdir) + +else + ac_kde_includes= + ac_kde_libraries= + kde_libraries="" + kde_includes="" +fi + +AC_CACHE_VAL(ac_cv_have_kde, +[#try to guess kde locations + +if test "$kde_qtver" = 1; then + kde_check_header="ksock.h" + kde_check_lib="libkdecore.la" +else + kde_check_header="ksharedptr.h" + kde_check_lib="libkio.la" +fi + +if test -z "$1"; then + +kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" +test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" +kde_incdirs="$ac_kde_includes $kde_incdirs" +AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) +ac_kde_includes="$kde_incdir" + +if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then + AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE headers installed. This will fail. +So, check this please and use another prefix!]) +fi + +kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" +test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" +kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" +AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) +ac_kde_libraries="$kde_libdir" + +kde_widgetdir=NO +dnl this might be somewhere else +AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) + +if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then +AC_MSG_ERROR([ +in the prefix, you've chosen, are no KDE libraries installed. This will fail. +So, check this please and use another prefix!]) +fi + +if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then +AC_MSG_ERROR([ +I can't find the designer plugins. These are required and should have been installed +by kdelibs]) +fi + +if test -n "$kde_widgetdir"; then + kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" +fi + + +if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then + ac_cv_have_kde="have_kde=no" +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" +fi + +else dnl test -z $1 + + ac_cv_have_kde="have_kde=no" + +fi +])dnl + +eval "$ac_cv_have_kde" + +if test "$have_kde" != "yes"; then + if test "${prefix}" = NONE; then + ac_kde_prefix="$ac_default_prefix" + else + ac_kde_prefix="$prefix" + fi + if test "$exec_prefix" = NONE; then + ac_kde_exec_prefix="$ac_kde_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix]) + else + ac_kde_exec_prefix="$exec_prefix" + AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) + fi + + kde_libraries="${libdir}" + kde_includes="${includedir}" + +else + ac_cv_have_kde="have_kde=yes \ + ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" + AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) + + kde_libraries="$ac_kde_libraries" + kde_includes="$ac_kde_includes" +fi +AC_SUBST(kde_libraries) +AC_SUBST(kde_includes) + +if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then + KDE_INCLUDES="" +else + KDE_INCLUDES="-I$kde_includes" + all_includes="$KDE_INCLUDES $all_includes" +fi + +KDE_DEFAULT_CXXFLAGS="-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION" + +KDE_LDFLAGS="-L$kde_libraries" +if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then + all_libraries="$all_libraries $KDE_LDFLAGS" +fi + +AC_SUBST(KDE_LDFLAGS) +AC_SUBST(KDE_INCLUDES) + +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +all_libraries="$all_libraries $USER_LDFLAGS" +all_includes="$all_includes $USER_INCLUDES" +AC_SUBST(all_includes) +AC_SUBST(all_libraries) + +if test -z "$1"; then +KDE_CHECK_UIC_PLUGINS +fi + +ac_kde_libraries="$kde_libdir" + +AC_SUBST(AUTODIRS) + + +]) + +AC_DEFUN([KDE_CHECK_EXTRA_LIBS], +[ +AC_MSG_CHECKING(for extra includes) +AC_ARG_WITH(extra-includes,AC_HELP_STRING([--with-extra-includes=DIR],[adds non standard include paths]), + kde_use_extra_includes="$withval", + kde_use_extra_includes=NONE +) +kde_extra_includes= +if test -n "$kde_use_extra_includes" && \ + test "$kde_use_extra_includes" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_includes; do + kde_extra_includes="$kde_extra_includes $dir" + USER_INCLUDES="$USER_INCLUDES -I$dir" + done + IFS=$ac_save_ifs + kde_use_extra_includes="added" +else + kde_use_extra_includes="no" +fi +AC_SUBST(USER_INCLUDES) + +AC_MSG_RESULT($kde_use_extra_includes) + +kde_extra_libs= +AC_MSG_CHECKING(for extra libs) +AC_ARG_WITH(extra-libs,AC_HELP_STRING([--with-extra-libs=DIR],[adds non standard library paths]), + kde_use_extra_libs=$withval, + kde_use_extra_libs=NONE +) +if test -n "$kde_use_extra_libs" && \ + test "$kde_use_extra_libs" != "NONE"; then + + ac_save_ifs=$IFS + IFS=':' + for dir in $kde_use_extra_libs; do + kde_extra_libs="$kde_extra_libs $dir" + KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" + USER_LDFLAGS="$USER_LDFLAGS -L$dir" + done + IFS=$ac_save_ifs + kde_use_extra_libs="added" +else + kde_use_extra_libs="no" +fi + +AC_SUBST(USER_LDFLAGS) + +AC_MSG_RESULT($kde_use_extra_libs) + +]) + +AC_DEFUN([KDE_1_CHECK_PATH_HEADERS], +[ + AC_MSG_CHECKING([for KDE headers installed]) + AC_LANG_SAVE + AC_LANG_CPLUSPLUS +cat > conftest.$ac_ext <<EOF +#ifdef STDC_HEADERS +# include <stdlib.h> +#endif +#include <stdio.h> +#include "confdefs.h" +#include <kapp.h> + +int main() { + printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); + printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); + printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); + printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); + printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); + printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); + printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); + printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); + printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); + printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); + printf("kde_wallpaperdir=\\"%s\\"\n", + KApplication::kde_wallpaperdir().data()); + printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); + printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); + printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); + printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); + printf("kde_moduledir=\\"/tmp/dummy\\"\n"); + printf("kde_styledir=\\"/tmp/dummy\\"\n"); + printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); + printf("xdg_appsdir=\\"/tmp/dummy\\"\n"); + printf("xdg_menudir=\\"/tmp/dummy\\"\n"); + printf("xdg_directorydir=\\"/tmp/dummy\\"\n"); + printf("kde_kcfgdir=\\"/tmp/dummy\\"\n"); + return 0; + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$all_includes $CPPFLAGS" + if AC_TRY_EVAL(ac_compile); then + AC_MSG_RESULT(yes) + else + AC_MSG_ERROR([your system is not able to compile a small KDE application! +Check, if you installed the KDE header files correctly. +For more details about this problem, look at the end of config.log.]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_CHECK_KDEQTADDON], +[ +AC_MSG_CHECKING(for kde-qt-addon) +AC_CACHE_VAL(kde_cv_have_kdeqtaddon, +[ + kde_ldflags_safe="$LDFLAGS" + kde_libs_safe="$LIBS" + kde_cxxflags_safe="$CXXFLAGS" + + LIBS="-lkde-qt-addon $LIBQT $LIBS" + CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" + LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" + + AC_TRY_LINK([ + #include <qdom.h> + ], + [ + QDomDocument doc; + ], + kde_cv_have_kdeqtaddon=yes, + kde_cv_have_kdeqtaddon=no + ) + + LDFLAGS=$kde_ldflags_safe + LIBS=$kde_libs_safe + CXXFLAGS=$kde_cxxflags_safe +]) + +AC_MSG_RESULT($kde_cv_have_kdeqtaddon) + +if test "$kde_cv_have_kdeqtaddon" = "no"; then + AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. +It is a separate package (and CVS module) named kde-qt-addon.]) +fi +]) + +AC_DEFUN([KDE_CREATE_LIBS_ALIASES], +[ + AC_REQUIRE([KDE_MISC_TESTS]) + AC_REQUIRE([KDE_CHECK_LIBDL]) + AC_REQUIRE([K_PATH_X]) + +if test $kde_qtver = 3; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KABC, "-lkabc") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") + AC_SUBST(LIB_KUTILS, "-lkutils") + AC_SUBST(LIB_KDEPIM, "-lkdepim") +# these are for backward compatibility + AC_SUBST(LIB_KSYCOCA, "-lkio") + AC_SUBST(LIB_KFILE, "-lkio") +elif test $kde_qtver = 2; then + AC_SUBST(LIB_KDECORE, "-lkdecore") + AC_SUBST(LIB_KDEUI, "-lkdeui") + AC_SUBST(LIB_KIO, "-lkio") + AC_SUBST(LIB_KSYCOCA, "-lksycoca") + AC_SUBST(LIB_SMB, "-lsmb") + AC_SUBST(LIB_KFILE, "-lkfile") + AC_SUBST(LIB_KAB, "-lkab") + AC_SUBST(LIB_KHTML, "-lkhtml") + AC_SUBST(LIB_KSPELL, "-lkspell") + AC_SUBST(LIB_KPARTS, "-lkparts") + AC_SUBST(LIB_KDEPRINT, "-lkdeprint") +else + AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") + AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") + AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") + AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") + AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") +fi +]) + +AC_DEFUN([AC_PATH_KDE], +[ + AC_BASE_PATH_KDE + AC_ARG_ENABLE(path-check,AC_HELP_STRING([--disable-path-check],[don't try to find out, where to install]), + [ + if test "$enableval" = "no"; + then ac_use_path_checking="default" + else ac_use_path_checking="" + fi + ], + [ + if test "$kde_qtver" = 1; + then ac_use_path_checking="" + else ac_use_path_checking="default" + fi + ] + ) + + AC_CREATE_KFSSTND($ac_use_path_checking) + + AC_SUBST_KFSSTND + KDE_CREATE_LIBS_ALIASES +]) + +dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) +AC_DEFUN([KDE_CHECK_FUNC_EXT], +[ +AC_MSG_CHECKING(for $1) +AC_CACHE_VAL(kde_cv_func_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +save_CXXFLAGS="$CXXFLAGS" +kde_safe_LIBS="$LIBS" +LIBS="$LIBS $X_EXTRA_LIBS" +if test "$GXX" = "yes"; then +CXXFLAGS="$CXXFLAGS -pedantic-errors" +fi +AC_TRY_COMPILE([ +$2 +], +[ +$3 +], +kde_cv_func_$1=yes, +kde_cv_func_$1=no) +CXXFLAGS="$save_CXXFLAGS" +LIBS="$kde_safe_LIBS" +AC_LANG_RESTORE +]) + +AC_MSG_RESULT($kde_cv_func_$1) + +AC_MSG_CHECKING([if $1 needs custom prototype]) +AC_CACHE_VAL(kde_cv_proto_$1, +[ +if test "x$kde_cv_func_$1" = xyes; then + kde_cv_proto_$1=no +else + case "$1" in + setenv|unsetenv|usleep|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) + kde_cv_proto_$1="yes - in libkdefakes" + ;; + *) + kde_cv_proto_$1=unknown + ;; + esac +fi + +if test "x$kde_cv_proto_$1" = xunknown; then + +AC_LANG_SAVE +AC_LANG_CPLUSPLUS + kde_safe_libs=$LIBS + LIBS="$LIBS $X_EXTRA_LIBS" + AC_TRY_LINK([ +$2 + +extern "C" $4; +], +[ +$3 +], +[ kde_cv_func_$1=yes + kde_cv_proto_$1=yes ], + [kde_cv_proto_$1="$1 unavailable"] +) +LIBS=$kde_safe_libs +AC_LANG_RESTORE +fi +]) +AC_MSG_RESULT($kde_cv_proto_$1) + +if test "x$kde_cv_func_$1" = xyes; then + AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) + $6 +fi +if test "x$kde_cv_proto_$1" = xno; then + AC_DEFINE(HAVE_$5_PROTO, 1, + [Define if you have the $1 prototype]) +fi + +AH_VERBATIM([_HAVE_$5_PROTO], +[ +#if !defined(HAVE_$5_PROTO) +#ifdef __cplusplus +extern "C" { +#endif +$4; +#ifdef __cplusplus +} +#endif +#endif +]) +]) + +AC_DEFUN([AC_CHECK_SETENV], +[ + KDE_CHECK_FUNC_EXT(setenv, [ +#include <stdlib.h> +], + [setenv("VAR", "VALUE", 1);], + [int setenv (const char *, const char *, int)], + [SETENV]) +]) + +AC_DEFUN([AC_CHECK_UNSETENV], +[ + KDE_CHECK_FUNC_EXT(unsetenv, [ +#include <stdlib.h> +], + [unsetenv("VAR");], + [void unsetenv (const char *)], + [UNSETENV]) +]) + +AC_DEFUN([AC_CHECK_GETDOMAINNAME], +[ + KDE_CHECK_FUNC_EXT(getdomainname, [ +#include <stdlib.h> +#include <unistd.h> +#include <netdb.h> +], + [ +char buffer[200]; +getdomainname(buffer, 200); +], + [#include <sys/types.h> + int getdomainname (char *, size_t)], + [GETDOMAINNAME]) +]) + +AC_DEFUN([AC_CHECK_GETHOSTNAME], +[ + KDE_CHECK_FUNC_EXT(gethostname, [ +#include <stdlib.h> +#include <unistd.h> +], + [ +char buffer[200]; +gethostname(buffer, 200); +], + [int gethostname (char *, unsigned int)], + [GETHOSTNAME]) +]) + +AC_DEFUN([AC_CHECK_USLEEP], +[ + KDE_CHECK_FUNC_EXT(usleep, [ +#include <unistd.h> +], + [ +usleep(200); +], + [int usleep (unsigned int)], + [USLEEP]) +]) + + +AC_DEFUN([AC_CHECK_RANDOM], +[ + KDE_CHECK_FUNC_EXT(random, [ +#include <stdlib.h> +], + [ +random(); +], + [long int random(void)], + [RANDOM]) + + KDE_CHECK_FUNC_EXT(srandom, [ +#include <stdlib.h> +], + [ +srandom(27); +], + [void srandom(unsigned int)], + [SRANDOM]) + +]) + +AC_DEFUN([AC_CHECK_INITGROUPS], +[ + KDE_CHECK_FUNC_EXT(initgroups, [ +#include <sys/types.h> +#include <unistd.h> +#include <grp.h> +], + [ +char buffer[200]; +initgroups(buffer, 27); +], + [int initgroups(const char *, gid_t)], + [INITGROUPS]) +]) + +AC_DEFUN([AC_CHECK_MKSTEMPS], +[ + KDE_CHECK_FUNC_EXT(mkstemps, [ +#include <stdlib.h> +#include <unistd.h> +], + [ +mkstemps("/tmp/aaaXXXXXX", 6); +], + [int mkstemps(char *, int)], + [MKSTEMPS]) +]) + +AC_DEFUN([AC_CHECK_MKDTEMP], +[ + KDE_CHECK_FUNC_EXT(mkdtemp, [ +#include <stdlib.h> +#include <unistd.h> +], + [ +mkdtemp("/tmp/aaaXXXXXX"); +], + [char *mkdtemp(char *)], + [MKDTEMP]) +]) + + +AC_DEFUN([AC_CHECK_RES_INIT], +[ + AC_MSG_CHECKING([if res_init needs -lresolv]) + kde_libs_safe="$LIBS" + LIBS="$LIBS $X_EXTRA_LIBS -lresolv" + AC_TRY_LINK( + [ +#include <sys/types.h> +#include <netinet/in.h> +#include <arpa/nameser.h> +#include <resolv.h> + ], + [ + res_init(); + ], + [ + LIBRESOLV="-lresolv" + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) + LIBS=$kde_libs_safe + AC_SUBST(LIBRESOLV) + + AC_MSG_CHECKING([if res_init is available]) + AC_TRY_COMPILE( + [ +#include <sys/types.h> +#include <netinet/in.h> +#include <arpa/nameser.h> +#include <resolv.h> + ], + [ + res_init(); + ], + [ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) + ], + [ AC_MSG_RESULT(no) ] + ) +]) + +AC_DEFUN([AC_CHECK_STRLCPY], +[ + KDE_CHECK_FUNC_EXT(strlcpy, [ +#include <string.h> +], +[ char buf[20]; + strlcpy(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcpy(char*, const char*, unsigned long)], + [STRLCPY]) +]) + +AC_DEFUN([AC_CHECK_STRLCAT], +[ + KDE_CHECK_FUNC_EXT(strlcat, [ +#include <string.h> +], +[ char buf[20]; + buf[0]='\0'; + strlcat(buf, "KDE function test", sizeof(buf)); +], + [unsigned long strlcat(char*, const char*, unsigned long)], + [STRLCAT]) +]) + +AC_DEFUN([AC_FIND_GIF], + [AC_MSG_CHECKING([for giflib]) +AC_CACHE_VAL(ac_cv_lib_gif, +[ac_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" +else +LIBS="$all_libraries -lgif" +fi +AC_TRY_LINK(dnl +[ +#ifdef __cplusplus +extern "C" { +#endif +int GifLastError(void); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [return GifLastError();], + eval "ac_cv_lib_gif=yes", + eval "ac_cv_lib_gif=no") +LIBS="$ac_save_LIBS" +])dnl +if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) +else + AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) +fi +]) + +AC_DEFUN([KDE_FIND_JPEG_HELPER], +[ +AC_MSG_CHECKING([for libjpeg$2]) +AC_CACHE_VAL(ac_cv_lib_jpeg_$1, +[ +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" +ac_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[/* Override any gcc2 internal prototype to avoid an error. */ +struct jpeg_decompress_struct; +typedef struct jpeg_decompress_struct * j_decompress_ptr; +typedef int size_t; +#ifdef __cplusplus +extern "C" { +#endif + void jpeg_CreateDecompress(j_decompress_ptr cinfo, + int version, size_t structsize); +#ifdef __cplusplus +} +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +], + [jpeg_CreateDecompress(0L, 0, 0);], + eval "ac_cv_lib_jpeg_$1=-ljpeg$2", + eval "ac_cv_lib_jpeg_$1=no") +LIBS="$ac_save_LIBS" +CFLAGS="$ac_save_CFLAGS" +]) + +if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then + LIBJPEG="$ac_cv_lib_jpeg_$1" + AC_MSG_RESULT($ac_cv_lib_jpeg_$1) +else + AC_MSG_RESULT(no) + $3 +fi + +]) + +AC_DEFUN([AC_FIND_JPEG], +[ +dnl first look for libraries +KDE_FIND_JPEG_HELPER(6b, 6b, + KDE_FIND_JPEG_HELPER(normal, [], + [ + LIBJPEG= + ] + ) +) + +dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h +dnl requires system dependent includes loaded before it) +jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" +AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) +test "x$jpeg_incdir" = xNO && jpeg_incdir= + +dnl if headers _and_ libraries are missing, this is no error, and we +dnl continue with a warning (the user will get no jpeg support in khtml) +dnl if only one is missing, it means a configuration error, but we still +dnl only warn +if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then + AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) +else + if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then + AC_MSG_WARN([ +There is an installation error in jpeg support. You seem to have only one +of either the headers _or_ the libraries installed. You may need to either +provide correct --with-extra-... options, or the development package of +libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ +Disabling JPEG support. +]) + else + AC_MSG_WARN([libjpeg not found. disable JPEG support.]) + fi + jpeg_incdir= + LIBJPEG= +fi + +AC_SUBST(LIBJPEG) +AH_VERBATIM(_AC_CHECK_JPEG, +[/* + * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system + * headers and I'm too lazy to write a configure test as long as only + * unixware is related + */ +#ifdef _UNIXWARE +#define HAVE_BOOLEAN +#endif +]) +]) + +AC_DEFUN([KDE_CHECK_QT_JPEG], +[ +if test -n "$LIBJPEG"; then +AC_MSG_CHECKING([if Qt needs $LIBJPEG]) +AC_CACHE_VAL(kde_cv_qt_jpeg, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS $LIBQT" +LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` +ac_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK( +[#include <qapplication.h>], + [ + int argc; + char** argv; + QApplication app(argc, argv);], + eval "kde_cv_qt_jpeg=no", + eval "kde_cv_qt_jpeg=yes") +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +fi +]) + +if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then + AC_MSG_RESULT(yes) + LIBJPEG_QT='$(LIBJPEG)' +else + AC_MSG_RESULT(no) + LIBJPEG_QT= +fi + +]) + +AC_DEFUN([AC_FIND_ZLIB], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for libz]) +AC_CACHE_VAL(ac_cv_lib_z, +[ +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#include<zlib.h> +], +[ + char buf[42]; + gzFile f = (gzFile) 0; + /* this would segfault.. but we only link, don't run */ + (void) gzgets(f, buf, sizeof(buf)); + + return (zlibVersion() == ZLIB_VERSION); +], + eval "ac_cv_lib_z='-lz'", + eval "ac_cv_lib_z=no") +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if test ! "$ac_cv_lib_z" = no; then + AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) + LIBZ="$ac_cv_lib_z" + AC_MSG_RESULT($ac_cv_lib_z) +else + AC_MSG_ERROR(not found. + Possibly configure picks up an outdated version + installed by XFree86. Remove it from your system. + + Check your installation and look into config.log) + LIBZ="" +fi +AC_SUBST(LIBZ) +]) + +AC_DEFUN([KDE_TRY_TIFFLIB], +[ +AC_MSG_CHECKING([for libtiff $1]) + +AC_CACHE_VAL(kde_cv_libtiff_$1, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" +else +LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" +fi +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl +[ +#include<tiffio.h> +], + [return (TIFFOpen( "", "r") == 0); ], +[ + kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" +], [ + kde_cv_libtiff_$1=no +]) + +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +]) + +if test "$kde_cv_libtiff_$1" = "no"; then + AC_MSG_RESULT(no) + LIBTIFF="" + $3 +else + LIBTIFF="$kde_cv_libtiff_$1" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) + $2 +fi + +]) + +AC_DEFUN([AC_FIND_TIFF], +[ +AC_REQUIRE([K_PATH_X]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + +KDE_TRY_TIFFLIB(tiff, [], + KDE_TRY_TIFFLIB(tiff34)) + +AC_SUBST(LIBTIFF) +]) + + +AC_DEFUN([AC_FIND_PNG], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_ZLIB]) +AC_MSG_CHECKING([for libpng]) +AC_CACHE_VAL(ac_cv_lib_png, +[ +kde_save_LIBS="$LIBS" +if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" +else +LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" +fi +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include<png.h> + ], + [ + png_structp png_ptr = png_create_read_struct( /* image ptr */ + PNG_LIBPNG_VER_STRING, 0, 0, 0 ); + return( png_ptr != 0 ); + ], + eval "ac_cv_lib_png='-lpng $LIBZ -lm'", + eval "ac_cv_lib_png=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) + LIBPNG="$ac_cv_lib_png" + AC_SUBST(LIBPNG) + AC_MSG_RESULT($ac_cv_lib_png) +else + AC_MSG_RESULT(no) + LIBPNG="" + AC_SUBST(LIBPNG) +fi +]) + + +AC_DEFUN([AC_FIND_JASPER], +[ +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_REQUIRE([AC_FIND_JPEG]) +AC_MSG_CHECKING([for jasper]) +AC_CACHE_VAL(ac_cv_jasper, +[ +kde_save_LIBS="$LIBS" +LIBS="$LIBS $all_libraries $USER_LDFLAGS -ljasper $LIBJPEG -lm" +kde_save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" + +AC_TRY_LINK(dnl + [ + #include<jasper/jasper.h> + ], + [ + return( jas_init() ); + ], + eval "ac_cv_jasper='-ljasper $LIBJPEG -lm'", + eval "ac_cv_jasper=no" +) +LIBS="$kde_save_LIBS" +CFLAGS="$kde_save_CFLAGS" +])dnl +if eval "test ! \"`echo $ac_cv_jasper`\" = no"; then + AC_DEFINE_UNQUOTED(HAVE_JASPER, 1, [Define if you have jasper]) + LIB_JASPER="$ac_cv_jasper" + AC_MSG_RESULT($ac_cv_jasper) +else + AC_MSG_RESULT(no) + LIB_JASPER="" +fi +AC_SUBST(LIB_JASPER) +]) + +AC_DEFUN([AC_CHECK_BOOL], +[ + AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) +]) + +AC_DEFUN([AC_CHECK_GNU_EXTENSIONS], +[ +AC_MSG_CHECKING(if you need GNU extensions) +AC_CACHE_VAL(ac_cv_gnu_extensions, +[ +cat > conftest.c << EOF +#include <features.h> + +#ifdef __GNU_LIBRARY__ +yes +#endif +EOF + +if (eval "$ac_cpp conftest.c") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_gnu_extensions=yes +else + ac_cv_gnu_extensions=no +fi +]) + +AC_MSG_RESULT($ac_cv_gnu_extensions) +if test "$ac_cv_gnu_extensions" = "yes"; then + AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) +fi +]) + +AC_DEFUN([KDE_CHECK_COMPILER_FLAG], +[ +AC_MSG_CHECKING([whether $CXX supports -$1]) +kde_cache=`echo $1 | sed 'y% .=/+-,%____p__%'` +AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -$1" + AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) + CXXFLAGS="$save_CXXFLAGS" + AC_LANG_RESTORE +]) +if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then + AC_MSG_RESULT(yes) + : + $2 +else + AC_MSG_RESULT(no) + : + $3 +fi +]) + +dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables +dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) +dnl it's all white-space separated +AC_DEFUN([AC_REMOVE_FORBIDDEN], +[ __val=$$1 + __forbid=" $2 " + if test -n "$__val"; then + __new="" + ac_save_IFS=$IFS + IFS=" " + for i in $__val; do + case "$__forbid" in + *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; + *) # Careful to not add spaces, where there were none, because otherwise + # libtool gets confused, if we change e.g. CXX + if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; + esac + done + IFS=$ac_save_IFS + $1=$__new + fi +]) + +dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given +AC_DEFUN([AC_VALIDIFY_CXXFLAGS], +[dnl +if test "x$kde_use_qt_emb" != "xyes"; then + AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) +else + AC_REMOVE_FORBIDDEN(CXX, [-rpath]) + AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) +fi +]) + +AC_DEFUN([AC_CHECK_COMPILERS], +[ + AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug=ARG],[enables debug symbols (yes|no|full) [default=no]]), + [ + case $enableval in + yes) + kde_use_debug_code="yes" + kde_use_debug_define=no + ;; + full) + kde_use_debug_code="full" + kde_use_debug_define=no + ;; + *) + kde_use_debug_code="no" + kde_use_debug_define=yes + ;; + esac + ], + [kde_use_debug_code="no" + kde_use_debug_define=no + ]) + + dnl Just for configure --help + AC_ARG_ENABLE(dummyoption, + AC_HELP_STRING([--disable-debug], + [disables debug output and debug symbols [default=no]]), + [],[]) + + AC_ARG_ENABLE(strict, + AC_HELP_STRING([--enable-strict], + [compiles with strict compiler options (may not work!)]), + [ + if test $enableval = "no"; then + kde_use_strict_options="no" + else + kde_use_strict_options="yes" + fi + ], [kde_use_strict_options="no"]) + + AC_ARG_ENABLE(warnings,AC_HELP_STRING([--disable-warnings],[disables compilation with -Wall and similiar]), + [ + if test $enableval = "no"; then + kde_use_warnings="no" + else + kde_use_warnings="yes" + fi + ], [kde_use_warnings="yes"]) + + dnl enable warnings for debug build + if test "$kde_use_debug_code" != "no"; then + kde_use_warnings=yes + fi + + AC_ARG_ENABLE(profile,AC_HELP_STRING([--enable-profile],[creates profiling infos [default=no]]), + [kde_use_profiling=$enableval], + [kde_use_profiling="no"] + ) + + dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS + CFLAGS=" $CFLAGS" + + AC_PROG_CC + + AC_PROG_CPP + + if test "$GCC" = "yes"; then + if test "$kde_use_debug_code" != "no"; then + if test $kde_use_debug_code = "full"; then + CFLAGS="-g3 -fno-inline $CFLAGS" + else + CFLAGS="-g -O2 $CFLAGS" + fi + else + CFLAGS="-O2 $CFLAGS" + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CFLAGS="-DNDEBUG $CFLAGS" + fi + + + case "$host" in + *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; + *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; + esac + + if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then + LDFLAGS="" + fi + + CXXFLAGS=" $CXXFLAGS" + + AC_PROG_CXX + + if test "$GXX" = "yes" || test "$CXX" = "KCC"; then + if test "$kde_use_debug_code" != "no"; then + if test "$CXX" = "KCC"; then + CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + else + if test "$kde_use_debug_code" = "full"; then + CXXFLAGS="-g3 -fno-inline $CXXFLAGS" + else + CXXFLAGS="-g -O2 $CXXFLAGS" + fi + fi + KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) + + dnl convenience compiler flags + KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) + AC_SUBST(WOVERLOADED_VIRTUAL) + else + if test "$CXX" = "KCC"; then + CXXFLAGS="+K3 $CXXFLAGS" + else + CXXFLAGS="-O2 $CXXFLAGS" + fi + fi + fi + + if test "$kde_use_debug_define" = "yes"; then + CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" + fi + + if test "$kde_use_profiling" = "yes"; then + KDE_CHECK_COMPILER_FLAG(pg, + [ + CFLAGS="-pg $CFLAGS" + CXXFLAGS="-pg $CXXFLAGS" + ]) + fi + + if test "$kde_use_warnings" = "yes"; then + if test "$GCC" = "yes"; then + case $host in + *-*-linux-gnu) + CFLAGS="-ansi -W -Wall -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" + CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wmissing-format-attribute, [CXXFLAGS="$CXXFLAGS -Wformat-security -Wmissing-format-attribute"; CFLAGS="$CFLAGS -Wformat-security -Wmissing-format-attribute"]) + ;; + esac + CXXFLAGS="-Wall -W -Wpointer-arith -Wwrite-strings $CXXFLAGS" + KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) + KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) + fi + fi + + if test "$GXX" = "yes" && test "$kde_use_strict_options" = "yes"; then + CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" + fi + + if test "$GXX" = "yes"; then + KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) + KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) + KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"]) + KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) + fi + if test "$CXX" = "KCC"; then + dnl unfortunately we currently cannot disable exception support in KCC + dnl because doing so is binary incompatible and Qt by default links with exceptions :-( + dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) + dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) + + AC_ARG_ENABLE(pch, + AC_HELP_STRING([--enable-pch], + [enables precompiled header support (currently only KCC) [default=no]]), + [ + kde_use_pch=$enableval + ],[kde_use_pch=no]) + + if test "$kde_use_pch" = "yes"; then + dnl TODO: support --pch-dir! + KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) + dnl the below works (but the dir must exist), but it's + dnl useless for a whole package. + dnl The are precompiled headers for each source file, so when compiling + dnl from scratch, it doesn't make a difference, and they take up + dnl around ~5Mb _per_ sourcefile. + dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, + dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) + fi + dnl this flag controls inlining. by default KCC inlines in optimisation mode + dnl all implementations that are defined inside the class {} declaration. + dnl because of templates-compatibility with broken gcc compilers, this + dnl can cause excessive inlining. This flag limits it to a sane level + KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) + KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) + KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) + KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) + dnl Some source files are shared between multiple executables + dnl (or libraries) and some of those need template instantiations. + dnl In that case KCC needs to compile those sources with + dnl --one_instantiation_per_object. To make it easy for us we compile + dnl _all_ objects with that flag (--one_per is a shorthand). + KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) + fi + AC_SUBST(USE_EXCEPTIONS) + dnl obsolete macro - provided to keep things going + USE_RTTI= + AC_SUBST(USE_RTTI) + + case "$host" in + *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; + *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; + *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; + *-*-solaris*) + if test "$GXX" = yes; then + libstdcpp=`$CXX -print-file-name=libstdc++.so` + if test ! -f $libstdcpp; then + AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) + fi + fi + ;; + esac + + AC_VALIDIFY_CXXFLAGS + + AC_PROG_CXXCPP + + if test "$GCC" = yes; then + NOOPT_CFLAGS=-O0 + fi + KDE_CHECK_COMPILER_FLAG(O0,[NOOPT_CXXFLAGS=-O0]) + + AC_SUBST(NOOPT_CXXFLAGS) + AC_SUBST(NOOPT_CFLAGS) + + KDE_CHECK_FINAL + KDE_CHECK_CLOSURE + KDE_CHECK_NMCHECK + + ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) +]) + +AC_DEFUN([KDE_ADD_DEPENDENCIES], +[ + [A]M_DEPENDENCIES(CC) + [A]M_DEPENDENCIES(CXX) +]) + +dnl just a wrapper to clean up configure.in +AC_DEFUN([KDE_PROG_LIBTOOL], +[ +AC_REQUIRE([AC_CHECK_COMPILERS]) +AC_REQUIRE([AC_ENABLE_SHARED]) +AC_REQUIRE([AC_ENABLE_STATIC]) + +AC_REQUIRE([AC_LIBTOOL_DLOPEN]) +AC_REQUIRE([KDE_CHECK_LIB64]) + +AC_OBJEXT +AC_EXEEXT + +AM_PROG_LIBTOOL +AC_LIBTOOL_CXX + +LIBTOOL_SHELL="/bin/sh ./libtool" +# LIBTOOL="$LIBTOOL --silent" +KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_NO_UNDEFINED) \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" +AC_SUBST(KDE_PLUGIN) + +# we patch configure quite some so we better keep that consistent for incremental runs +AC_SUBST(AUTOCONF,'$(SHELL) $(top_srcdir)/admin/cvs.sh configure || touch configure') +]) + +AC_DEFUN([KDE_CHECK_LIB64], +[ + kdelibsuff=no + AC_ARG_ENABLE(libsuffix, + AC_HELP_STRING([--enable-libsuffix], + [/lib directory suffix (64,32,none[=default])]), + kdelibsuff=$enableval) + # TODO: add an auto case that compiles a little C app to check + # where the glibc is + if test "$kdelibsuff" = "no"; then + kdelibsuff= + fi + if test -z "$kdelibsuff"; then + AC_MSG_RESULT([not using lib directory suffix]) + AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) + else + if test "$libdir" = '${exec_prefix}/lib'; then + libdir="$libdir${kdelibsuff}" + AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms + fi + AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories) + AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) + fi +]) + +AC_DEFUN([KDE_CHECK_TYPES], +[ AC_CHECK_SIZEOF(int, 4)dnl + AC_CHECK_SIZEOF(short)dnl + AC_CHECK_SIZEOF(long, 4)dnl + AC_CHECK_SIZEOF(char *, 4)dnl +])dnl + +AC_DEFUN([KDE_DO_IT_ALL], +[ +AC_CANONICAL_SYSTEM +AC_ARG_PROGRAM +AM_INIT_AUTOMAKE($1, $2) +AM_DISABLE_LIBRARIES +AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) +AC_CHECK_COMPILERS +KDE_PROG_LIBTOOL +AM_KDE_WITH_NLS +AC_PATH_KDE +]) + +AC_DEFUN([AC_CHECK_RPATH], +[ +AC_MSG_CHECKING(for rpath) +AC_ARG_ENABLE(rpath, + AC_HELP_STRING([--disable-rpath],[do not use the rpath feature of ld]), + USE_RPATH=$enableval, USE_RPATH=yes) + +if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then + + KDE_RPATH="-R \$(kde_libraries)" + + if test -n "$qt_libraries"; then + KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" + fi + dnl $x_libraries is set to /usr/lib in case + if test -n "$X_LDFLAGS"; then + X_RPATH="-R \$(x_libraries)" + KDE_RPATH="$KDE_RPATH $X_RPATH" + fi + if test -n "$KDE_EXTRA_RPATH"; then + KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" + fi +fi +AC_SUBST(KDE_EXTRA_RPATH) +AC_SUBST(KDE_RPATH) +AC_SUBST(X_RPATH) +AC_MSG_RESULT($USE_RPATH) +]) + +dnl Check for the type of the third argument of getsockname +AC_DEFUN([AC_CHECK_SOCKLEN_T], [ + AC_MSG_CHECKING(for socklen_t) + AC_CACHE_VAL(ac_cv_socklen_t, [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ],[ +socklen_t a=0; +getsockname(0,(struct sockaddr*)0, &a); + ], + ac_cv_socklen_t=socklen_t, + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <sys/socket.h> + ],[ +int a=0; +getsockname(0,(struct sockaddr*)0, &a); + ], + ac_cv_socklen_t=int, + ac_cv_socklen_t=size_t + ) + ) + AC_LANG_RESTORE + ]) + + AC_MSG_RESULT($ac_cv_socklen_t) + if test "$ac_cv_socklen_t" != "socklen_t"; then + AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t, + [Define the real type of socklen_t]) + fi + AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define]) + +]) + +dnl This is a merge of some macros out of the gettext aclocal.m4 +dnl since we don't need anything, I took the things we need +dnl the copyright for them is: +dnl > +dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +dnl This Makefile.in is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl This program is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without +dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A +dnl PARTICULAR PURPOSE. +dnl > +dnl for this file it is relicensed under LGPL + +AC_DEFUN([AM_KDE_WITH_NLS], + [ + dnl If we use NLS figure out what method + + AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, + [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then + AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + MSGFMT=$GMSGFMT + AC_SUBST(GMSGFMT) + AC_SUBST(MSGFMT) + + AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext programs is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + AC_SUBST(XGETTEXT) + + ]) + +# Search path for a program which passes the given test. +# Ulrich Drepper <drepper@cygnus.com>, 1996. + +# serial 1 +# Stephan Kulow: I appended a _KDE against name conflicts + +dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +AC_DEFUN([AM_PATH_PROG_WITH_TEST_KDE], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test -n "[$]$1"; then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + + +# Check whether LC_MESSAGES is available in <locale.h>. +# Ulrich Drepper <drepper@cygnus.com>, 1995. + +# serial 1 + +AC_DEFUN([AM_LC_MESSAGES], + [if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) + fi + fi]) + +dnl From Jim Meyering. +dnl FIXME: migrate into libit. + +AC_DEFUN([AM_FUNC_OBSTACK], +[AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, + [AC_TRY_LINK([#include "obstack.h"], + [struct obstack *mem;obstack_free(mem,(char *) 0)], + am_cv_func_obstack=yes, + am_cv_func_obstack=no)]) + if test $am_cv_func_obstack = yes; then + AC_DEFINE(HAVE_OBSTACK) + else + LIBOBJS="$LIBOBJS obstack.o" + fi +]) + +dnl From Jim Meyering. Use this if you use the GNU error.[ch]. +dnl FIXME: Migrate into libit + +AC_DEFUN([AM_FUNC_ERROR_AT_LINE], +[AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, + [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], + am_cv_lib_error_at_line=yes, + am_cv_lib_error_at_line=no)]) + if test $am_cv_lib_error_at_line = no; then + LIBOBJS="$LIBOBJS error.o" + fi + AC_SUBST(LIBOBJS)dnl +]) + +# Macro to add for using GNU gettext. +# Ulrich Drepper <drepper@cygnus.com>, 1995. + +# serial 1 +# Stephan Kulow: I put a KDE in it to avoid name conflicts + +AC_DEFUN([AM_KDE_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([AM_KDE_WITH_NLS])dnl + AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) + AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ +__argz_count __argz_stringify __argz_next]) + + AC_MSG_CHECKING(for stpcpy) + AC_CACHE_VAL(kde_cv_func_stpcpy, + [ + kde_safe_cxxflags=$CXXFLAGS + CXXFLAGS="-Werror" + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_COMPILE([ + #include <string.h> + ], + [ + char buffer[200]; + stpcpy(buffer, buffer); + ], + kde_cv_func_stpcpy=yes, + kde_cv_func_stpcpy=no) + AC_LANG_RESTORE + CXXFLAGS=$kde_safe_cxxflags + ]) + AC_MSG_RESULT($kde_cv_func_stpcpy) + if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then + AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) + fi + + AM_LC_MESSAGES + + if test "x$CATOBJEXT" != "x"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for lang in ${LINGUAS=$ALL_LINGUAS}; do + case "$ALL_LINGUAS" in + *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; + esac + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi + + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + ]) + +AC_DEFUN([AC_HAVE_XPM], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= + test -z "$XPM_INCLUDE" && XPM_INCLUDE= + + AC_ARG_WITH(xpm,AC_HELP_STRING([--without-xpm],[disable color pixmap XPM tests]), + xpm_test=$withval, xpm_test="yes") + if test "x$xpm_test" = xno; then + ac_cv_have_xpm=no + else + AC_MSG_CHECKING(for XPM) + AC_CACHE_VAL(ac_cv_have_xpm, + [ + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + if test "x$kde_use_qt_emb" != "xyes" && test "x$kde_use_qt_mac" != "xyes"; then + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" + else + LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" + fi + CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" + test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" + AC_TRY_LINK([#include <X11/xpm.h>],[], + ac_cv_have_xpm="yes",ac_cv_have_xpm="no") + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + ])dnl + + if test "$ac_cv_have_xpm" = no; then + AC_MSG_RESULT(no) + XPM_LDFLAGS="" + XPMINC="" + $2 + else + AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) + if test "$XPM_LDFLAGS" = ""; then + XPMLIB='-lXpm $(LIB_X11)' + else + XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' + fi + if test "$XPM_INCLUDE" = ""; then + XPMINC="" + else + XPMINC="-I$XPM_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + AC_SUBST(XPMINC) + AC_SUBST(XPMLIB) +]) + +AC_DEFUN([AC_HAVE_DPMS], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= + test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= + DPMS_LIB= + + AC_ARG_WITH(dpms,AC_HELP_STRING([--without-dpms],[disable DPMS power saving]), + dpms_test=$withval, dpms_test="yes") + if test "x$dpms_test" = xno; then + ac_cv_have_dpms=no + else + AC_MSG_CHECKING(for DPMS) + dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. + dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". + AC_CACHE_VAL(ac_cv_have_dpms, + [ + if test "x$kde_use_qt_emb" = "xyes" || test "x$kde_use_qt_mac" = "xyes"; then + AC_MSG_RESULT(no) + ac_cv_have_dpms="no" + else + ac_save_ldflags="$LDFLAGS" + ac_save_cflags="$CFLAGS" + ac_save_libs="$LIBS" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include <X11/Xproto.h> + #include <X11/X.h> + #include <X11/Xlib.h> + #include <X11/extensions/dpms.h> + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + ac_cv_have_dpms="yes", [ + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" + LIBS="$LIBS -lXdpms" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AC_TRY_LINK([ + #include <X11/Xproto.h> + #include <X11/X.h> + #include <X11/Xlib.h> + #include <X11/extensions/dpms.h> + int foo_test_dpms() + { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], + [ + ac_cv_have_dpms="-lXdpms" + ],ac_cv_have_dpms="no") + ]) + LDFLAGS="$ac_save_ldflags" + CFLAGS="$ac_save_cflags" + LIBS="$ac_save_libs" + fi + ])dnl + + if test "$ac_cv_have_dpms" = no; then + AC_MSG_RESULT(no) + DPMS_LDFLAGS="" + DPMSINC="" + $2 + else + AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) + if test "$ac_cv_have_dpms" = "-lXdpms"; then + DPMS_LIB="-lXdpms" + fi + if test "$DPMS_LDFLAGS" = ""; then + DPMSLIB="$DPMS_LIB "'$(LIB_X11)' + else + DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' + fi + if test "$DPMS_INCLUDE" = ""; then + DPMSINC="" + else + DPMSINC="-I$DPMS_INCLUDE" + fi + AC_MSG_RESULT(yes) + $1 + fi + fi + ac_save_cflags="$CFLAGS" + CFLAGS="$CFLAGS $X_INCLUDES" + test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" + AH_TEMPLATE(HAVE_DPMSCAPABLE_PROTO, + [Define if you have the DPMSCapable prototype in <X11/extensions/dpms.h>]) + AC_CHECK_DECL(DPMSCapable, + AC_DEFINE(HAVE_DPMSCAPABLE_PROTO),, + [#include <X11/extensions/dpms.h>]) + AH_TEMPLATE(HAVE_DPMSINFO_PROTO, + [Define if you have the DPMSInfo prototype in <X11/extensions/dpms.h>]) + AC_CHECK_DECL(DPMSInfo, + AC_DEFINE(HAVE_DPMSINFO_PROTO),, + [#include <X11/extensions/dpms.h>]) + CFLAGS="$ac_save_cflags" + AC_SUBST(DPMSINC) + AC_SUBST(DPMSLIB) +]) + +AC_DEFUN([AC_HAVE_GL], + [AC_REQUIRE_CPP()dnl + AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) + + test -z "$GL_LDFLAGS" && GL_LDFLAGS= + test -z "$GL_INCLUDE" && GL_INCLUDE= + + AC_ARG_WITH(gl,AC_HELP_STRING([--without-gl],[disable 3D GL modes]), + gl_test=$withval, gl_test="yes") + if test "x$kde_use_qt_emb" = "xyes"; then + # GL and Qt Embedded is a no-go for now. + ac_cv_have_gl=no + elif test "x$gl_test" = xno; then + ac_cv_have_gl=no + else + AC_MSG_CHECKING(for GL) + AC_CACHE_VAL(ac_cv_have_gl, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_ldflags="$LDFLAGS" + ac_save_cxxflags="$CXXFLAGS" + LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$CFLAGS $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include <GL/gl.h> +#include <GL/glu.h> +], [], + ac_cv_have_gl="mesa", ac_cv_have_gl="no") + if test "x$ac_cv_have_gl" = "xno"; then + LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL" + test "x$kde_use_qt_mac" != xyes && test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" + LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" + CXXFLAGS="$ac_save_cflags $X_INCLUDES" + test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" + AC_TRY_LINK([#include <GL/gl.h> +#include <GL/glu.h> +], [], + ac_cv_have_gl="yes", ac_cv_have_gl="no") + fi + AC_LANG_RESTORE + LDFLAGS="$ac_save_ldflags" + CXXFLAGS="$ac_save_cxxflags" + ])dnl + + if test "$ac_cv_have_gl" = "no"; then + AC_MSG_RESULT(no) + GL_LDFLAGS="" + GLINC="" + $2 + else + AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) + if test "$GL_LDFLAGS" = ""; then + if test "$ac_cv_have_gl" = "mesa"; then + GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)' + else + GLLIB='-lGLU -lGL $(LIB_X11)' + fi + else + if test "$ac_cv_have_gl" = "mesa"; then + GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)' + else + GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' + fi + fi + if test "$GL_INCLUDE" = ""; then + GLINC="" + else + GLINC="-I$GL_INCLUDE" + fi + AC_MSG_RESULT($ac_cv_have_gl) + $1 + fi + fi + AC_SUBST(GLINC) + AC_SUBST(GLLIB) +]) + + + dnl shadow password and PAM magic - maintained by ossi@kde.org + +AC_DEFUN([KDE_PAM], [ + AC_REQUIRE([KDE_CHECK_LIBDL]) + + want_pam= + AC_ARG_WITH(pam, + AC_HELP_STRING([--with-pam[=ARG]],[enable support for PAM: ARG=[yes|no|service name]]), + [ if test "x$withval" = "xyes"; then + want_pam=yes + pam_service=kde + elif test "x$withval" = "xno"; then + want_pam=no + else + want_pam=yes + pam_service=$withval + fi + ], [ pam_service=kde ]) + + use_pam= + PAMLIBS= + if test "x$want_pam" != xno; then + AC_CHECK_LIB(pam, pam_start, [ + AC_CHECK_HEADER(security/pam_appl.h, + [ pam_header=security/pam_appl.h ], + [ AC_CHECK_HEADER(pam/pam_appl.h, + [ pam_header=pam/pam_appl.h ], + [ + AC_MSG_WARN([PAM detected, but no headers found! +Make sure you have the necessary development packages installed.]) + ] + ) + ] + ) + ], , $LIBDL) + if test -z "$pam_header"; then + if test "x$want_pam" = xyes; then + AC_MSG_ERROR([--with-pam was specified, but cannot compile with PAM!]) + fi + else + AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) + PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" + use_pam=yes + + dnl darwin claims to be something special + if test "$pam_header" = "pam/pam_appl.h"; then + AC_DEFINE(HAVE_PAM_PAM_APPL_H, 1, [Define if your PAM headers are in pam/ instead of security/]) + fi + + dnl test whether struct pam_message is const (Linux) or not (Sun) + AC_MSG_CHECKING(for const pam_message) + AC_EGREP_HEADER([struct pam_message], $pam_header, + [ AC_EGREP_HEADER([const struct pam_message], $pam_header, + [AC_MSG_RESULT([const: Linux-type PAM])], + [AC_MSG_RESULT([nonconst: Sun-type PAM]) + AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] + )], + [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) + fi + fi + + AC_SUBST(PAMLIBS) +]) + +dnl DEF_PAM_SERVICE(arg name, full name, define name) +AC_DEFUN([DEF_PAM_SERVICE], [ + AC_ARG_WITH($1-pam, + AC_HELP_STRING([--with-$1-pam=[val]],[override PAM service from --with-pam for $2]), + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE=$withval + else + AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. +You may want to enforce it by using --with-pam.]) + fi + ], + [ if test "x$use_pam" = xyes; then + $3_PAM_SERVICE="$pam_service" + fi + ]) + if test -n "$$3_PAM_SERVICE"; then + AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) + AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) + fi + AC_SUBST($3_PAM_SERVICE) +]) + +AC_DEFUN([KDE_SHADOWPASSWD], [ + AC_REQUIRE([KDE_PAM]) + + AC_CHECK_LIB(shadow, getspent, + [ LIBSHADOW="-lshadow" + ac_use_shadow=yes + ], + [ dnl for UnixWare + AC_CHECK_LIB(gen, getspent, + [ LIBGEN="-lgen" + ac_use_shadow=yes + ], + [ AC_CHECK_FUNC(getspent, + [ ac_use_shadow=yes ], + [ ac_use_shadow=no ]) + ]) + ]) + AC_SUBST(LIBSHADOW) + AC_SUBST(LIBGEN) + + AC_MSG_CHECKING([for shadow passwords]) + + AC_ARG_WITH(shadow, + AC_HELP_STRING([--with-shadow],[If you want shadow password support]), + [ if test "x$withval" != "xno"; then + use_shadow=yes + else + use_shadow=no + fi + ], [ + use_shadow="$ac_use_shadow" + ]) + + if test "x$use_shadow" = xyes; then + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) + else + AC_MSG_RESULT(no) + LIBSHADOW= + LIBGEN= + fi + + dnl finally make the relevant binaries setuid root, if we have shadow passwds. + dnl this still applies, if we could use it indirectly through pam. + if test "x$use_shadow" = xyes || + ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then + case $host in + *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) + SETUIDFLAGS="-m 4755 -o root";; + *) + SETUIDFLAGS="-m 4755";; + esac + fi + AC_SUBST(SETUIDFLAGS) + +]) + +AC_DEFUN([KDE_PASSWDLIBS], [ + AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT + AC_REQUIRE([KDE_PAM]) + AC_REQUIRE([KDE_SHADOWPASSWD]) + + if test "x$use_pam" = "xyes"; then + PASSWDLIBS="$PAMLIBS" + else + PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" + fi + + dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but + dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires + dnl root to read, so kcheckpass needs to be root (even when using pam, since pam + dnl may need to read /etc/master.passwd). + case $host in + *-*-freebsd*) + SETUIDFLAGS="-m 4755 -o root" + ;; + *) + ;; + esac + + AC_SUBST(PASSWDLIBS) +]) + +AC_DEFUN([KDE_CHECK_LIBDL], +[ +AC_CHECK_LIB(dl, dlopen, [ +LIBDL="-ldl" +ac_cv_have_dlfcn=yes +]) + +AC_CHECK_LIB(dld, shl_unload, [ +LIBDL="-ldld" +ac_cv_have_shload=yes +]) + +AC_SUBST(LIBDL) +]) + +AC_DEFUN([KDE_CHECK_DLOPEN], +[ +KDE_CHECK_LIBDL +AC_CHECK_HEADERS(dlfcn.h dl.h) +if test "$ac_cv_header_dlfcn_h" = "no"; then + ac_cv_have_dlfcn=no +fi + +if test "$ac_cv_header_dl_h" = "no"; then + ac_cv_have_shload=no +fi + +dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE +dnl (MM) +AC_ARG_ENABLE(dlopen, +AC_HELP_STRING([--disable-dlopen],[link statically [default=no]]), +enable_dlopen=$enableval, +enable_dlopen=yes) + +# override the user's opinion, if we know it better ;) +if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then + enable_dlopen=no +fi + +if test "$ac_cv_have_dlfcn" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) +fi + +if test "$ac_cv_have_shload" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) +fi + +if test "$enable_dlopen" = no ; then + test -n "$1" && eval $1 +else + test -n "$2" && eval $2 +fi + +]) + +AC_DEFUN([KDE_CHECK_DYNAMIC_LOADING], +[ +KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) +KDE_PROG_LIBTOOL +AC_MSG_CHECKING([dynamic loading]) +eval "`egrep '^build_libtool_libs=' libtool`" +if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then + dynamic_loading=yes + AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) +else + dynamic_loading=no +fi +AC_MSG_RESULT($dynamic_loading) +if test "$dynamic_loading" = "yes"; then + $1 +else + $2 +fi +]) + +AC_DEFUN([KDE_ADD_INCLUDES], +[ +if test -z "$1"; then + test_include="Pix.h" +else + test_include="$1" +fi + +AC_MSG_CHECKING([for libg++ ($test_include)]) + +AC_CACHE_VAL(kde_cv_libgpp_includes, +[ +kde_cv_libgpp_includes=no + + for ac_dir in \ + \ + /usr/include/g++ \ + /usr/include \ + /usr/unsupported/include \ + /opt/include \ + $extra_include \ + ; \ + do + if test -r "$ac_dir/$test_include"; then + kde_cv_libgpp_includes=$ac_dir + break + fi + done +]) + +AC_MSG_RESULT($kde_cv_libgpp_includes) +if test "$kde_cv_libgpp_includes" != "no"; then + all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" +fi +]) +]) + +AC_DEFUN([KDE_CHECK_LIBPTHREAD], +[ + LIBPTHREAD="" + + if test -n "$PTHREAD_LIBS"; then + PTHREAD_LIBS_save="$PTHREAD_LIBS" + PTHREAD_LIBS=`echo "$PTHREAD_LIBS_save" | sed -e 's,^-l,,g'` + KDE_CHECK_LIB($PTHREAD_LIBS, pthread_create, [LIBPTHREAD="$PTHREAD_LIBS_save"] ) + PTHREAD_LIBS="$PTHREAD_LIBS_save" + fi + + if test -z "$LIBPTHREAD"; then + AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) + fi + + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_PTHREAD_OPTION], +[ + USE_THREADS="" + if test -z "$LIBPTHREAD"; then + KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-D_THREAD_SAFE -pthread"]) + fi + + AH_VERBATIM(__svr_define, [ +#if defined(__SVR4) && !defined(__svr4__) +#define __svr4__ 1 +#endif +]) + case $host_os in + solaris*) + KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) + CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" + ;; + freebsd*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE $PTHREAD_CFLAGS" + ;; + aix*) + CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" + LIBPTHREAD="$LIBPTHREAD -lc_r" + ;; + linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" + if test "$CXX" = "KCC"; then + CXXFLAGS="$CXXFLAGS --thread_safe" + NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" + fi + ;; + *) + ;; + esac + AC_SUBST(USE_THREADS) + AC_SUBST(LIBPTHREAD) +]) + +AC_DEFUN([KDE_CHECK_THREADING], +[ + AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) + AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) + dnl default is yes if libpthread is found and no if no libpthread is available + if test -z "$LIBPTHREAD"; then + if test -z "$USE_THREADS"; then + kde_check_threading_default=no + else + kde_check_threading_default=yes + fi + else + kde_check_threading_default=yes + fi + AC_ARG_ENABLE(threading,AC_HELP_STRING([--disable-threading],[disables threading even if libpthread found]), + kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) + if test "x$kde_use_threading" = "xyes"; then + AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) + fi +]) + +AC_DEFUN([KDE_TRY_LINK_PYTHON], +[ +if test "$kde_python_link_found" = no; then + +if test "$1" = normal; then + AC_MSG_CHECKING(if a Python application links) +else + AC_MSG_CHECKING(if Python depends on $2) +fi + +AC_CACHE_VAL(kde_cv_try_link_python_$1, +[ +kde_save_cflags="$CFLAGS" +CFLAGS="$CFLAGS $PYTHONINC" +kde_save_libs="$LIBS" +LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" +kde_save_ldflags="$LDFLAGS" +LDFLAGS="$LDFLAGS $PYTHONLIB" + +AC_TRY_LINK( +[ +#include <Python.h> +],[ + PySys_SetArgv(1, 0); +], + [kde_cv_try_link_python_$1=yes], + [kde_cv_try_link_python_$1=no] +) +CFLAGS="$kde_save_cflags" +LIBS="$kde_save_libs" +LDFLAGS="$kde_save_ldflags" +]) + +if test "$kde_cv_try_link_python_$1" = "yes"; then + AC_MSG_RESULT(yes) + kde_python_link_found=yes + if test ! "$1" = normal; then + LIBPYTHON="$LIBPYTHON $2" + fi + $3 +else + AC_MSG_RESULT(no) + $4 +fi + +fi + +]) + +AC_DEFUN([KDE_CHECK_PYTHON_DIR], +[ +AC_MSG_CHECKING([for Python directory]) + +AC_CACHE_VAL(kde_cv_pythondir, +[ + if test -z "$PYTHONDIR"; then + kde_cv_pythondir=/usr/local + else + kde_cv_pythondir="$PYTHONDIR" + fi +]) + +AC_ARG_WITH(pythondir, +AC_HELP_STRING([--with-pythondir=pythondir],[use python installed in pythondir]), +[ + ac_python_dir=$withval +], ac_python_dir=$kde_cv_pythondir +) + +AC_MSG_RESULT($ac_python_dir) +]) + +AC_DEFUN([KDE_CHECK_PYTHON_INTERN], +[ +AC_REQUIRE([KDE_CHECK_LIBDL]) +AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) +AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) + +if test -z "$1"; then + version="1.5" +else + version="$1" +fi + +AC_MSG_CHECKING([for Python$version]) + +python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" +AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) +if test ! -r $python_incdir/Python.h; then + AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) + python_incdir=$python_incdir/python$version + if test ! -r $python_incdir/Python.h; then + python_incdir=no + fi +fi + +PYTHONINC=-I$python_incdir + +python_libdirs="$ac_python_dir/lib$kdelibsuff /usr/lib$kdelibsuff /usr/local /usr/lib$kdelibsuff $kde_extra_libs" +AC_FIND_FILE(libpython$version.so, $python_libdirs, python_libdir) +if test ! -r $python_libdir/libpython$version.so; then + AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) + if test ! -r $python_libdir/libpython$version.a; then + AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) + python_libdir=$python_libdir/python$version/config + if test ! -r $python_libdir/libpython$version.a; then + python_libdir=no + fi + fi +fi + +PYTHONLIB=-L$python_libdir +kde_orig_LIBPYTHON=$LIBPYTHON +if test -z "$LIBPYTHON"; then + LIBPYTHON=-lpython$version +fi + +AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) +python_moddir=$python_moddir/python$version +if test ! -r $python_moddir/copy.py; then + python_moddir=no +fi + +PYTHONMODDIR=$python_moddir + +AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) + +if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then + LIBPYTHON=$kde_orig_LIBPYTHON + test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" + test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" + $2 +else + dnl Note: this test is very weak + kde_python_link_found=no + KDE_TRY_LINK_PYTHON(normal) + KDE_TRY_LINK_PYTHON(m, -lm) + KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) + KDE_TRY_LINK_PYTHON(tcl, -ltcl) + KDE_TRY_LINK_PYTHON(db2, -ldb2) + KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) + KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) + KDE_TRY_LINK_PYTHON(pthread_and_panel_curses, [$LIBPTHREAD $LIBDL -lm -lpanel -lcurses]) + KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], + [AC_MSG_WARN([it seems, Python depends on another library. + Please set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this + and contact the authors to let them know about this problem]) + ]) + + LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" + AC_SUBST(PYTHONINC) + AC_SUBST(PYTHONLIB) + AC_SUBST(LIBPYTHON) + AC_SUBST(PYTHONMODDIR) + AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) +fi + +]) + + +AC_DEFUN([KDE_CHECK_PYTHON], +[ + KDE_CHECK_PYTHON_INTERN("2.3", + [KDE_CHECK_PYTHON_INTERN("2.2", + [KDE_CHECK_PYTHON_INTERN("2.1", + [KDE_CHECK_PYTHON_INTERN("2.0", + [KDE_CHECK_PYTHON_INTERN($1, $2) ]) + ]) + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_STL], +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" + + AC_MSG_CHECKING([if C++ programs can be compiled]) + AC_CACHE_VAL(kde_cv_stl_works, + [ + AC_TRY_COMPILE([ +#include <string> +using namespace std; +],[ + string astring="Hallo Welt."; + astring.erase(0, 6); // now astring is "Welt" + return 0; +], kde_cv_stl_works=yes, + kde_cv_stl_works=no) +]) + + AC_MSG_RESULT($kde_cv_stl_works) + + if test "$kde_cv_stl_works" = "yes"; then + # back compatible + AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) + else + AC_MSG_ERROR([Your Installation isn't able to compile simple C++ programs. +Check config.log for details - if you're using a Linux distribution you might miss +a package named similiar to libstd++-dev.]) + fi + + CXXFLAGS="$ac_save_CXXFLAGS" + AC_LANG_RESTORE +]) + +AC_DEFUN([AC_FIND_QIMGIO], + [AC_REQUIRE([AC_FIND_JPEG]) +AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) +AC_MSG_CHECKING([for qimgio]) +AC_CACHE_VAL(ac_cv_lib_qimgio, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +ac_save_LIBS="$LIBS" +ac_save_CXXFLAGS="$CXXFLAGS" +LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" +CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" +AC_TRY_RUN(dnl +[ +#include <qimageio.h> +#include <qstring.h> +int main() { + QString t = "hallo"; + t.fill('t'); + qInitImageIO(); +} +], + ac_cv_lib_qimgio=yes, + ac_cv_lib_qimgio=no, + ac_cv_lib_qimgio=no) +LIBS="$ac_save_LIBS" +CXXFLAGS="$ac_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then + LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) + AC_SUBST(LIBQIMGIO) +else + AC_MSG_RESULT(not found) +fi +]) + +AC_DEFUN([AM_DISABLE_LIBRARIES], +[ + AC_PROVIDE([AM_ENABLE_STATIC]) + AC_PROVIDE([AM_ENABLE_SHARED]) + enable_static=no + enable_shared=yes +]) + + +AC_DEFUN([AC_CHECK_UTMP_FILE], +[ + AC_MSG_CHECKING([for utmp file]) + + AC_CACHE_VAL(kde_cv_utmp_file, + [ + kde_cv_utmp_file=no + + for ac_file in \ + \ + /var/run/utmp \ + /var/adm/utmp \ + /etc/utmp \ + ; \ + do + if test -r "$ac_file"; then + kde_cv_utmp_file=$ac_file + break + fi + done + ]) + + if test "$kde_cv_utmp_file" != "no"; then + AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) + $1 + AC_MSG_RESULT($kde_cv_utmp_file) + else + $2 + AC_MSG_RESULT([non found]) + fi +]) + + +AC_DEFUN([KDE_CREATE_SUBDIRSLIST], +[ + +DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" + +if test ! -s $srcdir/subdirs; then + dnl Note: Makefile.common creates subdirs, so this is just a fallback + TOPSUBDIRS="" + files=`cd $srcdir && ls -1` + dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` + for i in $dirs; do + echo $i >> $srcdir/subdirs + done +fi + +ac_topsubdirs= +if test -s $srcdir/inst-apps; then + ac_topsubdirs="`cat $srcdir/inst-apps`" +elif test -s $srcdir/subdirs; then + ac_topsubdirs="`cat $srcdir/subdirs`" +fi + +for i in $ac_topsubdirs; do + AC_MSG_CHECKING([if $i should be compiled]) + if test -d $srcdir/$i; then + install_it="yes" + for j in $DO_NOT_COMPILE; do + if test $i = $j; then + install_it="no" + fi + done + else + install_it="no" + fi + AC_MSG_RESULT($install_it) + vari=`echo $i | sed -e 's,[[-+.]],_,g'` + if test $install_it = "yes"; then + TOPSUBDIRS="$TOPSUBDIRS $i" + eval "$vari""_SUBDIR_included=yes" + else + eval "$vari""_SUBDIR_included=no" + fi +done + +AC_SUBST(TOPSUBDIRS) +]) + +AC_DEFUN([KDE_CHECK_NAMESPACES], +[ +AC_MSG_CHECKING(whether C++ compiler supports namespaces) +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +AC_TRY_COMPILE([ +], +[ +namespace Foo { + extern int i; + namespace Bar { + extern int i; + } +} + +int Foo::i = 0; +int Foo::Bar::i = 1; +],[ + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_NAMESPACES) +], [ +AC_MSG_RESULT(no) +]) +AC_LANG_RESTORE +]) + +dnl ------------------------------------------------------------------------ +dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_S_ISSOCK], +[ +AC_MSG_CHECKING(for S_ISSOCK) +AC_CACHE_VAL(ac_cv_have_s_issock, +[ +AC_TRY_LINK( +[ +#include <sys/stat.h> +], +[ +struct stat buff; +int b = S_ISSOCK( buff.st_mode ); +], +ac_cv_have_s_issock=yes, +ac_cv_have_s_issock=no) +]) +AC_MSG_RESULT($ac_cv_have_s_issock) +if test "$ac_cv_have_s_issock" = "yes"; then + AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) +fi + +AH_VERBATIM(_ISSOCK, +[ +#ifndef HAVE_S_ISSOCK +#define HAVE_S_ISSOCK +#define S_ISSOCK(mode) (1==0) +#endif +]) + +]) + +dnl ------------------------------------------------------------------------ +dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([AC_CHECK_KDEMAXPATHLEN], +[ +AC_MSG_CHECKING(for MAXPATHLEN) +AC_CACHE_VAL(ac_cv_maxpathlen, +[ +cat > conftest.$ac_ext <<EOF +#ifdef STDC_HEADERS +# include <stdlib.h> +#endif +#include <stdio.h> +#include <sys/param.h> +#ifndef MAXPATHLEN +#define MAXPATHLEN 1024 +#endif + +KDE_HELLO MAXPATHLEN + +EOF + +ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" + +if AC_TRY_EVAL(ac_try) && test -s conftest.out; then + ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` +else + ac_cv_maxpathlen=1024 +fi + +rm conftest.* + +]) +AC_MSG_RESULT($ac_cv_maxpathlen) +AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) +]) + +AC_DEFUN([KDE_CHECK_HEADER], +[ + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADER([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_CHECK_HEADERS], +[ + AH_CHECK_HEADERS([$1]) + AC_LANG_SAVE + kde_safe_cppflags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $all_includes" + AC_LANG_CPLUSPLUS + AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) + CPPFLAGS=$kde_safe_cppflags + AC_LANG_RESTORE +]) + +AC_DEFUN([KDE_FAST_CONFIGURE], +[ + dnl makes configure fast (needs perl) + AC_ARG_ENABLE(fast-perl, AC_HELP_STRING([--disable-fast-perl],[disable fast Makefile generation (needs perl)]), + with_fast_perl=$enableval, with_fast_perl=yes) +]) + +AC_DEFUN([KDE_CONF_FILES], +[ + val= + if test -f $srcdir/configure.files ; then + val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` + fi + CONF_FILES= + if test -n "$val" ; then + for i in $val ; do + CONF_FILES="$CONF_FILES $i" + done + fi + AC_SUBST(CONF_FILES) +])dnl + +AC_DEFUN([KDE_SET_PREFIX], +[ + unset CDPATH + dnl make $KDEDIR the default for the installation + AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) + + if test "x$prefix" = "xNONE"; then + prefix=$ac_default_prefix + ac_configure_args="$ac_configure_args --prefix=$prefix" + fi + # And delete superfluous '/' to make compares easier + prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` + KDE_FAST_CONFIGURE + KDE_CONF_FILES +]) + +pushdef([AC_PROG_INSTALL], +[ + dnl our own version, testing for a -p flag + popdef([AC_PROG_INSTALL]) + dnl as AC_PROG_INSTALL works as it works we first have + dnl to save if the user didn't specify INSTALL, as the + dnl autoconf one overwrites INSTALL and we have no chance to find + dnl out afterwards + test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL + test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM + test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT + AC_PROG_INSTALL + + if test -z "$kde_save_INSTALL_given" ; then + # OK, user hasn't given any INSTALL, autoconf found one for us + # now we test, if it supports the -p flag + AC_MSG_CHECKING(for -p flag to install) + rm -f confinst.$$.* > /dev/null 2>&1 + echo "Testtest" > confinst.$$.orig + ac_res=no + if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then + if test -f confinst.$$.new ; then + # OK, -p seems to do no harm to install + INSTALL="${INSTALL} -p" + ac_res=yes + fi + fi + rm -f confinst.$$.* + AC_MSG_RESULT($ac_res) + fi + dnl the following tries to resolve some signs and wonders coming up + dnl with different autoconf/automake versions + dnl e.g.: + dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s + dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) + dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s + dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has + dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the + dnl install-@DIR@PROGRAMS targets to explicitly use that flag + dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as + dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 + dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure + dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from + dnl automake (due to broken Makefile.am or whatever) to install programs, + dnl and so does not see the -s flag in automake > 1.4 + dnl to clean up that mess we: + dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG + dnl which cleans KDE's program with automake > 1.4; + dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems + dnl with automake<=1.4 + dnl note that dues to this sometimes two '-s' flags are used (if KDE + dnl properly uses install-@DIR@PROGRAMS, but I don't care + dnl + dnl And to all this comes, that I even can't write in comments variable + dnl names used by automake, because it is so stupid to think I wanted to + dnl _use_ them, therefor I have written A_M_... instead of AM_ + dnl hmm, I wanted to say something ... ahh yes: Arghhh. + + if test -z "$kde_save_INSTALL_PROGRAM_given" ; then + INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' + fi + if test -z "$kde_save_INSTALL_SCRIPT_given" ; then + INSTALL_SCRIPT='${INSTALL}' + fi +])dnl + +AC_DEFUN([KDE_LANG_CPLUSPLUS], +[AC_LANG_CPLUSPLUS +ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' +pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) +]) + +pushdef([AC_LANG_CPLUSPLUS], +[popdef([AC_LANG_CPLUSPLUS]) +KDE_LANG_CPLUSPLUS +]) + +AC_DEFUN([KDE_CHECK_LONG_LONG], +[ +AC_MSG_CHECKING(for long long) +AC_CACHE_VAL(kde_cv_c_long_long, +[ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + AC_TRY_LINK([], [ + long long foo = 0; + foo = foo+1; + ], + kde_cv_c_long_long=yes, kde_cv_c_long_long=no) + AC_LANG_RESTORE +]) +AC_MSG_RESULT($kde_cv_c_long_long) +if test "$kde_cv_c_long_long" = yes; then + AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) +fi +]) + +AC_DEFUN([KDE_CHECK_LIB], +[ + kde_save_LDFLAGS="$LDFLAGS" + dnl AC_CHECK_LIB modifies LIBS, so save it here + kde_save_LIBS="$LIBS" + LDFLAGS="$LDFLAGS $all_libraries" + case $host_os in + aix*) LDFLAGS="-brtl $LDFLAGS" + test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" + ;; + esac + AC_CHECK_LIB($1, $2, $3, $4, $5) + LDFLAGS="$kde_save_LDFLAGS" + LIBS="$kde_save_LIBS" +]) + +AC_DEFUN([KDE_JAVA_PREFIX], +[ + dir=`dirname "$1"` + base=`basename "$1"` + list=`ls -1 $dir 2> /dev/null` + for entry in $list; do + if test -d $dir/$entry/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/bin" + ;; + esac + elif test -d $dir/$entry/jre/bin; then + case $entry in + $base) + javadirs="$javadirs $dir/$entry/jre/bin" + ;; + esac + fi + done +]) + +dnl KDE_CHEC_JAVA_DIR(onlyjre) +AC_DEFUN([KDE_CHECK_JAVA_DIR], +[ + +AC_ARG_WITH(java, +AC_HELP_STRING([--with-java=javadir],[use java installed in javadir, --without-java disables]), +[ ac_java_dir=$withval +], ac_java_dir="" +) + +AC_MSG_CHECKING([for Java]) + +dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH +if test "x$ac_java_dir" = "xno"; then + kde_java_bindir=no + kde_java_includedir=no + kde_java_libjvmdir=no + kde_java_libgcjdir=no + kde_java_libhpidir=no +else + if test "x$ac_java_dir" = "x"; then + + + dnl No option set -> collect list of candidate paths + if test -n "$JAVA_HOME"; then + KDE_JAVA_PREFIX($JAVA_HOME) + fi + KDE_JAVA_PREFIX(/usr/j2se) + KDE_JAVA_PREFIX(/usr/lib/j2se) + KDE_JAVA_PREFIX(/usr/j*dk*) + KDE_JAVA_PREFIX(/usr/lib/j*dk*) + KDE_JAVA_PREFIX(/opt/j*sdk*) + KDE_JAVA_PREFIX(/usr/lib/java*) + KDE_JAVA_PREFIX(/usr/java*) + KDE_JAVA_PREFIX(/usr/java/j*dk*) + KDE_JAVA_PREFIX(/usr/java/j*re*) + KDE_JAVA_PREFIX(/usr/lib/SunJava2*) + KDE_JAVA_PREFIX(/usr/lib/SunJava*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) + KDE_JAVA_PREFIX(/usr/lib/IBMJava*) + KDE_JAVA_PREFIX(/opt/java*) + + kde_cv_path="NONE" + kde_save_IFS=$IFS + IFS=':' + for dir in $PATH; do + if test -d "$dir"; then + javadirs="$javadirs $dir" + fi + done + IFS=$kde_save_IFS + jredirs= + + dnl Now javadirs contains a list of paths that exist, all ending with bin/ + for dir in $javadirs; do + dnl Check for the java executable + if test -x "$dir/java"; then + dnl And also check for a libjvm.so somewhere under there + dnl Since we have to go to the parent dir, /usr/bin is excluded, /usr is too big. + if test "$dir" != "/usr/bin"; then + libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + if test ! -f $libjvmdir/libjvm.so; then continue; fi + jredirs="$jredirs $dir" + fi + fi + done + + dnl Now jredirs contains a reduced list, of paths where both java and ../**/libjvm.so was found + JAVAC= + JAVA= + kde_java_bindir=no + for dir in $jredirs; do + JAVA="$dir/java" + kde_java_bindir=$dir + if test -x "$dir/javac"; then + JAVAC="$dir/javac" + break + fi + done + + if test -n "$JAVAC"; then + dnl this substitution might not work - well, we test for jni.h below + kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` + else + kde_java_includedir=no + fi + else + dnl config option set + kde_java_bindir=$ac_java_dir/bin + if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then + kde_java_includedir=no + else + kde_java_includedir=$ac_java_dir/include + fi + fi +fi + +dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" +if test "x$kde_java_bindir" != "xno"; then + + dnl Look for libjvm.so + kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` + dnl Look for libgcj.so + kde_java_libgcjdir=`find $kde_java_bindir/.. -name libgcj.so | sed 's,libgcj.so,,'|head -n 1` + dnl Look for libhpi.so and avoid green threads + kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` + + dnl Now check everything's fine under there + dnl the include dir is our flag for having the JDK + if test -d "$kde_java_includedir"; then + if test ! -x "$kde_java_bindir/javac"; then + AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) + fi + if test ! -x "$kde_java_bindir/javah"; then + AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -x "$kde_java_bindir/jar"; then + AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + if test ! -r "$kde_java_includedir/jni.h"; then + AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) + fi + + jni_includes="-I$kde_java_includedir" + dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. + dnl and under linux here.. + + dnl not needed for gcj + + if test "x$kde_java_libgcjdir" = "x"; then + test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" + test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" + test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" + fi + + else + JAVAC= + jni_includes= + fi + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libjvmdir/libjvm.so"; then + AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) + fi + else + if test ! -r "$kde_java_libgcjdir/libgcj.so"; then + AC_MSG_ERROR([libgcj.so not found under $kde_java_libgcjdir. Use --without-java.]) + fi + fi + + if test ! -x "$kde_java_bindir/java"; then + AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) + fi + + dnl not needed for gcj compile + + if test "x$kde_java_libgcjdir" = "x"; then + if test ! -r "$kde_java_libhpidir/libhpi.so"; then + AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) + fi + fi + + if test -n "$jni_includes"; then + dnl Check for JNI version + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + ac_cxxflags_safe="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" + + AC_TRY_COMPILE([ + #include <jni.h> + ], + [ + #ifndef JNI_VERSION_1_2 + Syntax Error + #endif + ],[ kde_jni_works=yes ], + [ kde_jni_works=no ]) + + if test $kde_jni_works = no; then + AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. + You need to have Java Development Kit (JDK) version 1.2. + + Use --with-java to specify another location. + Use --without-java to configure without java support. + Or download a newer JDK and try again. + See e.g. http://java.sun.com/products/jdk/1.2 ]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + AC_LANG_RESTORE + + dnl All tests ok, inform and subst the variables + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + if test "x$kde_java_libgcjdir" = "x"; then + JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" + else + JVMLIBS="-L$kde_java_libgcjdir -lgcj" + fi + AC_MSG_RESULT([java JDK in $kde_java_bindir]) + + else + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([java JRE in $kde_java_bindir]) + fi +elif test -d "/Library/Java/Home"; then + kde_java_bindir="/Library/Java/Home/bin" + jni_includes="-I/Library/Java/Home/include" + + JAVAC=$kde_java_bindir/javac + JAVAH=$kde_java_bindir/javah + JAR=$kde_java_bindir/jar + JVMLIBS="-Xlinker -framework -Xlinker JavaVM" + + AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) + AC_MSG_RESULT([Apple Java Framework]) +else + AC_MSG_RESULT([none found]) +fi + +AC_SUBST(JAVAC) +AC_SUBST(JAVAH) +AC_SUBST(JAR) +AC_SUBST(JVMLIBS) +AC_SUBST(jni_includes) + +# for backward compat +kde_cv_java_includedir=$kde_java_includedir +kde_cv_java_bindir=$kde_java_bindir +]) + +dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. +dnl When the argument list becomes big, as in KDE for AC_OUTPUT in +dnl big packages, m4_foreach is dog-slow. So use our own version of +dnl it. (matz@kde.org) +m4_define([mm_foreach], +[m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) +m4_define([mm_car], [[$1]]) +m4_define([mm_car2], [[$@]]) +m4_define([_mm_foreach], +[m4_if(m4_quote($2), [], [], + [m4_define([$1], mm_car($2))$3[]_mm_foreach([$1], + mm_car2(m4_shift($2)), + [$3])])]) +m4_define([AC_FOREACH], +[mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) + +AC_DEFUN([KDE_NEED_FLEX], +[ +kde_libs_safe=$LIBS +LIBS="$LIBS $USER_LDFLAGS" +AM_PROG_LEX +LIBS=$kde_libs_safe +if test -z "$LEXLIB"; then + AC_MSG_ERROR([You need to have flex installed.]) +fi +AC_SUBST(LEXLIB) +]) + +AC_DEFUN([AC_PATH_QTOPIA], +[ + dnl TODO: use AC_CACHE_VAL + + if test -z "$1"; then + qtopia_minver_maj=1 + qtopia_minver_min=5 + qtopia_minver_pat=0 + else + qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` + qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` + qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` + fi + + qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" + qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" + + AC_REQUIRE([AC_PATH_QT]) + + AC_MSG_CHECKING([for Qtopia]) + + LIB_QTOPIA="-lqpe" + AC_SUBST(LIB_QTOPIA) + + kde_qtopia_dirs="$QPEDIR /opt/Qtopia" + + ac_qtopia_incdir=NO + + AC_ARG_WITH(qtopia-dir, + AC_HELP_STRING([--with-qtopia-dir=DIR],[where the root of Qtopia is installed]), + [ ac_qtopia_incdir="$withval"/include] ) + + qtopia_incdirs="" + for dir in $kde_qtopia_dirs; do + qtopia_incdirs="$qtopia_incdirs $dir/include" + done + + if test ! "$ac_qtopia_incdir" = "NO"; then + qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" + fi + + qtopia_incdir="" + AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) + ac_qtopia_incdir="$qtopia_incdir" + + if test -z "$qtopia_incdir"; then + AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) + fi + + qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; + qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; + qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; + + qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" + qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" + if test "$qtopia_ver" -lt "$qtopia_minver"; then + AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr +is required.]) + fi + + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + + ac_cxxflags_safe="$CXXFLAGS" + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" + LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" + LIBS="$LIBS $LIB_QTOPIA $LIBQT" + + cat > conftest.$ac_ext <<EOF +#include "confdefs.h" +#include <qpe/qpeapplication.h> +#include <qpe/version.h> + +int main( int argc, char **argv ) +{ + QPEApplication app( argc, argv ); + return 0; +} +EOF + + if AC_TRY_EVAL(ac_link) && test -s conftest; then + rm -f conftest* + else + rm -f conftest* + AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at +the end of config.log]) + fi + + CXXFLAGS="$ac_cxxflags_safe" + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + AC_LANG_RESTORE + + QTOPIA_INCLUDES="-I$qtopia_incdir" + AC_SUBST(QTOPIA_INCLUDES) + + AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) +]) + + +AC_DEFUN([KDE_INIT_DOXYGEN], +[ +AC_MSG_CHECKING([for Qt docs]) +kde_qtdir= +if test "${with_qt_dir+set}" = set; then + kde_qtdir="$with_qt_dir" +fi + +AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc /usr/share/qt3/doc/html /usr/X11R6/share/doc/qt/html ], QTDOCDIR) +AC_MSG_RESULT($QTDOCDIR) + +AC_SUBST(QTDOCDIR) + +KDE_FIND_PATH(dot, DOT, [], []) +if test -n "$DOT"; then + KDE_HAVE_DOT="YES" +else + KDE_HAVE_DOT="NO" +fi +AC_SUBST(KDE_HAVE_DOT) +KDE_FIND_PATH(doxygen, DOXYGEN, [], []) +AC_SUBST(DOXYGEN) + +DOXYGEN_PROJECT_NAME="$1" +DOXYGEN_PROJECT_NUMBER="$2" +AC_SUBST(DOXYGEN_PROJECT_NAME) +AC_SUBST(DOXYGEN_PROJECT_NUMBER) + +KDE_HAS_DOXYGEN=no +if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then + KDE_HAS_DOXYGEN=yes +fi +AC_SUBST(KDE_HAS_DOXYGEN) + +]) + + +AC_DEFUN([AC_FIND_BZIP2], +[ +AC_MSG_CHECKING([for bzDecompress in libbz2]) +AC_CACHE_VAL(ac_cv_lib_bzip2, +[ +AC_LANG_SAVE +AC_LANG_CPLUSPLUS +kde_save_LIBS="$LIBS" +LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" +kde_save_CXXFLAGS="$CXXFLAGS" +CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" +AC_TRY_LINK(dnl +[ +#define BZ_NO_STDIO +#include<bzlib.h> +], + [ bz_stream s; (void) bzDecompress(&s); ], + eval "ac_cv_lib_bzip2='-lbz2'", + eval "ac_cv_lib_bzip2=no") +LIBS="$kde_save_LIBS" +CXXFLAGS="$kde_save_CXXFLAGS" +AC_LANG_RESTORE +])dnl +AC_MSG_RESULT($ac_cv_lib_bzip2) + +if test ! "$ac_cv_lib_bzip2" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2" + AC_SUBST(LIBBZ2) + +else + + cxx_shared_flag= + ld_shared_flag= + KDE_CHECK_COMPILER_FLAG(shared, [ + ld_shared_flag="-shared" + ]) + KDE_CHECK_COMPILER_FLAG(fPIC, [ + cxx_shared_flag="-fPIC" + ]) + + AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) + AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, + [ + AC_LANG_SAVE + AC_LANG_CPLUSPLUS + kde_save_LIBS="$LIBS" + LIBS="$all_libraries $USER_LDFLAGS $ld_shared_flag -lbz2 $LIBSOCKET" + kde_save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CFLAGS $cxx_shared_flag $all_includes $USER_INCLUDES" + + AC_TRY_LINK(dnl + [ + #define BZ_NO_STDIO + #include<bzlib.h> + ], + [ bz_stream s; (void) BZ2_bzDecompress(&s); ], + eval "ac_cv_lib_bzip2_prefix='-lbz2'", + eval "ac_cv_lib_bzip2_prefix=no") + LIBS="$kde_save_LIBS" + CXXFLAGS="$kde_save_CXXFLAGS" + AC_LANG_RESTORE + ])dnl + + AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) + + if test ! "$ac_cv_lib_bzip2_prefix" = no; then + BZIP2DIR=bzip2 + + LIBBZ2="$ac_cv_lib_bzip2_prefix" + AC_SUBST(LIBBZ2) + + AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) + dnl else, we just ignore this + fi + +fi +AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") +]) + +dnl ------------------------------------------------------------------------ +dnl Try to find the SSL headers and libraries. +dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) +dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) +dnl ------------------------------------------------------------------------ +dnl +AC_DEFUN([KDE_CHECK_SSL], +[ +LIBSSL="-lssl -lcrypto" +AC_REQUIRE([KDE_CHECK_LIB64]) + +ac_ssl_includes=NO ac_ssl_libraries=NO +ssl_libraries="" +ssl_includes="" +AC_ARG_WITH(ssl-dir, + AC_HELP_STRING([--with-ssl-dir=DIR],[where the root of OpenSSL is installed]), + [ ac_ssl_includes="$withval"/include + ac_ssl_libraries="$withval"/lib$kdelibsuff + ]) + +want_ssl=yes +AC_ARG_WITH(ssl, + AC_HELP_STRING([--without-ssl],[disable SSL checks]), + [want_ssl=$withval]) + +if test $want_ssl = yes; then + +AC_MSG_CHECKING(for OpenSSL) + +AC_CACHE_VAL(ac_cv_have_ssl, +[#try to guess OpenSSL locations + + ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" + ssl_incdirs="$ac_ssl_includes $ssl_incdirs" + AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) + ac_ssl_includes="$ssl_incdir" + + ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" + if test ! "$ac_ssl_libraries" = "NO"; then + ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" + fi + + test=NONE + ssl_libdir=NONE + for dir in $ssl_libdirs; do + try="ls -1 $dir/libssl*" + if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi + done + + ac_ssl_libraries="$ssl_libdir" + + ac_ldflags_safe="$LDFLAGS" + ac_libs_safe="$LIBS" + + LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" + LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" + + AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, + ac_ssl_rsaref="yes" + , + ac_ssl_rsaref="no" + ) + + LDFLAGS="$ac_ldflags_safe" + LIBS="$ac_libs_safe" + + if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then + have_ssl=no + else + have_ssl=yes; + fi + + ]) + + eval "$ac_cv_have_ssl" + + AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) + + AC_MSG_CHECKING([whether OpenSSL uses rsaref]) + AC_MSG_RESULT($ac_ssl_rsaref) + + AC_MSG_CHECKING([for easter eggs]) + AC_MSG_RESULT([none found]) + +else + have_ssl=no +fi + +if test "$have_ssl" = yes; then + AC_MSG_CHECKING(for OpenSSL version) + dnl Check for SSL version + AC_CACHE_VAL(ac_cv_ssl_version, + [ + + cat >conftest.$ac_ext <<EOF +#include <openssl/opensslv.h> +#include <stdio.h> + int main() { + +#ifndef OPENSSL_VERSION_NUMBER + printf("ssl_version=\\"error\\"\n"); +#else + if (OPENSSL_VERSION_NUMBER < 0x00906000) + printf("ssl_version=\\"old\\"\n"); + else + printf("ssl_version=\\"ok\\"\n"); +#endif + return (0); + } +EOF + + ac_save_CPPFLAGS=$CPPFLAGS + if test "$ac_ssl_includes" != "/usr/include"; then + CPPFLAGS="$CPPFLAGS -I$ac_ssl_includes" + fi + + if AC_TRY_EVAL(ac_link); then + + if eval `./conftest 2>&5`; then + if test $ssl_version = error; then + AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) + else + if test $ssl_version = old; then + AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) + have_ssl=no + fi + fi + ac_cv_ssl_version="ssl_version=$ssl_version" + else + AC_MSG_ERROR([Your system couldn't run a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure <faure@kde.org>, attaching your config.log]) + fi + + else + AC_MSG_ERROR([Your system couldn't link a small SSL test program. + Check config.log, and if you can't figure it out, send a mail to + David Faure <faure@kde.org>, attaching your config.log]) + fi + CPPFLAGS=$ac_save_CPPFLAGS + + ]) + + eval "$ac_cv_ssl_version" + AC_MSG_RESULT($ssl_version) +fi + +if test "$have_ssl" != yes; then + LIBSSL=""; +else + AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) + ac_cv_have_ssl="have_ssl=yes \ + ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" + + + ssl_libraries="$ac_ssl_libraries" + ssl_includes="$ac_ssl_includes" + + if test "$ac_ssl_rsaref" = yes; then + LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" + fi + + if test $ssl_version = "old"; then + AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) + fi +fi + +SSL_INCLUDES= + +if test "$ssl_includes" = "/usr/include"; then + if test -f /usr/kerberos/include/krb5.h; then + SSL_INCLUDES="-I/usr/kerberos/include" + fi +elif test "$ssl_includes" != "/usr/local/include" && test -n "$ssl_includes"; then + SSL_INCLUDES="-I$ssl_includes" +fi + +if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries" || test "$ssl_libraries" = "NONE"; then + SSL_LDFLAGS="" +else + SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" +fi + +AC_SUBST(SSL_INCLUDES) +AC_SUBST(SSL_LDFLAGS) +AC_SUBST(LIBSSL) +]) + +AC_DEFUN([KDE_CHECK_STRLCPY], +[ + AC_REQUIRE([AC_CHECK_STRLCAT]) + AC_REQUIRE([AC_CHECK_STRLCPY]) + AC_CHECK_SIZEOF(size_t) + AC_CHECK_SIZEOF(unsigned long) + + AC_MSG_CHECKING([sizeof size_t == sizeof unsigned long]) + AC_TRY_COMPILE(,[ + #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG + choke me + #endif + ],AC_MSG_RESULT([yes]),[ + AC_MSG_RESULT(no) + AC_MSG_ERROR([ + Apparently on your system our assumption sizeof size_t == sizeof unsigned long + does not apply. Please mail kde-devel@kde.org with a description of your system! + ]) + ]) +]) + +AC_DEFUN([KDE_CHECK_BINUTILS], +[ + AC_MSG_CHECKING([if ld supports unversioned version maps]) + + kde_save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" + echo "{ local: extern \"C++\" { foo }; };" > conftest.map + AC_TRY_LINK([int foo;], +[ +#ifdef __INTEL_COMPILER +icc apparently does not support libtools version-info and version-script +at the same time. Dunno where the bug is, but until somebody figured out, +better disable the optional version scripts. +#endif + + foo = 42; +], kde_supports_versionmaps=yes, kde_supports_versionmaps=no) + LDFLAGS="$kde_save_LDFLAGS" + rm -f conftest.map + AM_CONDITIONAL(include_VERSION_SCRIPT, + [test "$kde_supports_versionmaps" = "yes" && test "$kde_use_debug_code" = "no"]) + + AC_MSG_RESULT($kde_supports_versionmaps) +]) + +AC_DEFUN([AM_PROG_OBJC],[ +AC_CHECK_PROGS(OBJC, gcc, gcc) +test -z "$OBJC" && AC_MSG_ERROR([no acceptable objective-c gcc found in \$PATH]) +if test "x${OBJCFLAGS-unset}" = xunset; then + OBJCFLAGS="-g -O2" +fi +AC_SUBST(OBJCFLAGS) +_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES(OBJC)]) +]) + +AC_DEFUN([KDE_CHECK_PERL], +[ + KDE_FIND_PATH(perl, PERL, [$bindir $exec_prefix/bin $prefix/bin], [ + AC_MSG_ERROR([No Perl found in your $PATH. +We need perl to generate some code.]) + ]) + AC_SUBST(PERL) +]) +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- + +# serial 47 AC_PROG_LIBTOOL + + +# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) +# ----------------------------------------------------------- +# If this macro is not defined by Autoconf, define it here. +m4_ifdef([AC_PROVIDE_IFELSE], + [], + [m4_define([AC_PROVIDE_IFELSE], + [m4_ifdef([AC_PROVIDE_$1], + [$2], [$3])])]) + + +# AC_PROG_LIBTOOL +# --------------- +AC_DEFUN([AC_PROG_LIBTOOL], +[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl +dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX +dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. + AC_PROVIDE_IFELSE([AC_PROG_CXX], + [AC_LIBTOOL_CXX], + [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX + ])]) +dnl And a similar setup for Fortran 77 support + AC_PROVIDE_IFELSE([AC_PROG_F77], + [AC_LIBTOOL_F77], + [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 +])]) + +dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. +dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run +dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. + AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], + [AC_LIBTOOL_GCJ], + [ifdef([AC_PROG_GCJ], + [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([A][M_PROG_GCJ], + [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) + ifdef([LT_AC_PROG_GCJ], + [define([LT_AC_PROG_GCJ], + defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) +])])# AC_PROG_LIBTOOL + + +# _AC_PROG_LIBTOOL +# ---------------- +AC_DEFUN([_AC_PROG_LIBTOOL], +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl +AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl +AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl +AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent' +AC_SUBST(LIBTOOL)dnl + +# Prevent multiple expansion +define([AC_PROG_LIBTOOL], []) +])# _AC_PROG_LIBTOOL + + +# AC_LIBTOOL_SETUP +# ---------------- +AC_DEFUN([AC_LIBTOOL_SETUP], +[AC_PREREQ(2.50)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl +AC_REQUIRE([AC_PROG_NM])dnl + +AC_REQUIRE([AC_PROG_LN_S])dnl +AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl +# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! +AC_REQUIRE([AC_OBJEXT])dnl +AC_REQUIRE([AC_EXEEXT])dnl +dnl + +AC_LIBTOOL_SYS_MAX_CMD_LEN +AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +AC_LIBTOOL_OBJDIR + +AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +_LT_AC_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='sed -e s/^X//' +[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] + +# Same as above, but do not quote variable references. +[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Constants: +rm="rm -f" + +# Global variables: +default_ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except M$VC, +# which needs '.lib'). +libext=a +ltmain="$ac_aux_dir/ltmain.sh" +ofile="$default_ofile" +with_gnu_ld="$lt_cv_prog_gnu_ld" + +AC_CHECK_TOOL(AR, ar, false) +AC_CHECK_TOOL(RANLIB, ranlib, :) +AC_CHECK_TOOL(STRIP, strip, :) + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +test -z "$AS" && AS=as +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$DLLTOOL" && DLLTOOL=dlltool +test -z "$LD" && LD=ld +test -z "$LN_S" && LN_S="ln -s" +test -z "$MAGIC_CMD" && MAGIC_CMD=file +test -z "$NM" && NM=nm +test -z "$SED" && SED=sed +test -z "$OBJDUMP" && OBJDUMP=objdump +test -z "$RANLIB" && RANLIB=: +test -z "$STRIP" && STRIP=: +test -z "$ac_objext" && ac_objext=o + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + ;; + *) + old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi + +# Only perform the check for file, if the check method requires it +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + AC_PATH_MAGIC + fi + ;; +esac + +AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +enable_win32_dll=yes, enable_win32_dll=no) + +AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +AC_ARG_WITH([pic], + [AC_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) +test -z "$pic_mode" && pic_mode=default + +# Use C for the default configuration in the libtool script +tagname= +AC_LIBTOOL_LANG_C_CONFIG +_LT_AC_TAGCONFIG +])# AC_LIBTOOL_SETUP + + +# _LT_AC_SYS_COMPILER +# ------------------- +AC_DEFUN([_LT_AC_SYS_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_AC_SYS_COMPILER + + +# _LT_AC_SYS_LIBPATH_AIX +# ---------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], +[AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } +}'`; fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_AC_SYS_LIBPATH_AIX + + +# _LT_AC_SHELL_INIT(ARG) +# ---------------------- +AC_DEFUN([_LT_AC_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_AC_SHELL_INIT + + +# _LT_AC_PROG_ECHO_BACKSLASH +# -------------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], +[_LT_AC_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +echo=${ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then + # Yippee, $echo works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<EOF +[$]* +EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +if test -z "$ECHO"; then +if test "X${echo_test_string+set}" != Xset; then +# find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if (echo_test_string="`eval $cmd`") 2>/dev/null && + echo_test_string="`eval $cmd`" && + (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null + then + break + fi + done +fi + +if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : +else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$echo" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + echo='print -r' + elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + echo='printf %s\n' + if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + echo="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + echo="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + echo=echo + fi + fi + fi + fi +fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +ECHO=$echo +if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(ECHO) +])])# _LT_AC_PROG_ECHO_BACKSLASH + + +# _LT_AC_LOCK +# ----------- +AC_DEFUN([_LT_AC_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AC_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *32-bit*) + LINUX_64_MODE="32" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + LINUX_64_MODE="64" + case $host in + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw* | *-*-pw32*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; + ]) +esac + +need_locks="$enable_libtool_lock" + +])# _LT_AC_LOCK + + +# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], +[AC_REQUIRE([LT_AC_PROG_SED]) +AC_CACHE_CHECK([$1], [$2], + [$2=no + ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test ! -s conftest.err; then + $2=yes + fi + fi + $rm conftest* +]) + +if test x"[$]$2" = xyes; then + ifelse([$5], , :, [$5]) +else + ifelse([$6], , :, [$6]) +fi +])# AC_LIBTOOL_COMPILER_OPTION + + +# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ------------------------------------------------------------ +# Check whether the given compiler option works +AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], +[AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + printf "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + else + $2=yes + fi + fi + $rm conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + ifelse([$4], , :, [$4]) +else + ifelse([$5], , :, [$5]) +fi +])# AC_LIBTOOL_LINKER_OPTION + + +# AC_LIBTOOL_SYS_MAX_CMD_LEN +# -------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], +[# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + testring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + *) + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ + = "XX$testring") >/dev/null 2>&1 && + new_result=`expr "X$testring" : ".*" 2>&1` && + lt_cv_sys_max_cmd_len=$new_result && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + testring=$testring$testring + done + testring= + # Add a significant safety factor because C++ compilers can tack on massive + # amounts of additional arguments before passing them to the linker. + # It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +])# AC_LIBTOOL_SYS_MAX_CMD_LEN + + +# _LT_AC_CHECK_DLFCN +# -------------------- +AC_DEFUN([_LT_AC_CHECK_DLFCN], +[AC_CHECK_HEADERS(dlfcn.h)dnl +])# _LT_AC_CHECK_DLFCN + + +# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ------------------------------------------------------------------ +AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include <dlfcn.h> +#endif + +#include <stdio.h> + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" void exit (int); +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + + exit (status); +}] +EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_unknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_AC_TRY_DLOPEN_SELF + + +# AC_LIBTOOL_DLOPEN_SELF +# ------------------- +AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], +[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + LDFLAGS="$LDFLAGS $link_static_flag" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_AC_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +])# AC_LIBTOOL_DLOPEN_SELF + + +# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) +# --------------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler +AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $rm -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + # According to Tom Tromey, Ian Lance Taylor reported there are C compilers + # that will create temporary files in the current directory regardless of + # the output directory. Thus, making CWD read-only will cause this test + # to fail, enabling locking or at least warning the user not to do parallel + # builds. + chmod -w . + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + if test ! -s out/conftest.err; then + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . + $rm conftest* out/* + rmdir out + cd .. + rmdir conftest + $rm conftest* +]) +])# AC_LIBTOOL_PROG_CC_C_O + + +# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) +# ----------------------------------------- +# Check to see if we can do hard links to lock some files if needed +AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], +[AC_REQUIRE([_LT_AC_LOCK])dnl + +hard_links="nottested" +if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $rm conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS + + +# AC_LIBTOOL_OBJDIR +# ----------------- +AC_DEFUN([AC_LIBTOOL_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +])# AC_LIBTOOL_OBJDIR + + +# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) +# ---------------------------------------------- +# Check hardcoding attributes. +AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_AC_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ + test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then + + # We can hardcode non-existant directories. + if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_AC_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_AC_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_AC_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH + + +# AC_LIBTOOL_SYS_LIB_STRIP +# ------------------------ +AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], +[striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) +fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +])# AC_LIBTOOL_SYS_LIB_STRIP + + +# AC_LIBTOOL_SYS_DYNAMIC_LINKER +# ----------------------------- +# PORTME Fill in your ld.so characteristics +AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], +[AC_MSG_CHECKING([dynamic linker characteristics]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix4* | aix5*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib<name>.so + # instead of lib<name>.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi4*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32*) + version_type=windows + shrext=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $rm \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext='$(test .$module = .yes && echo .so || echo .dylib)' + # Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same. + if test "$GCC" = yes; then + sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"` + else + sys_lib_search_path_spec='/lib /usr/lib /usr/local/lib' + fi + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd*-gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='GNU ld.so' + ;; + +freebsd*) + objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[01]* | freebsdelf3.[01]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + *) # from 3.2 on + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case "$host_cpu" in + ia64*) + shrext='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + libsuff= + if test "x$LINUX_64_MODE" = x64; then + # Some platforms are per default 64-bit, so there's no /lib64 + if test -d /lib64; then + libsuff=64 + fi + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" + sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +nto-qnx*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +openbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +sco3.2v5*) + version_type=osf + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + export_dynamic_flag_spec='${wl}-Blargedynsym' + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no +])# AC_LIBTOOL_SYS_DYNAMIC_LINKER + + +# _LT_AC_TAGCONFIG +# ---------------- +AC_DEFUN([_LT_AC_TAGCONFIG], +[AC_ARG_WITH([tags], + [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], + [include additional configurations @<:@automatic@:>@])], + [tagnames="$withval"]) + +if test -f "$ltmain" && test -n "$tagnames"; then + if test ! -f "${ofile}"; then + AC_MSG_WARN([output file `$ofile' does not exist]) + fi + + if test -z "$LTCC"; then + eval "`$SHELL ${ofile} --config | grep '^LTCC='`" + if test -z "$LTCC"; then + AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) + else + AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) + fi + fi + + # Extract list of available tagged configurations in $ofile. + # Note that this assumes the entire list is on one line. + available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` + + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for tagname in $tagnames; do + IFS="$lt_save_ifs" + # Check whether tagname contains only valid characters + case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in + "") ;; + *) AC_MSG_ERROR([invalid tag name: $tagname]) + ;; + esac + + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null + then + AC_MSG_ERROR([tag name \"$tagname\" already exists]) + fi + + # Update the list of available tags. + if test -n "$tagname"; then + echo appending configuration tag \"$tagname\" to $ofile + + case $tagname in + CXX) + if test -n "$CXX" && test "X$CXX" != "Xno"; then + AC_LIBTOOL_LANG_CXX_CONFIG + else + tagname="" + fi + ;; + + F77) + if test -n "$F77" && test "X$F77" != "Xno"; then + AC_LIBTOOL_LANG_F77_CONFIG + else + tagname="" + fi + ;; + + GCJ) + if test -n "$GCJ" && test "X$GCJ" != "Xno"; then + AC_LIBTOOL_LANG_GCJ_CONFIG + else + tagname="" + fi + ;; + + RC) + AC_LIBTOOL_LANG_RC_CONFIG + ;; + + *) + AC_MSG_ERROR([Unsupported tag name: $tagname]) + ;; + esac + + # Append the new tag name to the list of available tags. + if test -n "$tagname" ; then + available_tags="$available_tags $tagname" + fi + fi + done + IFS="$lt_save_ifs" + + # Now substitute the updated list of available tags. + if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then + mv "${ofile}T" "$ofile" + chmod +x "$ofile" + else + rm -f "${ofile}T" + AC_MSG_ERROR([unable to update list of available tagged configurations.]) + fi +fi +])# _LT_AC_TAGCONFIG + + +# AC_LIBTOOL_DLOPEN +# ----------------- +# enable checks for dlopen support +AC_DEFUN([AC_LIBTOOL_DLOPEN], + [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_DLOPEN + + +# AC_LIBTOOL_WIN32_DLL +# -------------------- +# declare package support for building win32 dll's +AC_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) +])# AC_LIBTOOL_WIN32_DLL + + +# AC_ENABLE_SHARED([DEFAULT]) +# --------------------------- +# implement the --enable-shared flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_SHARED], +[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([shared], + [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]AC_ENABLE_SHARED_DEFAULT) +])# AC_ENABLE_SHARED + + +# AC_DISABLE_SHARED +# ----------------- +#- set the default shared flag to --disable-shared +AC_DEFUN([AC_DISABLE_SHARED], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no) +])# AC_DISABLE_SHARED + + +# AC_ENABLE_STATIC([DEFAULT]) +# --------------------------- +# implement the --enable-static flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_STATIC], +[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([static], + [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]AC_ENABLE_STATIC_DEFAULT) +])# AC_ENABLE_STATIC + + +# AC_DISABLE_STATIC +# ----------------- +# set the default static flag to --disable-static +AC_DEFUN([AC_DISABLE_STATIC], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no) +])# AC_DISABLE_STATIC + + +# AC_ENABLE_FAST_INSTALL([DEFAULT]) +# --------------------------------- +# implement the --enable-fast-install flag +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +AC_DEFUN([AC_ENABLE_FAST_INSTALL], +[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE([fast-install], + [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) +])# AC_ENABLE_FAST_INSTALL + + +# AC_DISABLE_FAST_INSTALL +# ----------------------- +# set the default to --disable-fast-install +AC_DEFUN([AC_DISABLE_FAST_INSTALL], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no) +])# AC_DISABLE_FAST_INSTALL + + +# AC_LIBTOOL_PICMODE([MODE]) +# -------------------------- +# implement the --with-pic flag +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +AC_DEFUN([AC_LIBTOOL_PICMODE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +pic_mode=ifelse($#,1,$1,default) +])# AC_LIBTOOL_PICMODE + + +# AC_PROG_EGREP +# ------------- +# This is predefined starting with Autoconf 2.54, so this conditional +# definition can be removed once we require Autoconf 2.54 or later. +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], +[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], + [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi]) + EGREP=$ac_cv_prog_egrep + AC_SUBST([EGREP]) +])]) + + +# AC_PATH_TOOL_PREFIX +# ------------------- +# find a file program which can recognise shared library +AC_DEFUN([AC_PATH_TOOL_PREFIX], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="ifelse([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +])# AC_PATH_TOOL_PREFIX + + +# AC_PATH_MAGIC +# ------------- +# find a file program which can recognise a shared library +AC_DEFUN([AC_PATH_MAGIC], +[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# AC_PATH_MAGIC + + +# AC_PROG_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([AC_PROG_LD], +[AC_ARG_WITH([gnu-ld], + [AC_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no]) +AC_REQUIRE([LT_AC_PROG_SED])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$lt_save_ifs" +else + lt_cv_path_LD="$LD" # Let the user override the test with a path. +fi]) +LD="$lt_cv_path_LD" +if test -n "$LD"; then + AC_MSG_RESULT($LD) +else + AC_MSG_RESULT(no) +fi +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +AC_PROG_LD_GNU +])# AC_PROG_LD + + +# AC_PROG_LD_GNU +# -------------- +AC_DEFUN([AC_PROG_LD_GNU], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +[# I'd rather use --version here, but apparently some GNU ld's only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + lt_cv_prog_gnu_ld=yes + ;; +*) + lt_cv_prog_gnu_ld=no + ;; +esac]) +with_gnu_ld=$lt_cv_prog_gnu_ld +])# AC_PROG_LD_GNU + + +# AC_PROG_LD_RELOAD_FLAG +# ---------------------- +# find reload flag for linker +# -- PORTME Some linkers may need a different reload flag. +AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], +[AC_CACHE_CHECK([for $LD option to reload object files], + lt_cv_ld_reload_flag, + [lt_cv_ld_reload_flag='-r']) +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +])# AC_PROG_LD_RELOAD_FLAG + + +# AC_DEPLIBS_CHECK_METHOD +# ----------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], +[AC_CACHE_CHECK([how to recognise dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# `unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# which responds to the $file_magic_cmd with a given extended regex. +# If you have `file' or equivalent on your system and you're not sure +# whether `pass_all' will *always* work, you probably want this one. + +case $host_os in +aix4* | aix5*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi4*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin* | mingw* | pw32*) + # win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='win32_libid' + ;; + +darwin* | rhapsody*) + # this will be overwritten by pass_all, but leave it in just in case + lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' + lt_cv_file_magic_cmd='/usr/bin/file -L' + case "$host_os" in + rhapsody* | darwin1.[[012]]) + lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` + ;; + *) # Darwin 1.3 on + lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' + ;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case "$host_cpu" in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + irix5* | nonstopux*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" + ;; + *) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" + ;; + esac + lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux*) + case $host_cpu in + alpha* | hppa* | i*86 | ia64* | m68* | mips* | powerpc* | sparc* | s390* | sh* | x86_64* ) + lt_cv_deplibs_check_method=pass_all ;; + # the debian people say, arm and glibc 2.3.1 works for them with pass_all + arm* ) + lt_cv_deplibs_check_method=pass_all ;; + *) + # glibc up to 2.1.1 does not perform some relocations on ARM + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; + esac + lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +nto-qnx*) + lt_cv_deplibs_check_method=unknown + ;; + +openbsd*) + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + else + lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + fi + ;; + +osf3* | osf4* | osf5*) + # this will be overridden with pass_all, but let us keep it just in case + lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' + lt_cv_file_magic_test_file=/shlib/libc.so + lt_cv_deplibs_check_method=pass_all + ;; + +sco3.2v5*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + lt_cv_file_magic_test_file=/lib/libc.so + ;; + +sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown +])# AC_DEPLIBS_CHECK_METHOD + + +# AC_PROG_NM +# ---------- +# find the pathname to a BSD-compatible name lister +AC_DEFUN([AC_PROG_NM], +[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/${ac_tool_prefix}nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + esac + fi + done + IFS="$lt_save_ifs" + test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm +fi]) +NM="$lt_cv_path_NM" +])# AC_PROG_NM + + +# AC_CHECK_LIBM +# ------------- +# check for math library +AC_DEFUN([AC_CHECK_LIBM], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +])# AC_CHECK_LIBM + + +# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl convenience library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will +# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with +# '${top_srcdir}/' (note the single quotes!). If your package is not +# flat and you're not using automake, define top_builddir and +# top_srcdir appropriately in the Makefiles. +AC_DEFUN([AC_LIBLTDL_CONVENIENCE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case $enable_ltdl_convenience in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_CONVENIENCE + + +# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) +# ----------------------------------- +# sets LIBLTDL to the link flags for the libltdl installable library and +# LTDLINCL to the include flags for the libltdl header and adds +# --enable-ltdl-install to the configure arguments. Note that LIBLTDL +# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If +# DIRECTORY is not provided and an installed libltdl is not found, it is +# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' +# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single +# quotes!). If your package is not flat and you're not using automake, +# define top_builddir and top_srcdir appropriately in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN([AC_LIBLTDL_INSTALLABLE], +[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, lt_dlinit, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la + LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + LTDLINCL= + fi + # For backwards non-gettext consistent compatibility... + INCLTDL="$LTDLINCL" +])# AC_LIBLTDL_INSTALLABLE + + +# AC_LIBTOOL_CXX +# -------------- +# enable support for C++ libraries +AC_DEFUN([AC_LIBTOOL_CXX], +[AC_REQUIRE([_LT_AC_LANG_CXX]) +])# AC_LIBTOOL_CXX + + +# _LT_AC_LANG_CXX +# --------------- +AC_DEFUN([_LT_AC_LANG_CXX], +[AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) +])# _LT_AC_LANG_CXX + + +# AC_LIBTOOL_F77 +# -------------- +# enable support for Fortran 77 libraries +AC_DEFUN([AC_LIBTOOL_F77], +[AC_REQUIRE([_LT_AC_LANG_F77]) +])# AC_LIBTOOL_F77 + + +# _LT_AC_LANG_F77 +# --------------- +AC_DEFUN([_LT_AC_LANG_F77], +[AC_REQUIRE([AC_PROG_F77]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) +])# _LT_AC_LANG_F77 + + +# AC_LIBTOOL_GCJ +# -------------- +# enable support for GCJ libraries +AC_DEFUN([AC_LIBTOOL_GCJ], +[AC_REQUIRE([_LT_AC_LANG_GCJ]) +])# AC_LIBTOOL_GCJ + + +# _LT_AC_LANG_GCJ +# --------------- +AC_DEFUN([_LT_AC_LANG_GCJ], +[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], + [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], + [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], + [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], + [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) +])# _LT_AC_LANG_GCJ + + +# AC_LIBTOOL_RC +# -------------- +# enable support for Windows resource files +AC_DEFUN([AC_LIBTOOL_RC], +[AC_REQUIRE([LT_AC_PROG_RC]) +_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) +])# AC_LIBTOOL_RC + + +# AC_LIBTOOL_LANG_C_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) +AC_DEFUN([_LT_AC_LANG_C_CONFIG], +[lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}\n' + +_LT_AC_SYS_COMPILER + +# +# Check for any special shared library compilation flags. +# +_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= +if test "$GCC" = no; then + case $host_os in + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' + ;; + esac +fi +if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then + AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) + if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : + else + AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) + _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no + fi +fi + + +# +# Check to make sure the static flag actually works. +# +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) + + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +# Report which librarie types wil actually be built +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + +aix4*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + darwin* | rhapsody*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_C_CONFIG + + +# AC_LIBTOOL_LANG_CXX_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) +AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], +[AC_LANG_PUSH(C++) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_PROG_CXXCPP]) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Dependencies to place before and after the object being linked: +_LT_AC_TAGVAR(predep_objects, $1)= +_LT_AC_TAGVAR(postdep_objects, $1)= +_LT_AC_TAGVAR(predeps, $1)= +_LT_AC_TAGVAR(postdeps, $1)= +_LT_AC_TAGVAR(compiler_lib_search_path, $1)= + +# Source file extension for C++ test sources. +ac_ext=cc + +# Object file extension for compiled C++ test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_LD=$LD +lt_save_GCC=$GCC +GCC=$GXX +lt_save_with_gnu_ld=$with_gnu_ld +lt_save_path_LD=$lt_cv_path_LD +if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +else + unset lt_cv_prog_gnu_ld +fi +if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX +else + unset lt_cv_path_LD +fi +test -z "${LDCXX+set}" || LD=$LDCXX +CC=${CXX-"c++"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +# We don't want -fno-exception wen compiling C++ code, so set the +# no_builtin_flag separately +if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +else + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +fi + +if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + AC_PROG_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ + grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + +else + GXX=no + with_gnu_ld=no + wlarc= +fi + +# PORTME: fill in a description of your system's C++ link characteristics +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +_LT_AC_TAGVAR(ld_shlibs, $1)=yes +case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GXX" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + dgux*) + case $cc_basename in + ec++) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + freebsd[12]*) + # C++ shared libraries reported to be fairly broken before switch to ELF + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + freebsd-elf*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + freebsd*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; + gnu*) + ;; + hpux9*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + *) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + aCC) + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case "$host_cpu" in + ia64*|hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + irix5* | irix6*) + case $cc_basename in + CC) + # SGI C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' + fi + fi + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + linux*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc) + # Intel C++ + with_gnu_ld=yes + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + cxx) + # Compaq C++ + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + esac + ;; + lynxos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + m88k*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + mvs*) + case $cc_basename in + cxx) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + osf3*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + osf4* | osf5*) + case $cc_basename in + KCC) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' + ;; + RCC) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + cxx) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ + $rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + psos*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + sco*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case $cc_basename in + CC) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + lcc) + # Lucid + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + solaris*) + case $cc_basename in + CC) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + # The C++ compiler is used as linker so we must use $wl + # flag to pass the commands to the underlying system + # linker. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | grep -v '^2\.7' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" + fi + + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + fi + ;; + esac + ;; + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + vxworks*) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; +esac +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$GXX" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_POSTDEP_PREDEP($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC=$lt_save_CC +LDCXX=$LD +LD=$lt_save_LD +GCC=$lt_save_GCC +with_gnu_ldcxx=$with_gnu_ld +with_gnu_ld=$lt_save_with_gnu_ld +lt_cv_path_LDCXX=$lt_cv_path_LD +lt_cv_path_LD=$lt_save_path_LD +lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +])# AC_LIBTOOL_LANG_CXX_CONFIG + +# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) +# ------------------------ +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +ifelse([$1],[],[cat > conftest.$ac_ext <<EOF +int a; +void foo (void) { a = 0; } +EOF +],[$1],[CXX],[cat > conftest.$ac_ext <<EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +EOF +],[$1],[F77],[cat > conftest.$ac_ext <<EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +EOF +],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +EOF +]) +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + # The `*' in the case matches for architectures that use `case' in + # $output_verbose_cmd can trigger glob expansion during the loop + # eval without this substitution. + output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" + + for p in `eval $output_verbose_link_cmd`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" \ + || test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then + _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + ;; + + *.$objext|*.$libext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then + _LT_AC_TAGVAR(predep_objects, $1)="$p" + else + _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then + _LT_AC_TAGVAR(postdep_objects, $1)="$p" + else + _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$rm -f confest.$objext + +case " $_LT_AC_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac +])# AC_LIBTOOL_POSTDEP_PREDEP + +# AC_LIBTOOL_LANG_F77_CONFIG +# ------------------------ +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) +AC_DEFUN([_LT_AC_LANG_F77_CONFIG], +[AC_REQUIRE([AC_PROG_F77]) +AC_LANG_PUSH(Fortran 77) + +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_AC_TAGVAR(allow_undefined_flag, $1)= +_LT_AC_TAGVAR(always_export_symbols, $1)=no +_LT_AC_TAGVAR(archive_expsym_cmds, $1)= +_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_direct, $1)=no +_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= +_LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_automatic, $1)=no +_LT_AC_TAGVAR(module_cmds, $1)= +_LT_AC_TAGVAR(module_expsym_cmds, $1)= +_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown +_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_AC_TAGVAR(no_undefined_flag, $1)= +_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= +_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code=" subroutine t\n return\n end\n" + +# Code to be used in simple link tests +lt_simple_link_test_code=" program t\n end\n" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${F77-"f77"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + +AC_MSG_CHECKING([if libtool supports shared libraries]) +AC_MSG_RESULT([$can_build_shared]) + +AC_MSG_CHECKING([whether to build shared libraries]) +test "$can_build_shared" = "no" && enable_shared=no + +# On AIX, shared libraries and static libraries use the same namespace, and +# are all built from PIC. +case "$host_os" in +aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; +aix4*) + test "$enable_shared" = yes && enable_static=no + ;; +esac +AC_MSG_RESULT([$enable_shared]) + +AC_MSG_CHECKING([whether to build static libraries]) +# Make sure either enable_shared or enable_static is yes. +test "$enable_shared" = yes || enable_static=yes +AC_MSG_RESULT([$enable_static]) + +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_AC_TAGVAR(GCC, $1)="$G77" +_LT_AC_TAGVAR(LD, $1)="$LD" + +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP + + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_POP +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_F77_CONFIG + + +# AC_LIBTOOL_LANG_GCJ_CONFIG +# -------------------------- +# Ensure that the configuration vars for the C compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) +AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], +[AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}\n" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }\n' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${GCJ-"gcj"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + +AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) +AC_LIBTOOL_PROG_COMPILER_PIC($1) +AC_LIBTOOL_PROG_CC_C_O($1) +AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) +AC_LIBTOOL_PROG_LD_SHLIBS($1) +AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) +AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) +AC_LIBTOOL_SYS_LIB_STRIP +AC_LIBTOOL_DLOPEN_SELF($1) + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_GCJ_CONFIG + + +# AC_LIBTOOL_LANG_RC_CONFIG +# -------------------------- +# Ensure that the configuration vars for the Windows resource compiler are +# suitably defined. Those variables are subsequently used by +# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. +AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) +AC_DEFUN([_LT_AC_LANG_RC_CONFIG], +[AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_AC_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }\n' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_AC_SYS_COMPILER + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +CC=${RC-"windres"} +compiler=$CC +_LT_AC_TAGVAR(compiler, $1)=$CC +_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +AC_LIBTOOL_CONFIG($1) + +AC_LANG_RESTORE +CC="$lt_save_CC" +])# AC_LIBTOOL_LANG_RC_CONFIG + + +# AC_LIBTOOL_CONFIG([TAGNAME]) +# ---------------------------- +# If TAGNAME is not passed, then create an initial libtool script +# with a default configuration from the untagged config vars. Otherwise +# add code to config.status for appending the configuration named by +# TAGNAME from the matching tagged config vars. +AC_DEFUN([AC_LIBTOOL_CONFIG], +[# The else clause should only fire when bootstrapping the +# libtool distribution, otherwise you forgot to ship ltmain.sh +# with your package, and you will get complaints that there are +# no rules to generate ltmain.sh. +if test -f "$ltmain"; then + # See if we are running on zsh, and set the options which allow our commands through + # without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + # Now quote all the things that may contain metacharacters while being + # careful not to overquote the AC_SUBSTed values. We take copies of the + # variables and quote the copies for generation of the libtool script. + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM SED SHELL \ + libname_spec library_names_spec soname_spec extract_expsyms_cmds \ + old_striplib striplib file_magic_cmd finish_cmds finish_eval \ + deplibs_check_method reload_flag reload_cmds need_locks \ + lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ + lt_cv_sys_global_symbol_to_c_name_address \ + sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ + old_postinstall_cmds old_postuninstall_cmds \ + _LT_AC_TAGVAR(compiler, $1) \ + _LT_AC_TAGVAR(CC, $1) \ + _LT_AC_TAGVAR(LD, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ + _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ + _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ + _LT_AC_TAGVAR(old_archive_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ + _LT_AC_TAGVAR(predep_objects, $1) \ + _LT_AC_TAGVAR(postdep_objects, $1) \ + _LT_AC_TAGVAR(predeps, $1) \ + _LT_AC_TAGVAR(postdeps, $1) \ + _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ + _LT_AC_TAGVAR(archive_cmds, $1) \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ + _LT_AC_TAGVAR(postinstall_cmds, $1) \ + _LT_AC_TAGVAR(postuninstall_cmds, $1) \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ + _LT_AC_TAGVAR(allow_undefined_flag, $1) \ + _LT_AC_TAGVAR(no_undefined_flag, $1) \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ + _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ + _LT_AC_TAGVAR(hardcode_automatic, $1) \ + _LT_AC_TAGVAR(module_cmds, $1) \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) \ + _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ + _LT_AC_TAGVAR(exclude_expsyms, $1) \ + _LT_AC_TAGVAR(include_expsyms, $1); do + + case $var in + _LT_AC_TAGVAR(old_archive_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ + _LT_AC_TAGVAR(archive_cmds, $1) | \ + _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(module_cmds, $1) | \ + _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ + _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ + extract_expsyms_cmds | reload_cmds | finish_cmds | \ + postinstall_cmds | postuninstall_cmds | \ + old_postinstall_cmds | old_postuninstall_cmds | \ + sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) + # Double-quote double-evaled strings. + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" + ;; + *) + eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" + ;; + esac + done + + case $lt_echo in + *'\[$]0 --fallback-echo"') + lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` + ;; + esac + +ifelse([$1], [], + [cfgfile="${ofile}T" + trap "$rm \"$cfgfile\"; exit 1" 1 2 15 + $rm -f "$cfgfile" + AC_MSG_NOTICE([creating $ofile])], + [cfgfile="$ofile"]) + + cat <<__EOF__ >> "$cfgfile" +ifelse([$1], [], +[#! $SHELL + +# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +# Free Software Foundation, Inc. +# +# This file is part of GNU Libtool: +# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# A sed program that does not truncate output. +SED=$lt_SED + +# Sed that helps us avoid accidentally triggering echo(1) options like -n. +Xsed="$SED -e s/^X//" + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi + +# The names of the tagged configurations supported by this script. +available_tags= + +# ### BEGIN LIBTOOL CONFIG], +[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) + +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + +# Whether or not to build static libraries. +build_old_libs=$enable_static + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) + +# Whether or not to disallow shared libs when runtime libs are static +allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) + +# Whether or not to optimize for fast installation. +fast_install=$enable_fast_install + +# The host system. +host_alias=$host_alias +host=$host + +# An echo program that does not interpret backslashes. +echo=$lt_echo + +# The archiver. +AR=$lt_AR +AR_FLAGS=$lt_AR_FLAGS + +# A C compiler. +LTCC=$lt_LTCC + +# A language-specific compiler. +CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) + +# Is the compiler the GNU C compiler? +with_gcc=$_LT_AC_TAGVAR(GCC, $1) + +# An ERE matcher. +EGREP=$lt_EGREP + +# The linker used to build libraries. +LD=$lt_[]_LT_AC_TAGVAR(LD, $1) + +# Whether we need hard or soft links. +LN_S=$lt_LN_S + +# A BSD-compatible nm program. +NM=$lt_NM + +# A symbol stripping program +STRIP=$STRIP + +# Used to examine libraries when file_magic_cmd begins "file" +MAGIC_CMD=$MAGIC_CMD + +# Used on cygwin: DLL creation program. +DLLTOOL="$DLLTOOL" + +# Used on cygwin: object dumper. +OBJDUMP="$OBJDUMP" + +# Used on cygwin: assembler. +AS="$AS" + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# How to pass a linker flag through the compiler. +wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + +# Object file suffix (normally "o"). +objext="$ac_objext" + +# Old archive suffix (normally "a"). +libext="$libext" + +# Shared library suffix (normally ".so"). +shrext='$shrext' + +# Executable file suffix (normally ""). +exeext="$exeext" + +# Additional compiler flags for building library objects. +pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) +pic_mode=$pic_mode + +# What is the maximum length of a command? +max_cmd_len=$lt_cv_sys_max_cmd_len + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) + +# Must we lock files when doing compilation ? +need_locks=$lt_need_locks + +# Do we need the lib prefix for modules? +need_lib_prefix=$need_lib_prefix + +# Do we need a version for libraries? +need_version=$need_version + +# Whether dlopen is supported. +dlopen_support=$enable_dlopen + +# Whether dlopen of programs is supported. +dlopen_self=$enable_dlopen_self + +# Whether dlopen of statically linked programs is supported. +dlopen_self_static=$enable_dlopen_self_static + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) + +# Compiler flag to generate thread-safe objects. +thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) + +# Library versioning type. +version_type=$version_type + +# Format of library name prefix. +libname_spec=$lt_libname_spec + +# List of archive names. First name is the real one, the rest are links. +# The last name is the one that the linker finds with -lNAME. +library_names_spec=$lt_library_names_spec + +# The coded name of the library, if different from the real name. +soname_spec=$lt_soname_spec + +# Commands used to build and install an old-style archive. +RANLIB=$lt_RANLIB +old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) +old_postinstall_cmds=$lt_old_postinstall_cmds +old_postuninstall_cmds=$lt_old_postuninstall_cmds + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) + +# Commands used to build and install a shared archive. +archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) +archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) +postinstall_cmds=$lt_postinstall_cmds +postuninstall_cmds=$lt_postuninstall_cmds + +# Commands used to build a loadable module (assumed same as above if empty) +module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) +module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) + +# Commands to strip libraries. +old_striplib=$lt_old_striplib +striplib=$lt_striplib + +# Dependencies to place before the objects being linked to create a +# shared library. +predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) + +# Dependencies to place before the objects being linked to create a +# shared library. +predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) + +# Dependencies to place after the objects being linked to create a +# shared library. +postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) + +# Method to check whether dependent libraries are shared objects. +deplibs_check_method=$lt_deplibs_check_method + +# Command to use when deplibs_check_method == file_magic. +file_magic_cmd=$lt_file_magic_cmd + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) + +# Flag that forces no undefined symbols. +no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) + +# Commands used to finish a libtool library installation in a directory. +finish_cmds=$lt_finish_cmds + +# Same as above, but a single script fragment to be evaled but not shown. +finish_eval=$lt_finish_eval + +# Take the output of nm and produce a listing of raw symbols and C names. +global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe + +# Transform the output of nm in a proper C declaration +global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl + +# Transform the output of nm in a C name address pair +global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address + +# This is the shared library runtime path variable. +runpath_var=$runpath_var + +# This is the shared library path variable. +shlibpath_var=$shlibpath_var + +# Is shlibpath searched before the hard-coded library search path? +shlibpath_overrides_runpath=$shlibpath_overrides_runpath + +# How to hardcode a shared library path into an executable. +hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) + +# Whether we should hardcode library paths into libraries. +hardcode_into_libs=$hardcode_into_libs + +# Flag to hardcode \$libdir into a binary during linking. +# This must work even if \$libdir does not exist. +hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) + +# If ld is used when linking, flag to hardcode \$libdir into +# a binary during linking. This must work even if \$libdir does +# not exist. +hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) + +# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the +# resulting binary. +hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) + +# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into +# the resulting binary. +hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) + +# Set to yes if building a shared library automatically hardcodes DIR into the library +# and all subsequent libraries and executables linked against it. +hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) + +# Variables whose values should be saved in libtool wrapper scripts and +# restored at relink time. +variables_saved_for_relink="$variables_saved_for_relink" + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) + +# Compile-time system search path for libraries +sys_lib_search_path_spec=$lt_sys_lib_search_path_spec + +# Run-time system search path for libraries +sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec + +# Fix the shell variable \$srcfile for the compiler. +fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" + +# Set to yes if exported symbols are required. +always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) + +# The commands to list exported symbols. +export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) + +# The commands to extract the exported symbol list from a shared archive. +extract_expsyms_cmds=$lt_extract_expsyms_cmds + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) + +# Symbols that must always be exported. +include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) + +ifelse([$1],[], +[# ### END LIBTOOL CONFIG], +[# ### END LIBTOOL TAG CONFIG: $tagname]) + +__EOF__ + +ifelse([$1],[], [ + case $host_os in + aix3*) + cat <<\EOF >> "$cfgfile" + +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +EOF + ;; + esac + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || \ + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +]) +else + # If there is no Makefile yet, we rely on a make rule to execute + # `config.status --recheck' to rerun these tests and create the + # libtool script then. + test -f Makefile && make "$ltmain" +fi +])# AC_LIBTOOL_CONFIG + + +# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], +[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl + +_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI + + +# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE +# --------------------------------- +AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], +[AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_NM]) +AC_REQUIRE([AC_OBJEXT]) +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Transform the above into a raw symbol and a C symbol. +symxfrm='\1 \2\3 \3' + +# Transform an extracted symbol line into a proper C declaration +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) # Its linker distinguishes data from code symbols + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris* | sysv5*) + symcode='[[BDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGISTW]]' ;; +esac + +# Try without a prefix undercore, then with it. +for ac_symprfx in "" "_"; do + + # Write the raw and C identifiers. + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if grep ' nm_test_var$' "$nlist" >/dev/null; then + if grep ' nm_test_func$' "$nlist" >/dev/null; then + cat <<EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' + + cat <<EOF >> conftest.$ac_ext +#if defined (__STDC__) && __STDC__ +# define lt_ptr_t void * +#else +# define lt_ptr_t char * +# define const +#endif + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + lt_ptr_t address; +} +lt_preloaded_symbols[[]] = +{ +EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext + cat <<\EOF >> conftest.$ac_ext + {0, (lt_ptr_t) 0} +}; + +#ifdef __cplusplus +} +#endif +EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -f conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi +]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE + + +# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) +# --------------------------------------- +AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], +[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) + ifelse([$1],[CXX],[ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | os2* | pw32*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix4* | aix5*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68) + # Green Hills C++ Compiler + # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux*) + case $cc_basename in + KCC) + # KAI C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + icpc) + # Intel C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + cxx) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC) + # Rational C++ 2.4.1 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx) + # Digital/Compaq C++ + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + sco*) + case $cc_basename in + CC) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + *) + ;; + esac + ;; + solaris*) + case $cc_basename in + CC) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx) + # Green Hills C++ Compiler + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC) + # Sun C++ 4.x + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc) + # Lucid + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC) + # NonStop-UX NCC 3.20 + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + unixware*) + ;; + vxworks*) + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + + beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + hpux*) + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | pw32* | os2*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' + ;; + + hpux9* | hpux10* | hpux11*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case "$host_cpu" in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + linux*) + case $CC in + icc* | ecc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + ccc*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + esac + ;; + + osf3* | osf4* | osf5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' + ;; + + solaris*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sunos4*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + uts4*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then + AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], + _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), + [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +case "$host_os" in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" + ;; +esac +]) + + +# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) +# ------------------------------------ +# See if the linker supports building shared libraries. +AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], +[AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +ifelse([$1],[CXX],[ + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix4* | aix5*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw*) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + ;; + *) + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +],[ + runpath_var= + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_AC_TAGVAR(archive_cmds, $1)= + _LT_AC_TAGVAR(archive_expsym_cmds, $1)= + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= + _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown + _LT_AC_TAGVAR(hardcode_automatic, $1)=no + _LT_AC_TAGVAR(module_cmds, $1)= + _LT_AC_TAGVAR(module_expsym_cmds, $1)= + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_AC_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # See if GNU ld supports shared libraries. + case $host_os in + aix3* | aix4* | aix5*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +EOF + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + + # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports + # that the semantics of dynamic libraries on AmigaOS, at least up + # to version 4, is to share data among multiple programs linked + # with the same dynamic library. Since this doesn't match the + # behavior of shared libraries on other platforms, we can't use + # them. + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32*) + # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=no + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + else + ld_shlibs=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris* | sysv5*) + if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +EOF + elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sunos4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then + runpath_var=LD_RUN_PATH + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= + fi + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$link_static_flag"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix4* | aix5*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | grep 'GNU' > /dev/null; then + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + else + _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' + fi + + # KDE requires run time linking. Make it the default. + aix_use_runtimelinking=yes + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_AC_TAGVAR(archive_cmds, $1)='' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + + if test "$GCC" = yes; then + case $host_os in aix4.[012]|aix4.[012].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && \ + strings "$collect2name" | grep resolve_lib_name >/dev/null + then + # We have reworked collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + else + # We have old collect2 + _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='-qmkshrobj ${wl}-G' + else + shared_flag='-qmkshrobj' + fi + fi + fi + + # Let the compiler handle the export list. + _LT_AC_TAGVAR(always_export_symbols, $1)=no + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an empty executable. + _LT_AC_SYS_LIBPATH_AIX + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # -bexpall does not export symbols beginning with underscore (_) + _LT_AC_TAGVAR(always_export_symbols, $1)=yes + # Exported symbols can be pulled into shared objects from archives + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds it's shared libraries. + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + # see comment about different semantics on the GNU ld section + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + bsdi4*) + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' + fix_srcfile_path='`cygpath -w "$srcfile"`' + _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + if test "$GXX" = yes ; then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' + ;; + *) # Darwin 1.3 on + test -z ${LD_TWOLEVEL_NAMESPACE} && _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + ;; + esac + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + dgux*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10* | hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case "$host_cpu" in + hppa*64*|ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + case "$host_cpu" in + hppa*64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + ia64*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + *) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + openbsd*) + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + ;; + + os2*) + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ + $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + sco3.2v5*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + ;; + + solaris*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; + esac + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_AC_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4.2uw2*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + hardcode_runpath_var=yes + runpath_var=LD_RUN_PATH + ;; + + sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + runpath_var='LD_RUN_PATH' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv5*) + _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' + # $CC -shared without GNU ld will not create a library from C++ + # object files and a static libstdc++, better avoid it by now + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + ;; + + uts4*) + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac + fi +]) +AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) +test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +# +# Do we need to explicitly link libc? +# +case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_AC_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $rm conftest* + printf "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) + _LT_AC_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) + then + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $rm conftest* + AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac +])# AC_LIBTOOL_PROG_LD_SHLIBS + + +# _LT_AC_FILE_LTDLL_C +# ------------------- +# Be careful that the start marker always follows a newline. +AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ +# /* ltdll.c starts here */ +# #define WIN32_LEAN_AND_MEAN +# #include <windows.h> +# #undef WIN32_LEAN_AND_MEAN +# #include <stdio.h> +# +# #ifndef __CYGWIN__ +# # ifdef __CYGWIN32__ +# # define __CYGWIN__ __CYGWIN32__ +# # endif +# #endif +# +# #ifdef __cplusplus +# extern "C" { +# #endif +# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); +# #ifdef __cplusplus +# } +# #endif +# +# #ifdef __CYGWIN__ +# #include <cygwin/cygwin_dll.h> +# DECLARE_CYGWIN_DLL( DllMain ); +# #endif +# HINSTANCE __hDllInstance_base; +# +# BOOL APIENTRY +# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) +# { +# __hDllInstance_base = hInst; +# return TRUE; +# } +# /* ltdll.c ends here */ +])# _LT_AC_FILE_LTDLL_C + + +# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) +# --------------------------------- +AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) + + +# old names +AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) +AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) +AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) + +# This is just to silence aclocal about the macro not being used +ifelse([AC_DISABLE_FAST_INSTALL]) + +AC_DEFUN([LT_AC_PROG_GCJ], +[AC_CHECK_TOOL(GCJ, gcj, no) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS) +]) + +AC_DEFUN([LT_AC_PROG_RC], +[AC_CHECK_TOOL(RC, windres, no) +]) + +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +# LT_AC_PROG_SED +# -------------- +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +AC_DEFUN([LT_AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && break + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_MSG_RESULT([$SED]) +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright 1997, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 5 + +AC_PREREQ(2.52) + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([conditional \"$1\" was never defined. +Usually this means the macro was only invoked conditionally.]) +fi])]) + +# Do all the work for Automake. -*- Autoconf -*- + +# This macro actually does too much some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +AC_PREREQ([2.52]) + +# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow +# the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl + AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_MISSING_PROG(AMTAR, tar) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl + +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_][CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_][CC], + defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_][CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_][CXX], + defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + +# Copyright 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.6.3])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright 2001, 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 2 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# +# Check to make sure that the build environment is sane. +# + +# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 3 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# -*- Autoconf -*- + + +# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 3 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# AM_AUX_DIR_EXPAND + +# Copyright 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +# Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50]) + +AC_DEFUN([AM_AUX_DIR_EXPAND], [ +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. + +# Copyright 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# AM_PROG_INSTALL_STRIP + +# Copyright 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# serial 4 -*- Autoconf -*- + +# Copyright 1999, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + echo '#include "conftest.h"' > conftest.c + echo 'int i;' > conftest.h + echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=conftest.c object=conftest.o \ + depfile=conftest.Po tmpdepfile=conftest.TPo \ + $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 && + grep conftest.h conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[rm -f .deps 2>/dev/null +mkdir .deps 2>/dev/null +if test -d .deps; then + DEPDIR=.deps +else + # MS-DOS does not allow filenames that begin with a dot. + DEPDIR=_deps +fi +rmdir .deps 2>/dev/null +AC_SUBST([DEPDIR]) +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking Speeds up one-time builds + --enable-dependency-tracking Do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +#serial 2 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue + # Extract the definition of DEP_FILES from the Makefile without + # running `make'. + DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` + test -z "$DEPDIR" && continue + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n -e '/^U = / s///p' < "$mf"` + test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" + # We invoke sed twice because it is the simplest approach to + # changing $(DEPDIR) to its actual value in the expansion. + for file in `sed -n -e ' + /^DEP_FILES = .*\\\\$/ { + s/^DEP_FILES = // + :loop + s/\\\\$// + p + n + /\\\\$/ b loop + p + } + /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*- + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 2 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +doit: + @echo done +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST(am__include) +AC_SUBST(am__quote) +AC_MSG_RESULT($_am_result) +rm -f confinc confmf +]) + + +# Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# serial 3 + +AC_PREREQ(2.50) + +# AM_PROG_LEX +# ----------- +# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a +# "missing" invocation, for better error output. +AC_DEFUN([AM_PROG_LEX], +[AC_REQUIRE([AM_MISSING_HAS_RUN])dnl +AC_REQUIRE([AC_PROG_LEX])dnl +if test "$LEX" = :; then + LEX=${am_missing_run}flex +fi]) + +# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- + +# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +AC_PREREQ([2.52]) + +# serial 6 + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. We must strip everything past the first ":", +# and everything past the last "/". + +# _AM_DIRNAME(PATH) +# ----------------- +# Like AS_DIRNAME, only do it during macro expansion +AC_DEFUN([_AM_DIRNAME], + [m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1, + m4_if(regexp([$1], [^//\([^/]\|$\)]), -1, + m4_if(regexp([$1], [^/.*]), -1, + [.], + patsubst([$1], [^\(/\).*], [\1])), + patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])), + patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl +])# _AM_DIRNAME + + +# The stamp files are numbered to have different names. +# We could number them on a directory basis, but that's additional +# complications, let's have a unique counter. +m4_define([_AM_STAMP_Count], [0]) + + +# _AM_STAMP(HEADER) +# ----------------- +# The name of the stamp file for HEADER. +AC_DEFUN([_AM_STAMP], +[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl +AS_ESCAPE(_AM_DIRNAME(patsubst([$1], + [:.*])))/stamp-h[]_AM_STAMP_Count]) + + +# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS) +# ------------------------------------------------------------ +# We used to try to get a real timestamp in stamp-h. But the fear is that +# that will cause unnecessary cvs conflicts. +AC_DEFUN([_AM_CONFIG_HEADER], +[# Add the stamp file to the list of files AC keeps track of, +# along with our hook. +AC_CONFIG_HEADERS([$1], + [# update the timestamp +echo 'timestamp for $1' >"_AM_STAMP([$1])" +$2], + [$3]) +])# _AM_CONFIG_HEADER + + +# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS) +# -------------------------------------------------------------- +AC_DEFUN([AM_CONFIG_HEADER], +[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])]) +])# AM_CONFIG_HEADER + diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..0611cad --- /dev/null +++ b/config.h.in @@ -0,0 +1,219 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define if you have the CoreAudio API */ +#undef HAVE_COREAUDIO + +/* Define to 1 if you have the <crt_externs.h> header file. */ +#undef HAVE_CRT_EXTERNS_H + +/* Defines if your system has the crypt function */ +#undef HAVE_CRYPT + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define if you have libjpeg */ +#undef HAVE_LIBJPEG + +/* Define if you have libpng */ +#undef HAVE_LIBPNG + +/* Define if you have a working libpthread (will enable threaded code) */ +#undef HAVE_LIBPTHREAD + +/* Define if you have libz */ +#undef HAVE_LIBZ + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define if your system needs _NSGetEnviron to set up the environment */ +#undef HAVE_NSGETENVIRON + +/* Define if you have the res_init function */ +#undef HAVE_RES_INIT + +/* Define if you have a STL implementation by SGI */ +#undef HAVE_SGI_STL + +/* Define to 1 if you have the `snprintf' function. */ +#undef HAVE_SNPRINTF + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define if you have strlcat */ +#undef HAVE_STRLCAT + +/* Define if you have the strlcat prototype */ +#undef HAVE_STRLCAT_PROTO + +/* Define if you have strlcpy */ +#undef HAVE_STRLCPY + +/* Define if you have the strlcpy prototype */ +#undef HAVE_STRLCPY_PROTO + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vsnprintf' function. */ +#undef HAVE_VSNPRINTF + +/* Suffix for lib directories */ +#undef KDELIBSUFF + +/* Define a safe value for MAXPATHLEN */ +#undef KDEMAXPATHLEN + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* The size of a `char *', as computed by sizeof. */ +#undef SIZEOF_CHAR_P + +/* The size of a `int', as computed by sizeof. */ +#undef SIZEOF_INT + +/* The size of a `long', as computed by sizeof. */ +#undef SIZEOF_LONG + +/* The size of a `short', as computed by sizeof. */ +#undef SIZEOF_SHORT + +/* The size of a `size_t', as computed by sizeof. */ +#undef SIZEOF_SIZE_T + +/* The size of a `unsigned long', as computed by sizeof. */ +#undef SIZEOF_UNSIGNED_LONG + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to 1 if your processor stores words with the most significant byte + first (like Motorola and SPARC, unlike Intel and VAX). */ +#undef WORDS_BIGENDIAN + +/* + * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system + * headers and I'm too lazy to write a configure test as long as only + * unixware is related + */ +#ifdef _UNIXWARE +#define HAVE_BOOLEAN +#endif + + + +/* + * AIX defines FD_SET in terms of bzero, but fails to include <strings.h> + * that defines bzero. + */ + +#if defined(_AIX) +#include <strings.h> +#endif + + + +#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H) +# include <sys/time.h> +# include <crt_externs.h> +# define environ (*_NSGetEnviron()) +#endif + + + +#if !defined(HAVE_STRLCAT_PROTO) +#ifdef __cplusplus +extern "C" { +#endif +unsigned long strlcat(char*, const char*, unsigned long); +#ifdef __cplusplus +} +#endif +#endif + + + +#if !defined(HAVE_STRLCPY_PROTO) +#ifdef __cplusplus +extern "C" { +#endif +unsigned long strlcpy(char*, const char*, unsigned long); +#ifdef __cplusplus +} +#endif +#endif + + + +/* + * On HP-UX, the declaration of vsnprintf() is needed every time ! + */ + +#if !defined(HAVE_VSNPRINTF) || defined(hpux) +#if __STDC__ +#include <stdarg.h> +#include <stdlib.h> +#else +#include <varargs.h> +#endif +#ifdef __cplusplus +extern "C" +#endif +int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); +#ifdef __cplusplus +extern "C" +#endif +int snprintf(char *str, size_t n, char const *fmt, ...); +#endif + + + +#if defined(__SVR4) && !defined(__svr4__) +#define __svr4__ 1 +#endif + + +/* Compatibility define */ +#undef ksize_t + +/* Define the real type of socklen_t */ +#undef socklen_t diff --git a/config.log b/config.log new file mode 100644 index 0000000..ef58598 --- /dev/null +++ b/config.log @@ -0,0 +1,325 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by configure, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure --host=x86_64-linux-gnu --build=x86_64-linux-gnu --prefix=/opt/kde3 --mandir=${prefix}/share/man --infodir=${prefix}/share/info + +## --------- ## +## Platform. ## +## --------- ## + +hostname = argus4 +uname -m = x86_64 +uname -r = 2.6.31-16-generic +uname -s = Linux +uname -v = #53-Ubuntu SMP Tue Dec 8 04:02:15 UTC 2009 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = unknown +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /opt/kde3/bin +PATH: /opt/kde3/games +PATH: /opt/kde3/bin +PATH: /home/eldarion/bin +PATH: /usr/local/sbin +PATH: /usr/local/bin +PATH: /usr/sbin +PATH: /usr/bin +PATH: /sbin +PATH: /bin +PATH: /usr/games + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1561: checking build system type +configure:1579: result: x86_64-pc-linux-gnu +configure:1587: checking host system type +configure:1601: result: x86_64-pc-linux-gnu +configure:1609: checking target system type +configure:1623: result: x86_64-pc-linux-gnu +configure:1670: checking for a BSD-compatible install +configure:1725: result: /usr/bin/install -c +configure:1740: checking for -p flag to install +configure:1753: result: yes +configure:1764: checking whether build environment is sane + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-pc-linux-gnu +ac_cv_build_alias=x86_64-linux-gnu +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set=set +ac_cv_env_CFLAGS_value='-Wall -g -O2 -Wl,-z,defs' +ac_cv_env_CPPFLAGS_set=set +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set=set +ac_cv_env_CXXFLAGS_value='-g -O2' +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_F77_set= +ac_cv_env_F77_value= +ac_cv_env_FFLAGS_set=set +ac_cv_env_FFLAGS_value='-g -O2' +ac_cv_env_LDFLAGS_set=set +ac_cv_env_LDFLAGS_value=-Wl,-Bsymbolic-functions +ac_cv_env_build_alias_set=set +ac_cv_env_build_alias_value=x86_64-linux-gnu +ac_cv_env_host_alias_set=set +ac_cv_env_host_alias_value=x86_64-linux-gnu +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_host=x86_64-pc-linux-gnu +ac_cv_host_alias=x86_64-linux-gnu +ac_cv_path_install='/usr/bin/install -c' +ac_cv_target=x86_64-pc-linux-gnu +ac_cv_target_alias=x86_64-linux-gnu + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='' +AMDEPBACKSLASH='' +AMDEP_FALSE='' +AMDEP_TRUE='' +AMTAR='' +AR='' +ARTSCCONFIG='' +AUTOCONF='' +AUTODIRS='' +AUTOHEADER='' +AUTOMAKE='' +AWK='' +CC='' +CCDEPMODE='' +CFLAGS='-Wall -g -O2 -Wl,-z,defs' +CONF_FILES='' +CPP='' +CPPFLAGS='' +CXX='' +CXXCPP='' +CXXDEPMODE='' +CXXFLAGS='-g -O2' +DCOPIDL2CPP='' +DCOPIDL='' +DCOPIDLNG='' +DCOP_DEPENDENCIES='' +DEFS='' +DEPDIR='' +ECHO='echo' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='' +EXEEXT='' +F77='' +FFLAGS='-g -O2' +FRAMEWORK_COREAUDIO='' +GMSGFMT='' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='' +KCFG_DEPENDENCIES='' +KCONFIG_COMPILER='' +KDECONFIG='' +KDE_EXTRA_RPATH='' +KDE_INCLUDES='' +KDE_LDFLAGS='' +KDE_MT_LDFLAGS='' +KDE_MT_LIBS='' +KDE_NO_UNDEFINED='' +KDE_PLUGIN='' +KDE_RPATH='' +KDE_USE_CLOSURE_FALSE='' +KDE_USE_CLOSURE_TRUE='' +KDE_USE_FINAL_FALSE='' +KDE_USE_FINAL_TRUE='' +KDE_USE_NMCHECK_FALSE='' +KDE_USE_NMCHECK_TRUE='' +KDE_XSL_STYLESHEET='' +LDFLAGS='-Wl,-Bsymbolic-functions' +LIBCOMPAT='' +LIBCRYPT='' +LIBDL='' +LIBJPEG='' +LIBOBJS='' +LIBPNG='' +LIBPTHREAD='' +LIBRESOLV='' +LIBS='' +LIBSM='' +LIBSOCKET='' +LIBTOOL='' +LIBUCB='' +LIBUTIL='' +LIBZ='' +LIB_KAB='' +LIB_KABC='' +LIB_KDECORE='' +LIB_KDEPIM='' +LIB_KDEPRINT='' +LIB_KDEUI='' +LIB_KFILE='' +LIB_KFM='' +LIB_KHTML='' +LIB_KIO='' +LIB_KPARTS='' +LIB_KSPELL='' +LIB_KSYCOCA='' +LIB_KUTILS='' +LIB_POLL='' +LIB_QPE='' +LIB_QT='' +LIB_SMB='' +LIB_X11='' +LIB_XEXT='' +LIB_XRENDER='' +LN_S='' +LTLIBOBJS='' +MAKEINFO='' +MCOPIDL='' +MEINPROC='' +MOC='' +MSGFMT='' +NOOPT_CFLAGS='' +NOOPT_CXXFLAGS='' +OBJEXT='' +PACKAGE='' +PACKAGE_BUGREPORT='' +PACKAGE_NAME='' +PACKAGE_STRING='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PATH_SEPARATOR=':' +PERL='' +QTE_NORTTI='' +QT_INCLUDES='' +QT_LDFLAGS='' +RANLIB='' +SET_MAKE='' +SHELL='/bin/bash' +STRIP='' +TOPSUBDIRS='' +UIC='' +UIC_TR='' +USER_INCLUDES='' +USER_LDFLAGS='' +USE_EXCEPTIONS='' +USE_RTTI='' +USE_THREADS='' +VERSION='' +WOVERLOADED_VIRTUAL='' +XGETTEXT='' +XMLLINT='' +X_EXTRA_LIBS='' +X_INCLUDES='' +X_LDFLAGS='' +X_PRE_LIBS='' +X_RPATH='' +ac_ct_AR='' +ac_ct_CC='' +ac_ct_CXX='' +ac_ct_F77='' +ac_ct_RANLIB='' +ac_ct_STRIP='' +all_includes='' +all_libraries='' +am__include='' +am__quote='' +bindir='${exec_prefix}/bin' +build='x86_64-pc-linux-gnu' +build_alias='x86_64-linux-gnu' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='pc' +datadir='${prefix}/share' +exec_prefix='NONE' +host='x86_64-pc-linux-gnu' +host_alias='x86_64-linux-gnu' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='pc' +include_ARTS_FALSE='' +include_ARTS_TRUE='' +includedir='${prefix}/include' +infodir='${prefix}/share/info' +install_sh='' +kde_appsdir='' +kde_bindir='' +kde_confdir='' +kde_datadir='' +kde_htmldir='' +kde_icondir='' +kde_includes='' +kde_kcfgdir='' +kde_libraries='' +kde_libs_htmldir='' +kde_libs_prefix='' +kde_locale='' +kde_mimedir='' +kde_moduledir='' +kde_qtver='' +kde_servicesdir='' +kde_servicetypesdir='' +kde_sounddir='' +kde_styledir='' +kde_templatesdir='' +kde_wallpaperdir='' +kde_widgetdir='' +kdeinitdir='' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localstatedir='${prefix}/var' +mandir='${prefix}/share/man' +oldincludedir='/usr/include' +prefix='/opt/kde3' +program_transform_name='s,x,x,' +qt_includes='' +qt_libraries='' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target='x86_64-pc-linux-gnu' +target_alias='' +target_cpu='x86_64' +target_os='linux-gnu' +target_vendor='pc' +x_includes='NONE' +x_libraries='NONE' +xdg_appsdir='' +xdg_directorydir='' +xdg_menudir='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "" +#define PACKAGE_STRING "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" + +configure: caught signal 2 +configure: exit 1 diff --git a/configure.files b/configure.files new file mode 100644 index 0000000..030bce8 --- /dev/null +++ b/configure.files @@ -0,0 +1,2 @@ +./admin/configure.in.min +configure.in.in diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..7263ac9 --- /dev/null +++ b/configure.in @@ -0,0 +1,82 @@ +dnl This file is part of the KDE libraries/packages +dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org) + +dnl This file is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU Library General Public +dnl License as published by the Free Software Foundation; either +dnl version 2 of the License, or (at your option) any later version. + +dnl This library is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +dnl Library General Public License for more details. + +dnl You should have received a copy of the GNU Library General Public License +dnl along with this library; see the file COPYING.LIB. If not, write to +dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +dnl Boston, MA 02110-1301, USA. + +# Original Author was Kalle@kde.org +# I lifted it in some mater. (Stephan Kulow) +# I used much code from Janos Farkas + +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(acinclude.m4) dnl a source file from your sub dir + +dnl This is so we can use kde-common +AC_CONFIG_AUX_DIR(admin) + +dnl This ksh/zsh feature conflicts with `cd blah ; pwd` +unset CDPATH + +dnl Checking host/target/build systems, for make, install etc. +AC_CANONICAL_SYSTEM +dnl Perform program name transformation +AC_ARG_PROGRAM + +dnl Automake doc recommends to do this only here. (Janos) +AM_INIT_AUTOMAKE(knowit, 0.10) dnl searches for some needed programs + +KDE_SET_PREFIX + +dnl generate the config header +AM_CONFIG_HEADER(config.h) dnl at the distribution this done + +dnl Checks for programs. +AC_CHECK_COMPILERS +AC_ENABLE_SHARED(yes) +AC_ENABLE_STATIC(no) +KDE_PROG_LIBTOOL + +dnl for NLS support. Call them in this order! +dnl WITH_NLS is for the po files +AM_KDE_WITH_NLS + +KDE_USE_QT(3.0.0) +AC_PATH_KDE +#MIN_CONFIG(3.0.0) + +dnl PACKAGE set before +AC_C_BIGENDIAN +AC_CHECK_KDEMAXPATHLEN + +KDE_CREATE_SUBDIRSLIST +AC_CONFIG_FILES([ Makefile ]) +AC_CONFIG_FILES([ doc/Makefile ]) +AC_CONFIG_FILES([ doc/en/Makefile ]) +AC_CONFIG_FILES([ po/Makefile ]) +AC_CONFIG_FILES([ src/Makefile ]) +AC_OUTPUT +if test "$all_tests" = "bad"; then + if test ! "$cache_file" = "/dev/null"; then + echo "" + echo "Please remove the file $cache_file after changing your setup" + echo "so that configure will find the changes next time." + echo "" + fi +else + echo "" + echo "Good - your configure finished. Start make now" + echo "" +fi diff --git a/configure.in.in b/configure.in.in new file mode 100644 index 0000000..f7eef21 --- /dev/null +++ b/configure.in.in @@ -0,0 +1,6 @@ +#MIN_CONFIG(3.0.0) + +AM_INIT_AUTOMAKE(knowit, 0.10) +AC_C_BIGENDIAN +AC_CHECK_KDEMAXPATHLEN + diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..279cf2e --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,6 @@ +# the SUBDIRS is filled automatically by am_edit. If files are +# in this directory they are installed into the english dir + +KDE_LANG = en +KDE_DOCS = knowit +SUBDIRS = $(AUTODIRS) diff --git a/doc/en/Makefile.am b/doc/en/Makefile.am new file mode 100644 index 0000000..44ab124 --- /dev/null +++ b/doc/en/Makefile.am @@ -0,0 +1,2 @@ +KDE_DOCS = knowit +KDE_LANG = en diff --git a/doc/en/index.docbook b/doc/en/index.docbook new file mode 100644 index 0000000..fd1edb1 --- /dev/null +++ b/doc/en/index.docbook @@ -0,0 +1,261 @@ +<?xml version="1.0" ?> +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd" [ + <!ENTITY knowit '<application>KnowIt</application>'> + <!ENTITY kapp "&knowit;"><!-- replace knowit here --> + <!ENTITY % addindex "IGNORE"> + <!ENTITY % English "INCLUDE"><!-- change language only here --> + + + <!-- Do not define any other entities; instead, use the entities + from kde-genent.entities and $LANG/user.entities. --> +]> + + +<book lang="&language;"> + +<bookinfo> +<title>The KnowIt Handbook</title> + +<authorgroup> +<author> +<firstname>Michal</firstname> +<othername></othername> +<surname>Rudolf</surname> +<affiliation> +<address><email>mrudolf@kdewebdev.org</email></address> +</affiliation> +</author> +</authorgroup> + +<!-- TRANS:ROLES_OF_TRANSLATORS --> + +<copyright> +<year>2002</year> +<year>2003</year> +<year>2004</year> +<holder>Michal Rudolf</holder> +</copyright> +<!-- Translators: put here the copyright notice of the translation --> +<legalnotice>&FDLNotice;</legalnotice> + +<date>31/03/2003</date> +<releaseinfo>0.10</releaseinfo> + +<abstract> +<para> +&knowit; is an application to help you keep, edit and maintain notes. +</para> +</abstract> + +<keywordset> +<keyword>KDE</keyword> +<keyword>KnowIt</keyword> +<keyword>notes</keyword> +<keyword>manage</keyword> +<keyword>edit</keyword> +<keyword>tree</keyword> +<keyword>hierarchy</keyword> +<keyword>HTML</keyword> +</keywordset> + +</bookinfo> + +<chapter id="introduction"> +<title>Introduction</title> + +<para> +&kapp; is a simple tool for managing notes. It is similar to +<ulink url="http://tuxcards.sourceforge.net">TuxCards</ulink>, +but designed for KDE 3.x. Notes are organized in tree-like hierarchy, +texts are stored in RichText format, so bold, italic and underline fonts +are supported, as well as various text colors and unordered lists. +</para> + +<para> +&kapp; development depends on user's feedback! If you have +suggestions or want to help developing &kapp;, have a look at the +<ulink url="http://knowit.sourceforge.net">&kapp; page</ulink> +to see what is still to do. +</para> + +</chapter> + +<chapter id="using-kapp"> +<title>Using &knowit;</title> + +<sect1 id="Interface"> +<title>Interface</title> +<para> + +The main screen of &knowit; is divided into two parts: on the left you can see the notes +hierarchy (tree-like), on the right you can find the text of the current note. +You can browse and manage notes in the tree view and edit them in the +edit view. + +<screenshot> +<screeninfo>Here's a screenshot of &kapp;</screeninfo> + <mediaobject> + <imageobject> + <imagedata fileref="screenshot.png" format="PNG"/> + </imageobject> + <textobject> + <phrase>Screenshot</phrase> + </textobject> + </mediaobject> +</screenshot> +</para> + +<sect2 id="editing"> +<title>Editing notes</title> +<para> +You can use standard KDE shortcuts for editing text. Unordered lists are +supported: just start the line with <keycap>*</keycap>. You can also use +<guimenu>List</guimenu> submenu of <guimenu>Edit</guimenu> menu to get all +available list formats. +</para> + +<para> +<keycap>Enter</keycap> inserts a new paragraph (as in HTML there +is an empty line between two paragraphs) - if you +just want a line break, use <keycap>Ctrl+Enter</keycap> instead. +</para> +</sect2> + +<sect2 id="managing"> +<title>Managing notes</title> +<para> +You can use shortcuts for adding notes. If the notes tree is active, +just press <keycap>Ctrl+Enter</keycap> to add a same-level note following +the current one, <keycap>Insert</keycap> to add a child-note and +<keycap>Delete</keycap> to delete the current note. +</para> + +<para> +<guimenu>Notes</guimenu> menu or popup menu (accessed by right-clicking +on the list) contains many commands for managing notes. Most of them +have shortcuts assigned, for others you could assign them yourself. +</para> +</sect2> + +<sect2 id="links"> +<title>Links</title> +<para> +You can create links in notes. Links will be displayed below the note +text. There are two kinds of links: <emphasis>external</emphasis> (to +any file or URL) - click on it, and it will be opened in appropriate +application, and <emphasis>internal</emphasis> (to another note) - click +on it, and note with appropriate title will be displayed. +</para> +</sect2> +</sect1> +</chapter> + +<chapter id="about"> +<title>About &knowit;</title> + +<sect1 id="credits"> +<title>Credits and License</title> + +<para> +Program and documentation: +</para> +<para>copyright 2002, 2003, 2004 Michal Rudolf <email>mrudolf@kdewebdev.org</email> +</para> +&underFDL; <!-- FDL: do not remove. Commercial development should --> +&underGPL; <!-- GPL License --> +</sect1> + +<sect1 id="new"> +<title>New in this version</title> + +<para> +<itemizedlist> +<listitem><simpara>list editing commands</simpara></listitem> +<listitem><simpara>improved handling of read-only files</simpara></listitem> +<listitem><simpara>many improvements to export</simpara></listitem> +<listitem><simpara>link copy command</simpara></listitem> +<listitem><simpara>some shortcuts for links added</simpara></listitem> +<listitem><simpara>fixed backup bugs</simpara></listitem> +<listitem><simpara>warning when resource file is missing</simpara></listitem> +</itemizedlist> + +&knowit; 0.10 was released at 31st of March 2003. File <filename>ChangeLog</filename> in +source package contains information about changes in previous versions. +</para> +</sect1> +</chapter> + + +<appendix id="installation"> +<title>Installation</title> + +<sect1 id="getting-knowit"> +<title>How to obtain &knowit;</title> + +<para> +Newest version of &knowit; can be found at +<ulink url="href://knowit.sourceforge.net">knowit.sourceforge.net</ulink>. +Updates will probably be announced on <ulink +url="http://freshmeat.net">Freshmeat</ulink> and +<ulink url="href://apps.kde.com">apps.kde.com</ulink>. +</para> +</sect1> + + +<sect1 id="requirements"> +<title>Requirements</title> +<para> +I use KDE 3.1 for both developing and testing &knowit;. As +far as I know, it should work in both KDE 3.2 and KDE 3.0 without any problems. +</para> + +<para> +I doubt that it would compile in KDE 2.x - but I have no access +to older KDE versions to check it. Anyway, any information +about &knowit; in KDE 2.x would be welcomed. +</para> +</sect1> + +<sect1 id="compilation"> +<title>Compilation and installation</title> +<para> +In order to compile and install &knowit; on your system, type the following +in the base directory of the &knowit; distribution: +<screen width="40"> +<prompt>%</prompt> <userinput>./configure</userinput> +<prompt>%</prompt> <userinput>make</userinput> +<prompt>%</prompt> <userinput>make install</userinput> +</screen> +</para> + +<para>Since &knowit; uses autoconf and automake, you should have no +trouble compiling it. Should you run into problems please report +them to the autor.</para> +</sect1> + +</appendix> + +&documentation.index; +</book> +<!-- +Local Variables: +mode: sgml +sgml-minimize-attributes:nil +sgml-general-insert-case:lower +sgml-indent-step:0 +sgml-indent-data:nil +End: +--> + + + + + + + + + + + + + diff --git a/doc/en/screenshot.png b/doc/en/screenshot.png Binary files differnew file mode 100644 index 0000000..c555d9e --- /dev/null +++ b/doc/en/screenshot.png diff --git a/knowit.kdevelop b/knowit.kdevelop new file mode 100644 index 0000000..3c1dec4 --- /dev/null +++ b/knowit.kdevelop @@ -0,0 +1,190 @@ +<?xml version = '1.0'?> +<kdevelop> + <general> + <author>Michal Rudolf</author> + <email>mrudolf@kdewebdev.org</email> + <version>0.10</version> + <projectmanagement>KDevKDEAutoProject</projectmanagement> + <primarylanguage>C++</primarylanguage> + <keywords> + <keyword>C++</keyword> + <keyword>Code</keyword> + <keyword>Qt</keyword> + <keyword>KDE</keyword> + </keywords> + <projectdirectory>.</projectdirectory> + <absoluteprojectpath>false</absoluteprojectpath> + <description></description> + <ignoreparts> + <part>KDevDoxygen</part> + <part>KDevPerforce</part> + </ignoreparts> + <secondaryLanguages/> + </general> + <kdevautoproject> + <general> + <activetarget>src/knowit</activetarget> + <useconfiguration>default</useconfiguration> + <useactivetarget>true</useactivetarget> + </general> + <run> + <mainprogram>src/knowit</mainprogram> + <directoryradio>executable</directoryradio> + <customdirectory>/</customdirectory> + <programargs/> + <terminal>false</terminal> + <autocompile>true</autocompile> + <envvars/> + <runarguments> + <knowit/> + </runarguments> + </run> + <configurations> + <optimized> + <builddir>optimized</builddir> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <cxxflags>-O2 -g0</cxxflags> + </optimized> + <debug> + <configargs>--enable-debug=full</configargs> + <builddir>debug</builddir> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <cxxflags>-O0 -g3</cxxflags> + </debug> + <default> + <configargs/> + <builddir/> + <topsourcedir/> + <cppflags/> + <ldflags/> + <ccompiler>kdevgccoptions</ccompiler> + <cxxcompiler>kdevgppoptions</cxxcompiler> + <f77compiler>kdevg77options</f77compiler> + <ccompilerbinary/> + <cxxcompilerbinary/> + <f77compilerbinary/> + <cflags/> + <cxxflags>-O2 -g0</cxxflags> + <f77flags/> + </default> + </configurations> + <make> + <envvars> + <envvar value="1" name="WANT_AUTOCONF_2_5" /> + <envvar value="1" name="WANT_AUTOMAKE_1_6" /> + </envvars> + <abortonerror>false</abortonerror> + <numberofjobs>1</numberofjobs> + <dontact>false</dontact> + <makebin/> + </make> + </kdevautoproject> + <kdevfileview> + <groups> + <group pattern="*.cpp;*.cxx;*.h" name="Sources" /> + <group pattern="*.ui" name="User Interface" /> + <group pattern="*.png" name="Icons" /> + <group pattern="*.po;*.ts" name="Translations" /> + <group pattern="*" name="Others" /> + <hidenonprojectfiles>false</hidenonprojectfiles> + <hidenonlocation>false</hidenonlocation> + </groups> + <tree> + <hidepatterns>*.o,*.lo,CVS</hidepatterns> + <hidenonprojectfiles>false</hidenonprojectfiles> + </tree> + </kdevfileview> + <kdevdoctreeview> + <ignoretocs> + <toc>ada</toc> + <toc>ada_bugs_gcc</toc> + <toc>bash</toc> + <toc>bash_bugs</toc> + <toc>clanlib</toc> + <toc>w3c-dom-level2-html</toc> + <toc>fortran_bugs_gcc</toc> + <toc>gnome1</toc> + <toc>gnustep</toc> + <toc>gtk</toc> + <toc>gtk_bugs</toc> + <toc>haskell</toc> + <toc>haskell_bugs_ghc</toc> + <toc>java_bugs_gcc</toc> + <toc>java_bugs_sun</toc> + <toc>pascal_bugs_fp</toc> + <toc>php</toc> + <toc>php_bugs</toc> + <toc>perl</toc> + <toc>perl_bugs</toc> + <toc>python</toc> + <toc>python_bugs</toc> + <toc>ruby</toc> + <toc>ruby_bugs</toc> + <toc>sdl</toc> + <toc>w3c-svg</toc> + <toc>sw</toc> + <toc>w3c-uaag10</toc> + <toc>wxwindows_bugs</toc> + </ignoretocs> + <ignoreqt_xml> + <toc>qmake User Guide</toc> + </ignoreqt_xml> + <projectdoc> + <userdocDir>html/</userdocDir> + <apidocDir>html/</apidocDir> + </projectdoc> + <ignoredoxygen/> + <ignorekdocs/> + <ignoredevhelp/> + </kdevdoctreeview> + <kdevdebugger> + <general> + <dbgshell>libtool</dbgshell> + <programargs></programargs> + <gdbpath></gdbpath> + <configGdbScript></configGdbScript> + <runShellScript></runShellScript> + <runGdbScript></runGdbScript> + <breakonloadinglibs>true</breakonloadinglibs> + <separatetty>false</separatetty> + <floatingtoolbar>false</floatingtoolbar> + </general> + <display> + <staticmembers>false</staticmembers> + <demanglenames>true</demanglenames> + </display> + </kdevdebugger> + <kdevfilecreate> + <filetypes/> + <useglobaltypes> + <type ext="ui" /> + <type ext="cpp" /> + <type ext="h" /> + </useglobaltypes> + </kdevfilecreate> + <kdevcppsupport> + <references/> + <codecompletion> + <includeGlobalFunctions>true</includeGlobalFunctions> + <includeTypes>true</includeTypes> + <includeEnums>true</includeEnums> + <includeTypedefs>false</includeTypedefs> + <automaticCodeCompletion>true</automaticCodeCompletion> + <automaticArgumentsHint>true</automaticArgumentsHint> + <automaticHeaderCompletion>true</automaticHeaderCompletion> + <codeCompletionDelay>250</codeCompletionDelay> + <argumentsHintDelay>400</argumentsHintDelay> + <headerCompletionDelay>250</headerCompletionDelay> + </codecompletion> + </kdevcppsupport> + <cppsupportpart> + <filetemplates> + <interfacesuffix>.h</interfacesuffix> + <implementationsuffix>.cpp</implementationsuffix> + </filetemplates> + </cppsupportpart> +</kdevelop> diff --git a/knowit.kdevelop.pcs b/knowit.kdevelop.pcs Binary files differnew file mode 100644 index 0000000..38f5cb2 --- /dev/null +++ b/knowit.kdevelop.pcs diff --git a/knowit.kdevses b/knowit.kdevses new file mode 100644 index 0000000..cdd477f --- /dev/null +++ b/knowit.kdevses @@ -0,0 +1,19 @@ +<?xml version = '1.0' encoding = 'UTF-8'?> +<!DOCTYPE KDevPrjSession> +<KDevPrjSession> + <DocsAndViews NumberOfDocuments="1" > + <Doc0 NumberOfViews="1" URL="file:/home/ja/programming/kde/knowit/src/knowit.cpp" > + <View0 line="445" Type="???" > + <AdditionalSettings Top="2" Width="904" Attach="1" Height="555" Left="2" MinMaxMode="0" /> + </View0> + </Doc0> + </DocsAndViews> + <pluginList> + <kdevbookmarks> + <bookmarks/> + </kdevbookmarks> + <kdevdebugger> + <breakpointList/> + </kdevdebugger> + </pluginList> +</KDevPrjSession> diff --git a/knowit.spec b/knowit.spec new file mode 100644 index 0000000..7d0ded9 --- /dev/null +++ b/knowit.spec @@ -0,0 +1,43 @@ +%define version 0.10 +%define name knowit +%define release 1 +Name: %{name} +Version: %{version} +Release: %{release} +Packager: Michal Rudolf +Source: %{name}-%{version}.tar.bz2 +BuildRoot: /tmp/build-%{name}-%{version}-%{release} +Copyright: GPL +Group: X11/KDE/Utilities +Summary: knowledge management program for KDE + +%description +KnowIt is a simple tool for managing notes. It is similar to +TuxCards, but KDE-based. Notes are organized in tree-like hierarchy, +texts are in RichText format, so bold, italic and lists are supported, +with more to come. + +%prep +rm -rf $RPM_BUILD_ROOT + +%setup -q + +%build +CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS -DNO_DEBUG" \ +./configure --prefix=$KDEDIR --with-install-root=$RPM_BUILD_ROOT # --enable-final +make + +%install +make prefix=$RPM_BUILD_ROOT$KDEDIR install-strip + +cd $RPM_BUILD_ROOT +find . -type d | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' > $RPM_BUILD_DIR/file.list.%{name} +find . -type f | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name} +find . -type l | sed 's,^\.,\%attr(-\,root\,root) ,' >> $RPM_BUILD_DIR/file.list.%{name} + +%clean +rm -rf $RPM_BUILD_ROOT +rm -rf $RPM_BUILD_DIR/%{name}-%{version} +rm -f $RPM_BUILD_DIR/file.list.%{name} + +%files -f ../file.list.%{name} diff --git a/po/Makefile.am b/po/Makefile.am new file mode 100644 index 0000000..0fa209c --- /dev/null +++ b/po/Makefile.am @@ -0,0 +1 @@ +POFILES = AUTO diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..5b4aaed --- /dev/null +++ b/po/de.po @@ -0,0 +1,949 @@ +# translation of knowit.po to deutsch +# Copyright (C) 2003 Free Software Foundation, Inc. +# Michael Buesch <mbuesch at freenet dot de>, 2003. +# Lars Becker <lars at pandemonium dot de>, 2003. +# Frank Osterfeld <frank.osterfeld at gmx dot de>, 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: de\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2003-12-05 02:00+0100\n" +"Last-Translator: Lars Becker <lars at pandemonium dot de>\n" +"Language-Team: Deutsch\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +#, fuzzy +msgid "All" +msgstr "&Alle" + +#: knowitchooser.cpp:39 +#, fuzzy +msgid "Current with children" +msgstr "Ausgewählte mit &Unternotizen" + +#: knowitchooser.cpp:40 +#, fuzzy +msgid "Current only" +msgstr "&Nur ausgewählte Notiz" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "Notiz-Titel" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "KnowItAuswahl" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "Unbenannt" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "Fertig" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "Verschieben um das Layout des Baums zu verändern" + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Notiztext</h2>Hier fĂ¼gen Sie den Text fĂ¼r die Notiz ein.\n" +"Der Text kann z.B. <b>fett</b> oder <i>kursiv</i> formatiert werden." + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "&Exportieren als HTML..." + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "Dokument &Information" + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "&Fett" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "&Kursiv" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "&Unterstrichen" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "&Textfarbe" + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "&Hochstellen" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "&Tiefstellen" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "&Normaler Text" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +#: knowit.cpp:142 +msgid "&Numbered list" +msgstr "" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "Gehe &zu Notiz..." + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "&Links anordnen" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "&Rechts anordnen" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "&Justieren" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "&Zentrieren" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "&Datum einfĂ¼gen" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "D&atei einfĂ¼gen..." + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "&Quelltext" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "&HinzufĂ¼gen" + +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "Un&ternotiz hinzufĂ¼gen" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "U&mbenennen" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "Alle a&ufklappen" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "&Ausgewählte aufklappen" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "Alle zusammenf&Ă¼hren" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "Ausgewählte zusammenfĂ¼hren" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "Nach oben schieben" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "Nach unten schieben" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "Eine Ebene hinauf" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "Eine Ebene hinab" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "An Anfang verschieben" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "Ans Ende verschieben" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "Sortieren" + +#: knowit.cpp:211 +msgid "&Add link..." +msgstr "Link &hinzufĂ¼gen" + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "Link &entfernen" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "Link öffnen" + +#: knowit.cpp:217 +msgid "Open link with..." +msgstr "Ă–ffne Datei..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "&Link bearbeiten..." + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "&Tipp des Tages" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "Minimieren" + +#: knowit.cpp:236 +#, fuzzy +msgid "Switch area" +msgstr "Wechsele Gebiet" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "Ăœberschreib-Modus" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "Gehe zu vorheriger Notiz" + +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "Gehe zu nächster Notiz" + +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "Gehe zu erster Notiz" + +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "Gehe zu letzter Notiz" + +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "Gehe zu erster Unternotiz" + +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "Gehe zu Ă¼bergeordneter Notiz" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "EINFG" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>Konnte Datei <br><b>%1</b><br> nicht öffnen.</qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "Datei %1 geöffnet." + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>Konnte Datei<br><b>%1</b><br>nicht speichern.</qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "Datei %1 gespeichert." + +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>Datei <b>%1</b>\n" +"wurde verändert. Wollen Sie die Datei speichern?</qt>" + +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>Datei <b>%1</b>\n" +"wurde verändert. Wollen Sie die Datei speichern?</qt>" + +#: knowit.cpp:463 +msgid "untitled.kno" +msgstr "unbenannt.kno" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>Gesuchter Text:<br><b>%1</b><br>nicht gefunden.</qt>" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "Notiz hinzufĂ¼gen" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "Notiz-Titel" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "" +"Sie mĂ¼ssen eine Notiz auswählen, bevor Sie eine Unternotiz hinzufĂ¼gen können." + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "Unternotiz hinzufĂ¼gen" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "" +"<qt>Sind Sie sicher, dass Sie die Notiz<br><b>%1</b><br> und alle " +"Unternotizen löschen wollen?</qt>" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "" +"<qt>Sind Sie sicher, dass Sie die Notiz<br><b>%1</b> löschen wollen?</qt>" + +#: knowit.cpp:838 knowit.cpp:875 +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|KnowIt-Dateien (*.kno)\n" +"*|Alle Dateien" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "Ă–ffne Datei..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "Speichern unter..." + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>Datei<br><b>%1</b><br>existiert bereits. Ăœberschreiben?</qt>" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>Dokument Pfad: %2<br>Anzahl Notizen: %3</qt>" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|HTML-Dateien (*.html)\n" +"*|Alle Dateien" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "Exportiere als HTML" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "Gehe zu" + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "Gehe zur Seite mit dem Titel" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|Alle Dateien" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "Datei einfĂ¼gen..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "ĂœBER" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" +"Sie haben gerade Ihren ersten Link eingegeben. Bitte denken Sie daran, dass " +"imKnowIt-Dokument nur Verweise auf Dateien, nicht deren Inhalt gespeichert " +"wird. Wenn Sie Ihre Dokumente auf andere Rechnern kopieren, werden Links zu " +"lokalen Dateien wohlmöglich nicht mehr funktionieren." + +#: knowit.cpp:1273 +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "" +"<qt>Sind Sie sicher, dass sie die Notiz<br><b>%1</b> löschen wollen?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +msgid "KnowitEdit" +msgstr "" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "Link bearbeiten" + +#: knowitlink.cpp:40 +#, fuzzy +msgid "Referenced item:" +msgstr "Referenziertes Objekt:" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "Dateiname oder URL:" + +#: knowitlink.cpp:43 +#, fuzzy +msgid "KnowIt note" +msgstr "KnowIt" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "Beschreibung" + +#: knowitlink.cpp:90 +msgid "Choose link..." +msgstr "&Link bearbeiten..." + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +#, fuzzy +msgid "KnowitLinks" +msgstr "KnowIt" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "KnowIt" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "Neue Notiz" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "KnowIt Einstellungen" + +#: knowitpref.cpp:138 +msgid "General" +msgstr "Allgemein" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "Allgemeine Optionen" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "&Als Dockicon" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "Ă–ffne &letzte Datei beim Start" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "Automatisch sichern:" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "alle " + +#: knowitpref.cpp:149 +msgid " min." +msgstr " Minuten." + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "Nie" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"Die aktuelle Datei wird automatisch nach dem angegebenen Intervallgesichert. " +"Setzen Sie es auf <i>nie</i> um das automatische Sichern zu deaktivieren." + +#: knowitpref.cpp:154 +msgid "Automatically save file on e&xit" +msgstr "&Automatisches Sichern beim Verlassen" + +#: knowitpref.cpp:156 +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" +"Die aktuelle Datei wird automatisch beim Beenden der Anwendung gespeichert." + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "&Sicherungskopie erstellen" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "Vor dem Speichern Sicherheitskopie des aktuellen Dokumentes erstellen." + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "&Mehrere Instanzen von KnowIt erlauben" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" +"Wenn diese Option deaktiviert ist, wird nur eine KnowIt-Instanz erlaubt. " +"Wenn eine andere Instanz bereits läuft, wird sie automatisch aktiviert ohne " +"dass eine neue Instanz gestartet wird." + +#: knowitpref.cpp:170 +msgid "Interface" +msgstr "Benutzerschnittstelle" + +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "Benutzerschnittstelle Optionen" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "Fenster &horizontal teilen" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"Ist diese Option aktiviert, werden die Notizen links und der Editor rechts " +"angezeigt (Standard).<br> Andernfalls werden die Notizen oben und der Editor " +"unten angezeigt." + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "Standard Notizname:" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" +"Standard Name fĂ¼r Notizen. Dies ist der voreingestellte Name fĂ¼r neue " +"Notizen. Wenn Sie. Also wenn Sie oft mit der Maus Text kopieren, ist es " +"vielleicht besser dieses Feld leer zu lassen." + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "Link-Format:" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "Beschreibung (Link)" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "Link (Beschreibung)" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "Nur Link" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "Nur Beschreibung" + +#: knowitpref.cpp:197 +msgid "Alternate colors in tree" +msgstr "Alternative Farbe in Liste" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "Automatisch andere Notizen zusammenfĂ¼hren" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" +"Mit dieser Option ist nur der derzeitige Ast sichtbar. Alle anderen Notiz-" +"Ă„ste werden automatisch zusammengefĂ¼hrt." + +#: knowitpref.cpp:207 +msgid "Editor" +msgstr "Editor" + +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "Editor Optionen" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "Automatischer &Zeilenumbruch" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "'Enter' beendet die aktuelle Zeile, nicht den Absatz" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "'Tab' wechselt im Editor den Fokus" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "&Eigene Faben verwenden" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "Eigene Schriftart:" + +#: knowitpref.cpp:242 +msgid "Templates" +msgstr "Vorlagen" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "Vorlagen Konfiguration" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" +"<html>\n" +"<p>Diese AusdrĂ¼cke können benutzt werden: </p>\n" +"<table>\n" +"<tr><th>d</th><td>Tag als Zahl ohne fĂ¼hrende Null (1-31)</td></tr>\n" +"<tr><th>dd</th><td>Tag als Zahl mit fĂ¼hrender Null (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>Der abgekĂ¼rzte Name des Tages (e.g. 'Mon'..'Son')</td></" +"tr>\n" +"<tr><th>dddd</th><td>Der ausgeschriebene Name des Tages (z.B. " +"'Montag'..'Sonntag')</td></tr>\n" +"<tr><th>M</th><td>Monat ohne fĂ¼hrende Null (1-12)</td></tr>\n" +"<tr><th>MM</th><td>Monat mit fĂ¼hrender Null (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>Der abgekĂ¼rzte Monatsname (e.g. 'Jan'..'Dez')</td></tr>\n" +"<tr><th>MMMM</th><td>Der ausgeschriebene Monatsname (z.B. " +"'Januar'..'Dezember')</td></tr>\n" +"<tr><th>yy</th><td>Jahr als zweistellige Zahl (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>Jahr als vierstellige Zahl (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>Stunde ohne fĂ¼hrende Null (0..23 oder 1..12 wenn AM/PM " +"Anzeige)</td></tr>\n" +"<tr><th>hh</th><td>Stunde mit fĂ¼hrender Null (00..23 oder 01..12 wenn AM/PM " +"Anzeige)</td></tr>\n" +"<tr><th>m</th><td>Minute ohne fĂ¼hrende Null (0..59)</td></tr>\n" +"<tr><th>mm</th><td>Minute mit fĂ¼hrender Null (00..59)</td></tr>\n" +"<tr><th>s</th><td>Sekunde ohne fĂ¼hrende Null (0..59)</td></tr>\n" +"<tr><th>ss</th><td>Sekunde mit fĂ¼hrender Null (00..59)</td></tr>\n" +"<tr><th>AP</th><td>benutze AM/PM Anzeige</td></tr>\n" +"<tr><th>AP</th><td>benutze am/pm Anzeige</td></tr>\n" +"</table></html>" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "Datumsformat: " + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +msgid "KnowitPreferences" +msgstr "KnowItOptionen" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&Aus Andockleiste entfernen" + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "Notizen" + +#: knowittree.cpp:38 +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>Notizen</h2>Sie können hier ihre Notizen verwalten. Sie können auch " +"Notizen mit der rechten Maustaste hinzufĂ¼gen oder sie mit Drag'n'Drop " +"verwalten." + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "KnowIt" + +#: main.cpp:25 +msgid "KnowIt - notes management utility" +msgstr "KnowIt - Notizverwaltung" + +#: main.cpp:30 +msgid "Document to open" +msgstr "Ă–ffne Dokument" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Michael Buesch,Lars Becker (aktueller Ăœbersetzer)" + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "mbuesch@freenet.de,lars@pandemonium.de" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "KnowIt-Dokument" + +#: notes.cpp:258 +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "Exportiert nach %1 mit KnowIt %2 am %3." + +#: rc.cpp:1 +msgid "&Font" +msgstr "&Schriftart" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "&Absatz" + +#: rc.cpp:3 +#, fuzzy +msgid "&List" +msgstr "&Links" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "&Notizen" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "&Position" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "&Baum" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "&Links" + +#: rc.cpp:12 +msgid "Edit toolbar" +msgstr "Werkzeugleiste bearbeiten" + +#: rc.cpp:13 +msgid "Notes toolbar" +msgstr "Werkzeugleiste" + +#: rc.cpp:14 +msgid "Links toolbar" +msgstr "Links-Werkzeugleiste" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" +"<p>...dass Sie einen Zeilenumbruch mit <tt>Strg+Enter</tt> einfĂ¼gen können?\n" + +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>...dass Sie Listen erzeugen können, indem Sie die Zeile mit <tt>*</tt>\n" +"oder <tt>-<tt> beginnen?\n" + +#: tips.cpp:12 +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...dass KnowIt, wenn es sich in der Kontrollleiste befindet, automatisch " +"beim nächsten KDE-Start gestartet wird?\n" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" +"<p>...dass Sie die Werkzeugleiste unter Optionen->Konfigurieren... " +"abschalten können?\n" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...dass Sie alle Tastenkombinationen unter\n" +"Einstellungen->Kurzbefehle festlegen können?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "<p>...dass Sie dieses Tipp-Fenster im Hilfe-MenĂ¼ aufrufen können?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>...dass Sie die aktuelle Notiz mit <tt>Alt+Up</tt> ,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> und <tt>Alt+End</tt>, auch wenn der Editor aktiv ist, " +"wählen können?\n" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>...dass Sie die aktuelle Notiz mit <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> und <tt>Alt+Shift+End</tt>, auch wenn der Editor " +"aktiv ist, verschieben können?\n" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...dass Sie den EinfĂ¼ge-Modus mit der <tt>EinfĂ¼gen</tt>-Taste, oder \n" +"mit einem Klick in der Statuszeile ändern können?\n" + +#~ msgid "Configure output" +#~ msgstr "Ausgabe konfigurieren" + +#~ msgid "Choose notes" +#~ msgstr "Notizen auswählen" + +#~ msgid "Modify &description..." +#~ msgstr "&Beschreibung bearbeiten..." + +#~ msgid "Add link" +#~ msgstr "Link hinzufĂ¼gen" + +#~ msgid "Modify description" +#~ msgstr "Beschreibung bearbeiten" + +#~ msgid "Enter description for current link:" +#~ msgstr "Beschreibung des Links eingeben:" + +#~ msgid "New subnote" +#~ msgstr "Neue Unternotiz" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..523d39c --- /dev/null +++ b/po/es.po @@ -0,0 +1,964 @@ +# translation of es.po to Español +# translation of knowit.po to Español +# Copyright (C) 2003 Free Software Foundation, Inc. +# Eloy Cuadra <eloihr2@eresmas.com>, 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: es\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2003-11-01 13:10+0100\n" +"Last-Translator: Eloy Cuadra <eloihr2@eresmas.com>\n" +"Language-Team: Español <kde-es@kybs.de>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "KnowitApplication" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +#, fuzzy +msgid "All" +msgstr "&Todo" + +#: knowitchooser.cpp:39 +#, fuzzy +msgid "Current with children" +msgstr "Actual y &sus notas hijas" + +#: knowitchooser.cpp:40 +#, fuzzy +msgid "Current only" +msgstr "&Solo la actual" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "TĂtulo de la nota:" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "KnowitChooser" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "sin nombre" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "Preparado" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "Mueva esta barra para cambiar la disposiciĂ³n de las ventanas." + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Texto de la nota</h2>Añada aquĂ el texto para la nota seleccionada.\n" +"El texto puede tener formato, por ejemplo <b>negrita</b> o <i>cursiva</i>." + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "&Exportar a HTML..." + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "In&formaciĂ³n del documento..." + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "&Negrita" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "&Cursiva" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "S&ubrayado" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "Color del &texto..." + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "&SuperĂndice" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "&SubĂndice" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "&Texto normal" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +#: knowit.cpp:142 +#, fuzzy +msgid "&Numbered list" +msgstr "TĂtulo de la nota:" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "&Ir a nota..." + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "Alinear a la &izquierda" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "Alinear a la &derecha" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "&Justificar" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "&Centrar" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "I&nsertar fecha" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "Insertar &archivo..." + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "&Modo de cĂ³digo fuente" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "&Añadir" + +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "Añadir &subnota" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "&Renombrar" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "E&xpandir todo" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "&Expandir actual" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "C&ontraer todo" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "&Contraer actual" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "Mover arriba" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "Mover abajo" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "Mover un nivel arriba" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "Mover un nivel abajo" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "Mover al principio" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "Mover al final" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "Ordenar" + +#: knowit.cpp:211 +msgid "&Add link..." +msgstr "&Añadir enlace..." + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "&Eliminar enlace" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "Abrir enlace" + +#: knowit.cpp:217 +msgid "Open link with..." +msgstr "Abrir enlace con..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "&Modificar enlace..." + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "&Sugerencia del dĂa" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "Minimizar" + +#: knowit.cpp:236 +msgid "Switch area" +msgstr "Cambiar Ă¡rea" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "Modo de sobreescritura" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "Ir a la nota anterior" + +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "Ir a la nota siguiente" + +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "Ir a la primera nota" + +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "Ir a la Ăºltima nota" + +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "Ir a la primera subnota" + +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "Ir a la nota padre" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "INS" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>No se puede abrir el archivo<br><b>%1</b></qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "Archivo %1 abierto." + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>No se puede guardar el archivo<br><b>%1</b></qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "Archivo %1 guardado." + +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>El archivo <b>%1</b>\n" +"ha sido modificado. ¿Desea guardarlo?</qt>" + +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>El archivo <b>%1</b>\n" +"ha sido modificado. ¿Desea guardarlo?</qt>" + +#: knowit.cpp:463 +msgid "untitled.kno" +msgstr "sin nombre.kno" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>El texto:<br><b>%1</b><br>no ha sido encontrado.</qt>" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "Añadir nota" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "TĂtulo de la nota:" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "Debe seleccionar una nota antes de añadir una subnota." + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "Añadir subnota" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "" +"<qt>¿EstĂ¡ seguro de que quiere borrar la nota<br><b>%1</b><br> y sus " +"subnotas?</qt>" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "<qt>¿EstĂ¡ seguro de que quiere borrar la nota<br><b>%1</b>?</qt>" + +#: knowit.cpp:838 knowit.cpp:875 +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|Archivos de KnowIt (*.kno)\n" +"*|Todos los archivos" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "Abrir archivo..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "Guardar como..." + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>El archivo<br><b>%1</b><br>ya existe. ¿Desea sobreescribirlo?</qt>" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>Ruta del documento: %2<br>NĂºmero de notas: %3</qt>" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|Archivos HTML (*.html)\n" +"*|Todos los archivos" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "Exportar a HTML" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "Ir a" + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "Ir a la pĂ¡gina con el este tĂtulo" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|Todos los archivos" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "Insertar archivo..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "SOBR" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" +"Acaba de añadir su primer enlace. Por favor, recuerde que en el documento de " +"KnowIt sĂ³lo se guardan los enlaces, pero no los archivos enlazados. Si mueve " +"su documento a otro ordenador, es muy probable que los enlaces a los " +"archivos locales no funcionen." + +#: knowit.cpp:1273 +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "<qt>¿EstĂ¡ seguro de que quiere eliminar el enlace<br><b>%1</b>?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +msgid "KnowitEdit" +msgstr "KnowitEdit" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "Modificar enlace" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "Elemento referido:" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "Archivo o URL" + +#: knowitlink.cpp:43 +msgid "KnowIt note" +msgstr "Nota de KnowIt" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "DescripciĂ³n del enlace:" + +#: knowitlink.cpp:90 +msgid "Choose link..." +msgstr "Elegir enlace..." + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "KnowitLinkDialog" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +#, fuzzy +msgid "KnowitLinks" +msgstr "KnowitLinkDialog" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "KnowIt" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "Nueva nota" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "Preferencias de KnowIt" + +#: knowitpref.cpp:138 +msgid "General" +msgstr "General" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "Opciones generales" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "Anclar en la &bandeja del sistema" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "&Abrir el Ăºltimo archivo usado durante el inicio" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "Guardar automĂ¡ticamente:" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "cada " + +#: knowitpref.cpp:149 +msgid " min." +msgstr " min." + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "Nunca" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"El archivo actual serĂ¡ guardado automĂ¡ticamente tras el intervalo " +"especificado. Seleccione <i>nunca</i> para desactivar esta caracterĂstica." + +#: knowitpref.cpp:154 +msgid "Automatically save file on e&xit" +msgstr "&Guardar automĂ¡ticamente al salir" + +#: knowitpref.cpp:156 +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" +"El archivo actual serĂ¡ guardado automĂ¡ticamente al salir sin pedir " +"confirmaciĂ³n." + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "&Crear copias de seguridad" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "" +"Crea una copia de seguridad del documento actual antes de que sea guardado." + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "&Permitir mĂºltiples instancias de KnowIt" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" +"Si esta opciĂ³n estĂ¡ desactivada, solo se permitirĂ¡ una instancia de KnowIt. " +"Si existe una instancia en ejecuciĂ³n, serĂ¡ activada de forma automĂ¡tica en " +"lugar de ejecutar una nueva." + +#: knowitpref.cpp:170 +msgid "Interface" +msgstr "Interfaz" + +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "Opciones del interfaz" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "Dividir la ventana &horizontalmente" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"Si esta opciĂ³n estĂ¡ marcada, el Ă¡rbol de notas serĂ¡ mostrado a la izquierda " +"y el editor a la derecha (esta es la opciĂ³n predeterminada).<br>En caso " +"contrario, el Ă¡rbol de notas serĂ¡ mostrado en la parte superior y el editor " +"en la inferior." + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "Nombre por defecto para las notas:" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" +"Nombre por defecto para las nuevas notas. EstarĂ¡ seleccionado por omisiĂ³n, " +"de modo que si copia texto a menudo usando la selecciĂ³n del ratĂ³n, deberĂa " +"considerar establecer el nombre por defecto a ninguno." + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "Formato del enlace:" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "DescripciĂ³n (enlace)" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "Enlace (descripciĂ³n)" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "Solo enlace" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "Solo descripciĂ³n" + +#: knowitpref.cpp:197 +msgid "Alternate colors in tree" +msgstr "Alternar colores en el Ă¡rbol" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "Contraer automĂ¡ticamente las demĂ¡s notas" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" +"Si esta opciĂ³n estĂ¡ seleccionada, solo la rama actual serĂ¡ visible, y el " +"resto de las notas se contraerĂ¡ de forma automĂ¡tica." + +#: knowitpref.cpp:207 +msgid "Editor" +msgstr "Editor" + +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "Opciones del editor" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "Usar &ajuste de lĂneas" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "La tecla 'Intro' finaliza la lĂnea actual, no el pĂ¡rrafo" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "La tecla 'Tab' en el editor cambia el foco" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "&Usar colores personalizados" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "Usar fuente personalizada:" + +#: knowitpref.cpp:242 +msgid "Templates" +msgstr "Plantillas" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "Preferencias de las plantillas" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" +"<html>\n" +"<p>Se pueden usar estas expresiones:</p>\n" +"<table>\n" +"<tr><th>d</th><td>el nĂºmero del dĂa sin el cero inicial (1-31)</td></tr>\n" +"<tr><th>dd</th><td>el nĂºmero del dĂa con el cero inicial (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>el nombre del dĂa abreviado ('Lun'... 'Dom')</td></tr>\n" +"<tr><th>dddd</th><td>el nombre del dĂa completo ('Lunes'... 'Domingo')</td></" +"tr>\n" +"<tr><th>M</th><td>el nĂºmero del mes sin el cero inicial (1-12)</td></tr>\n" +"<tr><th>MM</th><td>el nĂºmero del mes con el cero inicial (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>el nombre del mes abreviado ('Ene'... 'Dic')</td></tr>\n" +"<tr><th>MMMM</th><td>el nombre del mes completo ('Enero'... 'Diciembre')</" +"td></tr>\n" +"<tr><th>yy</th><td>las dos Ăºltimas cifras del año (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>el año completo (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>las horas sin el cero inicial (0-23 Ă³ 1-12 si se muestra " +"AM/PM)</td></tr>\n" +"<tr><th>hh</th><td>las horas con el cero inicial (00-23 Ă³ 01-12 si se " +"muestra AM/PM)</td></tr>\n" +"<tr><th>m</th><td>los minutos sin el cero inicial (0-59)</td></tr>\n" +"<tr><th>mm</th><td>los minutos con el cero inicial (00-59)</td></tr>\n" +"<tr><th>s</th><td>los segundos sin el cero inicial (0-59)</td></tr>\n" +"<tr><th>ss</th><td>los segundos con el cero inicial (00-59)</td></tr>\n" +"<tr><th>AP</th><td>mostrar AM/PM</td></tr>\n" +"<tr><th>ap</th><td>mostrar am/pm</td></tr>\n" +"</table></html>" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "Formato de fechas: " + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +msgid "KnowitPreferences" +msgstr "KnowitPreferences" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&Quitar de la bandeja del sistema" + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "Notas" + +#: knowittree.cpp:38 +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>Ărbol de notas</h2>AquĂ puede navegar por el Ă¡rbol de notas. TambiĂ©n " +"puede añadir notas usando el menĂº contextual, o reorganizarlas usando " +"arrastrar y soltar." + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "KnowIt" + +#: main.cpp:25 +msgid "KnowIt - notes management utility" +msgstr "KnowIt - utilidad de administraciĂ³n de notas" + +#: main.cpp:30 +msgid "Document to open" +msgstr "Documento a abrir" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Eloy Cuadra" + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "eloihr2@eresmas.com" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "Documento de KnowIt" + +#: notes.cpp:258 +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "Exportado desde %1 por KnowIt %2, %3." + +#: rc.cpp:1 +msgid "&Font" +msgstr "&Fuente" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "PĂ¡&rrafo" + +#: rc.cpp:3 +#, fuzzy +msgid "&List" +msgstr "&Enlaces" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "&Notas" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "&PosiciĂ³n" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "Ăr&bol" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "&Enlaces" + +#: rc.cpp:12 +msgid "Edit toolbar" +msgstr "Configurar barra de herramientas" + +#: rc.cpp:13 +msgid "Notes toolbar" +msgstr "Barra de herramientas para notas" + +#: rc.cpp:14 +msgid "Links toolbar" +msgstr "Barra de herramientas para enlaces" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" +"<p>...que puede insertar un salto de lĂnea usando <tt>Control+Intro</tt>?\n" + +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>...que puede crear una lista comenzando las lĂneas con <tt>*</tt> \n" +"o con <tt>-<tt>?\n" + +#: tips.cpp:12 +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...que si KnowIt estĂ¡ anclado en la bandeja del sistema al salir,\n" +"se abrirĂ¡ de nuevo y seguirĂ¡ anclado la prĂ³xima vez que inicie KDE?\n" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" +"<p>...que puede desactivar la barra de herramientas usando Opciones-" +">Configurar KnowIt?\n" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...que puede configurar todos los accesos rĂ¡pidos usando\n" +"Opciones->Configurar accesos rĂ¡pidos?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "" +"<p>...que siempre puede invocar la ventana de Sugerencias usando el menĂº " +"Ayuda?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>...que puede cambiar la nota actual usando <tt>Alt+Arriba</tt>,\n" +"<tt>Alt+Abajo</tt>, <tt>Alt+Izquierda</tt>, <tt>Alt+Derecha</tt>,\n" +"<tt>Alt+Inicio</tt> y <tt>Alt+Fin</tt>, incluso si el editor estĂ¡ activo?\n" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>...que puede mover la nota actual usando <tt>Alt+MayĂºsculas+Arriba</tt>,\n" +"<tt>Alt+MayĂºsculas+Abajo</tt>, <tt>Alt+MayĂºsculas+Izquierda</tt>,\n" +" <tt>Alt+MayĂºsculas+Derecha</tt>, <tt>Alt+MayĂºsculas+Inicio</tt> y \n" +"<tt>Alt+MayĂºsculas+Fin</tt>, incluso si el editor estĂ¡ activo?\n" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...que puede cambiar el modo de inserciĂ³n de insertar a sobreescribir\n" +"pulsando la tecla <tt>Insert</tt> o haciendo clic en su estado en la barra\n" +"de estado?\n" + +#~ msgid "Configure output" +#~ msgstr "Configurar salida" + +#~ msgid "Choose notes" +#~ msgstr "Elegir notas" + +#~ msgid "" +#~ "*.kno|Knowit files (*.kno)\n" +#~ "*|All files" +#~ msgstr "" +#~ "*.kno|Archivos de KnowIt (*.kno)\n" +#~ "*|Todos los archivos" + +#, fuzzy +#~ msgid "Add link" +#~ msgstr "Añadir nota" + +#~ msgid "New subnote" +#~ msgstr "Nueva subnota" + +#~ msgid "Add &subnote..." +#~ msgstr "Añadir &subnota..." + +#~ msgid "&Tutorial" +#~ msgstr "&Tutorial" + +#~ msgid "Cannot move this note." +#~ msgstr "No se puede mover esta nota." + +#~ msgid "Add note from list" +#~ msgstr "Añadir nota de la lista" + +#~ msgid "Add subnote in notes list" +#~ msgstr "Añadir subnota en la lista de notas" + +#~ msgid "Delete subnote from notes list" +#~ msgstr "Borrar subnota de la lista de notas" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..40c61f1 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,941 @@ +# translation of fr.po to français +# translation of fr-new.po to français +# Copyright (C) 2003 Free Software Foundation, Inc. +# StĂ©phane <s.nicolas@videotron.ca>, 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: fr\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2003-01-07 12:31-0500\n" +"Last-Translator: StĂ©phane <s.nicolas@videotron.ca>\n" +"Language-Team: français <fr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +msgid "All" +msgstr "" + +#: knowitchooser.cpp:39 +msgid "Current with children" +msgstr "" + +#: knowitchooser.cpp:40 +msgid "Current only" +msgstr "" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "Titre de la note:" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +#, fuzzy +msgid "KnowitChooser" +msgstr "Knowit" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "sans titre" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "PrĂªt" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "DĂ©placer le pour modifier l'arborescence" + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Note texte</h2> Ajouter du texte Ă la note sĂ©lectionnĂ©e.\n" +"Le texte peut Ăªtre formatĂ©, par exemple: <b>en gras</b> ou <i>en italique</" +"i>." + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "&Exporter en HTML" + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "&Information sur le document" + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "&Gras" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "&Italique" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "&SoulignĂ©" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "Couleur du &texte" + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "" + +#: knowit.cpp:138 +#, fuzzy +msgid "&Normal text" +msgstr "&Tutoriel" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +#: knowit.cpp:142 +#, fuzzy +msgid "&Numbered list" +msgstr "Titre de la note:" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "&Aller Ă la note" + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "AlignĂ© Ă gauche" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "AlignĂ© Ă droite " + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "&JustifiĂ©" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "&CentrĂ©" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "InsĂ©rer une &date" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "InsĂ©rer un &fichier" + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "" + +#: knowit.cpp:181 +#, fuzzy +msgid "Add &subnote" +msgstr "Ajouter une note fille" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "&Renommer" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "&DĂ©ployer tout" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "&DĂ©ployer le noeud courant" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "&Contracter tout" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "&Contracter le noeud courant" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "" + +#: knowit.cpp:211 +#, fuzzy +msgid "&Add link..." +msgstr "&Ajouter une note..." + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "" + +#: knowit.cpp:217 +#, fuzzy +msgid "Open link with..." +msgstr "Ouvrir le fichier..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "" + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "As&tuce du jour" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "" + +#: knowit.cpp:236 +msgid "Switch area" +msgstr "Changer de zone" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "" + +#: knowit.cpp:242 +#, fuzzy +msgid "Go to next note" +msgstr "&Aller Ă la note" + +#: knowit.cpp:244 +#, fuzzy +msgid "Go to first note" +msgstr "DĂ©placer la note &fille" + +#: knowit.cpp:246 +#, fuzzy +msgid "Go to last note" +msgstr "&Aller Ă la note" + +#: knowit.cpp:248 +#, fuzzy +msgid "Go to first subnote" +msgstr "DĂ©placer la note &fille" + +#: knowit.cpp:250 +#, fuzzy +msgid "Go to parent note" +msgstr "Nouvelle note" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>Impossible d'ouvrir le fichier<br><b>%1</b></qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "Fichier %1 ouvert." + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>Impossible d'enregistrer le fichier<br><b>%1</b></qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "Fichier %1 enregistrĂ©." + +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>Le fichier <b>%1</b>\n" +"a Ă©tĂ© modifiĂ©. Voulez-vous l'enregistrer ?</qt>" + +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>Le fichier <b>%1</b>\n" +"a Ă©tĂ© modifiĂ©. Voulez-vous l'enregistrer ?</qt>" + +#: knowit.cpp:463 +#, fuzzy +msgid "untitled.kno" +msgstr "sans titre" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt> Le texte cherchĂ© : <br><b>%1</b><br>n'a pas Ă©tĂ© trouvĂ©.</qt>" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "Ajouter une note" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "Titre de la note:" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "Vous devez sĂ©lectionner une note avant d'ajouter une note fille" + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "Ajouter une note fille" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "" +"<qt> Ătes-vous certainE de vouloir supprimer la note <br><b>%1</b><br> et " +"toutes ses notes filles ?</qt>" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "" +"<qt> Ătes-vous certainE de vouloir supprimer la note<br><b>%1</b>?</qt>" + +#: knowit.cpp:838 knowit.cpp:875 +#, fuzzy +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|Fichiers KnowIt (*.kno)\n" +"*|Tous les types de fichiers" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "Ouvrir le fichier..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "" + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "" +"<qt>Le fichier<br><b>%1</b><br>existe dĂ©jĂ . Voulez-vous l'Ă©craser?</qt>" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>Chemin du document: %2<br>Nombre de notes: %3</qt>" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|Fichiers HTML (*.html)\n" +"*|Tous les types de fichiers" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "Exporter en HTML" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "Aller Ă " + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "Aller Ă la page ayant le titre suivant" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|Tous les types des fichiers" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "InsĂ©rer fichier..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" + +#: knowit.cpp:1273 +#, fuzzy +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "" +"<qt> Ătes-vous certainE de vouloir supprimer la note<br><b>%1</b>?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +#, fuzzy +msgid "KnowitEdit" +msgstr "Knowit" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "" + +#: knowitlink.cpp:43 +#, fuzzy +msgid "KnowIt note" +msgstr "Knowit" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "" + +#: knowitlink.cpp:90 +#, fuzzy +msgid "Choose link..." +msgstr "Nouvelle note" + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +#, fuzzy +msgid "KnowitLinks" +msgstr "Knowit" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "Knowit" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "Nouvelle note" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "KnowIt PrĂ©fĂ©rences" + +#: knowitpref.cpp:138 +#, fuzzy +msgid "General" +msgstr "&GĂ©nĂ©ral" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "Options gĂ©nĂ©rales" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "&Dock in System tray" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "Ouvrir le &dernier fichier au dĂ©marrage" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "" + +#: knowitpref.cpp:149 +msgid " min." +msgstr "" + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" + +#: knowitpref.cpp:154 +msgid "Automatically save file on e&xit" +msgstr "" + +#: knowitpref.cpp:156 +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "" + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" + +#: knowitpref.cpp:170 +#, fuzzy +msgid "Interface" +msgstr "Options gĂ©nĂ©rales" + +#: knowitpref.cpp:170 +#, fuzzy +msgid "Interface options" +msgstr "Options gĂ©nĂ©rales" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "" + +#: knowitpref.cpp:197 +msgid "Alternate colors in tree" +msgstr "" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" + +#: knowitpref.cpp:207 +#, fuzzy +msgid "Editor" +msgstr "Affiche la barre d'ou&til" + +#: knowitpref.cpp:207 +#, fuzzy +msgid "Editor options" +msgstr "Options gĂ©nĂ©rales" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "" + +#: knowitpref.cpp:242 +msgid "Templates" +msgstr "" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "" + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +#, fuzzy +msgid "KnowitPreferences" +msgstr "KnowIt PrĂ©fĂ©rences" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&Undock " + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "Notes" + +#: knowittree.cpp:38 +#, fuzzy +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>HiĂ©rarchie des notes</h2> Vous pouvez, ici, parcourir l'arborescence des " +"notes. Vous pouvez aussi ajouter des notes en utilisant le bouton droit de " +"la souris ou rĂ©organisez les notes en faisant du \"glisser-dĂ©poser\" (drag-" +"and-drop)." + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "Knowit" + +#: main.cpp:25 +#, fuzzy +msgid "KnowIt - notes management utility" +msgstr "Knowit - gestionnaire de notes" + +#: main.cpp:30 +msgid "Document to open" +msgstr "Document Ă ouvrir" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "StĂ©phane NICOLAS " + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "s.nicolas@videotron.ca" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "KnowIt document" + +#: notes.cpp:258 +#, fuzzy +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "ExportĂ© depuis %1 par Knowit %2, %3." + +#: rc.cpp:1 +msgid "&Font" +msgstr "" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "&Paragraphe" + +#: rc.cpp:3 +msgid "&List" +msgstr "" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "&Notes" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "&Arborescence" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "" + +#: rc.cpp:12 +#, fuzzy +msgid "Edit toolbar" +msgstr "Affiche la barre d'ou&til" + +#: rc.cpp:13 +#, fuzzy +msgid "Notes toolbar" +msgstr "Affiche la barre d'ou&til" + +#: rc.cpp:14 +#, fuzzy +msgid "Links toolbar" +msgstr "Affiche la barre d'ou&til" + +#: tips.cpp:3 +#, fuzzy +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" +"<p>...que vous pouvez insĂ©rer un sĂ©prateur de ligne avec <tt>Shift+Enter</" +"tt>?\n" + +#: tips.cpp:7 +#, fuzzy +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>...que vous pouvez insĂ©rer un sĂ©prateur de ligne avec <tt>Shift+Enter</" +"tt>?\n" + +#: tips.cpp:12 +#, fuzzy +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...que si Knowit est \"docked\" en quittant KDE, il sera Ă nouveau " +"\"docked\" au prochain dĂ©marrage de KDE?\n" + +#: tips.cpp:17 +#, fuzzy +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" +"<p>...que vous pouvez insĂ©rer un sĂ©prateur de ligne avec <tt>Shift+Enter</" +"tt>?\n" + +#: tips.cpp:21 +#, fuzzy +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...que vous pouvez insĂ©rer un sĂ©prateur de ligne avec <tt>Shift+Enter</" +"tt>?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "" +"<p>... que vous pouvez toujours invoquer la fenĂªtre des astuces du jour de " +"le menu d'Aide?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" + +#, fuzzy +#~ msgid "Choose notes" +#~ msgstr "Nouvelle note" + +#, fuzzy +#~ msgid "" +#~ "*.kno|Knowit files (*.kno)\n" +#~ "*|All files" +#~ msgstr "" +#~ "*.kno|Fichiers KnowIt (*.kno)\n" +#~ "*|Tous les types de fichiers" + +#, fuzzy +#~ msgid "Add link" +#~ msgstr "Ajouter une note" + +#~ msgid "New subnote" +#~ msgstr "Nouvelle note fille" + +#~ msgid "Add &subnote..." +#~ msgstr "&Ajouter une note fille..." + +#~ msgid "&Tutorial" +#~ msgstr "&Tutoriel" + +#~ msgid "Cannot move this note." +#~ msgstr "Impossible de dĂ©placer cette note." + +#~ msgid "Add note from list" +#~ msgstr "Ajoute la note depuis la liste" + +#~ msgid "Add subnote in notes list" +#~ msgstr "Ajouter une note fille dans la liste des notes" + +#~ msgid "Delete subnote from notes list" +#~ msgstr "Effacer la note fille depuis la liste des notes" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..9176504 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,980 @@ +# KnowIt - hungarian +# sessionID <sessionid@mailbox.hu>, 2003 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: sessionID <sessionid@mailbox.hu>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: ISO-8859-2\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +#, fuzzy +msgid "All" +msgstr "&Mind" + +#: knowitchooser.cpp:39 +#, fuzzy +msgid "Current with children" +msgstr "Aktuális és &gyerekek" + +#: knowitchooser.cpp:40 +#, fuzzy +msgid "Current only" +msgstr "&Csak az aktuális" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "Jegyzet &címe:" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "Knowit választó" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "névtelen" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "Kész" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "Mozgasd a fa módosításához/a külalak megváltoztatásához" + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Jegyzet szövege</h2>Itt add meg a kiválasztott jegyzet szövegét.\n" +"A szöveg foprmázható, például: <b>vastag</b> vagy <i>dơlt</i>." + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "&Exportálás HTML-be..." + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "Dokumentum &információ..." + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "&Vastag" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "&Dơlt" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "&Aláhúzott" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "Szöveg &színe..." + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "&Felsơ index" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "&Alsó index" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "&Normál szöveg" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +#: knowit.cpp:142 +#, fuzzy +msgid "&Numbered list" +msgstr "Jegyzet &címe:" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "Jegyzethez &ugrás..." + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "&Balra igazít" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "&Jobbra igazít" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "&Sorkizárt" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "&Középre" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "&Dátum beszúrása" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "&File beszúrása" + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "&Nyers szöveg mód" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "&Hozzáad" + +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "&Al-jegyzet beszúrása" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "Át&nevezés" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "Mindet &kinyit" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "Aktuálisat k&inyit" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "Mindet &bezár" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "Aktuálisat b&ezár" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "Felfelé mozgat" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "Lefelé mozgat" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "Egy szintet fel" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "Egy szintet le" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "Elejére mozgat" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "Végére mozgat" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "Rendezés" + +#: knowit.cpp:211 +#, fuzzy +msgid "&Add link..." +msgstr "&Jegyzet hozzáadása..." + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "Link eltávolítása" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "Link megnyitása" + +#: knowit.cpp:217 +#, fuzzy +msgid "Open link with..." +msgstr "File &megnyitása" + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "Link &módosítása" + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "A nap &tippje" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "Minimalizál" + +#: knowit.cpp:236 +msgid "Switch area" +msgstr "Terület kapcsolása" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "Felülírásos mód" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "Elơzơ jegyzetre ugrás" + +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "Következơ jegyzethez ugrás..." + +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "Elsơ jegyzethez &ugrás..." + +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "Utolsó jegyzethez &ugrás..." + +#: knowit.cpp:248 +#, fuzzy +msgid "Go to first subnote" +msgstr "Elsơ al-jegyzethez ugrás" + +#: knowit.cpp:250 +#, fuzzy +msgid "Go to parent note" +msgstr "Szülơ jegyzethez ugrás" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "BEILLESZT" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>Nem tudom megnyitni a <br><b>%1</b> filet</qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "A(z) %1 file megnyitva" + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>Nem tudom elmenteni a(z) <br><b>%1</b> filet</qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "A(z) %1 file elmentve" + +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>A(z) <b>%1</b> file\n" +"megváltozott. Elmented?</qt>" + +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>A(z) <b>%1</b> file\n" +"megváltozott. Elmented?</qt>" + +#: knowit.cpp:463 +#, fuzzy +msgid "untitled.kno" +msgstr "névtelen" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>A keresett szöveget:<br><b>%1</b><br>nem találtam.</qt>" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "Jegyzet &hozzáadása" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "Jegyzet &címe:" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "Al-jegyzet beszúrása elơtt válassz ki egy jegyzetet." + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "&Al-jegyzet beszúrása" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "<qt>Biztosan törlöd a<br><b>%1</b><br>jegyzetet és al-jegyzeteit?</qt>" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "<qt>Biztosan törlöd a<br><b>%1</b>jegyzetet?</qt>" + +#: knowit.cpp:838 knowit.cpp:875 +#, fuzzy +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|KnowIt fileok (*.kno)\n" +"*|Minden file" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "File &megnyitása" + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "Mentés mint..." + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>A<br><b>%1</b><br> file már létezik. Felülírod?</qt>" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>Dokumentum helye: %2<br>Jegyzetek száma: %3</qt>" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|HTML fileok (*.html)\n" +"*|Minden file" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "Exportálás HTML-be" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "Ugrás" + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "Ugrás az adott címû oldalra" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|Minden file" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "File beszúrása" + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "FELÜLÍR" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" + +#: knowit.cpp:1273 +#, fuzzy +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "<qt>Biztosan törlöd a<br><b>%1</b>jegyzetet?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +#, fuzzy +msgid "KnowitEdit" +msgstr "Knowit" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "Link módosítása" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "Hivatkozott elemek:" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "File vagy URL" + +#: knowitlink.cpp:43 +#, fuzzy +msgid "KnowIt note" +msgstr "Knowit jegyzet" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "Link leírása:" + +#: knowitlink.cpp:90 +#, fuzzy +msgid "Choose link..." +msgstr "Válassza ki a jegyzeteket" + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +#, fuzzy +msgid "KnowitLinks" +msgstr "Knowit" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "Knowit" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "&Új jegyzet" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "KnowIt beállítások" + +#: knowitpref.cpp:138 +#, fuzzy +msgid "General" +msgstr "Á<alános" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "Általános beállítások" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "&Jelenjen meg a tálcán" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "&Legutóbbi file megnyitása induláskor" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "Automatikus mentés:" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "minden " + +#: knowitpref.cpp:149 +msgid " min." +msgstr " perc " + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "Soha" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"Az aktuális file automatikusan mentésre kerül a megadott idơ után. Válaszd a " +"<i>soha</i> pontot az automatikus mentés kikapcsolásához." + +#: knowitpref.cpp:154 +#, fuzzy +msgid "Automatically save file on e&xit" +msgstr "Automatikusan bezárja a többi jegyzetet" + +#: knowitpref.cpp:156 +#, fuzzy +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" +"Az aktuális file automatikusan mentésre kerül a megadott idơ után. Válaszd a " +"<i>soha</i> pontot az automatikus mentés kikapcsolásához." + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "&Biztonsági másolat készítése" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "Mentés elơtt egy biztonsági másolat készül a dokumentumról." + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "Több KnowIt példány engedélyezése" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" +"Ha ez az opció ki van kapcsolva, akkor csak egy példányban futhat a KnowIt." +"Ha már fut egy, akkor az válik aktívvá, és nem indul el egy újabb." + +#: knowitpref.cpp:170 +#, fuzzy +msgid "Interface" +msgstr "&Felület" + +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "Felület beállítások" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "Ablak felosztása &viszintesen" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"Ha ezt az opciót választod, akkor a jegyzet-fa a bal, a szerkesztơ pedig a " +"jobb oldalon jelenik meg (ez az alapértelmezett).<br>Egyébként a jegyzet-fa " +"felülre, a szerkesztơ pedig alulra kerül." + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "Alapértelmezett jegyzet név:" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" +"A jegyzetek alapértelmezett neve. Automatikusan kimásolódik, tehát ha " +"gyakran másolsz egér kijelöléssel, akkor érdemes üresen hagyni." + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "Link formátuma:" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "Leírás (link)" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "Link (leírás)" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "Csak link" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "Csak leírás" + +#: knowitpref.cpp:197 +#, fuzzy +msgid "Alternate colors in tree" +msgstr "A lista színei" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "Automatikusan bezárja a többi jegyzetet" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" +"ha ezt bekapcsolod, akkor csak az aktuális jegyzet lesz látható, a jegyzet-" +"fa többi része bezáródik." + +#: knowitpref.cpp:207 +#, fuzzy +msgid "Editor" +msgstr "&Szerkesztơ" + +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "Szerkesztơ beállításai" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "&Sortörés használata" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "Az 'enter' csak a sort zárja le, nem az egész bekezdést." + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "A szerkesztơben a 'tab' fókuszt vált" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "Saját &színek használata" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "Saját betûkészlet használata:" + +#: knowitpref.cpp:242 +#, fuzzy +msgid "Templates" +msgstr "&Minták" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "Minták beállítása" + +#: knowitpref.cpp:245 +#, fuzzy +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" +"<html>\n" +"<p>Az alábbi kifejezéseket használhatod: </p>\n" +"<table>\n" +"<tr><th>d</th><td>nap, kezdơ nulla nélkül (1-31)</td></tr>\n" +"<tr><th>dd</th><td>nap, kezdơ nullával (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>a nap rövidített neve (e.g. 'Mon'..'Sun')</td></tr>\n" +"<tr><th>dddd</th><td>a nap teljes neve (e.g. 'Monday'..'Sunday')</td></tr>\n" +"<tr><th>M</th><td>hónap, kezdơ nulla nélkül (1-12)</td></tr>\n" +"<tr><th>MM</th><td>hónap, kezdơ nullával (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>a hónap rövidített neve (e.g. 'Jan'..'Dec')</td></tr>\n" +"<tr><th>MMMM</th><td>a hónap teljes neve (e.g. 'January'..'December')</td></" +"tr>\n" +"<tr><th>yy</th><td>év, két számjegyû (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>év, négy számjegyû (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>óra, kezdơ nulla nélkül (0..23 or 1..12 if AM/PM display)</" +"td></tr>\n" +"<tr><th>hh</th><td>óra, kezdơ nullával (00..23 or 01..12 if AM/PM display)</" +"td></tr>\n" +"<tr><th>m</th><td>perc, kezdơ nulla nélkül (0..59)</td></tr>\n" +"<tr><th>mm</th><td>perc, kezdơ nullával (00..59)</td></tr>\n" +"<tr><th>s</th><td>másodperc, kezdơ nulla nélkül (0..59)</td></tr>\n" +"<tr><th>ss</th><td>másodperc, kezdơ nullával (00..59)</td></tr>\n" +"<tr><th>AP</th><td>de/du megjelenítése</td></tr>\n" +"<tr><th>AP</th><td>de/du megjelenítése</td></tr>\n" +"</table></html>" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "Dátum formátuma: " + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +#, fuzzy +msgid "KnowitPreferences" +msgstr "KnowIt beállítások" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&Ne jelenjen meg a tálcán" + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "Jegyzetek" + +#: knowittree.cpp:38 +#, fuzzy +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>Jegyzet hierarchia</h2>Itt böngészheted a jegyzet-fát. Új " +"jegyzeteketilleszthetsz be a jobb-klikk menüvel, vagy átrendezheted ơket " +"'drag&drop'-al" + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "Knowit" + +#: main.cpp:25 +#, fuzzy +msgid "KnowIt - notes management utility" +msgstr "KnowIt - jegyzet kezelơ alkalmazás" + +#: main.cpp:30 +msgid "Document to open" +msgstr "Megnyitandó dokumentum" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "" + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "KnowIt dokumentum" + +#: notes.cpp:258 +#, fuzzy +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "Exportálva a %1 fileból, KnowIt %2, %3" + +#: rc.cpp:1 +#, fuzzy +msgid "&Font" +msgstr "&Betûtípus" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "&Mondat" + +#: rc.cpp:3 +#, fuzzy +msgid "&List" +msgstr "&Linkek" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "&Jegyzetek" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "&Pozíció" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "&Fa" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "&Linkek" + +#: rc.cpp:12 +#, fuzzy +msgid "Edit toolbar" +msgstr "&Eszköztár mutatása" + +#: rc.cpp:13 +#, fuzzy +msgid "Notes toolbar" +msgstr "&Eszköztár mutatása" + +#: rc.cpp:14 +#, fuzzy +msgid "Links toolbar" +msgstr "&Eszköztár mutatása" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" +"<p>...hogy sortöréseket tudsz beilleszteni <tt>Control+Enter</tt> " +"használatával?\n" + +#: tips.cpp:7 +#, fuzzy +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>...hogy felsorolást készíthetsz, ha a sorokat <tt>*</tt>-al vagy <tt>-</" +"tt>-al kezded?\n" + +#: tips.cpp:12 +#, fuzzy +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...hogy ha a KnowIt kilépéskor a tálcán van, akkor újraindul\n" +"és megjelenik a tálcán a KDE következơ indításakor?\n" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" +"<p>...hogy kikapcsolhatod az eszköztárat a Opciók->Beállítások menüben?\n" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...hogy minden gyorsbillentyût beállíthatsz az Opciók->Gyorsbillentyûk " +"menüben?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "<p>...hogy bármikor elơhívhatod a Tipp ablakot a Segítség menübơl?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>...hogy a jegyzetek között az <tt>Alt+fel</tt>,\n" +"<tt>Alt+le</tt>, <tt>Alt+balra</tt>, <tt>Alt+jobbra</tt>,\n" +"<tt>Alt+Home</tt> és <tt>Alt+End</tt> gombokkal is mozoghatsz, még akkor is, " +"ha a szerkesztơ aktív?\n" + +#: tips.cpp:36 +#, fuzzy +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>...hogy a jegyzetet az <tt>Alt+Shift+fel</tt>,\n" +"<tt>Alt+Shift+le</tt>, <tt>Alt+Shift+balra</tt>, <tt>Alt+Shift+jobbra</tt>,\n" +"<tt>Alt+Shift+Home</tt> és <tt>Alt+Shift+End</tt> gombokkal is mozgathatos, " +"még akkor is, ha a szerkesztơ aktív?\n" + +#: tips.cpp:42 +#, fuzzy +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...hogy a beillesztés és átírás módok között az <tt>Insert</tt> gombbal, " +"vagy a státusz sor feliratára kattintva válthatsz?\n" + +#~ msgid "Configure output" +#~ msgstr "Kimenet beállítása" + +#~ msgid "Choose notes" +#~ msgstr "Válassza ki a jegyzeteket" + +#, fuzzy +#~ msgid "" +#~ "*.kno|Knowit files (*.kno)\n" +#~ "*|All files" +#~ msgstr "" +#~ "*.kno|KnowIt fileok (*.kno)\n" +#~ "*|Minden file" + +#, fuzzy +#~ msgid "Add link" +#~ msgstr "Jegyzet &hozzáadása" + +#~ msgid "New subnote" +#~ msgstr "Új a&l-jegyzet" + +#~ msgid "Add note from list" +#~ msgstr "Jegyzet hozzáadása a listából" + +#~ msgid "Add subnote in notes list" +#~ msgstr "Al-jegyzet hozzáadása a jegyzet listában" + +#~ msgid "Delete subnote from notes list" +#~ msgstr "Al-jegyzet törlése a jegyzet listában" + +#~ msgid "Add &subnote..." +#~ msgstr "&Al-jegyzet hozzáadása..." + +#~ msgid "&Tutorial" +#~ msgstr "&Ismertetơ" + +#~ msgid "Cannot move this note." +#~ msgstr "A jegyzet nem mozgatható" diff --git a/po/knowit.pot b/po/knowit.pot new file mode 100644 index 0000000..62927f4 --- /dev/null +++ b/po/knowit.pot @@ -0,0 +1,833 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +msgid "All" +msgstr "" + +#: knowitchooser.cpp:39 +msgid "Current with children" +msgstr "" + +#: knowitchooser.cpp:40 +msgid "Current only" +msgstr "" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +#: knowitchooser.cpp:49 +msgid "Numbered titles" +msgstr "" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "" + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "" + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "" + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "" + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +#: knowit.cpp:142 +msgid "&Numbered list" +msgstr "" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "" + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "" + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "" + +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "" + +#: knowit.cpp:211 +msgid "&Add link..." +msgstr "" + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "" + +#: knowit.cpp:217 +msgid "Open link with..." +msgstr "" + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "" + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "" + +#: knowit.cpp:236 +msgid "Switch area" +msgstr "" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "" + +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "" + +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "" + +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "" + +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "" + +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "" + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "" + +#: knowit.cpp:441 +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" + +#: knowit.cpp:446 +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" + +#: knowit.cpp:463 +msgid "untitled.kno" +msgstr "" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "" + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "" + +#: knowit.cpp:838 knowit.cpp:875 +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "" + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "" + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "" + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "" + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" + +#: knowit.cpp:1273 +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +msgid "KnowitEdit" +msgstr "" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "" + +#: knowitlink.cpp:43 +msgid "KnowIt note" +msgstr "" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "" + +#: knowitlink.cpp:90 +msgid "Choose link..." +msgstr "" + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +msgid "KnowitLinks" +msgstr "" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "" + +#: knowitpref.cpp:138 +msgid "General" +msgstr "" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "" + +#: knowitpref.cpp:149 +msgid " min." +msgstr "" + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" + +#: knowitpref.cpp:154 +msgid "Automatically save file on e&xit" +msgstr "" + +#: knowitpref.cpp:156 +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "" + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" + +#: knowitpref.cpp:170 +msgid "Interface" +msgstr "" + +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "" + +#: knowitpref.cpp:197 +msgid "Alternate colors in tree" +msgstr "" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" + +#: knowitpref.cpp:207 +msgid "Editor" +msgstr "" + +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "" + +#: knowitpref.cpp:242 +msgid "Templates" +msgstr "" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "" + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +msgid "KnowitPreferences" +msgstr "" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "" + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "" + +#: knowittree.cpp:38 +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +msgid "KnowitTree" +msgstr "" + +#: main.cpp:25 +msgid "KnowIt - notes management utility" +msgstr "" + +#: main.cpp:30 +msgid "Document to open" +msgstr "" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "" + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "" + +#: notes.cpp:258 +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "" + +#: rc.cpp:1 +msgid "&Font" +msgstr "" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "" + +#: rc.cpp:3 +msgid "&List" +msgstr "" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "" + +#: rc.cpp:12 +msgid "Edit toolbar" +msgstr "" + +#: rc.cpp:13 +msgid "Notes toolbar" +msgstr "" + +#: rc.cpp:14 +msgid "Links toolbar" +msgstr "" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" + +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" + +#: tips.cpp:12 +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..5bd0937 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,938 @@ +# translation of pl.po to Polish +# translation of knowit.po to Polish +# Copyright (C) 2002,2003, 2004 Free Software Foundation, Inc. +# Michal Rudolf <mrudolf@kdewebdev.org>, 2002,2004. +# Michal Rudolf <m.rudolf@uw.edu.pl>, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: pl\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2004-03-31 14:13+0200\n" +"Last-Translator: Michal Rudolf <m.rudolf@uw.edu.pl>\n" +"Language-Team: Polish <kde-transl@mer.chemia.polsl.gliwice.pl>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.3\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "KnowitApplication" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "&Eksportowane notatki:" + +#: knowitchooser.cpp:38 +msgid "All" +msgstr "Wszystkie" + +#: knowitchooser.cpp:39 +msgid "Current with children" +msgstr "Aktualna i podnotatki" + +#: knowitchooser.cpp:40 +msgid "Current only" +msgstr "Tylko aktualna" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "&Kodowanie:" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "Lokalne (8-bitowe)" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "UTF-8" + +#: knowitchooser.cpp:49 +msgid "Numbered titles" +msgstr "Numerowane nagÅ‚Ă³wki" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "Spis treÅ›ci" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "Linia miÄ™dzy notatkami" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "Czcionka i kolory edytora" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "KnowitChooser" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "bez tytuÅ‚u" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "Gotowe" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "Tu można zmienić proporcje miÄ™dzy listÄ… notatek a tekstem." + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Tekst notatki</h2>Tu można edytować tekst notatki.\n" +"Tekst może być sformatowany, np. <b>pogrubiony</b> lub <i>kursywa</i>." + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "Eksportuj do &HTML..." + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "&Informacje o dokumencie..." + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "PrzeÅ‚Ä…cz po&grubienie" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "PrzeÅ‚Ä…cz k&ursywÄ™" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "PrzeÅ‚Ä…cz &podkreÅ›lenie" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "&Kolor tekstu..." + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "Indeks &gĂ³rny" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "Indeks &dolny" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "&ZwykÅ‚y tekst" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "&Wypunktowanie" + +#: knowit.cpp:142 +msgid "&Numbered list" +msgstr "Lista &numerowana" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "&Wielkie litery" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "&MaÅ‚e litery" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "&ZwykÅ‚y tekst" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "&Idź do notatki..." + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "WyrĂ³wnaj do &lewej" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "WyrĂ³wnaj do &prawej" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "Wy&justuj" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "WyÅ›&rodkuj" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "Wstaw &datÄ™" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "Wstaw &plik..." + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "Edycja źrĂ³dÅ‚a &HTML" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "&Dodaj" + +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "Dodaj p&odrzÄ™dnÄ…" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "&ZmieÅ„ nazwÄ™" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "R&ozwiÅ„ wszystko" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "&RozwiÅ„ aktualnÄ…" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "Z&wiÅ„ wszystko" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "&ZwiÅ„ aktualnÄ…" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "PrzesuÅ„ w gĂ³rÄ™dĂ³Å‚" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "PrzesuÅ„ w dĂ³Å‚" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "PrzesuÅ„ wyżej w hierarchi" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "PrzesuÅ„ niżej w hierarchi" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "PrzesuÅ„ na poczÄ…tek" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "PrzesuÅ„ na koniec" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "Sortuj" + +#: knowit.cpp:211 +msgid "&Add link..." +msgstr "Dodaj &odnoÅ›nik..." + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "&UsuÅ„ odnoÅ›nik" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "OtwĂ³rz odnoÅ›nik" + +#: knowit.cpp:217 +msgid "Open link with..." +msgstr "OtwĂ³rz odnoÅ›nik w..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "&Modyfikuj odnoÅ›nik..." + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "&Skopiuj lokacjÄ™ odnoÅ›nika" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "Porada &dnia" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "Minimalizuj" + +#: knowit.cpp:236 +msgid "Switch area" +msgstr "PrzeÅ‚Ä…cz aktywne pole" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "Tryb edycji" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "Idź do poprzedniej notatki" + +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "Idź do nastÄ™pnej notatki" + +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "Idź do pierwszej notatki" + +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "Idź do ostatniej notatki" + +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "Idź do notatki podrzÄ™dnej" + +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "Idź do notatki nadrzÄ™dnej" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "WST" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" +"<qt><p>Nie można otworzyć pliku zasobĂ³w <b>knowitui.rc</b>. NiektĂ³re menu i " +"paski narzÄ™dziowe nie bÄ™dÄ… dostÄ™pne.\n" +"</p><p>Zapewne KnowIt nie zostaÅ‚ zainstalowany poprawnie. JeÅ›li program byÅ‚ " +"kompilowany, proszÄ™ wykonać polecenie <i>make install</i>. JeÅ›li program byÅ‚ " +"instalowany z pakietu, proszÄ™ skontaktować siÄ™ z twĂ³rcÄ… pakietu.</p></qt>" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>Nie można otworzyć pliku<br><b>%1</b></qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "Plik %1 zostaÅ‚ wczytany." + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>Nie można zapisać pliku<br><b>%1</b></qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "Plik %1 zostaÅ‚ zapisany." + +#: knowit.cpp:441 +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>Nie można zapisać pliku<br>\n" +"<b>%1</b>. ZakoÅ„czyć mimo to?</qt>" + +#: knowit.cpp:446 +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>Plik <b>%1</b><br>\n" +"zostaÅ‚ zmodyfikowany. Zapisać go?</qt>" + +#: knowit.cpp:463 +msgid "untitled.kno" +msgstr "nienazwany.kno" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>Poszukiwany tekst:<br><b>%1</b><br>nie zostaÅ‚ znaleziony.</qt>" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "Dodaj notatkÄ™" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "TytuÅ‚ notatki:" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "Musisz wybrać notatkÄ™ przed dodaniem notatki podrzÄ™dnej." + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "Dodaj notatkÄ™ podrzÄ™dnÄ…" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "<qt>Na pewno usunąć notatkÄ™<br><b>%1</b><br> wraz z podnotatkami?</qt>" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "<qt>Na pewno usunąć notatkÄ™<br><b>%1</b>?</qt>" + +#: knowit.cpp:838 knowit.cpp:875 +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|Pliki KnowIt (*.kno)\n" +"*|Wszystkie pliki" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "OtwĂ³rz plik..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" +"<qt><p>Nie można zapisać pliku automatycznie.</p>" +"<p>Zapisywanie automatyczne zostaÅ‚o wyÅ‚Ä…czone - proszÄ™ zapisać plik rÄ™cznie, by ponownie wÅ‚Ä…czyć autozapisywanie.</p></qt>" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "Zapisz jako..." + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>Plik<br><b>%1</b><br>już istnieje. ZastÄ…pić go?</qt>" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>Åcieżka: %2<br>Liczba notatek: %3</qt>" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|Dokumenty HTML (*.html)\n" +"*|Wszystkie pliki" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "Eksportuj do HTML" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "Idź do" + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "Idź do notatki o podanym tytule" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|Wszystkie pliki" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "Wstaw plik..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "NAD" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" +"WÅ‚aÅ›nie dodaÅ‚eÅ› pierwszy odnoÅ›nik. PamiÄ™taj, że w dokumencie Knowit " +"zapisywane sÄ… jedynie odnoÅ›niki, nie zaÅ› pliki, do ktĂ³rych odsyÅ‚ajÄ…. JeÅ›li " +"przeniesiesz dokument na inny komputer, odnoÅ›niki do plikĂ³w lokalnych " +"najprawdopodobniej nie bÄ™dÄ… dziaÅ‚ać." + +#: knowit.cpp:1273 +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "<qt>Na pewno usunąć odnoÅ›nik<br><b>%1</b>?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +msgid "KnowitEdit" +msgstr "KnowitEdit" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "Modyfikuj odnoÅ›nik" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "Typ odnoÅ›nika:" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "Plik lub URL" + +#: knowitlink.cpp:43 +msgid "KnowIt note" +msgstr "Notatka KnowIt" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "Opis odnoÅ›nika:" + +#: knowitlink.cpp:90 +msgid "Choose link..." +msgstr "Wybierz odnoÅ›nik..." + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "KnowitLinkDialog" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +msgid "KnowitLinks" +msgstr "KnowitLinks" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "KnowIt" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "Nowa notatka" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "Ustawienia KnowIt" + +#: knowitpref.cpp:138 +msgid "General" +msgstr "OgĂ³lne" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "Ustawienia ogĂ³lne" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "Pokaż na &tacce systemowej" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "OtwĂ³rz poprzedni plik po &uruchomieniu" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "Autozapis:" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "co " + +#: knowitpref.cpp:149 +msgid " min." +msgstr " min." + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "nigdy" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"Aktualny plik bÄ™dzie automatycznie zapisywany po podanym czasie. Ustawienie " +"<i>nigdy</i> wyÅ‚Ä…czy autozapis." + +#: knowitpref.cpp:154 +msgid "Automatically save file on e&xit" +msgstr "Automatycznie zapisz plik przy &wyjÅ›ciu" + +#: knowitpref.cpp:156 +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "Aktualny plik bÄ™dzie bez potwierdzenia zapisywany przy zamykaniu programu." + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "TwĂ³rz pliki &zapasowe" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "Tworzy kopiÄ™ aktualnego pliku przed jego zapisaniem." + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "Dopuść &wiele okien programu Knowit" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" +"JeÅ›li ta opcja jest wyÅ‚Ä…czona, możliwe bÄ™dzie uruchomienie tylko jednej " +"kopii programu. JeÅ›li inna kopia już dziaÅ‚a, zostaniesz automatycznie " +"przeÅ‚Ä…czony do niej." + +#: knowitpref.cpp:170 +msgid "Interface" +msgstr "Interfejs" + +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "Ustawienia interfejsu" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "Podziel okno w &pionie" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"JeÅ›li ta opcja jest wÅ‚Ä…czona, drzewo notatek bÄ™dzie wyÅ›wietlane po lewej, a " +"edytor po prawej (to jest ustawienie domyÅ›lne).<br>W przeciwnym razie drzewo " +"notatek bÄ™dzie wyÅ›wietlone u gĂ³ry, a edytor u doÅ‚u." + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "DomyÅ›lna nazwa notatki:" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" +"DomyÅ›lna nazwa nowych notatek. BÄ™dzie ona zaznaczona automatycznie, wiÄ™c " +"jeÅ›li kopiujesz tekst zaznaczony myszkÄ…, rozważ ustawienie tej nazwy na " +"pustÄ…." + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "Format odnoÅ›nika:" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "Opis (odnoÅ›nik)" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "OdnoÅ›nik (opis)" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "Tylko odnoÅ›nik" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "Tylko opis" + +#: knowitpref.cpp:197 +msgid "Alternate colors in tree" +msgstr "Przemienne kolory listy" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "Automatycznie zwiÅ„ pozostaÅ‚e notatki" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" +"JeÅ›li ta opcja jest wÅ‚Ä…czona, tylko aktualne poddrzewo bÄ™dzie widoczne, " +"reszta notatek bÄ™dzie automatycznie zwijana." + +#: knowitpref.cpp:207 +msgid "Editor" +msgstr "Edytor" + +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "Ustawienia edytora" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "Za&wijanie sÅ‚Ă³w" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "'Enter' wstawia koniec wiersza, nie akapitu" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "'Tab' w edytorze zmienia aktywny element" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "Użyj wÅ‚asnych &kolorĂ³w" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "Użyj wÅ‚asnej czcionki:" + +#: knowitpref.cpp:242 +msgid "Templates" +msgstr "Wzorce" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "Konfiguracja wzorcĂ³w" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "Format daty: " + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +msgid "KnowitPreferences" +msgstr "KnowitPreferences" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&UsuÅ„ z tacki systemowej" + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "Notatki" + +#: knowittree.cpp:38 +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>Hierarchia notatek</h2>Tu można przeglÄ…dać listÄ™ notatek. Można także " +"dodawać i usuwać notatki, a także zmieniać ich pozycjÄ™." + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +msgid "KnowitTree" +msgstr "KnowitTree" + +#: main.cpp:25 +msgid "KnowIt - notes management utility" +msgstr "KnowIt - zarzÄ…dzanie notatkami" + +#: main.cpp:30 +msgid "Document to open" +msgstr "Dokument do otwarcia" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "MichaÅ‚ Rudolf" + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "mrudolf@kdewebdev.org" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "Dokument KnowIt" + +#: notes.cpp:258 +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "Utworzone %3 w programie KnowIt %2 z pliku %1." + +#: rc.cpp:1 +msgid "&Font" +msgstr "&Czcionka" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "&Akapit" + +#: rc.cpp:3 +msgid "&List" +msgstr "&Lista" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "&Notatki" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "&Pozycja" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "D&rzewo" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "&OdnoÅ›niki" + +#: rc.cpp:12 +msgid "Edit toolbar" +msgstr "Pasek narzÄ™dzi: edycja" + +#: rc.cpp:13 +msgid "Notes toolbar" +msgstr "Pasek narzÄ™dzi: notatki" + +#: rc.cpp:14 +msgid "Links toolbar" +msgstr "Pasek narzÄ™dzi: odnoÅ›niki" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "<p>...można wstawić koniec wiersza klawiszami <tt>Control+Enter</tt>?\n" + +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>... można utworzyć listÄ™, zaczynajÄ…c wiersz <tt>*</tt>\n" +"lub <tt>-<tt>?\n" + +#: tips.cpp:12 +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...jeÅ›li Knowit jest w tacce systemowej przy wylogowaniu, \n" +"bÄ™dzie uruchomiony w tym samym stanie przy nastÄ™pnym uruchamianiu KDE?\n" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "<p>...można wyÅ‚Ä…czyć pasek narzÄ™dzi w menu Ustawienia->Konfiguruj...?\n" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...można skonfigurować kombinacje klawiszy\n" +"Ustawienia->Konfiguracja skrĂ³tĂ³w?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "<p>...można wÅ‚Ä…czyć Porady dnia z menu Pomocy?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>... że możesz zmienić aktualnÄ… notatkÄ™ skrĂ³tami <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>... możesz przenieść aktualnÄ… notatkÄ™ skrĂ³tami: <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, nawet jeÅ›li edytor jest " +"aktywny?\n" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...można zmieniać tryb edycji (zastÄ™powanie/wstawianie), \n" +"wciskajÄ…c klawisz <tt>Insert</tt> lub klikajÄ…c na pasku stanu?\n" + +#~ msgid "&Character set:" +#~ msgstr "&Kodowanie:" + +#~ msgid "Configure output" +#~ msgstr "Konfiguracja wynikĂ³w" + +#~ msgid "Choose notes" +#~ msgstr "Wybierz notatki" + +#~ msgid "" +#~ "*.kno|Knowit files (*.kno)\n" +#~ "*|All files" +#~ msgstr "" +#~ "*.kno|Pliki KnowIt (*.kno)\n" +#~ "*|Wszystkie pliki" + +#~ msgid "Modify &description..." +#~ msgstr "Modyfikuj &opis..." + +#~ msgid "Add link" +#~ msgstr "Dodaj odnoÅ›nik" + +#~ msgid "Modify description" +#~ msgstr "Modyfikuj opis" + +#~ msgid "Enter description for current link:" +#~ msgstr "Opis aktualnego odnoÅ›nika:" + +#~ msgid "New subnote" +#~ msgstr "Nowa podnotatka" + +#~ msgid "Date &Format" +#~ msgstr "&Format daty" + +#~ msgid "Add &subnote..." +#~ msgstr "Dodaj ¬atkÄ™ podrzÄ™dnÄ…..." + +#~ msgid "&Tutorial" +#~ msgstr "&Samouczek" + +#~ msgid "Cannot move this note." +#~ msgstr "Nie można przenieść tej notatki." + +#~ msgid "Add note from list" +#~ msgstr "Dodaj notatkÄ™ na liÅ›cie" + +#~ msgid "Add subnote in notes list" +#~ msgstr "Dodaj podnotatkÄ™ na liÅ›cie" + +#~ msgid "Delete subnote from notes list" +#~ msgstr "UsuÅ„ notatkÄ™ z listy" + diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..8496aff --- /dev/null +++ b/po/ru.po @@ -0,0 +1,975 @@ +# translation of ru.po to russian +# translation of knowit.po to Russian +# Copyright (C) 2003 Free Software Foundation, Inc. +# +# $Id: knowit.po,v 1.4 2003/05/05 02:51:27 hunter Exp $ +# Alexey Kolosov <alexey.kolosov@mail.ru>, 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: ru\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2003-06-02 14:33+0600\n" +"Last-Translator: Alexey Kolosov <alexey.kolosov@mail.ru>\n" +"Language-Team: russian <kde-russian@lists.kde.ru>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "KnowitApplication" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +#, fuzzy +msgid "All" +msgstr "&Đ’Ñе" + +#: knowitchooser.cpp:39 +#, fuzzy +msgid "Current with children" +msgstr "Đ¢ĐµĐºÑƒÑ‰ĐµĐµ Ñ Đ¿Ñ€Đ¸Đ½Đ°Đ´Đ»ĐµĐ¶Đ°Ñ‰Đ¸Đ¼Đ¸" + +#: knowitchooser.cpp:40 +#, fuzzy +msgid "Current only" +msgstr "Đ¢Đ¾Đ»ÑŒĐºĐ¾ Ñ‚ĐµĐºÑƒÑ‰ĐµĐµ" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "ĐĐ°Đ·Đ²Đ°Đ½Đ¸Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ:" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "KnowitChooser" + +#: knowit.cpp:53 +msgid "untitled" +msgstr "Đ±ĐµĐ·Ñ‹Đ¼ÑĐ½Đ½Ñ‹Đ¹" + +#: knowit.cpp:59 +msgid "Ready" +msgstr "Đ“Đ¾Ñ‚Đ¾Đ²" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "ĐŸĐµÑ€ĐµĐ¼ĐµÑÑ‚Đ¸Ñ‚Đµ ÑÑ‚Đ¾ Ñ‡Ñ‚Đ¾Đ±Ñ‹ Đ¸Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ Ñ„Đ¾Ñ€Đ¼Đ°Ñ‚ Đ´ĐµÑ€ĐµĐ²Đ°/Ñ€ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€Đ°." + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Đ¢ĐµĐºÑÑ‚ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ</h2>Đ”Đ¾Đ±Đ°Đ²ÑŒÑ‚Đµ Ñ‚ĐµĐºÑÑ‚ Đ´Đ»Ñ Đ²Ñ‹Đ±Ñ€Đ°Đ½Đ½Đ¾Đ³Đ¾ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ Đ·Đ´ĐµÑÑŒ.\n" +"Đ¢ĐµĐºÑÑ‚ Đ¼Đ¾Đ¶ĐµÑ‚ Đ±Ñ‹Ñ‚ÑŒ Ñ„Đ¾Ñ€Đ¼Đ°Ñ‚Đ¸Ñ€Đ¾Đ²Đ°Đ½, Đ½Đ°Đ¿Ñ€Đ¸Đ¼ĐµÑ€ <b>Đ¶Đ¸Ñ€Đ½Ñ‹Đ¹</b> или <i>Đ½Đ°ĐºĐ»Đ¾Đ½Đ½Ñ‹Đ¹</i>." + +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "&ĐĐºÑĐ¿Đ¾Ñ€Ñ‚Đ¸Ñ€Đ¾Đ²Đ°Ñ‚ÑŒ Đ² HTML" + +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "&Đ˜Đ½Ñ„Đ¾Ñ€Đ¼Đ°Ñ†Đ¸Ñ Đ¾ Đ´Đ¾ĐºÑƒĐ¼ĐµĐ½Ñ‚Đµ" + +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "ĐŸĐµÑ€ĐµĐºĐ»ÑÑ‡Đ¸Ñ‚ÑŒ &Đ¶Đ¸Ñ€Đ½Ñ‹Đ¹" + +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "ĐŸĐµÑ€ĐµĐºĐ»ÑÑ‡Đ¸Ñ‚ÑŒ &Đ½Đ°ĐºĐ»Đ¾Đ½Đ½Ñ‹Đ¹" + +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "ĐŸĐµÑ€ĐµĐºĐ»ÑÑ‡Đ¸Ñ‚ÑŒ &Đ¿Đ¾Đ´Ñ‡Ñ‘Ñ€ĐºĐ½ÑƒÑ‚Ñ‹Đ¹" + +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "&Đ¦Đ²ĐµÑ‚ Ñ‚ĐµĐºÑÑ‚Đ°..." + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "ĐĐ°Đ´ÑÑ‚Ñ€Đ¾Ñ‡Đ½Ñ‹Đ¹ Đ¸Đ½Đ´ĐµĐºÑ" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "ĐŸĐ¾Đ´ÑÑ‚Ñ€Đ¾Ñ‡Đ½Ñ‹Đ¹ Đ¸Đ½Đ´ĐµĐºÑ" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "&ĐĐ¾Ñ€Đ¼Đ°Đ»ÑŒĐ½Ñ‹Đ¹" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +#: knowit.cpp:142 +#, fuzzy +msgid "&Numbered list" +msgstr "ĐĐ°Đ·Đ²Đ°Đ½Đ¸Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ:" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "&ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đº Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ..." + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "Đ’Ñ‹Ñ€Đ¾Đ²Đ½ÑÑ‚ÑŒ Đ²&Đ»ĐµĐ²Đ¾" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "Đ’Ñ‹Ñ€Đ¾Đ²Đ½ÑÑ‚ÑŒ Đ²&Đ¿Ñ€Đ°Đ²Đ¾" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "Đ’Ñ‹Ñ€Đ¾Đ²Đ½ÑÑ‚ÑŒ Đ¿Đ¾ &ÑˆĐ¸Ñ€Đ¸Đ½Đµ" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "Đ’Ñ‹Ñ€Đ¾Đ²Đ½ÑÑ‚ÑŒ Đ¿Đ¾ &Ñ†ĐµĐ½Ñ‚Ñ€Ñƒ" + +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "Đ’ÑÑ‚Đ°Đ²Đ¸Ñ‚ÑŒ &Đ´Đ°Ñ‚Ñƒ" + +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "Đ’ÑÑ‚Đ°Đ²Đ¸Ñ‚ÑŒ &Ñ„Đ°Đ¹Đ»..." + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "\"&Đ¡Ñ‹Ñ€Đ¾Đ¹\" Ñ€ĐµĐ¶Đ¸Đ¼ Ñ‚ĐµĐºÑÑ‚Đ°" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "&Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ" + +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ Đ¿Đ¾Đ´-Đ¿&Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ" + +#: knowit.cpp:185 +msgid "&Rename" +msgstr "ĐŸĐµÑ€Đµ&Đ¸Đ¼ĐµĐ½Đ¾Đ²Đ°Ñ‚ÑŒ" + +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "&Đ Đ°Đ·Đ²ĐµÑ€Đ½ÑƒÑ‚ÑŒ Đ²Ñе Đ²ĐµÑ‚ĐºĐ¸" + +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "Đ Đ°Đ·Đ²ĐµÑ€Đ½ÑƒÑ‚ÑŒ &Ñ‚ĐµĐºÑƒÑ‰ÑƒÑ Đ²ĐµÑ‚ĐºÑƒ" + +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "&Đ¡Đ²ĐµÑ€Đ½ÑƒÑ‚ÑŒ Đ²Ñе Đ²ĐµÑ‚ĐºĐ¸" + +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "Đ¡Đ²ĐµÑ€Đ½ÑƒÑ‚ÑŒ Ñ‚&ĐµĐºÑƒÑ‰ÑƒÑ Đ²ĐµÑ‚ĐºÑƒ" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "ĐŸĐ¾Đ´Đ½ÑÑ‚ÑŒ" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "ĐĐ¿ÑƒÑÑ‚Đ¸Ñ‚ÑŒ" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "ĐŸĐ¾Đ´Đ½ÑÑ‚ÑŒ Đ½Đ° ÑƒÑ€Đ¾Đ²ĐµĐ½ÑŒ" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "ĐĐ¿ÑƒÑÑ‚Đ¸Ñ‚ÑŒ Đ½Đ° ÑƒÑ€Đ¾Đ²ĐµĐ½ÑŒ" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "ĐŸĐµÑ€ĐµĐ¼ĐµÑÑ‚Đ¸Ñ‚ÑŒ Đ² Đ½Đ°Ñ‡Đ°Đ»Đ¾" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "ĐŸĐµÑ€ĐµĐ¼ĐµÑÑ‚Đ¸Ñ‚ÑŒ Đ² ĐºĐ¾Đ½ĐµÑ†" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "Đ¡Đ¾Ñ€Ñ‚Đ¸Ñ€Đ¾Đ²Đ°Ñ‚ÑŒ" + +#: knowit.cpp:211 +msgid "&Add link..." +msgstr "&Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ..." + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "&Đ£Đ´Đ°Đ»Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "ĐÑ‚ĐºÑ€Ñ‹Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ" + +#: knowit.cpp:217 +msgid "Open link with..." +msgstr "ĐÑ‚ĐºÑ€Ñ‹Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ Ñ Đ¿Đ¾Đ¼Đ¾Ñ‰ÑŒÑ..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "&Đ˜Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ..." + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "&ĐŸĐ¾Đ´ÑĐºĐ°Đ·ĐºĐ° Đ´Đ½Ñ" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "ĐœĐ¸Đ½Đ¸Đ¼Đ¸Đ·Đ¸Ñ€Đ¾Đ²Đ°Ñ‚ÑŒ" + +#: knowit.cpp:236 +msgid "Switch area" +msgstr "ĐŸĐµÑ€ĐµĐºĐ»ÑÑ‡Đ¸Ñ‚ÑŒ Đ¾Đ±Đ»Đ°ÑÑ‚ÑŒ" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "Đ ĐµĐ¶Đ¸Đ¼ Đ·Đ°Đ¼ĐµĐ½Ñ‹" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đº Đ¿Ñ€ĐµĐ´Đ¸Đ´ÑƒÑ‰ĐµĐ¼Ñƒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đº ÑĐ»ĐµĐ´ÑƒÑÑ‰ĐµĐ¼Ñƒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đº Đ¿ĐµÑ€Đ²Đ¾Đ¼Ñƒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đº Đ¿Đ¾ÑĐ»ĐµĐ´Đ½ĐµĐ¼Ñƒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "ĐŸĐµÑ€ĐµĐ¼ĐµÑÑ‚Đ¸Ñ‚ÑŒ Đº Đ¿ĐµÑ€Đ²Đ¾Đ¼Ñƒ Đ¿Đ¾Đ´-Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đº Ñ€Đ¾Đ´Đ¸Ñ‚ĐµĐ»ÑŒÑĐºĐ¾Đ¼Ñƒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "Đ’Đ¡Đ¢" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>Đе Đ¼Đ¾Đ³Ñƒ Đ¾Ñ‚ĐºÑ€Ñ‹Ñ‚ÑŒ Ñ„Đ°Đ¹Đ»<br><b>%1</b></qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "Đ¤Đ°Đ¹Đ» %1 Đ¾Ñ‚ĐºÑ€Ñ‹Ñ‚." + +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>Đе Đ¼Đ¾Đ³Ñƒ ÑĐ¾Ñ…Ñ€Đ°Đ½Đ¸Ñ‚ÑŒ Ñ„Đ°Đ¹Đ»<br><b>%1</b></qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "Đ¤Đ°Đ¹Đ» %1 ÑĐ¾Ñ…Ñ€Đ°Đ½ĐµĐ½." + +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>Đ¤Đ°Đ¹Đ» <b>%1</b>\n" +"Đ±Ñ‹Đ» Đ¸Đ·Đ¼ĐµĐ½Ñ‘Đ½. Đ¥Đ¾Ñ‚Đ¸Ñ‚Đµ ĐµĐ³Đ¾ ÑĐ¾Ñ…Ñ€Đ°Đ½Đ¸Ñ‚ÑŒ?</qt>" + +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>Đ¤Đ°Đ¹Đ» <b>%1</b>\n" +"Đ±Ñ‹Đ» Đ¸Đ·Đ¼ĐµĐ½Ñ‘Đ½. Đ¥Đ¾Ñ‚Đ¸Ñ‚Đµ ĐµĐ³Đ¾ ÑĐ¾Ñ…Ñ€Đ°Đ½Đ¸Ñ‚ÑŒ?</qt>" + +#: knowit.cpp:463 +msgid "untitled.kno" +msgstr "Đ±ĐµĐ·Ñ‹Đ¼ÑĐ½Đ½Ñ‹Đ¹.kno" + +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>Đ˜ÑĐºĐ¾Đ¼Ñ‹Đ¹ Ñ‚ĐµĐºÑÑ‚:<br><b>%1</b><br>Đ½Đµ Đ½Đ°Đ¹Đ´ĐµĐ½.</qt>" + +#: knowit.cpp:621 +msgid "Add note" +msgstr "Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ" + +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "ĐĐ°Đ·Đ²Đ°Đ½Đ¸Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ:" + +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "Đ¡Đ½Đ°Ñ‡Đ°Đ»Đ° Đ²Ñ‹Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ Đ´Đ»Ñ Đ´Đ¾Đ±Đ°Đ²Đ»ĐµĐ½Đ¸Ñ Đ¿Đ¾Đ´-Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ." + +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ Đ¿Đ¾Đ´-Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ" + +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "" +"<qt>Đ’Ñ‹ ÑƒĐ²ĐµÑ€ĐµĐ½Ñ‹, Ñ‡Ñ‚Đ¾ Ñ…Đ¾Ñ‚Đ¸Ñ‚Đµ ÑƒĐ´Đ°Đ»Đ¸Ñ‚ÑŒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ<br><b>%1</b><br> и ĐµĐ³Đ¾ Đ¿Đ¾Đ´-" +"Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ?</qt>" + +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "<qt>Đ’Ñ‹ ÑƒĐ²ĐµÑ€ĐµĐ½Ñ‹, Ñ‡Ñ‚Đ¾ Ñ…Đ¾Ñ‚Đ¸Ñ‚Đµ ÑƒĐ´Đ°Đ»Đ¸Ñ‚ÑŒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ<br><b>%1</b>?</qt>" + +#: knowit.cpp:838 knowit.cpp:875 +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|Ñ„Đ°Đ¹Đ»Ñ‹ KnowIt (*.kno)\n" +"*|All files" + +#: knowit.cpp:838 +msgid "Open File..." +msgstr "ĐÑ‚ĐºÑ€Ñ‹Ñ‚ÑŒ Ñ„Đ°Đ¹Đ»..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "Đ¡Đ¾Ñ…Ñ€Đ°Đ½Đ¸Ñ‚ÑŒ ĐºĐ°Đº..." + +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>Đ¤Đ°Đ¹Đ»<br><b>%1</b><br>ÑƒĐ¶Đµ ÑÑƒÑ‰ĐµÑÑ‚Đ²ÑƒĐµÑ‚. ĐŸĐµÑ€ĐµĐ¿Đ¸ÑĐ°Ñ‚ÑŒ?</qt>" + +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>ĐŸÑƒÑ‚ÑŒ Đ² Đ´Đ¾ĐºÑƒĐ¼ĐµĐ½Ñ‚Ñƒ: %2<br>ĐĐ¾Đ»Đ¸Ñ‡ĐµÑÑ‚Đ²Đ¾ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đ¹: %3</qt>" + +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|Ñ„Đ°Đ¹Đ»Ñ‹ HTML (*.html)\n" +"*|All files" + +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "ĐĐºÑĐ¿Đ¾Ñ€Ñ‚Đ¸Ñ€Đ¾Đ²Đ°Ñ‚ÑŒ Đ² HTML" + +#: knowit.cpp:1092 +msgid "Go to" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸" + +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "ĐŸĐµÑ€ĐµĐ¹Ñ‚Đ¸ Đ½Đ° ÑÑ‚Ñ€Đ°Đ½Đ¸Ñ†Ñƒ Ñ Đ·Đ°Đ´Đ°Đ½Đ½Ñ‹Đ¼ Đ½Đ°Đ·Đ²Đ°Đ½Đ¸ĐµĐ¼" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|Đ’Ñе Ñ„Đ°Đ¹Đ»Ñ‹" + +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "Đ’ÑÑ‚Đ°Đ²Đ¸Ñ‚ÑŒ Ñ„Đ°Đ¹Đ»..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "Đ—ĐĐœ" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" +"Đ’Ñ‹ Đ¿Ñ€Đ¾ÑÑ‚Đ¾ Đ´Đ¾Đ±Đ°Đ²Đ¸Đ»Đ¸ Đ²Đ°ÑˆÑƒ Đ¿ĐµÑ€Đ²ÑƒÑ ÑÑÑ‹Đ»ĐºÑƒ. ĐŸĐ¾Đ¶Đ°Đ»ÑƒĐ¹ÑÑ‚Đ° Đ¿Đ¾Đ¼Đ½Đ¸Ñ‚Đµ, Ñ‡Ñ‚Đ¾ Đ±ÑƒĐ´ĐµÑ‚ " +"ÑĐ¾Ñ…Ñ€Đ°Đ½ĐµĐ½Đ° Ñ‚Đ¾Đ»ÑŒĐºĐ¾ ÑÑÑ‹Đ»ĐºĐ°, Đ° Đ½Đµ Ñ„Đ°Đ¹Đ»Ñ‹, ÑƒĐºĐ°Đ·Đ°Đ½Đ½Ñ‹Đµ Đ² ÑÑÑ‹Đ»ĐºĐ°Ñ…. Đ•Ñли Đ²Ñ‹ " +"Đ¿ĐµÑ€ĐµĐ¼ĐµÑÑ‚Đ¸Ñ‚Đµ Ñ„Đ°Đ¹Đ» Đ½Đ° Đ´Ñ€ÑƒĐ³Đ¾Đ¹ ĐºĐ¾Đ¼Đ¿ÑŒÑÑ‚ĐµÑ€, ÑÑÑ‹Đ»ĐºĐ¸ Đ½Đ° Đ»Đ¾ĐºĐ°Đ»ÑŒĐ½Ñ‹Đµ Ñ„Đ°Đ¹Đ»Ñ‹ Đ¼Đ¾Đ³ÑƒÑ‚ Đ½Đµ " +"Ñ€Đ°Đ±Đ¾Ñ‚Đ°Ñ‚ÑŒ." + +#: knowit.cpp:1273 +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "<qt>Đ’Ñ‹ ÑƒĐ²ĐµÑ€ĐµĐ½Ñ‹, Ñ‡Ñ‚Đ¾ Ñ…Đ¾Ñ‚Đ¸Ñ‚Đµ ÑƒĐ´Đ°Đ»Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ<br><b>%1</b>?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +#, fuzzy +msgid "KnowitEdit" +msgstr "Knowit" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "Đ˜Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "" + +#: knowitlink.cpp:42 +#, fuzzy +msgid "File or URL" +msgstr "Đ’Đ²ĐµĐ´Đ¸Ñ‚Đµ Đ¸Đ¼Ñ Ñ„Đ°Đ¹Đ»Đ° или URL:" + +#: knowitlink.cpp:43 +#, fuzzy +msgid "KnowIt note" +msgstr "KnowIt" + +#: knowitlink.cpp:55 +#, fuzzy +msgid "Link description:" +msgstr "Đ˜Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ Đ¾Đ¿Đ¸ÑĐ°Đ½Đ¸Đµ" + +#: knowitlink.cpp:90 +#, fuzzy +msgid "Choose link..." +msgstr "&Đ˜Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ..." + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +#, fuzzy +msgid "KnowitLinks" +msgstr "Knowit" + +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "Knowit" + +#: knowitpref.cpp:96 +msgid "New note" +msgstr "ĐĐ¾Đ²Đ¾Đ¹ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "Đ¡Đ²Đ¾Đ¹ÑÑ‚Đ²Đ° KnowIt" + +#: knowitpref.cpp:138 +#, fuzzy +msgid "General" +msgstr "&ĐÑĐ½Đ¾Đ²Đ½Đ¾Đµ" + +#: knowitpref.cpp:138 +msgid "General options" +msgstr "ĐÑĐ½Đ¾Đ²Đ½Ñ‹Đµ Đ½Đ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ¸" + +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "&ĐŸÑ€Đ¸ĐºÑ€ĐµĐ¿Đ»ÑÑ‚ÑŒ Đ² ÑиÑÑ‚ĐµĐ¼Đ½Ñ‹Đ¹ Đ´Đ¾Đº" + +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "ĐÑ‚ĐºÑ€Ñ‹Đ²Đ°Ñ‚ÑŒ &Đ¿Đ¾ÑĐ»ĐµĐ´Đ½Đ¸Đ¹ Ñ„Đ°Đ¹Đ» Đ¿Ñ€Đ¸ ÑÑ‚Đ°Ñ€Ñ‚Đµ" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "ĐĐ²Ñ‚Đ¾ÑĐ¾Ñ…Ñ€Đ°Đ½ĐµĐ½Đ¸Đµ:" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "ĐºĐ°Đ¶Đ´Ñ‹Đµ " + +#: knowitpref.cpp:149 +msgid " min." +msgstr " Đ¼Đ¸Đ½ÑƒÑ‚" + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "ĐĐ¸ĐºĐ¾Đ³Đ´Đ°" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"Đ¢ĐµĐºÑƒÑ‰Đ¸Đ¹ Ñ„Đ°Đ» Đ±ÑƒĐ´ĐµÑ‚ Đ¿ĐµÑ€Đ¸Đ¾Đ´Đ¸Ñ‡ĐµÑĐºĐ¸ ÑĐ¾Ñ…Ñ€Đ°Đ½ÑÑ‚ÑÑ Ñ ÑƒĐºĐ°Đ·Đ°Đ½Đ½Ñ‹Đ¼ Đ¿Ñ€Đ¾Đ¼ĐµĐ¶ÑƒÑ‚ĐºĐ¾Đ¼ Đ²Ñ€ĐµĐ¼ĐµĐ½Đ¸. " +"Đ£ÑÑ‚Đ°Đ½Đ¾Đ²Đ¸Ñ‚Đµ Đ² <i>Đ½Đ¸ĐºĐ¾Đ³Đ´Đ°</i> Đ´Đ»Ñ Đ·Đ°Đ¿Ñ€ĐµÑ‰ĐµĐ½Đ¸Ñ Đ°Đ²Ñ‚Đ¾ÑĐ¾Ñ…Ñ€Đ°Đ½ĐµĐ½Đ¸Ñ." + +#: knowitpref.cpp:154 +#, fuzzy +msgid "Automatically save file on e&xit" +msgstr "ĐĐ²Ñ‚Đ¾Đ¼Đ°Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¸ ÑĐ²Đ¾Ñ€Đ°Ñ‡Đ¸Đ²Đ°Ñ‚ÑŒ Đ´Ñ€ÑƒĐ³Đ¸Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ." + +#: knowitpref.cpp:156 +#, fuzzy +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" +"Đ¢ĐµĐºÑƒÑ‰Đ¸Đ¹ Ñ„Đ°Đ» Đ±ÑƒĐ´ĐµÑ‚ Đ¿ĐµÑ€Đ¸Đ¾Đ´Đ¸Ñ‡ĐµÑĐºĐ¸ ÑĐ¾Ñ…Ñ€Đ°Đ½ÑÑ‚ÑÑ Ñ ÑƒĐºĐ°Đ·Đ°Đ½Đ½Ñ‹Đ¼ Đ¿Ñ€Đ¾Đ¼ĐµĐ¶ÑƒÑ‚ĐºĐ¾Đ¼ Đ²Ñ€ĐµĐ¼ĐµĐ½Đ¸. " +"Đ£ÑÑ‚Đ°Đ½Đ¾Đ²Đ¸Ñ‚Đµ Đ² <i>Đ½Đ¸ĐºĐ¾Đ³Đ´Đ°</i> Đ´Đ»Ñ Đ·Đ°Đ¿Ñ€ĐµÑ‰ĐµĐ½Đ¸Ñ Đ°Đ²Ñ‚Đ¾ÑĐ¾Ñ…Ñ€Đ°Đ½ĐµĐ½Đ¸Ñ." + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "" + +#: knowitpref.cpp:161 +#, fuzzy +msgid "Allow &multiple instances of KnowIt" +msgstr "&Đ Đ°Đ·Ñ€ĐµÑˆĐ¸Ñ‚ÑŒ Đ½ĐµÑĐºĐ¾Đ»ÑŒĐºĐ¾ Đ·Đ°Đ¿ÑƒÑĐºĐ¾Đ² KnowIt" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" + +#: knowitpref.cpp:170 +#, fuzzy +msgid "Interface" +msgstr "&Đ˜Đ½Ñ‚ĐµÑ€Ñ„ĐµĐ¹Ñ" + +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "ĐĐ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ¸ Đ¸Đ½Ñ‚ĐµÑ€Ñ„ĐµĐ¹ÑĐ°" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "Đ Đ°Đ·Đ´ĐµĐ»Đ¸Ñ‚ÑŒ Đ¾ĐºĐ½Đ¾ &Đ³Đ¾Ñ€Đ¸Đ·Đ¾Đ½Ñ‚Đ°Đ»ÑŒĐ½Đ¾" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"Đ•Ñли ÑÑ‚Đ° Đ½Đ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ° Đ²ĐºĐ»ÑÑ‡ĐµĐ½Đ°, Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ Đ±ÑƒĐ´ÑƒÑ‚ Đ¾Ñ‚Đ¾Đ±Ñ€Đ°Đ¶Đ°Ñ‚ÑŒÑÑ ÑĐ»ĐµĐ²Đ° и Ñ€ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€ " +"ÑĐ¿Ñ€Đ°Đ²Đ° (Đ¿Đ¾ ÑƒĐ¼Đ¾Đ»Ñ‡Đ°Đ½Đ¸Ñ).<br>Đ˜Đ½Đ°Ñ‡Đµ Đ´ĐµÑ€ĐµĐ²Đ¾ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đ¹ Đ±ÑƒĐ´ĐµÑ‚ Đ¾Ñ‚Đ¾Đ±Ñ€Đ°Đ¶Đ°Ñ‚ÑŒÑÑ ÑĐ²ĐµÑ€Ñ…Ñƒ " +"и Ñ€ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€ ÑĐ½Đ¸Đ·Ñƒ." + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "Đ˜Đ¼Ñ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ Đ¿Đ¾ ÑƒĐ¼Đ¾Đ»Ñ‡Đ°Đ½Đ¸Ñ:" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "Đ˜Đ¼Ñ Đ¿Đ¾ ÑƒĐ¼Đ¾Đ»Ñ‡Đ°Đ½Đ¸Ñ Đ´Đ»Ñ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ. %1" + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "" + +#: knowitpref.cpp:191 +#, fuzzy +msgid "Link (description)" +msgstr "Đ˜Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ Đ¾Đ¿Đ¸ÑĐ°Đ½Đ¸Đµ" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "" + +#: knowitpref.cpp:197 +#, fuzzy +msgid "Alternate colors in tree" +msgstr "ĐĐ»ÑŒÑ‚ĐµÑ€Đ½Đ°Ñ‚Đ¸Đ²Đ½Ñ‹Đ¹ Ñ†Đ²ĐµÑ‚ Đ² ÑĐ¿Đ¸ÑĐºĐµ" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "ĐĐ²Ñ‚Đ¾Đ¼Đ°Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¸ ÑĐ²Đ¾Ñ€Đ°Ñ‡Đ¸Đ²Đ°Ñ‚ÑŒ Đ´Ñ€ÑƒĐ³Đ¸Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ." + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" +"Đ•Ñли ÑÑ‚Đ° Đ½Đ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ° Đ²ĐºĐ»ÑÑ‡ĐµĐ½Đ°, Ñ‚Đ¾Đ»ÑŒĐºĐ¾ Ñ‚ĐµĐºÑƒÑ‰ĐµĐµ Đ¿Đ¾Đ´Đ´ĐµÑ€ĐµĐ²Đ¾ Đ±ÑƒĐ´ĐµÑ‚ Đ²Đ¸Đ´Đ½Đ¾. Đ”Ñ€ÑƒĐ³Đ¸Đµ " +"Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ Đ±ÑƒĐ´ÑƒÑ‚ Đ°Đ²Ñ‚Đ¾Đ¼Đ°Ñ‚Đ¸Ñ‡ĐµÑĐºĐ¸ ÑĐ²Ñ‘Ñ€Đ½ÑƒÑ‚Ñ‹." + +#: knowitpref.cpp:207 +#, fuzzy +msgid "Editor" +msgstr "&Đ ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€" + +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "ĐĐ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ¸ Ñ€ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€Đ°" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "Đ˜ÑĐ¿Đ¾Đ»ÑŒĐ·Đ¾Đ²Đ°Ñ‚ÑŒ &Đ¿ĐµÑ€ĐµĐ½Đ¾Ñ ÑĐ»Đ¾Đ²" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "" + +#: knowitpref.cpp:242 +#, fuzzy +msgid "Templates" +msgstr "&Đ¨Đ°Đ±Đ»Đ¾Đ½Ñ‹" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "ĐĐ¾Đ½Ñ„Đ¸Đ³ÑƒÑ€Đ°Ñ†Đ¸Ñ ÑˆĐ°Đ±Đ»Đ¾Đ½Đ¾Đ²" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" +"<html>\n" +"<p>ĐÑ‚Đ¸ Đ²Ñ‹Ñ€Đ°Đ¶ĐµĐ½Đ¸Ñ Đ¼Đ¾Đ³ÑƒÑ‚ иÑĐ¿Đ¾Đ»ÑŒĐ·Đ¾Đ²Đ°Ñ‚ÑŒÑÑ: </p>\n" +"<table>\n" +"<tr><th>d</th><td>Đ½Đ¾Đ¼ĐµÑ€ Đ´Đ½Ñ Đ±ĐµĐ· Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰ĐµĐ³Đ¾ Đ½ÑƒĐ»Ñ (1-31)</td></tr>\n" +"<tr><th>dd</th><td>Đ½Đ¾Đ¼ĐµÑ€ Đ´Đ½Ñ Ñ Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰Đ¸Đ¼ Đ½ÑƒĐ»Ñ‘Đ¼ (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>Đ°Đ±Đ±Ñ€ĐµĐ²Đ¸Đ°Ñ‚ÑƒÑ€Đ° Đ»Đ¾ĐºĐ°Đ»Đ¸Đ·Đ¾Đ²Đ°Đ½Đ½Đ¾Đ³Đ¾ Đ´Đ½Ñ Đ½ĐµĐ´ĐµĐ»Đ¸ ('ĐŸĐ¾Đ½'..'Đ’ÑĐº')</" +"td></tr>\n" +"<tr><th>dddd</th><td>Đ¿Đ¾Đ»Đ½Đ¾Đµ Đ½Đ°Đ·Đ²Đ°Đ½Đ¸Đµ Đ´Đ½Ñ Đ½ĐµĐ´ĐµĐ»Đ¸ " +"('ĐŸĐ¾Đ½ĐµĐ´ĐµĐ»ÑŒĐ½Đ¸Đº'..'Đ’Đ¾ÑĐºÑ€ĐµÑĐµĐ½Đ¸Đµ')</td></tr>\n" +"<tr><th>M</th><td>Đ½Đ¾Đ¼ĐµÑ€ Đ¼ĐµÑÑÑ†Đ° без Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰ĐµĐ³Đ¾ Đ½ÑƒĐ»Ñ (1-12)</td></tr>\n" +"<tr><th>MM</th><td>Đ½Đ¾Đ¼ĐµÑ€ Đ¼ĐµÑÑÑ†Đ° Ñ Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰Đ¸Đ¼ Đ½ÑƒĐ»Ñ‘Đ¼ (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>Đ°Đ±Đ±Ñ€ĐµĐ²Đ¸Đ°Ñ‚ÑƒÑ€Đ° Đ»Đ¾ĐºĐ°Đ»Đ¸Đ·Đ¾Đ²Đ°Đ½Đ½Đ¾Đ³Đ¾ Đ½Đ°Đ·Đ²Đ°Đ½Đ¸Ñ Đ¼ĐµÑÑÑ†Đ° " +"('Đ¯Đ½Đ²'..'Đ”ĐµĐº')</td></tr>\n" +"<tr><th>MMMM</th><td>Đ¿Đ¾Đ»Đ½Đ¾Đµ Đ»Đ¾ĐºĐ°Đ»Đ¸Đ·Đ¾Đ²Đ°Đ½Đ½Đ¾Đµ Đ½Đ°Đ·Đ²Đ°Đ½Đ¸Đµ Đ¼ĐµÑÑÑ†Đ° " +"('Đ¯Đ½Đ²Đ°Ñ€ÑŒ'..'Đ”ĐµĐºĐ°Đ±Ñ€ÑŒ')</td></tr>\n" +"<tr><th>yy</th><td>Đ³Đ¾Đ´, ĐºĐ°Đº 2 Ñ†Đ¸Ñ„Ñ€Ñ‹ (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>Đ³Đ¾Đ´, ĐºĐ°Đº 4 Ñ†Đ¸Ñ„Ñ€Ñ‹ (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>Ñ‡Đ°Ñ Đ±ĐµĐ· Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰ĐµĐ³Đ¾ Đ½ÑƒĐ»Ñ (0..23 или 1..12 еÑли AM/PM " +"Đ²ĐºĐ»ÑÑ‡ĐµĐ½Đ¾)</td></tr>\n" +"<tr><th>hh</th><td>Ñ‡Đ°Ñ Ñ Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰Đ¸Đ¼ Đ½ÑƒĐ»Ñ‘Đ¼ (00..23 или 01..12 еÑли AM/PM " +"Đ²ĐºĐ»ÑÑ‡ĐµĐ½Đ¾)</td></tr>\n" +"<tr><th>m</th><td>Đ¼Đ¸Đ½ÑƒÑ‚Ñ‹ без Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰ĐµĐ³Đ¾ Đ½ÑƒĐ»Ñ (0..59)</td></tr>\n" +"<tr><th>mm</th><td>Đ¼Đ¸Đ½ÑƒÑ‚Ñ‹ Ñ Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰Đ¸Đ¼ Đ½ÑƒĐ»Ñ‘Đ¼ (00..59)</td></tr>\n" +"<tr><th>s</th><td>ÑĐµĐºÑƒĐ½Đ´Ñ‹ без Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰ĐµĐ³Đ¾ Đ½ÑƒĐ»Ñ (0..59)</td></tr>\n" +"<tr><th>ss</th><td>ÑĐµĐºÑƒĐ½Đ´Ñ‹ Ñ Đ²Đ¿ĐµÑ€ĐµĐ´Đ¸ÑÑ‚Đ¾ÑÑ‰Đ¸Đ¼ Đ½ÑƒĐ»Ñ‘Đ¼ (00..59)</td></tr>\n" +"<tr><th>AP</th><td>Đ¿Đ¾ĐºĐ°Đ·Ñ‹Đ²Đ°Ñ‚ÑŒ AM/PM</td></tr>\n" +"<tr><th>AP</th><td>Đ¿Đ¾ĐºĐ°Đ·Ñ‹Đ²Đ°Ñ‚ÑŒ am/pm</td></tr>\n" +"</table></html>" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "Đ¤Đ¾Ñ€Đ¼Đ°Ñ‚ Đ´Đ°Ñ‚Ñ‹:" + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +msgid "KnowitPreferences" +msgstr "KnowitPreferences" + +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&ĐÑ‚ĐºÑ€ĐµĐ¿Đ¸Ñ‚ÑŒ" + +#: knowittree.cpp:29 +msgid "Notes" +msgstr "ĐŸÑ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: knowittree.cpp:38 +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>Đ˜ĐµÑ€Đ°Ñ€Ñ…Đ¸Ñ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đ¹</h2>ЗдеÑÑŒ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ¿Ñ€Đ¾ÑĐ¼Đ¾Ñ‚Ñ€ĐµÑ‚ÑŒ Đ´ĐµÑ€ĐµĐ²Đ¾ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đ¹. " +"Đ¢Đ°ĐºĐ¶Đµ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ´Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ иÑĐ¿Đ¾Đ»ÑŒĐ·ÑƒÑ Đ¿Ñ€Đ°Đ²ÑƒÑ ĐºĐ½Đ¾Đ¿ĐºÑƒ Đ¼Ñ‹ÑˆĐ¸, или " +"Ñ€ĐµĐ¾Ñ€Đ³Đ°Đ½Đ¸Đ·Đ¾Đ²Đ°Ñ‚ÑŒ Đ¸Ñ… Đ¿ĐµÑ€ĐµÑ‚Đ°ÑĐºĐ¸Đ²Đ°Ñ Đ¼Ñ‹ÑˆĐºĐ¾Đ¹." + +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "Knowit" + +#: main.cpp:25 +#, fuzzy +msgid "KnowIt - notes management utility" +msgstr "KnowIt - ÑƒÑ‚Đ¸Đ»Đ¸Ñ‚Đ° ÑƒĐ¿Ñ€Đ°Đ²Đ»ĐµĐ½Đ¸Ñ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸ÑĐ¼Đ¸" + +#: main.cpp:30 +msgid "Document to open" +msgstr "Đ”Đ¾ĐºÑƒĐ¼ĐµĐ½Ñ‚ Đ´Đ»Ñ Đ¾Ñ‚ĐºÑ€Ñ‹Ñ‚Đ¸Ñ" + +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "ĐĐ»ĐµĐºÑĐµĐ¹ ĐĐ¾Đ»Đ¾ÑĐ¾Đ²" + +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "alexey.kolosov@mail.ru" + +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "KnowIt-Đ´Đ¾ĐºÑƒĐ¼ĐµĐ½Ñ‚" + +#: notes.cpp:258 +#, fuzzy +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "ĐĐºÑĐ¿Đ¾Ñ€Ñ‚Đ¸Ñ€Đ¾Đ²Đ°Đ½Đ¾ из %1 Đ¿Ñ€Đ¾Đ³Ñ€Đ°Đ¼Đ¼Đ¾Đ¹ KnowIt %2, %3" + +#: rc.cpp:1 +#, fuzzy +msgid "&Font" +msgstr "&Đ¨Ñ€Đ¸Ñ„Ñ‚" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "&ĐŸĐ°Ñ€Đ°Đ³Ñ€Đ°Ñ„" + +#: rc.cpp:3 +#, fuzzy +msgid "&List" +msgstr "&Đ¡ÑÑ‹Đ»ĐºĐ¸" + +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "&ĐŸÑ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Ñ" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "&ĐŸĐ¾Đ·Đ¸Ñ†Đ¸Ñ" + +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "&Đ”ĐµÑ€ĐµĐ²Đ¾" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "&Đ¡ÑÑ‹Đ»ĐºĐ¸" + +#: rc.cpp:12 +#, fuzzy +msgid "Edit toolbar" +msgstr "ĐŸĐ¾ĐºĐ°Đ·Ñ‹Đ²Đ°Ñ‚ÑŒ Đ¿Đ°Đ½ĐµĐ»ÑŒ Đ¸Đ½ÑÑ‚Ñ€ÑƒĐ¼ĐµĐ½Ñ‚Đ¾Đ²" + +#: rc.cpp:13 +#, fuzzy +msgid "Notes toolbar" +msgstr "ĐŸĐ¾ĐºĐ°Đ·Ñ‹Đ²Đ°Ñ‚ÑŒ Đ¿Đ°Đ½ĐµĐ»ÑŒ Đ¸Đ½ÑÑ‚Ñ€ÑƒĐ¼ĐµĐ½Ñ‚Đ¾Đ²" + +#: rc.cpp:14 +#, fuzzy +msgid "Links toolbar" +msgstr "ĐŸĐ¾ĐºĐ°Đ·Ñ‹Đ²Đ°Ñ‚ÑŒ Đ¿Đ°Đ½ĐµĐ»ÑŒ Đ¸Đ½ÑÑ‚Ñ€ÑƒĐ¼ĐµĐ½Ñ‚Đ¾Đ²" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ²ÑÑ‚Đ°Đ²Đ¸Ñ‚ÑŒ Ñ€Đ°Đ·Ñ€Ñ‹Đ² ÑÑ‚Ñ€Đ¾ĐºĐ¸ Đ½Đ°Đ¶Đ°Đ² <tt>Control+Enter</tt>?\n" + +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ ÑĐ¾Đ·Đ´Đ°Ñ‚ÑŒ ÑĐ¿Đ¸ÑĐ¾Đº, Đ½Đ°Ñ‡Đ°Đ² ÑÑ‚Ñ€Đ¾ĐºÑƒ Ñ <tt>*</tt>\n" +"или <tt>-<tt>?\n" + +#: tips.cpp:12 +#, fuzzy +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ еÑли Knowit Đ¿Ñ€Đ¸ĐºÑ€ĐµĐ¿Đ»ĐµĐ½ Đº Đ´Đ¾ĐºÑƒ Đ²Đ¾ Đ²Ñ€ĐµĐ¼Ñ Đ·Đ°Đ²ĐµÑ€ÑˆĐµĐ½Đ¸Ñ ÑĐµĐ°Đ½ÑĐ°, Đ¾Đ½ " +"Đ±ÑƒĐ´ĐµÑ‚\n" +"ÑĐ°Đ¼Đ¾ÑÑ‚Đ¾ÑÑ‚ĐµĐ»ÑŒĐ½Đ¾ Đ·Đ°Đ¿ÑƒÑ‰ĐµĐ½ Đ¿Ñ€Đ¸ ÑĐ»ĐµĐ´ÑƒÑÑ‰Đ¸Ñ… ÑÑ‚Đ°Ñ€Ñ‚Đ°Ñ… KDE?\n" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ¾Ñ‚ĐºĐ»ÑÑ‡Đ¸Ñ‚ÑŒ Đ¿Đ°Đ½ĐµĐ»ÑŒ Đ¸Đ½ÑÑ‚Ñ€ÑƒĐ¼ĐµĐ½Ñ‚Đ¾Đ² иÑĐ¿Đ¾Đ»ÑŒĐ·ÑƒÑ Đ¼ĐµĐ½Ñ ĐĐ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ°-" +">ĐĐ°ÑÑ‚Ñ€Đ¾Đ¸Ñ‚ÑŒ KnowIt...?\n" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ½Đ°ÑÑ‚Ñ€Đ¾Đ¸Ñ‚ÑŒ Đ²Ñе Đ±Ñ‹ÑÑ‚Ñ€Ñ‹Đµ ĐºĐ»Đ°Đ²Đ¸ÑˆĐ¸ иÑĐ¿Đ¾Đ»ÑŒĐ·ÑƒÑ Đ¼ĐµĐ½Ñ\n" +"ĐĐ°ÑÑ‚Ñ€Đ¾Đ¹ĐºĐ°->ĐĐ°ÑÑ‚Ñ€Đ¾Đ¸Ñ‚ÑŒ Đ±Ñ‹ÑÑ‚Ñ€Ñ‹Đµ ĐºĐ»Đ°Đ²Đ¸ÑˆĐ¸?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ²ÑĐµĐ³Đ´Đ° Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ²Ñ‹Đ·Đ²Đ°Ñ‚ÑŒ Đ¾ĐºĐ½Đ¾ Ñ Đ¿Đ¾Đ´ÑĐºĐ°Đ·ĐºĐ°Đ¼Đ¸ иÑĐ¿Đ¾Đ»ÑŒĐ·ÑƒÑ Đ¼ĐµĐ½Ñ " +"ĐŸĐ¾Đ¼Đ¾Ñ‰ÑŒ?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ¸Đ·Đ¼ĐµĐ½ÑÑ‚ÑŒ Ñ‚ĐµĐºÑƒÑ‰ĐµĐµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ иÑĐ¿Đ¾Đ»ÑŒĐ·ÑƒÑ <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> и <tt>Alt+End</tt>, даже еÑли Ñ€ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€ Đ°ĐºÑ‚Đ¸Đ²ĐµĐ½?\n" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ¿ĐµÑ€ĐµĐ¼ĐµÑ‰Đ°Ñ‚ÑŒ Ñ‚ĐµĐºÑƒÑ‰ĐµĐµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ иÑĐ¿Đ¾Đ»ÑŒĐ·ÑƒÑ <tt>Alt+Shift" +"+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> и <tt>Alt+Shift+End</tt>, даже еÑли Ñ€ĐµĐ´Đ°ĐºÑ‚Đ¾Ñ€ " +"Đ°ĐºÑ‚Đ¸Đ²ĐµĐ½?\n" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...Ñ‡Ñ‚Đ¾ Đ’Ñ‹ Đ¼Đ¾Đ¶ĐµÑ‚Đµ Đ¿ĐµÑ€ĐµĐºĐ»ÑÑ‡Đ°Ñ‚ÑŒ Ñ€ĐµĐ¶Đ¸Đ¼ Đ²ÑÑ‚Đ°Đ²ĐºĐ¸ и Đ·Đ°Đ¼ĐµĐ½Ñ‹ Đ²ÑĐµĐ³Đ¾ Đ»Đ¸ÑˆÑŒ \n" +"Đ½Đ°Đ¶Đ°Ñ‚Đ¸ĐµĐ¼ ĐºĐ»Đ°Đ²Đ¸ÑˆĐ¸ <tt>Insert</tt> или ĐºĐ»Đ¸ĐºĐ¾Đ¼ Đ¼Ñ‹ÑˆĐ¸ Đ½Đ° ÑÑ‚Đ°Ñ‚ÑƒÑ Đ² \n" +"Đ¿Đ°Đ½ĐµĐ»Đ¸ ÑĐ¾ÑÑ‚Đ¾ÑĐ½Đ¸Ñ.\n" + +#~ msgid "Configure output" +#~ msgstr "ĐĐ¾Đ½Ñ„Đ¸Đ³ÑƒÑ€Đ¸Ñ€Đ¾Đ²Đ°Ñ‚ÑŒ Đ²Ñ‹Đ²Đ¾Đ´" + +#~ msgid "Choose notes" +#~ msgstr "Đ’Ñ‹Đ±ĐµÑ€Đ¸Ñ‚Đµ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ" + +#~ msgid "Modify &description..." +#~ msgstr "Đ˜Đ·Đ¼ĐµĐ½Đ¸Ñ‚ÑŒ &Đ¾Đ¿Đ¸ÑĐ°Đ½Đ¸Đµ..." + +#~ msgid "Add link" +#~ msgstr "Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ ÑÑÑ‹Đ»ĐºÑƒ" + +#~ msgid "Enter description for current link:" +#~ msgstr "Đ’Đ²ĐµĐ´Đ¸Ñ‚Đµ Đ¾Đ¿Đ¸ÑĐ°Đ½Đ¸Đµ Đ´Đ»Ñ Ñ‚ĐµĐºÑƒÑ‰ĐµĐ¹ ÑÑÑ‹Đ»ĐºĐ¸:" + +#~ msgid "New subnote" +#~ msgstr "ĐĐ¾Đ²Đ¾Đµ Đ¿Đ¾Đ´-Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ" + +#~ msgid "Date &Format" +#~ msgstr "Đ¤Đ¾Ñ€Đ¼Đ°Ñ‚ &Đ´Đ°Ñ‚Ñ‹" + +#~ msgid "Add &subnote..." +#~ msgstr "Đ”Đ¾Đ±Đ°Đ²Đ¸Ñ‚ÑŒ &Đ¿Đ¾Đ´-Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ..." + +#~ msgid "&Tutorial" +#~ msgstr "&Đ ÑƒĐºĐ¾Đ²Đ¾Đ´ÑÑ‚Đ²Đ¾" + +#~ msgid "Cannot move this note." +#~ msgstr "Đе Đ¼Đ¾Đ³Ñƒ Đ¿ĐµÑ€ĐµĐ¼ĐµÑÑ‚Đ¸Ñ‚ÑŒ ÑÑ‚Đ¾ Đ¿Ñ€Đ¸Đ¼ĐµÑ‡Đ°Đ½Đ¸Đµ." diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..761c3e3 --- /dev/null +++ b/po/sk.po @@ -0,0 +1,1073 @@ +# translation of knowit-sk.po to Slovak +# Copyright (C) 2003 Free Software Foundation, Inc. +# Pavol Cvengros <orpheus@hq.alert.sk>, 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: knowit-sk\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2003-04-28 09:35+0200\n" +"Last-Translator: Pavol Cvengros <orpheus@hq.alert.sk>\n" +"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +#, fuzzy +msgid "All" +msgstr "&VÅ¡etko" + +#: knowitchooser.cpp:39 +#, fuzzy +msgid "Current with children" +msgstr "Ak&tuĂ¡lna s potomkami" + +#: knowitchooser.cpp:40 +#, fuzzy +msgid "Current only" +msgstr "Le&n aktuĂ¡lna" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +# knowit.cpp:478 +# knowit.cpp:497 +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "NĂ¡zov poznĂ¡mky:" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +# knowit.moc.cpp:34 +# knowit.moc.cpp:42 +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "Knowit vĂ½ber" + +# knowit.cpp:35 +#: knowit.cpp:53 +msgid "untitled" +msgstr "nepomenovanĂ©" + +# knowit.cpp:40 +#: knowit.cpp:59 +msgid "Ready" +msgstr "PripravenĂ½" + +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "Presuňte ju ak chcete zmeniÅ¥ stromovu Å¡truktĂºru." + +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>Text poznĂ¡mky</h2>Tu zadajte text pre vybranĂº poznĂ¡mku.\n" +"Text mĂ´Å¾e byÅ¥ formĂ¡tovanĂ½, naprĂklad <b>tuÄnĂ½</b> alebo <i>Å¡ikmĂ½</i>." + +# knowit.cpp:94 +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "&ExportovaÅ¥ do HTML..." + +# knowit.cpp:97 +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "&InformĂ¡cie o dokumente..." + +# knowit.cpp:101 +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "PrepnĂºÅ¥ &tuÄnĂ©" + +# knowit.cpp:103 +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "PrepnĂºÅ¥ Å¡&ikmĂ©" + +# knowit.cpp:105 +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "PrepnĂºÅ¥ podtrhn&utĂ©" + +# knowit.cpp:107 +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "Farba &textu..." + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "&Superscript" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "&Subscript" + +#: knowit.cpp:138 +msgid "&Normal text" +msgstr "&NormĂ¡lny text" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +# knowit.cpp:478 +# knowit.cpp:497 +#: knowit.cpp:142 +#, fuzzy +msgid "&Numbered list" +msgstr "NĂ¡zov poznĂ¡mky:" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +# knowit.cpp:111 +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "&ChoÄ na poznĂ¡mku..." + +#: knowit.cpp:154 +msgid "Align &left" +msgstr "ZarovnaÅ¥ &vľavo" + +#: knowit.cpp:156 +msgid "Align &right" +msgstr "ZarovnaÅ¥ vp&ravo" + +#: knowit.cpp:158 +msgid "&Justify" +msgstr "&VyrovnaÅ¥" + +#: knowit.cpp:160 +msgid "&Center" +msgstr "&CentrovaÅ¥" + +# knowit.cpp:113 +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "VložiÅ¥ &dĂ¡tum" + +# knowit.cpp:113 +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "VložiÅ¥ &sĂºbor..." + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "P&riamy textovĂ½ mĂ³d" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "Prid&aÅ¥" + +# knowit.cpp:120 +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "PridaÅ¥ po&dpoznĂ¡mku" + +# knowit.cpp:126 +#: knowit.cpp:185 +msgid "&Rename" +msgstr "P&remenovaÅ¥" + +# knowit.cpp:128 +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "Ro&zbaliÅ¥ vÅ¡etko" + +# knowit.cpp:130 +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "&RozbaliÅ¥ aktuĂ¡lnu" + +# knowit.cpp:132 +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "Zba&liÅ¥ vÅ¡etky" + +# knowit.cpp:134 +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "Z&baliÅ¥ aktuĂ¡lnu" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "PresunĂºÅ¥ vyÅ¡Å¡ie" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "PresunĂºÅ¥ nižšie" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "PresunĂºÅ¥ o Ăºroveň vyÅ¡Å¡ie" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "PresunĂºÅ¥ o Ăºroveň nižšie" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "PresunĂºÅ¥ na zaÄiatok" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "PresunĂºÅ¥ na koniec" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "UsporiadaÅ¥" + +# knowit.cpp:118 +#: knowit.cpp:211 +#, fuzzy +msgid "&Add link..." +msgstr "Prid&aÅ¥ poznĂ¡mku..." + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "" + +# knowit.cpp:600 +#: knowit.cpp:217 +#, fuzzy +msgid "Open link with..." +msgstr "OtvoriÅ¥ sĂºbor..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "" + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "&Tip dňa" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "" + +# knowit.cpp:115 +#: knowit.cpp:236 +msgid "Switch area" +msgstr "ZmeniÅ¥ oblasÅ¥" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "PrepisovacĂ mĂ³d" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "ChoÄ na predchĂ¡dzajĂºcu poznĂ¡mku" + +# knowit.cpp:111 +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "ChoÄ na nĂ¡sledujĂºcu poznĂ¡mku" + +# knowit.cpp:111 +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "ChoÄ na prvĂº poznĂ¡mku" + +# knowit.cpp:111 +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "ChoÄ na poslednĂº poznĂ¡mku" + +# knowit.cpp:124 +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "ChoÄ na prvĂº podpoznĂ¡mku" + +# knowit.cpp:767 +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "ChoÄ na nadradenĂº poznĂ¡mku" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "INS" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +# knowit.cpp:222 +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>NemĂ´Å¾em otvoriÅ¥ sĂºbor<br><b>%1</b></qt>" + +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "SĂºbor %1 bol otvorenĂ½." + +# knowit.cpp:301 +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>NemĂ´Å¾em uložiÅ¥ sĂºbor<br><b>%1</b></qt>" + +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "SĂºbor %1 bol uloženĂ½." + +# knowit.cpp:346 +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>SĂºbor <b>%1</b>\n" +"bol modifikovanĂ½. Chcete ho uložiÅ¥?</qt>" + +# knowit.cpp:346 +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>SĂºbor <b>%1</b>\n" +"bol modifikovanĂ½. Chcete ho uložiÅ¥?</qt>" + +# knowit.cpp:35 +#: knowit.cpp:463 +#, fuzzy +msgid "untitled.kno" +msgstr "nepomenovanĂ©" + +# knowit.cpp:384 +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>HľadanĂ½ text:<br><b>%1</b><br>nebol nĂ¡jdenĂ½.</qt>" + +# knowit.cpp:477 +#: knowit.cpp:621 +msgid "Add note" +msgstr "PridaÅ¥ poznĂ¡mku" + +# knowit.cpp:478 +# knowit.cpp:497 +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "NĂ¡zov poznĂ¡mky:" + +# knowit.cpp:504 +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "MusĂte si vybraÅ¥ poznĂ¡mku pred pridanĂm podpoznĂ¡mky." + +# knowit.cpp:120 +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "PridaÅ¥ podpoznĂ¡mku" + +# knowit.cpp:512 +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "" +"<qt>Ste si istĂ½ že chcete odstrĂ¡niÅ¥ poznĂ¡mku<br><b>%1</b><br> a jej " +"podpoznĂ¡mky?</qt>" + +# knowit.cpp:514 +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "<qt>Ste si istĂ½ že chcete odstrĂ¡niÅ¥ poznĂ¡mku<br><b>%1</b>?</qt>" + +# knowit.cpp:600 +# knowit.cpp:625 +#: knowit.cpp:838 knowit.cpp:875 +#, fuzzy +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|KnowIt sĂºbory (*.kno)\n" +"*|VÅ¡etky sĂºbory" + +# knowit.cpp:600 +#: knowit.cpp:838 +msgid "Open File..." +msgstr "OtvoriÅ¥ sĂºbor..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "UložiÅ¥ ako..." + +# knowit.cpp:631 +# knowit.cpp:717 +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>SĂºbor<br><b>%1</b><br>už existuje. MĂ¡m ho prepĂsaÅ¥?</qt>" + +# knowit.cpp:647 +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>Cesta dokumentu: %2<br>PoÄet poznĂ¡mok: %3</qt>" + +# knowit.cpp:711 +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|HTML sĂºbory (*.html)\n" +"*|VÅ¡etky sĂºbory" + +# knowit.cpp:711 +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "Export do HTML" + +# knowit.cpp:766 +#: knowit.cpp:1092 +msgid "Go to" +msgstr "ChoÄ na" + +# knowit.cpp:767 +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "ChoÄ na stranu s zadanĂ½m nĂ¡zvom" + +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|VÅ¡etky sĂºbory" + +# knowit.cpp:113 +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "VložiÅ¥ sĂºbor..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "OVR" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" + +# knowit.cpp:514 +#: knowit.cpp:1273 +#, fuzzy +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "<qt>Ste si istĂ½ že chcete odstrĂ¡niÅ¥ poznĂ¡mku<br><b>%1</b>?</qt>" + +# knowit.moc.cpp:34 +# knowit.moc.cpp:42 +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +#, fuzzy +msgid "KnowitEdit" +msgstr "Knowit" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "" + +# knowit.moc.cpp:34 +# knowit.moc.cpp:42 +#: knowitlink.cpp:43 +#, fuzzy +msgid "KnowIt note" +msgstr "Knowit" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "" + +# knowit.cpp:478 +#: knowitlink.cpp:90 +#, fuzzy +msgid "Choose link..." +msgstr "Vyberte si poznĂ¡mky" + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +# knowit.moc.cpp:34 +# knowit.moc.cpp:42 +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +#, fuzzy +msgid "KnowitLinks" +msgstr "Knowit" + +# knowit.moc.cpp:34 +# knowit.moc.cpp:42 +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "Knowit" + +# knowit.cpp:478 +#: knowitpref.cpp:96 +msgid "New note" +msgstr "NovĂ¡ poznĂ¡mka" + +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "Nastavenia KnowIt" + +# knowitpref.cpp:44 +#: knowitpref.cpp:138 +#, fuzzy +msgid "General" +msgstr "&HlavnĂ©" + +# knowitpref.cpp:44 +#: knowitpref.cpp:138 +msgid "General options" +msgstr "HlavnĂ© nastavenia" + +# knowitpref.cpp:45 +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "&UmiestniÅ¥ v systĂ©movom panely" + +# knowitpref.cpp:46 +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "OtvoriÅ¥ pos&lednĂ½ sĂºbor pri Å¡tarte" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "AutomatickĂ© ukladanie:" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "každĂ½" + +#: knowitpref.cpp:149 +msgid " min." +msgstr " min." + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "Nikdy" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"AktuĂ¡lny sĂºbor bude automaticky uloženĂ½ po Å¡pecifikovanom intervale. " +"Nastavte na <i>Nikdy</i> pre zakĂ¡zanie automatickĂ©ho ukladania." + +#: knowitpref.cpp:154 +#, fuzzy +msgid "Automatically save file on e&xit" +msgstr "Automaticky zložiÅ¥ inĂ© poznĂ¡mky" + +#: knowitpref.cpp:156 +#, fuzzy +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" +"AktuĂ¡lny sĂºbor bude automaticky uloženĂ½ po Å¡pecifikovanom intervale. " +"Nastavte na <i>Nikdy</i> pre zakĂ¡zanie automatickĂ©ho ukladania." + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "" + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" + +#: knowitpref.cpp:170 +#, fuzzy +msgid "Interface" +msgstr "&Rozhranie" + +# knowitpref.cpp:44 +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "Nastavenia rozhrania" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "RozdeliÅ¥ okno &horizontĂ¡lne" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"Ak je tĂ¡to voľba povolenĂ¡, strom poznĂ¡mok bude zobrazenĂ½ v ľavej Äasti a " +"editor napravo (takto je to Å¡tandardne).<br>InaÄ bude strom poznĂ¡mok " +"zobrazenĂ½ navrchu a poznĂ¡mky v dolnej Äasti." + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "Å tandardnĂ½ nĂ¡zov poznĂ¡mky:" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" +"Å tandardnĂ½ nĂ¡zov pre novĂ© poznĂ¡mky. Bude automaticky vybranĂ½, takže ak Äasto " +"kopĂrujete text pomocou vĂ½beru myÅ¡i, možno budete chcieÅ¥ zmeniÅ¥ Å¡tandardnĂ½ " +"nĂ¡zov na žiaden." + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "" + +#: knowitpref.cpp:197 +#, fuzzy +msgid "Alternate colors in tree" +msgstr "AlternatĂvne farby v zozname" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "Automaticky zložiÅ¥ inĂ© poznĂ¡mky" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "" +"Ak je tĂ¡to voľba povolenĂ¡, len aktuĂ¡lny podstrom bude viditeľnĂ½, inĂ© " +"poznĂ¡mky budĂº automaticky zatvorenĂ©." + +#: knowitpref.cpp:207 +#, fuzzy +msgid "Editor" +msgstr "&Editor" + +# knowitpref.cpp:44 +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "Nastavenia editora" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "PoužiÅ¥ &zalamovanie slov" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "" + +#: knowitpref.cpp:242 +#, fuzzy +msgid "Templates" +msgstr "&NĂ¡vrhy" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "Nastavenie nĂ¡vrhov" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" +"<html>\n" +"<p>Je možnĂ© použiÅ¥ tieto vĂ½razy: </p>\n" +"<table>\n" +"<tr><th>d</th><td>ÄĂslo dňa bez nuly (1-31)</td></tr>\n" +"<tr><th>dd</th><td>ÄĂslo dňa s doplnenou nulou (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>lokalizovanĂ© meno dňa (e.g. 'Pon'..'Ned')</td></tr>\n" +"<tr><th>dddd</th><td>lokalizovanĂ© plnĂ© meno dňa (e.g. 'Pondelok'..'Nedeľa')</" +"td></tr>\n" +"<tr><th>M</th><td>ÄĂslo mesiaca bez nuly (1-12)</td></tr>\n" +"<tr><th>MM</th><td>ÄĂslo mesiaca s doplnenou nulou (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>lokalizovanĂ© meno mesiaca (e.g. 'Jan'..'Dec')</td></tr>\n" +"<tr><th>MMMM</th><td>lokalizovanĂ© plnĂ© meno mesiaca (e.g. " +"'JanuĂ¡r'..'December')</td></tr>\n" +"<tr><th>yy</th><td>dvojÄĂselne vyjadrenie roku (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>Å¡tvrÄĂselne vyjadrenie roku (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>hodiny bez nuly (0..23 alebo 1..12 pri AM/PM zobrazenĂ)</" +"td></tr>\n" +"<tr><th>hh</th><td>hodiny s doplnenou nulou (00..23 alebo 01..12 pri AM/PM " +"zobrazenĂ)</td></tr>\n" +"<tr><th>m</th><td>minĂºty bez nuly (0..59)</td></tr>\n" +"<tr><th>mm</th><td>minĂºty s doplnenou nulou (00..59)</td></tr>\n" +"<tr><th>s</th><td>sekundy bez nuly (0..59)</td></tr>\n" +"<tr><th>ss</th><td>sekundy s doplnenou nulou (00..59)</td></tr>\n" +"<tr><th>AP</th><td>použiÅ¥ AM/PM zobrazenie</td></tr>\n" +"<tr><th>AP</th><td>použiÅ¥ am/pm zobrazenie</td></tr>\n" +"</table></html>" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "FormĂ¡t dĂ¡tumu: " + +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +msgid "KnowitPreferences" +msgstr "KnowIt nastavenia" + +# knowittray.cpp:24 +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "&Undock" + +# knowit.cpp:54 +#: knowittree.cpp:29 +msgid "Notes" +msgstr "PoznĂ¡mky" + +#: knowittree.cpp:38 +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>Hierarchia poznĂ¡mok</h2>Tu si mĂ´Å¾ete prehliadaÅ¥ strom poznĂ¡mok. Taktiež " +"mĂ´Å¾ete pridĂ¡vaÅ¥ poznĂ¡mky pomocou vyvolanĂ©ho menu kliknutĂm pravĂ©ho tlaÄidla, " +"alebo reorganizovaÅ¥ ich pomocou Å¥ahania a umiestnenia myÅ¡ou." + +# knowit.moc.cpp:34 +# knowit.moc.cpp:42 +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "Knowit" + +# main.cpp:25 +#: main.cpp:25 +#, fuzzy +msgid "KnowIt - notes management utility" +msgstr "Knowit - pomĂ´cka na sprĂ¡vu poznĂ¡mok" + +# main.cpp:31 +#: main.cpp:30 +msgid "Document to open" +msgstr "Dokument pre otvorenie" + +# main.cpp:38 +#: main.cpp:36 +msgid "KnowIt" +msgstr "KnowIt" + +# _translatorinfo.cpp:1 +# main.cpp:42 +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "Pavol CvengroÅ¡" + +# _translatorinfo.cpp:3 +# main.cpp:43 +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "orpheus@hq.alert.sk" + +# notes.cpp:183 +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "KnowIt dokument" + +# notes.cpp:187 +#: notes.cpp:258 +#, fuzzy +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "ExportovanĂ© z %1 s Knowit %2, %3." + +#: rc.cpp:1 +#, fuzzy +msgid "&Font" +msgstr "PĂsm&o" + +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "O&dsek" + +#: rc.cpp:3 +msgid "&List" +msgstr "" + +# knowit.cpp:167 +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "Poz&nĂ¡mky" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "&PozĂcia" + +# knowit.cpp:174 +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "S&trom" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "" + +#: rc.cpp:12 +#, fuzzy +msgid "Edit toolbar" +msgstr "ZobraziÅ¥ panel nĂ¡s&trojov" + +#: rc.cpp:13 +#, fuzzy +msgid "Notes toolbar" +msgstr "ZobraziÅ¥ panel nĂ¡s&trojov" + +#: rc.cpp:14 +#, fuzzy +msgid "Links toolbar" +msgstr "ZobraziÅ¥ panel nĂ¡s&trojov" + +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "" +"<p>...že mĂ´Å¾ete vložiÅ¥ oddeľovacĂ riadok pomocou <tt>Ctrl+Enter</tt>?\n" + +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "" +"<p>...že mĂ´Å¾ete vytvoriÅ¥ zoznam pomocou zaÄiatku riadku <tt>*</tt>?\n" +"alebo <tt>-<tt>?\n" + +#: tips.cpp:12 +#, fuzzy +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...ak je Knowit v panely pri odhlĂ¡senĂ, bude znovu otvorenĂ½ a\n" +"v panely pri ÄalÅ¡om Å¡tarte KDE?\n" + +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "" +"<p>...že mĂ´Å¾ete zakĂ¡zaÅ¥ panel nĂ¡strojov v Nastavenia->KonfigurĂ¡cia...?\n" + +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "" +"<p>...že si mĂ´Å¾ete nastaviÅ¥ vÅ¡etky skratky pomocou\n" +"Možnosti->Nastavenie skratiek?\n" + +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "<p>...že mĂ´Å¾ete vždy vyvolaÅ¥ okno pre Tip dňa pomocou menu Pomoc?\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>...že mĂ´Å¾ete zmeniÅ¥ aktuĂ¡lnu poznĂ¡mku pomocou <tt>Alt+Å Ăpka hore</tt>,\n" +"<tt>Alt+Å Ăpka dole</tt>, <tt>Alt+Å Ăpka vľavo</tt>, <tt>Alt+Å Ăpka vpravo</" +"tt>,\n" +"<tt>Alt+Home</tt> a <tt>Alt+End</tt>, aj keÄ je editor aktĂvny?\n" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>...že mĂ´Å¾ete presunĂºÅ¥ aktuĂ¡lnu poznĂ¡mku pomocou <tt>Alt+Shift+Å Ăpka hore</" +"tt>,\n" +"<tt>Alt+Shift+Å Ăpka dole</tt>, <tt>Alt+Shift+Å Ăpka vľavo</tt>, <tt>Alt+Shift" +"+Å Ăpka vpravo</tt>,\n" +"<tt>Alt+Shift+Home</tt> a <tt>Alt+Shift+End</tt>, aj keÄ je editor aktĂvny?\n" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...že mĂ´Å¾ete prepĂnaÅ¥ mĂ³d vkladania z normĂ¡lneho vkladania na " +"prepisovanie \n" +"stlaÄenĂm <tt>Insert</tt> klĂ¡vesy alebo kliknutĂm na stav \n" +"v stavovom panely?\n" + +#~ msgid "Configure output" +#~ msgstr "NastaviÅ¥ vĂ½stup" + +# knowit.cpp:478 +#~ msgid "Choose notes" +#~ msgstr "Vyberte si poznĂ¡mky" + +# knowit.cpp:600 +# knowit.cpp:625 +#, fuzzy +#~ msgid "" +#~ "*.kno|Knowit files (*.kno)\n" +#~ "*|All files" +#~ msgstr "" +#~ "*.kno|KnowIt sĂºbory (*.kno)\n" +#~ "*|VÅ¡etky sĂºbory" + +# knowit.cpp:477 +#, fuzzy +#~ msgid "Add link" +#~ msgstr "PridaÅ¥ poznĂ¡mku" + +# knowit.cpp:478 +#~ msgid "New subnote" +#~ msgstr "NovĂ¡ podpoznĂ¡mka" + +# knowit.cpp:61 +#~ msgid "Add note from list" +#~ msgstr "PridaÅ¥ poznĂ¡mku zo zoznamu" + +# knowit.cpp:64 +#~ msgid "Add subnote in notes list" +#~ msgstr "PridaÅ¥ podpoznĂ¡mku do zoznamu poznĂ¡mok" + +# knowit.cpp:67 +#~ msgid "Delete subnote from notes list" +#~ msgstr "OdstrĂ¡niÅ¥ podpoznĂ¡mku zo zoznamu poznĂ¡mok" + +# knowit.cpp:120 +#~ msgid "Add &subnote..." +#~ msgstr "PridaÅ¥ po&dpoznĂ¡mku..." + +#~ msgid "&Tutorial" +#~ msgstr "&NĂ¡vod" + +# knowit.cpp:588 +#~ msgid "Cannot move this note." +#~ msgstr "NemĂ´Å¾em presunĂºÅ¥ tĂºto poznĂ¡mku." diff --git a/po/zh_CN.GB2312.po b/po/zh_CN.GB2312.po new file mode 100644 index 0000000..d2506c6 --- /dev/null +++ b/po/zh_CN.GB2312.po @@ -0,0 +1,1061 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2004-03-31 14:12+0200\n" +"PO-Revision-Date: 2003-04-26 23:10+0000\n" +"Last-Translator: bclz <hanxin@mail.sc.cninfo.net>\n" +"Language-Team: 简体ä¸æ–‡ Chinese(Simple) <zh@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 0.9.6\n" + +#: knowitapp.moc.cpp:34 knowitapp.moc.cpp:42 +msgid "KnowitApplication" +msgstr "" + +#: knowitchooser.cpp:35 +msgid "&Exported notes:" +msgstr "" + +#: knowitchooser.cpp:38 +#, fuzzy +msgid "All" +msgstr "全部(&A)" + +#: knowitchooser.cpp:39 +#, fuzzy +msgid "Current with children" +msgstr "当å‰åå项(&w)" + +#: knowitchooser.cpp:40 +#, fuzzy +msgid "Current only" +msgstr "仅当å‰é¡¹(&C)" + +#: knowitchooser.cpp:42 +msgid "&Encoding:" +msgstr "" + +#: knowitchooser.cpp:45 +msgid "Local (8-bit)" +msgstr "" + +#: knowitchooser.cpp:46 +msgid "UTF-8" +msgstr "" + +# knowit.cpp:545 knowit.cpp:568 +#: knowitchooser.cpp:49 +#, fuzzy +msgid "Numbered titles" +msgstr "便ç¾æ ‡é¢˜" + +#: knowitchooser.cpp:51 notes.cpp:249 +msgid "Table of contents" +msgstr "" + +#: knowitchooser.cpp:53 +msgid "Rule betweeen notes" +msgstr "" + +#: knowitchooser.cpp:55 +msgid "Use editor font and colors" +msgstr "" + +#: knowitchooser.moc.cpp:34 knowitchooser.moc.cpp:42 +msgid "KnowitChooser" +msgstr "" + +# knowit.cpp:36 +#: knowit.cpp:53 +msgid "untitled" +msgstr "未命å" + +# knowit.cpp:41 +#: knowit.cpp:59 +msgid "Ready" +msgstr "准备好" + +# knowit.cpp:78 +#: knowit.cpp:74 +msgid "Move it to change tree/edit layout." +msgstr "移å¨è¿™ä¸ªä¼æ”¹ç¼–æ ‘ç„å±‚æ¬¡ă€‚" + +# knowit.cpp:89 +#: knowit.cpp:85 +msgid "" +"<h2>Note text</h2>Add text for selected note here.\n" +"Text can be formatted, for example <b>bold</b> or <i>italic</i>." +msgstr "" +"<h2>便ç¾å†…容</h2>在这里为选ä¸ç„便ç¾å å…¥å†…å®¹ă€‚\n" +"文本内容å¯ä»¥è¢«æ ¼å¼åŒ–,例如<b>黑体</b> æˆ–ă€€<i>斜体</i>。 " + +# knowit.cpp:101 +#: knowit.cpp:111 +msgid "&Export to HTML..." +msgstr "导出到 HTML (&E)" + +# knowit.cpp:104 +#: knowit.cpp:114 +msgid "Document &information..." +msgstr "文件信æ¯(&i)" + +# knowit.cpp:108 +#: knowit.cpp:124 +msgid "Toggle &bold" +msgstr "黑体(&b)" + +# knowit.cpp:110 +#: knowit.cpp:126 +msgid "Toggle &italic" +msgstr "斜体(&i)" + +# knowit.cpp:113 +#: knowit.cpp:129 +msgid "Toggle &underline" +msgstr "下画线(&u)" + +# knowit.cpp:116 +#: knowit.cpp:132 +msgid "&Text color..." +msgstr "æ–‡å—颜色(&T)" + +#: knowit.cpp:134 +msgid "&Superscript" +msgstr "ä¸æ ‡(&S)" + +#: knowit.cpp:136 +msgid "&Subscript" +msgstr "ä¸‹æ ‡(&S)" + +# knowit.cpp:166 +#: knowit.cpp:138 +#, fuzzy +msgid "&Normal text" +msgstr "教程(&T)" + +#: knowit.cpp:140 +msgid "&Bullet list" +msgstr "" + +# knowit.cpp:545 knowit.cpp:568 +#: knowit.cpp:142 +#, fuzzy +msgid "&Numbered list" +msgstr "便ç¾æ ‡é¢˜" + +#: knowit.cpp:144 +msgid "&Uppercase list" +msgstr "" + +#: knowit.cpp:146 +msgid "&Lowercase list" +msgstr "" + +#: knowit.cpp:148 +msgid "N&o list" +msgstr "" + +# knowit.cpp:120 +#: knowit.cpp:152 +msgid "&Go to ¬e..." +msgstr "转到(&G)便ç¾..." + +# knowit.cpp:122 +#: knowit.cpp:154 +msgid "Align &left" +msgstr "左对é½(&l)" + +# knowit.cpp:124 +#: knowit.cpp:156 +msgid "Align &right" +msgstr "å³å¯¹é½(&r)" + +# knowit.cpp:126 +#: knowit.cpp:158 +msgid "&Justify" +msgstr "对é½è°ƒæ•´(&J)" + +# knowit.cpp:128 +#: knowit.cpp:160 +msgid "&Center" +msgstr "å±…ä¸(&C)" + +# knowit.cpp:130 +#: knowit.cpp:162 +msgid "Insert &date" +msgstr "æ’入日期(&d)" + +# knowit.cpp:132 +#: knowit.cpp:164 +msgid "Insert &file..." +msgstr "æ’入文件(&f)" + +#: knowit.cpp:166 +msgid "&Raw Text Mode" +msgstr "纯文本模å¼(&R)" + +#: knowit.cpp:179 +msgid "&Add" +msgstr "å¢å (&A)" + +# knowit.cpp:567 +#: knowit.cpp:181 +msgid "Add &subnote" +msgstr "å¢å å项(&s)" + +# knowit.cpp:145 +#: knowit.cpp:185 +msgid "&Rename" +msgstr "é‡å‘½å(&R)" + +# knowit.cpp:147 +#: knowit.cpp:187 +msgid "E&xpand all" +msgstr "解å‹å…¨éƒ¨(&x)" + +# knowit.cpp:149 +#: knowit.cpp:189 +msgid "&Expand current" +msgstr "解å‹å½“å‰ç„(&E)" + +# knowit.cpp:151 +#: knowit.cpp:191 +msgid "Co&llapse all" +msgstr "å‹ç¼©å…¨éƒ¨(&l)" + +# knowit.cpp:153 +#: knowit.cpp:193 +msgid "&Collapse current" +msgstr "å‹ç¼©å½“å‰ç„(&C)" + +#: knowit.cpp:195 +msgid "Move up" +msgstr "ä¸ç§»" + +#: knowit.cpp:197 +msgid "Move down" +msgstr "下移" + +#: knowit.cpp:199 +msgid "Move level up" +msgstr "移到ä¸ä¸€å±‚" + +#: knowit.cpp:201 +msgid "Move level down" +msgstr "移到下一层" + +#: knowit.cpp:203 +msgid "Move at the beginning" +msgstr "移å¨åˆ°é¡¶ç«¯" + +#: knowit.cpp:205 +msgid "Move at the end" +msgstr "移å¨åˆ°åº•éƒ¨" + +#: knowit.cpp:207 +msgid "Sort" +msgstr "æ’åº" + +# knowit.cpp:137 +#: knowit.cpp:211 +#, fuzzy +msgid "&Add link..." +msgstr "å¢å 便ç¾(&A)" + +#: knowit.cpp:213 +msgid "&Remove link" +msgstr "" + +#: knowit.cpp:215 +msgid "Open link" +msgstr "" + +# knowit.cpp:677 +#: knowit.cpp:217 +#, fuzzy +msgid "Open link with..." +msgstr "打开文件..." + +#: knowit.cpp:219 +msgid "&Modify link..." +msgstr "" + +#: knowit.cpp:221 +msgid "&Copy link location" +msgstr "" + +# knowit.cpp:161 +#: knowit.cpp:230 +msgid "&Tip of the day" +msgstr "ä½ çŸ¥é“么?(&T)" + +#: knowit.cpp:234 +msgid "Minimize" +msgstr "" + +# knowit.cpp:134 +#: knowit.cpp:236 +msgid "Switch area" +msgstr "查找范围" + +#: knowit.cpp:238 +msgid "Overwrite Mode" +msgstr "å¤å†™æ¨¡å¼" + +#: knowit.cpp:240 +msgid "Go to previous note" +msgstr "转到ä¸ä¸€ä¸ªä¾¿ç¾" + +# knowit.cpp:120 +#: knowit.cpp:242 +msgid "Go to next note" +msgstr "转到下一个便ç¾" + +# knowit.cpp:143 +#: knowit.cpp:244 +msgid "Go to first note" +msgstr "转到第一个便ç¾" + +# knowit.cpp:120 +#: knowit.cpp:246 +msgid "Go to last note" +msgstr "转到最å一个便ç¾" + +# knowit.cpp:143 +#: knowit.cpp:248 +msgid "Go to first subnote" +msgstr "转到第一个自项" + +# knowit.cpp:545 +#: knowit.cpp:250 +msgid "Go to parent note" +msgstr "转到父便ç¾" + +#: knowit.cpp:262 knowit.cpp:1228 +msgid "INS" +msgstr "æ’å…¥" + +#: knowit.cpp:306 +msgid "" +"<qt><p>Cannot open resource file <b>knowitui.rc</b>. Some of the menus and " +"toolbars will be missing.</p><p>Probably Knowit was not installed properly. " +"If you installed from source, please invoke <i>make install</i>.If you use " +"precompiled package, please contact packager.</p></qt>" +msgstr "" + +# knowit.cpp:282 knowit.cpp:890 +#: knowit.cpp:323 knowit.cpp:1131 +msgid "<qt>Cannot open file<br><b>%1</b></qt>" +msgstr "<qt>ä¸èƒ½æ‰“开文件<br><b>%1</b></qt>" + +# knowit.cpp:353 +#: knowit.cpp:374 +msgid "File %1 opened." +msgstr "文件 %1 å·²ç»æ‰“å¼€ă€‚" + +# knowit.cpp:362 +#: knowit.cpp:389 +msgid "<qt>Cannot save file<br><b>%1</b></qt>" +msgstr "<qt>ä¸èƒ½ä¿å˜æ–‡ä»¶<br><b>%1</b></qt>" + +# knowit.cpp:386 +#: knowit.cpp:405 +msgid "File %1 saved." +msgstr "文件 %1 å·²ç»ä¿å˜ă€‚" + +# knowit.cpp:408 +#: knowit.cpp:441 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"cannot be saved. Quit anyway?</qt>" +msgstr "" +"<qt>文件 <b>%1</b>\n" +"å·²ç»è¢«ä¿®æ”¹ă€‚ä¿å˜ä¿®æ”¹ä¹ˆ?</qt> " + +# knowit.cpp:408 +#: knowit.cpp:446 +#, fuzzy +msgid "" +"<qt>File <b>%1</b><br>\n" +"was modified. Do you want to save it?</qt>" +msgstr "" +"<qt>文件 <b>%1</b>\n" +"å·²ç»è¢«ä¿®æ”¹ă€‚ä¿å˜ä¿®æ”¹ä¹ˆ?</qt> " + +# knowit.cpp:36 +#: knowit.cpp:463 +#, fuzzy +msgid "untitled.kno" +msgstr "未命å" + +# knowit.cpp:446 +#: knowit.cpp:489 +msgid "<qt>Sought text:<br><b>%1</b><br>not found.</qt>" +msgstr "<qt>查找文本: <br><b>%1</b><br>æœªæ‰¾åˆ°ă€‚</qt>" + +# knowit.cpp:544 +#: knowit.cpp:621 +msgid "Add note" +msgstr "å¢å 便ç¾" + +# knowit.cpp:545 knowit.cpp:568 +#: knowit.cpp:622 knowit.cpp:646 +msgid "Note title:" +msgstr "便ç¾æ ‡é¢˜" + +# knowit.cpp:563 +#: knowit.cpp:641 +msgid "You have to choose note before adding subnote." +msgstr "å å…¥å项å‰å¿…须选择一个便ç¾ă€‚" + +# knowit.cpp:567 +#: knowit.cpp:645 +msgid "Add subnote" +msgstr "å¢å å项" + +# knowit.cpp:588 +#: knowit.cpp:666 +msgid "" +"<qt>Are you sure you want to delete note<br><b>%1</b><br> and its subnotes?</" +"qt>" +msgstr "<qt>ç¡®å®è¦åˆ 除便ç¾<br><b>%1</b><br>和它ç„å项么?</qt>" + +# knowit.cpp:590 +#: knowit.cpp:668 +msgid "<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>" +msgstr "<qt>ç¡®å®è¦åˆ 除便ç¾<br><b>%1</b>么?</qt>" + +# knowit.cpp:677 knowit.cpp:702 +#: knowit.cpp:838 knowit.cpp:875 +#, fuzzy +msgid "" +"*.kno|KnowIt files (*.kno)\n" +"*|All files" +msgstr "" +"*.kno|KnowIt 文件 (*.kno)\n" +"*|所有文件" + +# knowit.cpp:677 +#: knowit.cpp:838 +msgid "Open File..." +msgstr "打开文件..." + +#: knowit.cpp:857 +msgid "" +"<qt><p>File couldn not be saved automatically.<p>Autosaving disabled - save " +"file manually to turn autosaving on.</p></qt>" +msgstr "" + +#: knowit.cpp:875 +msgid "Save as..." +msgstr "å¦å˜ä¸º..." + +# knowit.cpp:708 knowit.cpp:794 +#: knowit.cpp:881 knowit.cpp:973 +msgid "<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>" +msgstr "<qt>文件<br><b>%1</b><br>å·²ç»å˜åœ¨. 覆盖么?</qt>" + +# knowit.cpp:724 +#: knowit.cpp:897 +msgid "<qt><h1>%1</h1>Document path: %2<br>Number of notes: %3</qt>" +msgstr "<qt><h1>%1</h1>文档路径: %2<br>便ç¾æ•°ç›®: %3</qt>" + +# knowit.cpp:788 +#: knowit.cpp:967 +msgid "" +"*.html|HTML files (*.html)\n" +"*|All files" +msgstr "" +"*.html|HTML 文件 (*.html)\n" +"*|所有文件" + +# knowit.cpp:788 +#: knowit.cpp:967 +msgid "Export to HTML" +msgstr "导出到 HTML" + +# knowit.cpp:863 +#: knowit.cpp:1092 +msgid "Go to" +msgstr "转到" + +# knowit.cpp:864 +#: knowit.cpp:1093 +msgid "Go to page with given title" +msgstr "转到制å®æ ‡é¢˜ç„页" + +# knowit.cpp:885 +#: knowit.cpp:1126 knowitlink.cpp:90 +msgid "*|All files" +msgstr "*|所有文件" + +# knowit.cpp:885 +#: knowit.cpp:1126 +msgid "Insert file..." +msgstr "æ’入文件..." + +#: knowit.cpp:1227 +msgid "OVR" +msgstr "å¤å†™" + +#: knowit.cpp:1263 +msgid "" +"You have just added your first link. Please remember that only links are " +"stored in Knowit document, not linked files. If you move your document to " +"other computer, links to local files probably won't work." +msgstr "" + +# knowit.cpp:590 +#: knowit.cpp:1273 +#, fuzzy +msgid "<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>" +msgstr "<qt>ç¡®å®è¦åˆ 除便ç¾<br><b>%1</b>么?</qt>" + +#: knowitedit.moc.cpp:34 knowitedit.moc.cpp:42 +msgid "KnowitEdit" +msgstr "" + +#: knowitlink.cpp:34 +msgid "Modify link" +msgstr "" + +#: knowitlink.cpp:40 +msgid "Referenced item:" +msgstr "" + +#: knowitlink.cpp:42 +msgid "File or URL" +msgstr "" + +# knowit.cpp:545 +#: knowitlink.cpp:43 +#, fuzzy +msgid "KnowIt note" +msgstr "新便ç¾" + +#: knowitlink.cpp:55 +msgid "Link description:" +msgstr "" + +# knowit.cpp:545 +#: knowitlink.cpp:90 +#, fuzzy +msgid "Choose link..." +msgstr "新便ç¾" + +#: knowitlink.moc.cpp:34 knowitlink.moc.cpp:42 +msgid "KnowitLinkDialog" +msgstr "" + +#: knowitlinks.moc.cpp:34 knowitlinks.moc.cpp:42 +msgid "KnowitLinks" +msgstr "" + +# knowit.moc.cpp:34 knowit.moc.cpp:42 +#: knowit.moc.cpp:34 knowit.moc.cpp:42 +msgid "Knowit" +msgstr "" + +# knowit.cpp:545 +#: knowitpref.cpp:96 +msgid "New note" +msgstr "新便ç¾" + +# knowitpref.cpp:44 +#: knowitpref.cpp:132 +msgid "KnowIt Preferences" +msgstr "KnowIt å±æ€§è®¾ç½®" + +# knowitpref.cpp:46 +#: knowitpref.cpp:138 +#, fuzzy +msgid "General" +msgstr "常规(&G)" + +# knowitpref.cpp:46 +#: knowitpref.cpp:138 +msgid "General options" +msgstr "常规选项" + +# knowitpref.cpp:47 +#: knowitpref.cpp:141 +msgid "&Dock in System tray" +msgstr "最å°åŒ–到系统托盘(&D)" + +# knowitpref.cpp:48 +#: knowitpref.cpp:142 +msgid "Open &last file on startup" +msgstr "å¯å¨æ—¶æ‰“å¼€ä¸æ¬¡æ‰“å¼€ç„文件(&l)" + +#: knowitpref.cpp:146 +msgid "Autosave:" +msgstr "自å¨å˜ç›˜ï¼" + +#: knowitpref.cpp:148 +msgid "every " +msgstr "æ¯" + +#: knowitpref.cpp:149 +msgid " min." +msgstr "分ç§" + +#: knowitpref.cpp:150 +msgid "Never" +msgstr "ä»ä¸" + +#: knowitpref.cpp:151 +msgid "" +"Current file will be automatically saved after the specified interval. Set " +"to <i>never</i> to disable autosave." +msgstr "" +"当å‰çºªå½•ä¼ä»¥ç‰¹å®æ—¶é—´é—´é”自å¨å˜ç›˜ă€‚设置<i>ä»ä¸</i>å¯ä»¥ç¦ç”¨è‡ªå¨å˜ç›˜åŸèƒ½ă€‚" + +#: knowitpref.cpp:154 +#, fuzzy +msgid "Automatically save file on e&xit" +msgstr "自å¨æ˜å 其他便ç¾" + +#: knowitpref.cpp:156 +#, fuzzy +msgid "Current file will be automatically saved on exit without confirmation." +msgstr "" +"当å‰çºªå½•ä¼ä»¥ç‰¹å®æ—¶é—´é—´é”自å¨å˜ç›˜ă€‚设置<i>ä»ä¸</i>å¯ä»¥ç¦ç”¨è‡ªå¨å˜ç›˜åŸèƒ½ă€‚" + +#: knowitpref.cpp:158 +msgid "Create &backups" +msgstr "" + +#: knowitpref.cpp:160 +msgid "Create backup of current document before it is saved." +msgstr "" + +#: knowitpref.cpp:161 +msgid "Allow &multiple instances of KnowIt" +msgstr "" + +#: knowitpref.cpp:163 +msgid "" +"If this option is disabled, only one instance of KnowIt will be allowed. If " +"there is another instance already running, it will be automatically " +"activated instead of running new one." +msgstr "" + +# knowitpref.cpp:46 +#: knowitpref.cpp:170 +#, fuzzy +msgid "Interface" +msgstr "ç•Œé¢(&I)" + +# knowitpref.cpp:46 +#: knowitpref.cpp:170 +msgid "Interface options" +msgstr "ç•Œé¢é…置选项" + +#: knowitpref.cpp:173 +msgid "Split window &horizontally" +msgstr "纵å‘切割窗å£(&h)" + +#: knowitpref.cpp:174 +msgid "" +"If this option is set, notes tree will be displayed on the left and the " +"editor on the right (this is default).<br>Otherwise notes tree will be " +"displayed at the top and the editor at the bottom." +msgstr "" +"如æœé€‰ä¸è¿™ä¸ªåŸèƒ½ï¼Œæ•°ç¶åˆ—表将显示在左边,编辑窗å£åœ¨å³è¾¹(缺çœ)。<br>å¦åˆ™æ•°ç¶åˆ—" +"表将在窗å£ä¸éƒ¨ï¼Œè€Œç¼–辑窗å£åœ¨åº•éƒ¨ă€‚" + +#: knowitpref.cpp:180 +msgid "Default note name:" +msgstr "缺çœä¾¿ç¾ååï¼" + +#: knowitpref.cpp:182 +msgid "" +"Default name for new notes. It would be autoselected, so if you often copy " +"text using mouse selection, you may consider setting default name to none." +msgstr "" +"新便ç¾ç„缺çœååă€‚ç³»ç»Ÿå°†è‡ªå¨é€‰æ‹©åå, 所以如æœä½ ç»å¸¸ä½¿ç”¨é¼ æ ‡é€‰æ‹©æ–‡å—ï¼Œä½ åº”è¯¥" +"设å®ç¼ºçœåå为 空 。" + +#: knowitpref.cpp:188 +msgid "Link format:" +msgstr "" + +#: knowitpref.cpp:190 +msgid "Description (link)" +msgstr "" + +#: knowitpref.cpp:191 +msgid "Link (description)" +msgstr "" + +#: knowitpref.cpp:192 +msgid "Link only" +msgstr "" + +#: knowitpref.cpp:193 +msgid "Description only" +msgstr "" + +#: knowitpref.cpp:197 +#, fuzzy +msgid "Alternate colors in tree" +msgstr "列表ä¸ç„替æ¢é¢œè‰²" + +#: knowitpref.cpp:200 +msgid "Automatically collapse other notes" +msgstr "自å¨æ˜å 其他便ç¾" + +#: knowitpref.cpp:201 +msgid "" +"If this option is set, only current subtree will be visible, other notes " +"will be automatically collapsed." +msgstr "如æœæ¤é¡¹è¢«é€‰ä¸ï¼Œé‚£ä¹ˆåªæœ‰å½“å‰åæ•°å¯ä»¥æ˜¾ç¤ºï¼Œå…¶ä»–便ç¾ä¼è‡ªå¨æ˜å 。" + +#: knowitpref.cpp:207 +#, fuzzy +msgid "Editor" +msgstr "编辑(&E)" + +# knowitpref.cpp:46 +#: knowitpref.cpp:207 +msgid "Editor options" +msgstr "编辑选项" + +#: knowitpref.cpp:210 +msgid "Use &word wrap" +msgstr "自å¨æ¢è¡Œ(&w)" + +#: knowitpref.cpp:212 +msgid "'Enter' ends current line, not paragraph" +msgstr "" + +#: knowitpref.cpp:214 +msgid "'Tab' in editor changes focus" +msgstr "" + +#: knowitpref.cpp:221 +msgid "Use &custom colors" +msgstr "" + +#: knowitpref.cpp:230 +msgid "Use custom font:" +msgstr "" + +#: knowitpref.cpp:242 +#, fuzzy +msgid "Templates" +msgstr "模æ¿(&T)" + +#: knowitpref.cpp:242 +msgid "Templates configuration" +msgstr "模æ¿é…ç½®" + +#: knowitpref.cpp:245 +msgid "" +"<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</" +"td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</" +"td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></" +"tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></" +"tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')" +"</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. " +"'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM " +"display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" +msgstr "" +"<html>\n" +"<p>å¯ä»¥ä½¿ç”¨ä»¥ä¸‹è¡¨è¾¾æ–¹æ³•ï¼ </p>\n" +"<table>\n" +"<tr><th>d</th><td>ä¸ä»¥é›¶å¼€å¤´ç„日期 (1-31)</td></tr>\n" +"<tr><th>dd</th><td>以零开头ç„日期 (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>æ–‡å—简写表示ç„日期 (例如 '一'..'æ—¥')</td></tr>\n" +"<tr><th>dddd</th><td>æ–‡å—表示ç„日期全称 (例如 '星期一'..'星期日')</td></tr>\n" +"<tr><th>M</th><td>ä¸ä»¥é›¶å¼€å¤´ç„月份 (1-12)</td></tr>\n" +"<tr><th>MM</th><td>以零开头ç„月份 (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>月份ç„æ–‡å—缩写 (例如 '一'..'å二')</td></tr>\n" +"<tr><th>MMMM</th><td>月份全å (例如 '一月'..'å二月')</td></tr>\n" +"<tr><th>yy</th><td>两ä½æ•°å—ç„年份 (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>å››ä½æ•°å—ç„年份 (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>ä¸ä»¥é›¶å¼€å§‹ç„å°æ—¶æ•° (0..23 or 1..12 if AM/PM display)</td></" +"tr>\n" +"<tr><th>hh</th><td>以零开始ç„å°æ—¶æ•° (00..23 or 01..12 if AM/PM display)</" +"td></tr>\n" +"<tr><th>m</th><td>ä¸ä»¥é›¶å¼€å§‹ç„分钟 (0..59)</td></tr>\n" +"<tr><th>mm</th><td>以零开始ç„分钟 (00..59)</td></tr>\n" +"<tr><th>s</th><td>ä¸ä»¥é›¶å¼€å§‹ç„秒 (0..59)</td></tr>\n" +"<tr><th>ss</th><td>以零开始ç„秒 (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>" + +#: knowitpref.cpp:270 +msgid "Date Format: " +msgstr "æ—¥æœŸæ ¼å¼ï¼" + +# knowitpref.cpp:44 +#: knowitpref.moc.cpp:34 knowitpref.moc.cpp:42 +#, fuzzy +msgid "KnowitPreferences" +msgstr "KnowIt å±æ€§è®¾ç½®" + +# knowittray.cpp:24 +#: knowittray.cpp:24 +msgid "&Undock" +msgstr "æ¢å¤çª—å£(&U)" + +# knowit.cpp:55 +#: knowittree.cpp:29 +msgid "Notes" +msgstr "便ç¾" + +# knowit.cpp:74 +#: knowittree.cpp:38 +#, fuzzy +msgid "" +"<h2>Notes hierarchy</h2>Here you can browse notes tree. You can also add " +"notes using right-click menu, or reorganize them using drag and drop." +msgstr "" +"<h2>便ç¾å±‚次</h2>ä½ å¯ä»¥åœ¨è¿™é‡Œå¯Ÿçœ‹ä¾¿ç¾ç„æ ‘å‹å±‚æ¬¡ă€‚å¯ä»¥é€è¿‡å³é”®èœå•å 入便ç¾ï¼Œæˆ–" +"者用托放é‡æ–°ç»„织结æ„。" + +# knowitpref.cpp:44 +#: knowittree.moc.cpp:34 knowittree.moc.cpp:42 +#, fuzzy +msgid "KnowitTree" +msgstr "KnowIt å±æ€§è®¾ç½®" + +# main.cpp:25 +#: main.cpp:25 +#, fuzzy +msgid "KnowIt - notes management utility" +msgstr "Knowit - 便ç¾ç®¡ç†å·¥å…·" + +# main.cpp:31 +#: main.cpp:30 +msgid "Document to open" +msgstr "打开ç„文档" + +# main.cpp:38 +#: main.cpp:36 +msgid "KnowIt" +msgstr "" + +# _translatorinfo.cpp:1 main.cpp:42 +#: main.cpp:40 _translatorinfo.cpp:1 +msgid "" +"_: NAME OF TRANSLATORS\n" +"Your names" +msgstr "韩新" + +# _translatorinfo.cpp:3 main.cpp:43 +#: main.cpp:41 _translatorinfo.cpp:3 +msgid "" +"_: EMAIL OF TRANSLATORS\n" +"Your emails" +msgstr "hanxin@mail.sc.cninfo.net" + +# notes.cpp:184 +#: notes.cpp:239 +msgid "KnowIt document" +msgstr "KnowIt 文档" + +# notes.cpp:188 +#: notes.cpp:258 +#, fuzzy +msgid "Exported from %1 by KnowIt %2, %3." +msgstr "ç”± Knowit %2, %3 ä» %1 输出" + +#: rc.cpp:1 +#, fuzzy +msgid "&Font" +msgstr "å—体(&o)" + +# knowit.cpp:198 +#: rc.cpp:2 +msgid "&Paragraph" +msgstr "段è½(&P)" + +#: rc.cpp:3 +msgid "&List" +msgstr "" + +# knowit.cpp:220 +#: rc.cpp:4 rc.cpp:9 +msgid "&Notes" +msgstr "便ç¾(&N)" + +#: rc.cpp:5 rc.cpp:10 +msgid "&Position" +msgstr "ä½ç½®(&P)" + +# knowit.cpp:227 +#: rc.cpp:6 rc.cpp:11 +msgid "&Tree" +msgstr "æ ‘(&T)" + +#: rc.cpp:7 rc.cpp:8 +msgid "&Links" +msgstr "" + +# knowitpref.cpp:49 +#: rc.cpp:12 +#, fuzzy +msgid "Edit toolbar" +msgstr "显示工具æ¡(&t)" + +# knowitpref.cpp:49 +#: rc.cpp:13 +#, fuzzy +msgid "Notes toolbar" +msgstr "显示工具æ¡(&t)" + +# knowitpref.cpp:49 +#: rc.cpp:14 +#, fuzzy +msgid "Links toolbar" +msgstr "显示工具æ¡(&t)" + +# tips.cpp:3 +#: tips.cpp:3 +msgid "<p>...that you can insert a breakline using <tt>Control+Enter</tt>?\n" +msgstr "<p>...ä½ å¯ä»¥ä½¿ç”¨<tt>Control + Enter</tt>æ’å…¥ä¸€ä¸ªè¡Œåˆ†æ ¼ç¬¦\n" + +# tips.cpp:7 +#: tips.cpp:7 +msgid "" +"<p>...that you can create list, starting lines with <tt>*</tt>\n" +"or <tt>-<tt>?\n" +msgstr "<p>...ä½ å¯åœ¨è¡Œé¦–使用<tt>*</tt>或者<tt>-</tt>æ–°å»ºä¸€ä¸ªåˆ—è¡¨ă€‚\n" + +# tips.cpp:12 +#: tips.cpp:12 +#, fuzzy +msgid "" +"<p>...that if KnowIt is docked on logout, it would be reopen and\n" +"docked next time you start KDE?\n" +msgstr "" +"<p>...如æœåœ¨æ‚¨é€€å‡ºç³»ç»Ÿæ—¶Knowit 未退出,则下次进入KDEæ—¶Knowitä¼è‡ªå¨å¯å¨ă€‚\n" + +# tips.cpp:17 +#: tips.cpp:17 +msgid "<p>...that you can disable toolbar using Options->Configure...?\n" +msgstr "<p>...ä½ å¯ä»¥é€è¿‡ 选项->é…ç½®Knowit èœå•ç¦ç”¨å·¥å…·æ¡ă€‚\n" + +# tips.cpp:21 +#: tips.cpp:21 +msgid "" +"<p>...that you can configure all shortcuts using\n" +"Options->Configure shortcuts?\n" +msgstr "<p>...ä½ å¯ä»¥ä½¿ç”¨ 选项->é…置快æ·é”® èœå•é…置所有ç„å¿«æ·é”®ă€‚\n" + +# tips.cpp:26 +#: tips.cpp:26 +msgid "<p>...that you can always invoke Tip window using Help menu?\n" +msgstr "<p>...ä½ å¯ä»¥é€è¿‡Helpèœå•å¯Ÿçœ‹Tips。\n" + +#: tips.cpp:30 +msgid "" +"<p>...that you can change current note with <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active?\n" +msgstr "" +"<p>..., å³ä½¿åœ¨ç¼–辑ç¶æ€ä¸ï¼Œä½ 也å¯ä»¥ä½¿ç”¨ <tt>Alt+Up</tt>,\n" +"<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>,\n" +"<tt>Alt+Home</tt> å’Œ <tt>Alt+End</tt>切æ¢å½“å‰ä¾¿ç¾ă€‚\n" + +#: tips.cpp:36 +msgid "" +"<p>...that you can move current note with <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is " +"active?\n" +msgstr "" +"<p>...å³ä½¿åœ¨ç¼–辑ç¶æ€ä¸ï¼Œä½ 也å¯ä»¥ä½¿ç”¨ <tt>Alt+Shift+Up</tt>,\n" +"<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>,\n" +"<tt>Alt+Shift+Home</tt> å’Œ <tt>Alt+Shift+End</tt>移å¨å½“å‰ä¾¿ç¾ă€‚\n" + +#: tips.cpp:42 +msgid "" +"<p>...that you can toggle Insert Mode from normal insert to overwrite \n" +"by either pressing <tt>Insert</tt> button or by clicking on the status \n" +"in the status bar?\n" +msgstr "" +"<p>...ä½ å¯ä»¥é€è¿‡æŒ‰ä¸‹<tt>Insert</tt>键或者选择ç¶æ€æ¡ä¸ç„ç¶æ€æ¥åˆ‡æ¢æ’å…¥ä¸å¤å†™ç¶" +"æ€ă€‚\n" + +#~ msgid "Configure output" +#~ msgstr "输出é…ç½®" + +# knowit.cpp:545 +#, fuzzy +#~ msgid "Choose notes" +#~ msgstr "新便ç¾" + +# knowit.cpp:677 knowit.cpp:702 +#, fuzzy +#~ msgid "" +#~ "*.kno|Knowit files (*.kno)\n" +#~ "*|All files" +#~ msgstr "" +#~ "*.kno|KnowIt 文件 (*.kno)\n" +#~ "*|所有文件" + +# knowit.cpp:544 +#, fuzzy +#~ msgid "Add link" +#~ msgstr "å¢å 便ç¾" + +# knowit.cpp:568 +#~ msgid "New subnote" +#~ msgstr "æ–°å项" + +# knowit.cpp:139 +#~ msgid "Add &subnote..." +#~ msgstr "å¢å å项(&s)" + +# knowit.cpp:166 +#~ msgid "&Tutorial" +#~ msgstr "教程(&T)" + +# knowit.cpp:665 +#~ msgid "Cannot move this note." +#~ msgstr "ä¸èƒ½ç§»å¨è¿™ä¸ªä¾¿ç¾ă€‚" + +# knowit.cpp:62 +#~ msgid "Add note from list" +#~ msgstr "ä»åˆ—表ä¸æ’入便ç¾" + +# knowit.cpp:65 +#~ msgid "Add subnote in notes list" +#~ msgstr "在便ç¾åˆ—表ä¸æ’å…¥å项" + +# knowit.cpp:68 +#~ msgid "Delete subnote from notes list" +#~ msgstr "ä»ä¾¿ç¾åˆ—表ä¸åˆ 除å项" diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..7364a0b --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,35 @@ +# set the include path for X, qt and KDE +INCLUDES = $(all_includes) + +# these are the headers for your project +noinst_HEADERS = knowit.h knowitlink.h knowittree.h notes.h knowitlinks.h knowittray.h knowitpref.h knowitapp.h knowitchooser.h knowitedit.h + +# let automoc handle all of the meta source files (moc) +METASOURCES = AUTO + +messages: rc.cpp + $(XGETTEXT) *.cpp -o $(podir)/knowit.pot + +KDE_ICON = knowit + +######################################################################### +# APPLICATION SECTION +######################################################################### +# this is the program that gets installed. it's name is used for all +# of the other Makefile.am variables +bin_PROGRAMS = knowit + +# the application source, library search path, and link libraries +knowit_SOURCES = main.cpp knowit.cpp notes.cpp knowittree.cpp knowitlinks.cpp knowittray.cpp knowitpref.cpp knowitlink.cpp knowitapp.cpp knowitchooser.cpp knowitedit.cpp tips x-knowit.desktop +knowit_LDFLAGS = $(KDE_RPATH) $(all_libraries) +knowit_LDADD = $(LIB_KDEPRINT) $(LIB_KDEUI) + +# this is where the desktop file will go +shelldesktopdir = $(kde_appsdir)/Applications +shelldesktop_DATA = knowit.desktop + +# this is where the shell's XML-GUI resource file goes +shellrcdir = $(kde_datadir)/knowit +shellrc_DATA = knowitui.rc tips + +shellmimedir = $(kde_mimedir)/application diff --git a/src/hi16-app-knowit.png b/src/hi16-app-knowit.png Binary files differnew file mode 100644 index 0000000..877b9bd --- /dev/null +++ b/src/hi16-app-knowit.png diff --git a/src/hi32-app-knowit.png b/src/hi32-app-knowit.png Binary files differnew file mode 100644 index 0000000..a6a5aa0 --- /dev/null +++ b/src/hi32-app-knowit.png diff --git a/src/knowit.cpp b/src/knowit.cpp new file mode 100644 index 0000000..f789582 --- /dev/null +++ b/src/knowit.cpp @@ -0,0 +1,1328 @@ +/*************************************************************************** + knowit.cpp - description + ------------------- + begin : czw wrz 26 08:27:40 CEST 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include <qtimer.h> +#include <qclipboard.h> +#include <qdatetime.h> +#include <qdir.h> +#include <qfile.h> +#include <qtextstream.h> +#include <qpainter.h> +#include <qpaintdevicemetrics.h> +#include <qwhatsthis.h> +#include <qsimplerichtext.h> +#include <qsplitter.h> + +#include <kaction.h> +#include <kcmdlineargs.h> +#include <kcolordialog.h> +#include <kconfig.h> +#include <kdeversion.h> +#include <kedittoolbar.h> +#include <kfiledialog.h> +#include <kkeydialog.h> +#include <kmenubar.h> +#include <kmessagebox.h> +#include <kmimetype.h> +#include <kpopupmenu.h> +#include <kprinter.h> +#include <kstatusbar.h> +#include <ktip.h> +#if KDE_IS_VERSION(3,2,0) +#include <kinputdialog.h> +#else +#include <klineeditdlg.h> +#define KInputDialog KLineEditDlg +#endif + +#include "knowit.h" +#include "knowitapp.h" +#include "knowittray.h" +#include "knowittree.h" +#include "knowitlinks.h" + +const QString Knowit::Untitled = i18n("untitled") + ".kno"; + +Knowit::Knowit(QWidget*, const char *name) : KMainWindow(0, name), + FindDlg(), PrefDlg(), ChooserDlg(), LinkDlg(), Notes() +{ + + statusBar()->insertItem(i18n("Ready"), 0); + Layout = new QSplitter(this); + Items = new KnowitTree(Layout, "Items"); + QSplitter* EditLayout = new QSplitter(Layout); + EditLayout->setOrientation(QSplitter::Vertical); + Edit = new KnowitEdit(EditLayout, "Edit"); + Links = new KnowitLinks(EditLayout); + + connect(&FindDlg, SIGNAL(search()), this, SLOT(slotEditFind())); + lastSought = 0; + + /* main view */ + setAutoSaveSettings(); + setCentralWidget(Layout); + + QWhatsThis::add(Layout, i18n("Move it to change tree/edit layout.")); + connect(Items, SIGNAL(contextMenu(KListView*, QListViewItem*, const QPoint&)), + this, SLOT(slotContextMenu(KListView*, QListViewItem*, const QPoint&))); + connect(Items, SIGNAL(selectionChanged(QListViewItem*)), this, + SLOT(slotItemChanged(QListViewItem*))); + connect(Items, SIGNAL(selectionChanged(QListViewItem*)), this, + SLOT(slotItemChanged(QListViewItem*))); + + /* Edit (QTextEdit) */ + Edit->setMinimumSize(200, 150); + Edit->setTextFormat(Qt::RichText); + QWhatsThis::add(Edit, i18n("<h2>Note text</h2>Add text for selected note here.\n" + "Text can be formatted, for example <b>bold</b> or <i>italic</i>.")); + connect(Edit, SIGNAL(selectionChanged()), this, SLOT(slotEditChanged())); + connect(Edit, SIGNAL(textChanged()), this, SLOT(slotEditChanged())); + connect(Edit, SIGNAL(cursorPositionChanged(int, int)), this, + SLOT(slotEditCursorChanged(int, int))); + connect(Edit, SIGNAL(textDropped(const QString&, int)), + this, SLOT(slotLinkDropped(const QString&, int))); + + /* Links (KListBox) */ + connect(Links, SIGNAL(doubleClicked(QListBoxItem*)), + this, SLOT(slotShowAttachment(QListBoxItem*))); + connect(Links, SIGNAL(contextMenuRequested(QListBoxItem*, const QPoint&)), + this, SLOT(slotContextLinksMenu(QListBoxItem*, const QPoint&))); + connect(Links, SIGNAL(textDropped(const QString&, int)), + this, SLOT(slotLinkDropped(const QString&, int))); + connect(Links, SIGNAL(linkRemove()), this, SLOT(slotLinkRemove())); + connect(Links, SIGNAL(linkOpen()), this, SLOT(slotLinkOpen())); + connect(Links, SIGNAL(linkOpenWith()), this, SLOT(slotLinkOpenWith())); + + /* Actions: File */ + KStdAction::openNew(this, SLOT(slotFileNew()), actionCollection()); + KStdAction::open(this, SLOT(slotFileOpen()), actionCollection()); + actionRecent = KStdAction::openRecent(this, SLOT(slotFileRecent(const KURL&)), actionCollection()); + KStdAction::save(this, SLOT(slotFileSave()), actionCollection()); + KStdAction::saveAs(this, SLOT(slotFileSaveAs()), actionCollection()); + new KAction(i18n("&Export to HTML..."), "", "", this, + SLOT(slotFileExport()), actionCollection(), "file_export_html"); + KStdAction::print(this, SLOT(slotFilePrint()), actionCollection()); + new KAction(i18n("Document &information..."), "", "", this, + SLOT(slotFileInfo()), actionCollection(), "file_info"); + KStdAction::quit(this, SLOT(slotFileQuit()), actionCollection()); + + /* Actions: Edit */ + actionCut = KStdAction::cut(Edit, SLOT(cut()), actionCollection()); + actionCopy = KStdAction::copy(Edit, SLOT(copy()), actionCollection()); + KStdAction::paste(Edit, SLOT(paste()), actionCollection()); + actionUndo = KStdAction::undo(Edit, SLOT(undo()), actionCollection()); + actionRedo = KStdAction::redo(Edit, SLOT(redo()), actionCollection()); + actionBold = new KToggleAction(i18n("Toggle &bold"), "text_bold", + "Ctrl+B", this, SLOT(slotEditBold()), actionCollection(), "edit_bold"); + actionItalic = new KToggleAction(i18n("Toggle &italic"), "text_italic", + "Ctrl+I", this, SLOT(slotEditItalic()), actionCollection(), + "edit_italic"); + actionUnderline = new KToggleAction(i18n("Toggle &underline"), "text_under", + "Ctrl+U", this, SLOT(slotEditUnderline()), actionCollection(), + "edit_underline"); + new KAction(i18n("&Text color..."), "color_line", "Ctrl+#", this, + SLOT(slotEditColor()), actionCollection(), "edit_color"); + new KAction(i18n("&Superscript"), "text_super", "", this, + SLOT(slotEditSuperscript()), actionCollection(), "edit_superscript"); + new KAction(i18n("&Subscript"), "text_sub", "", this, + SLOT(slotEditSubscript()), actionCollection(), "edit_subscript"); + new KAction(i18n("&Normal text"), "", "", this, + SLOT(slotEditNormal()), actionCollection(), "edit_align_normal"); + new KAction(i18n("&Bullet list"), "", "", this, + SLOT(slotEditListBullet()), actionCollection(), "list_bullet"); + new KAction(i18n("&Numbered list"), "", "", this, + SLOT(slotEditListNumber()), actionCollection(), "list_number"); + new KAction(i18n("&Uppercase list"), "", "", this, + SLOT(slotEditListUpper()), actionCollection(), "list_upper"); + new KAction(i18n("&Lowercase list"), "", "", this, + SLOT(slotEditListLower()), actionCollection(), "list_lower"); + new KAction(i18n("N&o list"), "", "", this, + SLOT(slotEditListNone()), actionCollection(), "list_none"); + KStdAction::find(&FindDlg, SLOT(exec()), actionCollection()); + KStdAction::findNext(this, SLOT(slotEditFindNext()), actionCollection()); + new KAction(i18n("&Go to ¬e..."), "goto", "Ctrl+G", this, + SLOT(slotEditGoTo()), actionCollection(), "goto_note"); + actionEditAlignLeft = new KToggleAction(i18n("Align &left"), "text_left", "Ctrl+L", this, + SLOT(slotEditAlignLeft()), actionCollection(), "edit_align_left"); + actionEditAlignRight = new KToggleAction(i18n("Align &right"), "text_right", "Ctrl+R", + this, SLOT(slotEditAlignRight()), actionCollection(), "edit_align_right"); + actionEditAlignJustify = new KToggleAction(i18n("&Justify"), "text_block", "Ctrl+J", + this, SLOT(slotEditAlignJustify()), actionCollection(), "edit_align_justify"); + actionEditAlignCenter = new KToggleAction(i18n("&Center"), "text_center", "Ctrl+E", this, + SLOT(slotEditAlignCenter()), actionCollection(), "edit_align_center"); + new KAction(i18n("Insert &date"), "date", "F5", this, + SLOT(slotEditInsertDate()), actionCollection(), "edit_insert_date"); + new KAction(i18n("Insert &file..."), "", "", this, + SLOT(slotEditInsertFile()), actionCollection(), "edit_insert_file"); + actionRawTextMode = new KToggleAction(i18n("&Raw Text Mode"), + "source", "F10", this, SLOT(slotRawTextMode()), + actionCollection(), "edit_raw_text"); + + /* Actions: edit setup */ + actionCut->setEnabled(false); + actionCopy->setEnabled(false); + connect(Edit, SIGNAL(copyAvailable(bool)), actionCut, SLOT(setEnabled(bool))); + connect(Edit, SIGNAL(copyAvailable(bool)), actionCopy, SLOT(setEnabled(bool))); + connect(Edit, SIGNAL(undoAvailable(bool)), actionUndo, SLOT(setEnabled(bool))); + connect(Edit, SIGNAL(redoAvailable(bool)), actionRedo, SLOT(setEnabled(bool))); + + /* Actions: notes */ + new KAction(i18n("&Add"), "", "Alt+Insert", this, SLOT(slotNoteAdd()), + actionCollection(), "note_add"); + new KAction(i18n("Add &subnote"), "", "Alt+Shift+Insert", this, + SLOT(slotNoteAddChild()), actionCollection(), "note_add_child"); + new KAction(i18n("&Delete"), "", "Alt+Delete", this, + SLOT(slotNoteRemove()), actionCollection(), "note_delete"); + new KAction(i18n("&Rename"), "", "F2", this, + SLOT(slotNoteRename()), actionCollection(), "note_rename"); + new KAction(i18n("E&xpand all"), "", "", Items, + SLOT(slotExpandAll()), actionCollection(), "note_expand_all"); + new KAction(i18n("&Expand current"), "", "Alt++", Items, + SLOT(slotExpand()), actionCollection(), "note_expand"); + new KAction(i18n("Co&llapse all"), "", "", Items, + SLOT(slotCollapseAll()), actionCollection(), "note_collapse_all"); + new KAction(i18n("&Collapse current"), "", "Alt+-", Items, + SLOT(slotCollapse()), actionCollection(), "note_collapse"); + new KAction(i18n("Move up"), "up", "Alt+Shift+Up", this, + SLOT(slotNoteMoveUp()), actionCollection(), "note_move_up"); + new KAction(i18n("Move down"), "down", "Alt+Shift+Down", this, + SLOT(slotNoteMoveDown()), actionCollection(), "note_move_down"); + new KAction(i18n("Move level up"), "back", "Alt+Shift+Left", this, + SLOT(slotNoteMoveLeft()), actionCollection(), "note_move_left"); + new KAction(i18n("Move level down"), "forward", "Alt+Shift+Right", this, + SLOT(slotNoteMoveRight()), actionCollection(), "note_move_right"); + new KAction(i18n("Move at the beginning"), "top", "Alt+Shift+Home", this, + SLOT(slotNoteMoveBegin()), actionCollection(), "note_move_begin"); + new KAction(i18n("Move at the end"), "bottom", "Alt+Shift+End", this, + SLOT(slotNoteMoveEnd()), actionCollection(), "note_move_end"); + new KAction(i18n("Sort"), "", "", this, + SLOT(slotNoteSort()), actionCollection(), "note_sort"); + + /* Actions: Links */ + new KAction(i18n("&Add link..."), "attach", "Ctrl+Shift+I", this, + SLOT(slotLinkAdd()), actionCollection(), "link_add"); + new KAction(i18n("&Remove link"), "", "", this, + SLOT(slotLinkRemove()), actionCollection(), "link_remove"); + new KAction(i18n("Open link"), "run", "", this, + SLOT(slotLinkOpen()), actionCollection(), "link_open"); + new KAction(i18n("Open link with..."), "", "", this, + SLOT(slotLinkOpenWith()), actionCollection(), "link_open_with"); + new KAction(i18n("&Modify link..."), "", "", this, + SLOT(slotLinkModify()), actionCollection(), "link_modify"); + new KAction(i18n("&Copy link location"), "", "", this, + SLOT(slotLinkCopy()), actionCollection(), "link_copy"); + + /* Actions: Options */ + KStdAction::keyBindings(this, SLOT(slotOptionsKeys()), actionCollection()); + KStdAction::configureToolbars(this, SLOT(slotOptionsToolbar()), actionCollection()); + KStdAction::preferences(this, SLOT(slotOptions()), actionCollection()); + + /* Actions: Help */ + new KAction(i18n("&Tip of the day"), "idea", "", this, + SLOT(slotHelpTip()), actionCollection(), "help_tip"); + + /* Actions: nonplugged */ + new KAction(i18n("Minimize"), "", "", this, SLOT(showMinimized()), + actionCollection(), "window_minimize"); + new KAction(i18n("Switch area"), "", "Ctrl+M", this, + SLOT(slotEditSwitch()), actionCollection(), "edit_switch"); + new KAction(i18n("Overwrite Mode"), "", "Insert", this, + SLOT(slotOverwriteModeChange()), actionCollection(), "overwrite_mode_change"); + new KAction(i18n("Go to previous note"), "", "Alt+Up", Items, + SLOT(slotItemUp()), actionCollection(), "note_previous"); + new KAction(i18n("Go to next note"), "", "Alt+Down", Items, + SLOT(slotItemDown()), actionCollection(), "note_next"); + new KAction(i18n("Go to first note"), "", "Alt+Home", Items, + SLOT(slotItemBegin()), actionCollection(), "note_begin"); + new KAction(i18n("Go to last note"), "", "Alt+End", Items, + SLOT(slotItemEnd()), actionCollection(), "note_end"); + new KAction(i18n("Go to first subnote"), "", "Alt+Right", Items, + SLOT(slotItemRight()), actionCollection(), "note_right"); + new KAction(i18n("Go to parent note"), "", "Alt+Left", Items, + SLOT(slotItemLeft()), actionCollection(), "note_left"); + + /* Actions */ +#if KDE_VERSION_MAJOR >= 3 && KDE_VERSION_MINOR >= 1 + setStandardToolBarMenuEnabled(true); +#endif + createGUI("knowitui.rc", false); + + + /* Insert/overwrite mode */ + statusBar()->insertFixedItem(("WWW"), StatusOvr, true); + statusBar()->changeItem(i18n("INS"), StatusOvr); + connect(statusBar(), SIGNAL(pressed(int)), this, + SLOT(slotOverwriteModeChange(int))); + + /* System tray */ + systray = new KnowitTray(this, "Systray"); + systray->setPixmap(Notes.Pixmaps[1]); + systray->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + /* Autosave */ + AutosaveTimer = new QTimer(this); + connect(AutosaveTimer, SIGNAL(timeout()), this, SLOT(slotFileAutosave())); + + /* Configuration */ + config = kapp->config(); + readOptions(); + + if (runMinimized) + showMinimized(); + else + show(); + + bool opened = false; + KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + for(int i = 0; i < args->count(); i++) + if (open(args->url(i))) { + opened = true; break; + } + args->clear(); + + if (!opened && Options.reopen && filename.path() != "") + open(KURL(filename)); + + slotActionUpdate(); + + KTipDialog::showTip(this); + + shuttingDown = false; + + applyMainWindowSettings(config); + + /* check if knowituirc was found */ + QWidget *w = factory()->container("notes_popup", this); + if (!w) + KMessageBox::error(0, i18n("<qt><p>Cannot open resource file <b>knowitui.rc</b>. " + "Some of the menus and toolbars will be missing.</p>" + "<p>Probably Knowit was not installed properly. " + "If you installed from source, please invoke <i>make install</i>." + "If you use precompiled package, please contact packager.</p></qt>")); +} + +Knowit::~Knowit() +{ + delete systray; + delete AutosaveTimer; +} + +bool Knowit::open(const KURL& fname) +{ + QFile file(fname.path()); + if (!file.open(IO_ReadOnly)) { + KMessageBox::error(0, i18n("<qt>Cannot open file<br><b>%1</b></qt>") + .arg(fname.url())); + if (filename == fname) + filename = ""; + return false; + } + uint prevdepth = 0; + reset(); + QTextStream ts(&file); + ts.setEncoding(QTextStream::UnicodeUTF8); + QString s = ""; + QListViewItem* current = 0; + QListViewItem* active = 0; + Notes.autoUpdate = false; + while (!s.isNull()) { + s = ts.readLine(); + if (s.left(9) == "\\NewEntry" || s.left(13) == "\\CurrentEntry") { + QString name; + uint depth; + QTextIStream ls(&s); + ls >> name >> depth; + name = ls.readLine(); + name = name.stripWhiteSpace(); + if (depth == prevdepth) /* same level */ + if (depth) current = new KListViewItem(current->parent(), current, name); + else current = new KListViewItem(Items, current, name); + else if (depth > prevdepth) /* subnote */ + current = new KListViewItem(current, name); + else { /* parent note */ + for(uint i=depth; i<prevdepth && current; i++) + current = current->parent(); + if (current && current->parent()) + current = new KListViewItem(current->parent(), current, name); + else current = new KListViewItem(Items, current, name); + } + prevdepth = depth; + Notes.addNote(current); + Notes.find(current)->open(ts); + if (s.left(13) == "\\CurrentEntry") + active = current; + } + } + Notes.autoUpdate = true; + Notes.updateNotesView(); + filename = fname; + setCaption(fname.fileName()); + Notes.modified = false; + Edit->clear(); + slotNoteChanged(active); + Edit->setModified(false); + actionRecent->addURL(filename); + slotStatusMsg(i18n("File %1 opened.").arg(filename.fileName())); + slotActionUpdate(); + + file.close(); + if (Options.backup) + URLOperator.copy(fname.path(), fname.path() + "~", false, false); + if (Options.autosave) + AutosaveTimer->start(Options.autosave * 60 * 1000, true); + return true; +} + +bool Knowit::save(const KURL& fname) +{ + QFile file(fname.path()); + if (!file.open(IO_WriteOnly)) { + KMessageBox::error(0, i18n("<qt>Cannot save file<br><b>%1</b></qt>") + .arg(fname.url())); + return false; + } + if (Items->prevItem && Edit->isModified()) + Notes.changeNote(Items->prevItem, Edit->length() ? Edit->text() : QString()); + + QTextStream ts(&file); + ts.setEncoding(QTextStream::UnicodeUTF8); + for (QListViewItemIterator it(Items); it.current(); it++) + Notes.find(it.current())->save(ts, it.current() == Items->currentItem()); + filename = fname; + setCaption(fname.fileName()); + Notes.modified = false; + Edit->setModified(false); + actionRecent->addURL(filename); + slotStatusMsg(i18n("File %1 saved.").arg(filename.fileName())); + if (Options.autosave) + AutosaveTimer->start(Options.autosave * 60 * 1000, true); + return true; +} + +void Knowit::reset() +{ + Items->prevItem = 0; + Notes.clearNotes(); + Items->clear(); + Edit->clear(); + filename = ""; + setCaption(Untitled); + Notes.modified = false; + slotActionUpdate(); +} + + + +void Knowit::closeEvent(QCloseEvent* e) +{ + if (!Options.docked || ((KnowitApplication*)kapp)->closeByLogout()) { + saveOptions(); + KMainWindow::closeEvent(e); + } + else + hide(); +} + +bool Knowit::queryClose() +{ + if (!modified()) return shuttingDown = true; + else if (Options.unconditionalSave) { + slotFileSave(); + return shuttingDown = filename.isEmpty() || !modified() || (KMessageBox::questionYesNo(0, + i18n("<qt>File <b>%1</b><br>\ncannot be saved. Quit anyway?</qt>").arg(filename.fileName())) + == KMessageBox::Yes); + } + else + switch (KMessageBox::questionYesNoCancel(0, + i18n("<qt>File <b>%1</b><br>\nwas modified. Do you want to save it?</qt>") + .arg(filename.isEmpty() ? Untitled : filename.fileName()))) { + case KMessageBox::Yes: + slotFileSave(); + return shuttingDown = !modified(); + case KMessageBox::No: + return shuttingDown = true; + default: + return false; + } +} + +bool Knowit::queryExit() +{ + if (!shuttingDown) { + /* brutally closed by session manager */ + if (modified()) + save(filename.isEmpty() ? i18n("untitled.kno") : filename); + saveOptions(); + } + return true; +} + + +void Knowit::find(QListViewItem* start) +{ + if (soughtText.isEmpty() || !Items->firstChild()) return; + if (start && lastSought == start && + Edit->find(soughtText, FindDlg.case_sensitive(), false)) + return; + if (!start) start = Items->firstChild(); + QListViewItemIterator it(start); + while (it.current()) { + QString s = Notes.text(it.current()); + if (lastSought != it.current() && + s.contains(soughtText, FindDlg.case_sensitive())) { + slotNoteChanged(it.current()); + Edit->find(soughtText, FindDlg.case_sensitive(), false); + lastSought = it.current(); + return; + } + it++; + } + KMessageBox::information(0, i18n("<qt>Sought text:<br><b>%1</b><br>not found.</qt>").arg(soughtText)); +} + + +void Knowit::saveOptions() +{ + config->setGroup("MainWindow"); + config->writeEntry("Widgets", Layout->sizes()); + Options.save(config); + config->setGroup("General"); + config->writeEntry("Minimized", isMinimized() || !isVisible()); + config->writeEntry("LastFile", filename.path()); + config->writeEntry("Geometry", size()); + actionCollection()->writeShortcutSettings("Keys", config); + config->deleteGroup("Recent Files"); + actionRecent->saveEntries(config, "Recent Files"); + saveMainWindowSettings(config); +} + +void Knowit::readOptions() +{ + config->setGroup("MainWindow"); + QValueList<int> sizes = config->readIntListEntry("Widgets"); + if (sizes.count() == 2) + Layout->setSizes(sizes); + Options.read(config); + config->setGroup("General"); + runMinimized = config->readBoolEntry("Minimized", false); + QString oldfile = config->readEntry("LastFile"); + QSize defSize = size(); + resize(config->readSizeEntry("Geometry", &defSize)); + actionCollection()->readShortcutSettings("Keys", config); + actionRecent->loadEntries(config,"Recent Files"); + if (!oldfile.isEmpty()) + filename = KURL(oldfile); + applyOptions(Options); +} + +void Knowit::slotNoteChanged(QListViewItem* item) +{ + if (item) { + if (Options.autoCollapse) + Items->slotCollapseAll(); + Items->setCurrentItem(item); + Items->setSelected(item, true); + Items->ensureItemVisible(item); + } +} + +bool Knowit::modified() +{ + return Notes.modified || (Items->currentItem() && Edit->isModified()); +} + +void Knowit::applyOptions(const KnowitOptions& O, bool store) +{ + if (store) Options = O; + if (O.docked) + systray->show(); + else + systray->hide(); + + if (O.customColors) { + Edit->setPaletteForegroundColor(QColor(Options.foreEditColor)); + Edit->setPaletteBackgroundColor(QColor(Options.backEditColor)); + } + else Edit->unsetPalette(); + + if (Options.customFont) + Edit->setFont(QFont(Options.fontFamily, Options.fontSize)); + else + Edit->unsetFont(); + + Edit->setWordWrap(O.wordwrap ? QTextEdit::WidgetWidth : QTextEdit::NoWrap); +#if KDE_VERSION_MAJOR >= 3 && KDE_VERSION_MINOR >= 1 + Edit->setTabChangesFocus(O.tabfocus); +#endif + if (!O.autosave) + AutosaveTimer->stop(); + else + AutosaveTimer->start(O.autosave * 60 * 1000, true); + Edit->swapEOL = O.enterBreakLine; + Layout->setOrientation(O.horizontalSplit ? QSplitter::Horizontal : + QSplitter::Vertical); + Items->setAlternateBackground(O.alternateTree ? QColor(O.alternateColor) : QColor()); + Items->repaintContents(); + if (Items->currentItem()) + slotItemChanged(Items->currentItem()); + slotNoteChanged(Items->currentItem()); +} + +TNote* Knowit::currentNote() const +{ + if (!Items->currentItem()) return 0; + return Notes.find(Items->currentItem()); +} + + + + + + +/*** Slots ***/ +void Knowit::slotStatusMsg(const QString &text) +{ + statusBar()->clear(); + statusBar()->changeItem(text, 0); +} + + +void Knowit::slotContextMenu(KListView*, QListViewItem*, const QPoint& p) +{ + QWidget *w = factory()->container("notes_popup", this); + if (w) + static_cast<QPopupMenu *>(w)->exec(p); +} + + +void Knowit::slotContextLinksMenu(QListBoxItem*, const QPoint& p) +{ + QWidget *w = factory()->container("links_popup", this); + if (w) + static_cast<QPopupMenu *>(w)->exec(p); +} + + + +/******* Slots: Notes *******/ +void Knowit::slotNoteAdd() +{ + bool Ok; + KListViewItem* elt; + QString text = KInputDialog::getText(i18n("Add note"), + i18n("Note title:"), Options.defaultName, &Ok); + if (!Ok) return; + if (Items->currentItem()) + if (Items->currentItem()->parent()) + elt = new KListViewItem(Items->currentItem()->parent(), + Items->currentItem(), text); + else + elt = new KListViewItem(Items, Items->currentItem(), text); + else + elt = new KListViewItem(Items, text); + Notes.addNote(elt); + slotNoteChanged(elt); + if (Notes.count() == 1) + slotActionUpdate(); +} + +void Knowit::slotNoteAddChild() +{ + if (!Items->currentItem()) { + KMessageBox::error(0, i18n("You have to choose note before adding subnote.")); + return; + } + bool Ok; + QString text = KInputDialog::getText(i18n("Add subnote"), + i18n("Note title:"), Options.defaultName, &Ok); + if (!Ok) return; + QListViewItem* lastChild = Items->currentItem()->firstChild(); + while (lastChild && lastChild->nextSibling()) + lastChild = lastChild->nextSibling(); + + KListViewItem* elt; + if (lastChild) + elt = new KListViewItem(Items->currentItem(), lastChild, text); + else + elt = new KListViewItem(Items->currentItem(), text); + Notes.addNote(elt); + slotNoteChanged(elt); +} + +void Knowit::slotNoteRemove() +{ + QListViewItem* elt = Items->currentItem(); + if (!elt) return; + QString msg = elt->childCount() ? + i18n("<qt>Are you sure you want to delete note<br><b>%1</b><br> " + "and its subnotes?</qt>") : + i18n("<qt>Are you sure you want to delete note<br><b>%1</b>?</qt>"); + if (KMessageBox::questionYesNo(0, msg.arg(elt->text(0))) == KMessageBox::Yes) { + QListViewItem* parent = elt->parent(); + Notes.removeNote(elt); + if (!Notes.count()) + slotActionUpdate(); + if (!parent) + parent = Items->firstChild(); + Items->prevItem = 0; + slotNoteChanged(parent); + } +} + +void Knowit::slotNoteRename() +{ + if (Items->currentItem()) { + Items->currentItem()->setRenameEnabled(0, true); + Items->currentItem()->startRename(0); + } +} + + + + + + +void Knowit::slotItemChanged(QListViewItem* i) +{ + if (Items->prevItem && Edit->isModified()) + Notes.changeNote(Items->prevItem, Edit->length() ? Edit->text() : QString()); + Items->prevItem = i; + QString s; + if (!Items->prevItem || (s = Notes.text(Items->prevItem)).isEmpty()) + Edit->setText(""); + else + Edit->setText(s); + Edit->setModified(false); + Links->clear(); + TNote* note = Notes.find(i); + if (note) + for (int j=0; j<note->linkCount(); j++) + Links->insertItem(note->link(j).icon(), note->link(j).text(Options.linkFormat)); + if (Links->count()) + Links->show(); + else + Links->hide(); +} + +void Knowit::slotNoteMoveUp() +{ + QListViewItem* elt = Items->currentItem(); + if (elt && elt->itemAbove()) { + QListViewItem* above = elt->parent() ? elt->parent()->firstChild() + : Items->firstChild(); + if (above == elt) + return; + if (!above->nextSibling() || above->nextSibling() == elt) + above = 0; + else while (above->nextSibling()->nextSibling() != elt) + above = above->nextSibling(); + if (above) + elt->moveItem(above); + else { + QListViewItem* parent = elt->parent(); + Items->takeNode(elt); + Items->insertNode(parent, elt); + } + slotNoteChanged(elt); + Notes.modified = true; + } +} + +void Knowit::slotNoteMoveDown() +{ + QListViewItem* elt = Items->currentItem(); + if (elt && elt->nextSibling()) { + elt->moveItem(elt->nextSibling()); + slotNoteChanged(elt); + Notes.modified = true; + } +} + +void Knowit::slotNoteMoveBegin() +{ + QListViewItem* elt = Items->currentItem(); + if (elt) { + QListViewItem* parent = elt->parent(); + Items->takeNode(elt); + Items->insertItem(elt); + if (parent) + Notes.find(parent)->updateView(); + slotNoteChanged(elt); + Notes.modified = true; + } +} + +void Knowit::slotNoteMoveEnd() +{ + QListViewItem* elt = Items->currentItem(); + if (!elt) + return; + QListViewItem* last = Items->firstChild(); + QListViewItem* parent = elt->parent(); + while (last->nextSibling()) + last = last->nextSibling(); + if (elt && elt != last) { + Items->takeNode(elt); + Items->insertNode(0, elt, last); + slotNoteChanged(elt); + if (parent) + Notes.find(parent)->updateView(); + Notes.modified = true; + } +} + +void Knowit::slotNoteMoveLeft() +{ + QListViewItem* elt = Items->currentItem(); + QListViewItem* parent = elt->parent(); + if (elt && parent) { + Items->takeNode(elt); + Items->insertNode(parent->parent(), elt, parent); + Notes.find(parent)->updateView(); + slotNoteChanged(elt); + Notes.modified = true; + } +} + +void Knowit::slotNoteMoveRight() +{ + QListViewItem* elt = Items->currentItem(); + QListViewItem* above = elt->itemAbove(); + if (elt && above) { + if (above->depth() < elt->depth()) + return; + else if (above->depth() == elt->depth()) { + Items->takeNode(elt); + Items->insertNode(above, elt); + } + else { + while (above->depth() > elt->depth()+1) + above = above->parent(); + Items->takeNode(elt); + Items->insertNode(above->parent(), elt, above); + } + Notes.find(above)->updateView(); + slotNoteChanged(elt); + Notes.modified = true; + } +} + +void Knowit::slotNoteSort() +{ + if (Items->currentItem()) { + Items->currentItem()->sortChildItems(0, true); + Items->repaintContents(); + } +} + + + +void Knowit::slotFileNew() +{ + if (queryClose()) reset(); +} + +void Knowit::slotFileOpen() +{ + if (!queryClose()) return; + KURL url=KFileDialog::getOpenURL(QString::null, + i18n("*.kno|KnowIt files (*.kno)\n*|All files"), this, i18n("Open File...")); + if (!url.isEmpty()) + open(url); +} + +void Knowit::slotFileSave() +{ + if (filename.isEmpty()) + slotFileSaveAs(); + else { + save(filename); + } +} + +void Knowit::slotFileAutosave() +{ + if (modified()) + slotFileSave(); + if (modified()) { /* file wasn't saved */ + KMessageBox::sorry(0, i18n("<qt><p>File couldn not be saved automatically." + "<p>Autosaving disabled - save file manually to turn autosaving on.</p></qt>")); + AutosaveTimer->stop(); + } +} + + +void Knowit::slotFileRecent(const KURL& url) +{ + if (queryClose()) + if (!open(url)) + actionRecent->removeURL(url); +} + + +void Knowit::slotFileSaveAs() +{ + KURL url=KFileDialog::getSaveURL(QDir::currentDirPath(), + i18n("*.kno|KnowIt files (*.kno)\n*|All files"), this, i18n("Save as...")); + if (!url.isEmpty()) { + if (!url.fileName().contains('.')) + url = KURL(url.path() + ".kno"); + QFileInfo fileinfo(url.path()); + if (fileinfo.exists() && KMessageBox::questionYesNo(0, + i18n("<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>") + .arg(url.path())) == KMessageBox::No) + return; + save(url); + } +} + + +void Knowit::slotFileInfo() +{ + int count = 0; + QListViewItemIterator it(Items); + while (it.current()) { + count++; + it++; + } + KMessageBox::information(0, i18n("<qt><h1>%1</h1>" + "Document path: %2<br>" + "Number of notes: %3</qt>").arg(filename.fileName()) + .arg(filename.path()).arg(count)); +} + + +void Knowit::slotFilePrint() +{ + KPrinter printer; + printer.setFullPage(true); + if (Edit->text().stripWhiteSpace().isEmpty() || !printer.setup(this)) + return; + + QSimpleRichText richText(Edit->text(), Edit->font()); + QPainter p(&printer); + QPaintDeviceMetrics metrics(p.device()); + int dpix = metrics.logicalDpiX(); + int dpiy = metrics.logicalDpiY(); + const int margin = 72; // pt + QRect body(margin*dpix / 72, margin*dpiy / 72, + metrics.width()- margin*dpix /72*2, + metrics.height()-margin*dpiy/72*2); + richText.setWidth(&p, body.width()); + QRect view(body); + int page = 1; + while (true) { + richText.draw(&p, body.left(), body.top(), view, colorGroup()); + view.moveBy(0, body.height()); + p.translate( 0 , -body.height()); + p.setFont(Edit->font()); + p.drawText( view.right() - p.fontMetrics().width( QString::number(page)), + view.bottom() + p.fontMetrics().ascent() + 5, QString::number(page)); + if (view.top() >= body.top() + richText.height()) + break; + printer.newPage(); + page++; + } +} + + + + +void Knowit::slotFileQuit() +{ + if (queryClose()) { + saveOptions(); + kapp->quit(); + } +} + +void Knowit::slotFileExport() +{ + if (!Items->firstChild()) return; /* nothing to export */ + ChooserDlg.setChoice(Options.exportFlags); + if (ChooserDlg.exec() != QDialog::Accepted) return; /* cancelled */ + + /* Deduce filename from Knowit document name */ + QString htmlfile; + if (filename.isValid()) { + htmlfile = filename.path(); + if (htmlfile.right(4) == ".kno") + htmlfile = htmlfile.left(htmlfile.length() - 4) + ".html"; + else htmlfile = ""; + } + if (htmlfile.isEmpty()) + htmlfile == QDir::currentDirPath(); + + /* Confirm/choose filename */ + KURL url=KFileDialog::getSaveURL(htmlfile, + i18n("*.html|HTML files (*.html)\n*|All files"), this, i18n("Export to HTML")); + if (!url.isEmpty()) { + if (!url.fileName().contains('.')) + url = KURL(url.path() + ".html"); + QFileInfo fileinfo(url.path()); + if (fileinfo.exists() && KMessageBox::questionYesNo(0, + i18n("<qt>File<br><b>%1</b><br>already exists. Overwrite it?</qt>") + .arg(url.path())) == KMessageBox::No) + return; + int choice = ChooserDlg.getChoice(); + QListViewItem* start = (choice & KnowitChooser::SaveAll) ? + Items->firstChild() : Items->currentItem(); + QString origname = filename.isEmpty() ? Untitled : filename.path(); + QString style; + if (choice & KnowitChooser::Style) + style = QString("body {font-family: \"%1\"; color: %2; background-color: %3}") + .arg(Edit->family()).arg(Edit->paletteForegroundColor().name()) + .arg(Edit->paletteBackgroundColor().name()); + Notes.find(start)->saveHTML(url, origname, style, choice); + Options.exportFlags = choice; + } +} + +void Knowit::slotEditBold() +{ + Edit->setBold(actionBold->isChecked()); +} + +void Knowit::slotEditItalic() +{ + Edit->setItalic(actionItalic->isChecked()); +} + +void Knowit::slotEditUnderline() +{ + Edit->setUnderline(actionUnderline->isChecked()); +} + +void Knowit::slotEditColor() +{ + QColor color = Edit->color(); + if (KColorDialog::getColor(color) == QDialog::Accepted) + Edit->setColor(color); +} + +void Knowit::slotEditSuperscript() +{ + Edit->setVerticalAlignment(QTextEdit::AlignSuperScript); +} + +void Knowit::slotEditSubscript() +{ + Edit->setVerticalAlignment(QTextEdit::AlignSubScript); +} + +void Knowit::slotEditNormal() +{ + Edit->setVerticalAlignment(QTextEdit::AlignNormal); +} + +void Knowit::slotEditAlignLeft() +{ + Edit->setAlignment(Qt::AlignLeft); +} + +void Knowit::slotEditAlignRight() +{ + Edit->setAlignment(Qt::AlignRight); +} + +void Knowit::slotEditAlignJustify() +{ + Edit->setAlignment(Qt::AlignJustify); +} + +void Knowit::slotEditAlignCenter() +{ + Edit->setAlignment(Qt::AlignCenter); +} + +void Knowit::slotEditListBullet() +{ + Edit->setParagType(QStyleSheetItem::DisplayListItem, QStyleSheetItem::ListDisc); +} + +void Knowit::slotEditListNumber() +{ + Edit->setParagType(QStyleSheetItem::DisplayListItem, QStyleSheetItem::ListDecimal); +} + +void Knowit::slotEditListUpper() +{ + Edit->setParagType(QStyleSheetItem::DisplayListItem, QStyleSheetItem::ListUpperAlpha); +} + +void Knowit::slotEditListLower() +{ + Edit->setParagType(QStyleSheetItem::DisplayListItem, QStyleSheetItem::ListLowerAlpha); +} + +void Knowit::slotEditListNone() +{ + Edit->setParagType(QStyleSheetItem::DisplayBlock, QStyleSheetItem::ListDisc); +} + +void Knowit::slotEditFind() +{ + if (soughtText != FindDlg.getText()) { + soughtText = FindDlg.getText(); + lastSought = 0; + find(); + } + else + find(Items->currentItem()); +} + +void Knowit::slotEditFindNext() +{ + if (soughtText.isEmpty()) FindDlg.exec(); + find(Items->currentItem()); +} + +void Knowit::slotEditGoTo() +{ + bool Ok; + QString page = KInputDialog::getText(i18n("Go to"), + i18n("Go to page with given title"), "", &Ok); + if (Ok && !page.isEmpty()) { + QListViewItem* item = Items->findItem(page, 0); + if (!item) item = Items->findItem(page, 0, Qt::ExactMatch); + if (!item) item = Items->findItem(page, 0, Qt::Contains); + slotNoteChanged(item); + } +} + +void Knowit::slotEditInsertDate() +{ + if (Items->currentItem()) { + bool ib = actionBold->isChecked(), ii=actionItalic->isChecked(), iu=actionUnderline->isChecked(); + QColor color = Edit->color(); + Edit->setItalic(Options.insertDateItalic); + Edit->setBold(Options.insertDateBold); + Edit->setUnderline(Options.insertDateUnderline); + Edit->setColor(QColor(Options.insertDateColor)); + Edit->insert(QString("%1") + .arg(QDateTime::currentDateTime().toString(Options.insertDateFormat))); + Edit->setItalic(ii); + Edit->setBold(ib); + Edit->setUnderline(iu); + Edit->setColor(color); + + } +} + +void Knowit::slotEditInsertFile() +{ + if (!Items->currentItem()) + return; + KURL url=KFileDialog::getOpenURL(QString::null, + i18n("*|All files"), this, i18n("Insert file...")); + if (url.isEmpty()) + return; + QFile file(url.path()); + if (!file.open(IO_ReadOnly)) { + KMessageBox::error(0, i18n("<qt>Cannot open file<br><b>%1</b></qt>") + .arg(url.url())); + return; + } + QTextStream ts(&file); + ts.setEncoding(QTextStream::UnicodeUTF8); + QString s, text; + while (true) { + s = ts.readLine(); + if (s.isNull()) + break; + if (s.isEmpty()) + text += '\n'; + else + text += s; + } + Edit->insert(text); +} + + +void Knowit::slotEditSwitch() +{ + if (Items->hasFocus()) + Edit->setFocus(); + else Items->setFocus(); +} + +void Knowit::slotEditChanged() +{ + actionBold->setChecked(Edit->bold()); + actionItalic->setChecked(Edit->italic()); + actionUnderline->setChecked(Edit->underline()); + actionEditAlignLeft->setChecked(Edit->alignment() == Qt::AlignLeft); + actionEditAlignRight->setChecked(Edit->alignment() == Qt::AlignRight); + actionEditAlignCenter->setChecked(Edit->alignment() == Qt::AlignCenter); + actionEditAlignJustify->setChecked(Edit->alignment() == Qt::AlignJustify); +} + +void Knowit::slotEditCursorChanged(int, int) +{ + slotEditChanged(); +} + + + +void Knowit::slotOptions() +{ + PrefDlg.setOptions(Options); + if (PrefDlg.exec() == QDialog::Accepted) + applyOptions(PrefDlg.getOptions()); +} + +void Knowit::slotOptionsKeys() +{ + KKeyDialog K(false); + K.configure(actionCollection()); +} + +void Knowit::slotOptionsToolbar() +{ + KEditToolbar dlg(actionCollection()); + if (dlg.exec()) + createGUI(); +} + + +void Knowit::slotUndock() +{ + Options.docked = false; + applyOptions(Options); +} + +void Knowit::slotHelpTip() +{ + KTipDialog::showTip(this, 0, true); +} + + +void Knowit::slotActionUpdate() +{ + if (Items->childCount()) + stateChanged("notesPresent"); + else + stateChanged("notesPresent", KXMLGUIClient::StateReverse); + Edit->setEnabled(Notes.count()); +} + +void Knowit::slotOverwriteModeChange(int i) +{ + if (i == StatusOvr) + slotOverwriteModeChange(); +} + +void Knowit::slotOverwriteModeChange() +{ + Edit->setOverwriteMode(!Edit->isOverwriteMode()); + statusBar()->changeItem(Edit->isOverwriteMode() ? i18n("OVR") : + i18n("INS"), StatusOvr); +} + +void Knowit::slotRawTextMode() +{ + if (!Items->currentItem()) + return; + if (Items->prevItem && Edit->isModified()) + Notes.changeNote(Items->prevItem, Edit->length() ? Edit->text() : QString()); + Edit->setTextFormat(actionRawTextMode->isChecked() ? + Qt::PlainText : Qt::RichText); + Edit->setText(Notes.text(Items->currentItem())); +} + +void Knowit::slotShowAttachment(QListBoxItem*) +{ + slotLinkOpen(); +} + +void Knowit::slotLinkAdd() +{ + slotLinkDropped("", 0); +} + +void Knowit::slotLinkDropped(const QString& s, int flags) +{ + TNoteLink link; + link.link = s; + if (!flags && !LinkDlg.modifyLink(link)) + return; + currentNote()->addLink(link); + Links->insertItem(link.icon(), link.text(Options.linkFormat)); + if (Links->count() == 1) + Links->show(); + if (Options.firstLink) { + KMessageBox::information(0, i18n("You have just added your first link. " + "Please remember that only links are stored in Knowit document, " + "not linked files. If you move your document to other computer, " + "links to local files probably won't work.")); + Options.firstLink = false; + } +} + +void Knowit::slotLinkRemove() +{ + QString msg = i18n("<qt>Are you sure you want to remove link:<br><b>%1</b>?</qt>"); + if (Links->currentItem() != -1 && KMessageBox::questionYesNo(0, + msg.arg(Links->currentText())) == KMessageBox::Yes) { + currentNote()->removeLink(Links->currentItem()); + Links->removeItem(Links->currentItem()); + if (!Links->count()) + Links->hide(); + } +} + +void Knowit::slotLinkOpen() +{ + if (Links->currentItem() == -1) + return; + TNoteLink link = currentNote()->link(Links->currentItem()); + if (link.isLocalReference()) { + QString s = link.link.remove(0, 9); + QListViewItem* item = Items->findItem(s, 0); + if (!item) Items->findItem(s, 0, Qt::BeginsWith); + if (!item) Items->findItem(s, 0, Qt::Contains); + slotNoteChanged(item); + } + else + link.open(); +} + +void Knowit::slotLinkOpenWith() +{ + if (Links->currentItem() != -1) + currentNote()->link(Links->currentItem()).openWith(); +} + +void Knowit::slotLinkModify() +{ + if (Links->currentItem() == -1) return; + TNoteLink link = currentNote()->link(Links->currentItem()); + if (LinkDlg.modifyLink(link)) { + currentNote()->modifyLink(Links->currentItem(), link); + Links->changeItem(link.icon(), link.text(Options.linkFormat), + Links->currentItem()); + } +} + +void Knowit::slotLinkCopy() +{ + if (Links->currentItem() == -1) return; + TNoteLink link = currentNote()->link(Links->currentItem()); + kapp->clipboard()->setText(link.link, QClipboard::Clipboard); + kapp->clipboard()->setText(link.link, QClipboard::Selection); +} + diff --git a/src/knowit.desktop b/src/knowit.desktop new file mode 100644 index 0000000..93653e5 --- /dev/null +++ b/src/knowit.desktop @@ -0,0 +1,14 @@ +# KDE Config File +[Desktop Entry] +Encoding=UTF-8 +Type=Application +Exec=knowit -caption "%c" %i %m +MimeType=application/x-knowit +Icon=knowit.png +DocPath=knowit/index.html +Comment= +Comment[de]= +Terminal=0 +Name=KnowIt +Name[de]=KnowIt +Categories=Qt;KDE;Office diff --git a/src/knowit.h b/src/knowit.h new file mode 100644 index 0000000..59c0ca7 --- /dev/null +++ b/src/knowit.h @@ -0,0 +1,257 @@ +/*************************************************************************** + knowit.h - description + ------------------- + begin : czw wrz 26 08:27:40 CEST 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef KNOWIT_H +#define KNOWIT_H + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <qurloperator.h> + +#include <keditcl.h> +#include <klocale.h> +#include <kmainwindow.h> +#include <kurl.h> +#include "knowitpref.h" +#include "knowitchooser.h" +#include "knowitedit.h" +#include "knowitlink.h" +#include "notes.h" + +class QSplitter; +class QTimer; +class KAction; +class KConfig; +class KListBox; +class KToggleAction; +class KRecentFilesAction; + +class KnowitTray; +class KnowitEdit; +class KnowitTree; + + +/** Knowit is the base class of the project */ +class Knowit : public KMainWindow +{ + Q_OBJECT + private: + static const QString Untitled; + KConfig *config; + QSplitter* Layout; + KnowitTree* Items; + KListBox* Links; + KnowitEdit* Edit; + KURL filename; + QPixmap pixmapFolder, pixmapFolderText, pixmapText, pixmapEmpty; + KEdFind FindDlg; + KnowitOptions Options; + KnowitPreferences PrefDlg; + KnowitChooser ChooserDlg; + KnowitLinkDialog LinkDlg; + KnowitTray* systray; + /* data items */ + TNotesCollection Notes; + bool runMinimized; + QListViewItem* lastSought; + QString soughtText; + QTimer* AutosaveTimer; + /* for saving backups */ + QUrlOperator URLOperator; + /* false by default, set to true on queryClose() */ + bool shuttingDown; + /* actions */ + KRecentFilesAction *actionRecent; + KToggleAction *actionBold, *actionItalic, *actionUnderline, + *actionEditAlignLeft, *actionEditAlignRight, *actionEditAlignCenter, + *actionEditAlignJustify, *actionRawTextMode; + KAction *actionCut, *actionCopy, *actionUndo, *actionRedo; + + /** Insert/Overwrite status */ + enum {StatusText = 1, StatusOvr = 2}; + public: + /** Constructor of main window */ + Knowit(QWidget* parent=0, const char *name=0); + /** Standard destructor */ + ~Knowit(); + /** Opens document */ + bool open(const KURL& fname); + /** Saves document */ + bool save(const KURL& fname); + /** Removes all data, creante new document */ + void reset(); + /** Checks if file was changed since last save, if so, + user is prompted to save changes */ + virtual bool queryClose(); + /** Saves options and exits */ + virtual bool queryExit(); + /** Reads configuration from disk */ + void readOptions(); + /** Saves configuration to disk */ + void saveOptions(); + + /** Finds and shows next occurence of currently sought text + - or show message that it couldn't be found */ + void find(QListViewItem* start = 0); + /** Returns true if notes or current text were modified */ + bool modified(); + /** Reimplemented from QWidget to prevent from closing when docked */ + virtual void closeEvent(QCloseEvent* e); + /** Apply current configuration */ + void applyOptions(const KnowitOptions& O, bool store = true); + /** Returns current note */ + TNote* currentNote() const; + + public slots: + /** Status bar text has changed - displays it */ + void slotStatusMsg(const QString& text); + /** Shows requested popup menu for notes */ + void slotContextMenu(KListView*, QListViewItem*, const QPoint&); + /** Shows given note */ + void slotNoteChanged(QListViewItem* item); + /** Add same-level note */ + void slotNoteAdd(); + /** Adds subnote */ + void slotNoteAddChild(); + /** Changes note's name */ + void slotNoteRename(); + /** Removes current note */ + void slotNoteRemove(); + /** Sort subnotes */ + void slotNoteSort(); + + /** Move note up */ + void slotNoteMoveUp(); + /** Move note down */ + void slotNoteMoveDown(); + /** Move note at the beginning of current list */ + void slotNoteMoveBegin(); + /** Move note at the end of current list */ + void slotNoteMoveEnd(); + /** Move note level up */ + void slotNoteMoveLeft(); + /** Move note level down */ + void slotNoteMoveRight(); + + /** Current item has changed - updates associated text and shows next */ + void slotItemChanged(QListViewItem*); + /** Resets to a new file */ + void slotFileNew(); + /** Prompts for a file to open and opens it */ + void slotFileOpen(); + /** Opens selected of recent files */ + void slotFileRecent(const KURL&); + /** Saves file using previous name */ + void slotFileSave(); + /** Autosaves file using previous name */ + void slotFileAutosave(); + /** Prompts for filename and saves file */ + void slotFileSaveAs(); + /** Exports all notes to HTML */ + void slotFileExport(); + /** Prints current note */ + void slotFilePrint(); + /** Shows basic file statistics */ + void slotFileInfo(); + /** Quits KnowIt */ + void slotFileQuit(); + /** Turns bold in edit window on/off */ + void slotEditBold(); + /** Turns italic in edit window on/off */ + void slotEditItalic(); + /** Turns underlining in edit window on/off */ + void slotEditUnderline(); + /** Changes color of selected/current text */ + void slotEditColor(); + /** Changes vertical alignment to superscript */ + void slotEditSuperscript(); + /** Changes vertical alignment to subscript */ + void slotEditSubscript(); + /** Restores normal vertical alignment */ + void slotEditNormal(); + /** Prompts for text and shows note containing it */ + void slotEditFind(); + /** Shows next note with sought text */ + void slotEditFindNext(); + /** Shows note with given title */ + void slotEditGoTo(); + /** Aligns text to the left */ + void slotEditAlignLeft(); + /** Aligns text to the right */ + void slotEditAlignRight(); + /** Justifies text */ + void slotEditAlignJustify(); + /** Centers text */ + void slotEditAlignCenter(); + /** Change selected paragraphs to list. Warning: uses obsolete Qt function */ + void slotEditListBullet(); + void slotEditListNumber(); + void slotEditListUpper(); + void slotEditListLower(); + void slotEditListNone(); + /** Inserts current date */ + void slotEditInsertDate(); + /** Inserts file into editor */ + void slotEditInsertFile(); + /** Switches active window (notes/editor) */ + void slotEditSwitch(); + /** Edited text has changed - update bold/italic/... status */ + void slotEditChanged(); + /** Cursor position has changed - update bold/italic/... status */ + void slotEditCursorChanged(int para, int pos); + /** Shows options dialog */ + void slotOptions(); + /** Shows shortcut configuration dialog */ + void slotOptionsKeys(); + /** Shows toolbar configuration dialog */ + void slotOptionsToolbar(); + /** Removes KnowIt from Applet Tray */ + void slotUndock(); + /** Shows tip of the day */ + void slotHelpTip(); + /** Updates available commands */ + void slotActionUpdate(); + /** Text Insert mode changed, called from statusbar */ + void slotOverwriteModeChange(int); + /** Text Insert mode changed, called from Shortcut Key */ + void slotOverwriteModeChange(); + /** Toggles raw text/rich text edit mode */ + void slotRawTextMode(); + + /** Shows requested popup menu for links */ + void slotContextLinksMenu(QListBoxItem* item, const QPoint&); + /** show current attachment **/ + void slotShowAttachment(QListBoxItem* i); + /** Add link **/ + void slotLinkAdd(); + /** Handle dropped link **/ + void slotLinkDropped(const QString& s, int flags); + /** Remove link **/ + void slotLinkRemove(); + /** Open link **/ + void slotLinkOpen(); + /** Open link with selected application **/ + void slotLinkOpenWith(); + /** Modify link **/ + void slotLinkModify(); + /** Copy link location **/ + void slotLinkCopy(); +}; + +#endif diff --git a/src/knowit.lsm b/src/knowit.lsm new file mode 100644 index 0000000..ac510e6 --- /dev/null +++ b/src/knowit.lsm @@ -0,0 +1,14 @@ +Begin3 +Title: KnowIt +Version: 0.10 +Entered-date: 31 Mar 2004 +Description: tool for knowledge management +Keywords: notes knowledge management tree hierarchy +Author: Micha³ Rudolf <mrudolf@kdewebdev.org> +Maintained-by: Micha³ Rudolf <mrudolf@kdewebdev.org> +Primary-site: +Home-page: http://knowit.sourceforge.net +Original-site: +Platforms: Linux and other Unices +Copying-policy: GNU Public License +End diff --git a/src/knowitapp.cpp b/src/knowitapp.cpp new file mode 100644 index 0000000..56d0f4b --- /dev/null +++ b/src/knowitapp.cpp @@ -0,0 +1,33 @@ +/*************************************************************************** + knowitApplication.cpp - description + ------------------- + begin : wto maj 20 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "knowitapp.h" + +KnowitApplication::KnowitApplication(bool allowStyles, bool GUIEnabled) + : KUniqueApplication(allowStyles, GUIEnabled, true), mcloseByLogout(false) +{ +} + +KnowitApplication::~KnowitApplication() +{ +} + +void KnowitApplication::commitData(QSessionManager& sm) +{ + mcloseByLogout = true; + KUniqueApplication::commitData(sm); +} diff --git a/src/knowitapp.h b/src/knowitapp.h new file mode 100644 index 0000000..f876202 --- /dev/null +++ b/src/knowitapp.h @@ -0,0 +1,45 @@ +/*************************************************************************** + knowitApplication.h - description + ------------------- + begin : wto maj 20 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef __KNOWIT_APP_H__ +#define __KNOWIT_APP_H__ +#include <kuniqueapplication.h> + +class KnowitApplication : public KUniqueApplication +{ +Q_OBJECT + +public: + KnowitApplication(bool allowStyles = true, bool GUIEnabled = true); + ~KnowitApplication(); + /** Commits all Application-relevant data on shutdown. + * + * This function is called when the QSessionManager wants to close the + * Application. It is reimplemented to set the boolean sessionClose flag. + * + * @param sm The QSessionManager object. + */ + virtual void commitData(QSessionManager& sm); + /** Returns TRUE if the Application is closed by the session manager. */ + bool closeByLogout() {return(mcloseByLogout);} + +private: + bool mcloseByLogout; +}; + +#endif + diff --git a/src/knowitchooser.cpp b/src/knowitchooser.cpp new file mode 100644 index 0000000..61e6542 --- /dev/null +++ b/src/knowitchooser.cpp @@ -0,0 +1,85 @@ +/*************************************************************************** + knowitchooser.cpp - description + ------------------- + begin : pi? lut 14 2003 + copyright : (C) 2003 by Micha? Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "knowitchooser.h" + +#include <qcheckbox.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qvbox.h> + +#include <kcombobox.h> +#include <klocale.h> + + +KnowitChooser::KnowitChooser(int flags) + : KDialogBase(Plain, i18n("Export"), Ok|Cancel, Ok) +{ + QLabel* l1; + QLabel* l2; + QVBoxLayout* layout = new QVBoxLayout(plainPage()); + layout->addWidget(l1 = new QLabel(i18n("&Exported notes:"), plainPage())); + layout->addWidget(notes = new KComboBox(plainPage(), "Notes")); + l1->setBuddy(notes); + notes->insertItem(i18n("All")); + notes->insertItem(i18n("Current with children")); + notes->insertItem(i18n("Current only")); + + layout->addWidget(l2 = new QLabel(i18n("&Encoding:"), plainPage())); + layout->addWidget(charset = new KComboBox(plainPage(), "Encoding")); + l2->setBuddy(charset); + charset->insertItem(i18n("Local (8-bit)")); + charset->insertItem(i18n("UTF-8")); + + layout->addItem(new QSpacerItem(0, 10)); + layout->addWidget(enumerate = new QCheckBox(i18n("Numbered titles"), + plainPage(), "Numbered")); + layout->addWidget(toc = new QCheckBox(i18n("Table of contents"), + plainPage(), "TOC")); + layout->addWidget(rule = new QCheckBox(i18n("Rule betweeen notes"), + plainPage(), "Rule")); + layout->addWidget(style = new QCheckBox(i18n("Use editor font and colors"), + plainPage(), "Style")); + setChoice(flags); +} + +KnowitChooser::~KnowitChooser() +{ +} + +int KnowitChooser::getChoice() const +{ + int flags = 2 - notes->currentItem(); + if (charset->currentItem() == 1) flags = flags | UseUTF8; + if (enumerate->isChecked()) flags = flags | Enumerate; + if (toc->isChecked()) flags = flags | TOC; + if (rule->isChecked()) flags = flags | AddRule; + if (style->isChecked()) flags = flags | Style; + return flags; +} + +void KnowitChooser::setChoice(int flags) +{ + if (flags & SaveAll) notes->setCurrentItem(0); + else if (flags & SaveSubnotes) notes->setCurrentItem(1); + else notes->setCurrentItem(2); + charset->setCurrentItem((flags & UseUTF8) != 0); + enumerate->setChecked(flags & Enumerate); + toc->setChecked(flags & TOC); + rule->setChecked(flags & AddRule); + style->setChecked(flags & Style); +} diff --git a/src/knowitchooser.h b/src/knowitchooser.h new file mode 100644 index 0000000..b644f3d --- /dev/null +++ b/src/knowitchooser.h @@ -0,0 +1,48 @@ +/*************************************************************************** + knowitchooser.h - description + ------------------- + begin : pi? lut 14 2003 + copyright : (C) 2003 by Micha? Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef KNOWITCHOOSER_H +#define KNOWITCHOOSER_H + +#include <kdialogbase.h> + +class QCheckBox; +class KComboBox; + +/** + *@author Micha³ Rudolf + */ + +class KnowitChooser : public KDialogBase { + Q_OBJECT +protected: + KComboBox* notes; + KComboBox* charset; + QCheckBox* enumerate; + QCheckBox* toc; + QCheckBox* rule; + QCheckBox* style; +public: + enum {SaveCurrent = 0, SaveSubnotes = 0x0001, SaveAll = 0x0002, UseUTF8 = 0x0040, + Enumerate = 0x0080, AddRule = 0x0100, Style = 0x0200, TOC = 0x0400}; + KnowitChooser(int flags = 0); + ~KnowitChooser(); + int getChoice() const; + void setChoice(int flags); +}; + +#endif diff --git a/src/knowitedit.cpp b/src/knowitedit.cpp new file mode 100644 index 0000000..298d63c --- /dev/null +++ b/src/knowitedit.cpp @@ -0,0 +1,66 @@ +/*************************************************************************** + knowitedit.cpp - description + ------------------- + begin : pi± maj 23 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "knowitedit.h" +#include <kurldrag.h> + +KnowitEdit::KnowitEdit(const QString& text, const QString& context, QWidget* parent, + const char* name) : KTextEdit(text, context, parent, name), swapEOL(true) +{ + setAcceptDrops(true); +} + + +KnowitEdit::KnowitEdit(QWidget* parent, const char* name) : KTextEdit(parent, name), + swapEOL(true) +{ + +} + +void KnowitEdit::keyPressEvent(QKeyEvent* e) +{ + if (swapEOL && + (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return) && + (e->state() | (Qt::NoButton | Qt::ControlButton | Qt::Keypad) == + (Qt::NoButton | Qt::ControlButton | Qt::Keypad))) { + QKeyEvent* e1 = new QKeyEvent(QKeyEvent::KeyPress, e->key(), + e->ascii(), e->state() ^ Qt::ControlButton, e->text(), e->isAutoRepeat(), + e->count()); + e->ignore(); + QTextEdit::keyPressEvent(e1); + } + else QTextEdit::keyPressEvent(e); +} + +void KnowitEdit::contentsDragEnterEvent(QDragEnterEvent* event) +{ + if (KURLDrag::canDecode(event)) + event->accept(true); + else QTextEdit::contentsDragEnterEvent(event); +} + +void KnowitEdit::contentsDropEvent(QDropEvent* event) +{ + if (KURLDrag::canDecode(event)) { + KURL::List L; + KURLDrag::decode(event, L); + for (uint i=0; i<L.count(); i++) + emit textDropped(L[i].url(), L.count() > 1); + } + else QTextEdit::contentsDropEvent(event); +} + diff --git a/src/knowitedit.h b/src/knowitedit.h new file mode 100644 index 0000000..f391468 --- /dev/null +++ b/src/knowitedit.h @@ -0,0 +1,38 @@ +/*************************************************************************** + knowitedit.h - description + ------------------- + begin : pi± maj 23 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#ifndef __KNOWIT_EDIT_H__ +#define __KNOWIT_EDIT_H__ +#include <ktextedit.h> + +class KnowitEdit : public KTextEdit +{ + Q_OBJECT +public: + bool swapEOL; + KnowitEdit(const QString& text, const QString& context=QString::null, + QWidget* parent=0, const char* name = 0); + KnowitEdit(QWidget* parent=0, const char* name = 0); + virtual void keyPressEvent(QKeyEvent* e); + virtual void contentsDragEnterEvent(QDragEnterEvent* event); + virtual void contentsDropEvent(QDropEvent* event); +signals: + void textDropped(const QString& s, int flags); +}; + + +#endif + diff --git a/src/knowitlink.cpp b/src/knowitlink.cpp new file mode 100644 index 0000000..7aa3a7f --- /dev/null +++ b/src/knowitlink.cpp @@ -0,0 +1,101 @@ +/*************************************************************************** + knowitlink.cpp - description + ------------------- + begin : pi± cze 27 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "knowitlink.h" +#include "notes.h" + +#include <qtoolbutton.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qvbox.h> + +#include <kfiledialog.h> +#include <kglobal.h> +#include <kiconloader.h> +#include <klocale.h> +#include <kcombobox.h> +#include <klineedit.h> + +KnowitLinkDialog::KnowitLinkDialog() + : KDialogBase(Plain, i18n("Modify link"), Ok|Cancel, Ok) +{ + QVBoxLayout* layout = new QVBoxLayout(plainPage()); + + QHBox* typeBox = new QHBox(plainPage()); + layout->addWidget(typeBox); + new QLabel(i18n("Referenced item:"), typeBox); + linkType = new KComboBox(typeBox, "LinkType"); + linkType->insertItem(i18n("File or URL")); + linkType->insertItem(i18n("KnowIt note")); + + layout->addItem(new QSpacerItem(0, 5)); + QHBox* editBox = new QHBox(plainPage()); + layout->addWidget(editBox); + linkValue = new KLineEdit("Link text", editBox); + linkValue->setMinimumWidth(300); + browse = new QToolButton(editBox, "Browse"); + browse->setIconSet(QIconSet(KGlobal::iconLoader()->loadIcon("fileopen", + KIcon::Toolbar, KIcon::SizeSmall))); + + layout->addItem(new QSpacerItem(0, 5)); + layout->addWidget(new QLabel(i18n("Link description:"), plainPage())); + layout->addWidget(linkDescription = new KLineEdit("Link description", plainPage())); + + connect(browse, SIGNAL(clicked()), this, SLOT(slotBrowse())); + connect(linkType, SIGNAL(activated(int)), this, SLOT(slotTypeChanged(int))); +} + +KnowitLinkDialog::~KnowitLinkDialog() +{ +} + +bool KnowitLinkDialog::modifyLink(TNoteLink& link) +{ + linkDescription->setText(link.description); + linkType->setCurrentItem(link.isLocalReference()); + if (link.isLocalReference()) + linkValue->setText(link.link.remove(0, 9)); + else + linkValue->setText(link.link); + slotTypeChanged(linkType->currentItem()); + if (exec() == QDialog::Accepted) { + link.description = linkDescription->text(); + if (linkType->currentItem()) + link.link = "knowit://" + linkValue->text(); + else + link.link = linkValue->text(); + return true; + } + else + return false; +} + +void KnowitLinkDialog::slotBrowse() +{ + KURL url=KFileDialog::getOpenURL(QString::null, + i18n("*|All files"), this, i18n("Choose link...")); + if (!url.isEmpty()) { + linkValue->setText(url.url()); + linkType->setCurrentItem(0); + } +} + +void KnowitLinkDialog::slotTypeChanged(int index) +{ + browse->setEnabled(!index); +} + diff --git a/src/knowitlink.h b/src/knowitlink.h new file mode 100644 index 0000000..2c9b712 --- /dev/null +++ b/src/knowitlink.h @@ -0,0 +1,45 @@ +/*************************************************************************** + knowitlink.h - description + ------------------- + begin : pi± cze 27 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef __KNOWITLINK_H__ +#define __KNOWITLINK_H__ + +#include <kdialogbase.h> + +class KComboBox; +class KLineEdit; +class TNoteLink; +class QToolButton; + +class KnowitLinkDialog : public KDialogBase { + Q_OBJECT +protected: + KComboBox* linkType; + KLineEdit* linkValue; + KLineEdit* linkDescription; + QToolButton* browse; +public: + KnowitLinkDialog(); + ~KnowitLinkDialog(); + bool modifyLink(TNoteLink& link); +public slots: + void slotBrowse(); + void slotTypeChanged(int index); +}; + + +#endif diff --git a/src/knowitlinks.cpp b/src/knowitlinks.cpp new file mode 100644 index 0000000..daab0bb --- /dev/null +++ b/src/knowitlinks.cpp @@ -0,0 +1,56 @@ +/*************************************************************************** + knowitlinks.cpp - description + ------------------- + begin : nie gru 21 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "knowitlinks.h" +#include <qevent.h> +#include <kurldrag.h> + +KnowitLinks::KnowitLinks(QWidget* parent, const char* name) + : KListBox(parent, name) +{ + setAcceptDrops(true); +} + +void KnowitLinks::dragEnterEvent(QDragEnterEvent* event) +{ + event->accept(KURLDrag::canDecode(event)); +} + +void KnowitLinks::dropEvent(QDropEvent* event) +{ + if (KURLDrag::canDecode(event)) { + KURL::List L; + KURLDrag::decode(event, L); + for (uint i=0; i<L.count(); i++) + emit textDropped(L[i].url(), L.count() > 1); + } +} + +void KnowitLinks::keyPressEvent(QKeyEvent* e) +{ + if (currentItem() != -1 && (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return)) { + e->ignore(); + if ((e->state() | Qt::NoButton | Qt::Keypad) == + (Qt::NoButton | Qt::Keypad)) emit linkOpen(); + else emit linkOpenWith(); + } + else if (currentItem() != -1 && e->key() == Qt::Key_Delete) { + e->ignore(); + emit linkRemove(); + } + else KListBox::keyPressEvent(e); +} diff --git a/src/knowitlinks.h b/src/knowitlinks.h new file mode 100644 index 0000000..24606a7 --- /dev/null +++ b/src/knowitlinks.h @@ -0,0 +1,43 @@ +/*************************************************************************** + knowitlinks.h - description + ------------------- + begin : nie gru 21 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef __KNOWIT_LINKS_H__ +#define __KNOWIT_LINKS_H__ +#include <klistbox.h> + +class QDropEvent; +class QKeyEvent; +class QDragEnterEvent; + +class KnowitLinks : public KListBox +{ + Q_OBJECT +public: + KnowitLinks(QWidget* parent=0, const char* name = 0); +protected: + virtual void dragEnterEvent(QDragEnterEvent* event); + virtual void dropEvent(QDropEvent* event); + virtual void keyPressEvent(QKeyEvent* e); +signals: + void textDropped(const QString& s, int flags); + void linkRemove(); + void linkOpen(); + void linkOpenWith(); +}; + +#endif + diff --git a/src/knowitpref.cpp b/src/knowitpref.cpp new file mode 100644 index 0000000..8f089c9 --- /dev/null +++ b/src/knowitpref.cpp @@ -0,0 +1,392 @@ +/*************************************************************************** + knowitpref.cpp - description + ------------------- + begin : czw lis 28 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "knowitpref.h" + + +#include <qcheckbox.h> +#include <qcolor.h> +#include <qtoolbutton.h> +#include <qspinbox.h> +#include <qdatetime.h> +#include <qlayout.h> +#include <qwhatsthis.h> +#include <qstring.h> +#include <qlabel.h> +#include <qvbox.h> + +#include <kconfig.h> +#include <kcombobox.h> +#include <kglobal.h> +#include <kiconloader.h> +#include <klocale.h> +#include <kdeversion.h> +#include <kfontdialog.h> +#include <klineedit.h> +#include <kcolorbutton.h> +#include <kdualcolorbutton.h> + +void KnowitOptions::save(KConfig* config) const +{ + config->setGroup("KDE"); + config->writeEntry("MultipleInstances", multipleInstances); + config->setGroup("General"); + config->writeEntry("Docked", docked); + config->writeEntry("Autosave", autosave); + config->writeEntry("Reopen", reopen); + config->writeEntry("HorizontalSplit", horizontalSplit); + config->writeEntry("UnconditionalSave", unconditionalSave); + config->writeEntry("Backup", backup); + config->writeEntry("DefaultName", defaultName); + config->writeEntry("AlternateTree", alternateTree); + config->writeEntry("AlternateColor", alternateColor); + config->writeEntry("AutoCollapse", autoCollapse); + + config->setGroup("Links"); + config->writeEntry("First", firstLink); + config->writeEntry("Format", linkFormat); + + config->setGroup("Editor"); + config->writeEntry("WordWrap", wordwrap); + config->writeEntry("EnterBreakLine", enterBreakLine); + config->writeEntry("TabFocus", tabfocus); + config->writeEntry("CustomColors", customColors); + config->writeEntry("ForeEditColor", foreEditColor); + config->writeEntry("BackEditColor", backEditColor); + config->writeEntry("CustomFont", customFont); + config->writeEntry("FontFamily", fontFamily); + config->writeEntry("FontSize", fontSize); + + config->setGroup("Templates"); + config->writeEntry("InsertDateFormatString", insertDateFormat); + config->writeEntry("InsertDateColor", insertDateColor); + config->writeEntry("InsertDateBold", insertDateBold); + config->writeEntry("InsertDateItalic", insertDateItalic); + config->writeEntry("InsertDateUnderline", insertDateUnderline); + + config->setGroup("Export"); + config->writeEntry("Flags", exportFlags); + +} + + +void KnowitOptions::read(KConfig* config) +{ + config->setGroup("KDE"); + multipleInstances = config->readBoolEntry("MultipleInstances", true); + config->setGroup("General"); + docked = config->readBoolEntry("Docked", false); + autosave = config->readNumEntry("Autosave", 0); + reopen = config->readBoolEntry("Reopen", true); + horizontalSplit = config->readNumEntry("HorizontalSplit", true); + defaultName = config->readEntry("DefaultName", i18n("New note")); + alternateTree = config->readBoolEntry("AlternateTree", false); + alternateColor = config->readEntry("AlternateColor", QString("LightYellow")); + autoCollapse = config->readBoolEntry("AutoCollapse", false); + unconditionalSave = config->readBoolEntry("UnconditionalSave", false); + backup = config->readBoolEntry("Backup", true); + + config->setGroup("Links"); + firstLink = config->readBoolEntry("First", true); + linkFormat = config->readNumEntry("Format", 0); + + config->setGroup("Editor"); + wordwrap = config->readBoolEntry("WordWrap", true); + enterBreakLine = config->readBoolEntry("EnterBreakLine", true); + tabfocus = config->readBoolEntry("TabFocus", false); + customColors = config->readBoolEntry("CustomColors", false); + foreEditColor = config->readEntry("ForeEditColor", QString("Black")); + backEditColor = config->readEntry("BackEditColor", QString("White")); + customFont = config->readBoolEntry("CustomFont", false); + fontFamily = config->readEntry("FontFamily", QString("Helvetica")); + fontSize = config->readNumEntry("FontSize", 10); // KDE-Default? + + config->setGroup("Templates"); + insertDateFormat = config->readEntry("InsertDateFormatString", QString("ddd d MMM yyyy, hh:mm:ss")); + insertDateColor = config->readEntry("InsertDateColor", QString("Blue")); + insertDateBold = config->readBoolEntry("InsertDateBold", false); + insertDateItalic = config->readBoolEntry("InsertDateItalic", true); + insertDateUnderline = config->readBoolEntry("InsertDateUnderline", false); + + config->setGroup("Export"); + exportFlags = config->readNumEntry("Flags", 0); +} + + + +KnowitPreferences::KnowitPreferences() + : KDialogBase(IconList, i18n("KnowIt Preferences"), Ok|Cancel, Ok) +{ + QFrame* page; + QVBoxLayout* layout; + + /* first page: General */ + page = addPage(i18n("General"), i18n("General options"), + KGlobal::iconLoader()->loadIcon(QString("configure"), KIcon::Toolbar, KIcon::SizeMedium)); + layout = new QVBoxLayout(page, 0, spacingHint()); + layout->addWidget(docked = new QCheckBox(i18n("&Dock in System tray"), page, "Dock")); + layout->addWidget(reopen = new QCheckBox(i18n("Open &last file on startup"), page, "Reopen")); + + QHBox* autosaveBox = new QHBox(page); + layout->addWidget(autosaveBox); + new QLabel(i18n("Autosave:"), autosaveBox); + autosave = new QSpinBox(0, 120, 5, autosaveBox, "Autosave"); + autosave->setPrefix(i18n("every ")); + autosave->setSuffix(i18n(" min.")); + autosave->setSpecialValueText(i18n("Never")); + QWhatsThis::add(autosave, i18n("Current file will be automatically saved " + "after the specified interval. Set to <i>never</i> to disable autosave.")); + + layout->addWidget(unconditionalSave = new QCheckBox(i18n("Automatically save file on e&xit"), + page, "UnconditionalSave")); + QWhatsThis::add(unconditionalSave, i18n("Current file will be automatically saved " + "on exit without confirmation.")); + layout->addWidget(backup = new QCheckBox(i18n("Create &backups"), + page, "Backup")); + QWhatsThis::add(backup, i18n("Create backup of current document before it is saved.")); + layout->addWidget(multipleInstances = new QCheckBox(i18n("Allow &multiple instances of KnowIt"), + page, "Instances")); + QWhatsThis::add(multipleInstances, i18n("If this option is disabled, only one " + "instance of KnowIt will be allowed. If there is another instance already running, " + "it will be automatically activated instead of running new one.")); + layout->addStretch(1); + + + /* second page: Interface */ + page = addPage(i18n("Interface"), i18n("Interface options"), + KGlobal::iconLoader()->loadIcon(QString("misc"), KIcon::Toolbar, KIcon::SizeMedium)); + layout = new QVBoxLayout(page, 0, spacingHint()); + layout->addWidget(horizontalSplit = new QCheckBox(i18n("Split window &horizontally"), page, "Split")); + QWhatsThis::add(horizontalSplit, i18n("If this option is set, notes tree will " + "be displayed on the left and the editor on the right (this is default).<br>" + "Otherwise notes tree will be displayed at the top and the editor at the bottom.")); + + QHBox* defaultNameBox = new QHBox(page); + layout->addWidget(defaultNameBox); + new QLabel(i18n("Default note name:"), defaultNameBox); + defaultName = new KLineEdit(defaultNameBox, "DefaultName"); + QWhatsThis::add(defaultName, i18n("Default name for new notes. It would be " + "autoselected, so if you often copy text using mouse selection, you may " + "consider setting default name to none.")); + + QHBox* linkBox = new QHBox(page); + layout->addWidget(linkBox); + new QLabel(i18n("Link format:"), linkBox); + linkFormat = new KComboBox(linkBox, "LinkFormat"); + linkFormat->insertItem(i18n("Description (link)")); + linkFormat->insertItem(i18n("Link (description)")); + linkFormat->insertItem(i18n("Link only")); + linkFormat->insertItem(i18n("Description only")); + + QHBox* alternateBox = new QHBox(page); + layout->addWidget(alternateBox); + alternateTree = new QCheckBox(i18n("Alternate colors in tree"), alternateBox, "Alternate"); + alternateColor = new KColorButton(QColor("White"), alternateBox, "AlternateColor"); + + layout->addWidget(autoCollapse = new QCheckBox(i18n("Automatically collapse other notes"), page, "AutoCollapse")); + QWhatsThis::add(autoCollapse, i18n("If this option is set, only current subtree " + "will be visible, other notes will be automatically collapsed.")); + layout->addStretch(1); + + + /* third page: Editor */ + page = addPage(i18n("Editor"), i18n("Editor options"), + KGlobal::iconLoader()->loadIcon(QString("edit"), KIcon::Toolbar, KIcon::SizeMedium)); + layout = new QVBoxLayout(page, 0, spacingHint()); + layout->addWidget(wordwrap = new QCheckBox(i18n("Use &word wrap"), + page, "WordWrap")); + layout->addWidget(enterBreakLine = new QCheckBox(i18n("'Enter' ends current line, not paragraph"), + page, "EnterLineBreak")); + layout->addWidget(tabfocus = new QCheckBox(i18n("'Tab' in editor changes focus"), + page, "TabFocus")); +#if KDE_VERSION_MAJOR == 3 && KDE_VERSION_MINOR < 1 + tabfocus->hide(); +#endif + QHBox* colorBox = new QHBox(page); + layout->addWidget(colorBox); + customColors = new QCheckBox(i18n("Use &custom colors"), colorBox, "CustomColors"); + editColors = new KDualColorButton(colorBox); + + const char fontSizes[] = {4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,24,26,28,32,48,64,0}; + QStringList fontList; + KFontChooser::getFontList(fontList, false); + + QHBox* fontBox = new QHBox(page); + layout->addWidget(fontBox); + customFont = new QCheckBox(i18n("Use custom font:"), fontBox, "customFont"); + fontFamily = new KComboBox(true, fontBox); + fontFamily->insertStringList(fontList); + fontSize = new KComboBox(true, fontBox); + for( int i=0; fontSizes[i] != 0; i++ ){ + fontSize->insertItem(QString().setNum(fontSizes[i]),i); + } + + layout->addStretch(1); + + + /* fourth page: Templates */ + page = addPage(i18n("Templates"), i18n("Templates configuration"), + KGlobal::iconLoader()->loadIcon(QString("wizard"), KIcon::Toolbar, KIcon::SizeMedium)); + layout = new QVBoxLayout(page, 0, spacingHint()); + QWhatsThis::add(page, i18n("<html>\n" +"<p>These expressions may be used: </p>\n" +"<table>\n" +"<tr><th>d</th><td>the day as number without a leading zero (1-31)</td></tr>\n" +"<tr><th>dd</th><td>the day as number with a leading zero (01-31)</td></tr>\n" +"<tr><th>ddd</th><td>the abbreviated localized day name (e.g. 'Mon'..'Sun')</td></tr>\n" +"<tr><th>dddd</th><td>the long localized day name (e.g. 'Monday'..'Sunday')</td></tr>\n" +"<tr><th>M</th><td>the month as number without a leading zero (1-12)</td></tr>\n" +"<tr><th>MM</th><td>the month as number with a leading zero (01-12)</td></tr>\n" +"<tr><th>MMM</th><td>the abbreviated localized month name (e.g. 'Jan'..'Dec')</td></tr>\n" +"<tr><th>MMMM</th><td>the long localized month name (e.g. 'January'..'December')</td></tr>\n" +"<tr><th>yy</th><td>the year as two digit number (00-99)</td></tr>\n" +"<tr><th>yyyy</th><td>the year as four digit number (1752-8000)</td></tr>\n" +"<tr><th>h</th><td>the hour without a leading zero (0..23 or 1..12 if AM/PM display)</td></tr>\n" +"<tr><th>hh</th><td>the hour with a leading zero (00..23 or 01..12 if AM/PM display)</td></tr>\n" +"<tr><th>m</th><td>the minute without a leading zero (0..59)</td></tr>\n" +"<tr><th>mm</th><td>the minute with a leading zero (00..59)</td></tr>\n" +"<tr><th>s</th><td>the second without a leading zero (0..59)</td></tr>\n" +"<tr><th>ss</th><td>the second with a leading zero (00..59)</td></tr>\n" +"<tr><th>AP</th><td>use AM/PM display</td></tr>\n" +"<tr><th>AP</th><td>use am/pm display</td></tr>\n" +"</table></html>")); + + QHBox* topBox = new QHBox(page); + layout->addWidget(topBox); + QLabel * label1 = new QLabel(i18n("Date Format: "), topBox); + label1->setFixedSize(label1->sizeHint()); + insertDatePreview = new QLabel("", topBox); + + QHBox *tmpBox = new QHBox(page); + layout->addWidget(tmpBox); + insertDateColorButton = new KColorButton(QColor("Blue"), tmpBox, "InsertDateColorButton"); + insertDateFormatEdit = new KLineEdit(tmpBox, "InsertDateFormatEdit"); + insertDateItalicButton = new QToolButton(tmpBox,"InsertDateItalicButton"); + insertDateItalicButton->setIconSet(QIconSet(KGlobal::iconLoader()->loadIcon("text_italic", KIcon::Toolbar))); + insertDateItalicButton->setToggleButton(true); + insertDateBoldButton = new QToolButton(tmpBox,"InsertDateBoldButton"); + insertDateBoldButton->setIconSet(QIconSet(KGlobal::iconLoader()->loadIcon("text_bold", KIcon::Toolbar))); + insertDateBoldButton->setToggleButton(true); + insertDateUnderlineButton = new QToolButton(tmpBox, "InsertDateUnderlineButton"); + insertDateUnderlineButton->setIconSet(QIconSet(KGlobal::iconLoader()->loadIcon("text_under", KIcon::Toolbar))); + insertDateUnderlineButton->setToggleButton(true); + insertDateColorButton->setFixedSize(insertDateBoldButton->sizeHint()); + insertDateFormatEdit->setMinimumWidth(6*insertDateBoldButton->sizeHint().width()); + layout->addStretch(1); + + setIconListAllVisible(true); +} + +void KnowitPreferences::setOptions(const KnowitOptions& Options) +{ + docked->setChecked(Options.docked); + reopen->setChecked(Options.reopen); + autosave->setValue(Options.autosave); + unconditionalSave->setChecked(Options.unconditionalSave); + backup->setChecked(Options.backup); + multipleInstances->setChecked(Options.multipleInstances); + + horizontalSplit->setChecked(Options.horizontalSplit); + defaultName->setText(Options.defaultName); + alternateTree->setChecked(Options.alternateTree); + alternateColor->setColor(QColor(Options.alternateColor)); + autoCollapse->setChecked(Options.autoCollapse); + linkFormat->setCurrentItem(Options.linkFormat); + + wordwrap->setChecked(Options.wordwrap); + enterBreakLine->setChecked(Options.enterBreakLine); + tabfocus->setChecked(Options.tabfocus); + customColors->setChecked(Options.customColors); + editColors->setForeground(QColor(Options.foreEditColor)); + editColors->setBackground(QColor(Options.backEditColor)); + customFont->setChecked(Options.customFont); + fontFamily->setCurrentText(Options.fontFamily); + fontSize->setCurrentText(QString().setNum(Options.fontSize)); + + insertDateFormatEdit->setText(Options.insertDateFormat); + insertDateColorButton->setColor(QColor(Options.insertDateColor)); + insertDateBoldButton->setOn(Options.insertDateBold); + insertDateItalicButton->setOn(Options.insertDateItalic); + insertDateUnderlineButton->setOn(Options.insertDateUnderline); + slotUpdateDatePreview(); + connect(insertDateColorButton, SIGNAL(clicked()), this, SLOT(slotUpdateDatePreview())); + connect(insertDateFormatEdit, SIGNAL(textChanged (const QString &)), this, SLOT(slotUpdateDatePreview())); + connect(insertDateItalicButton, SIGNAL(toggled(bool)), this, SLOT(slotUpdateDatePreview())); + connect(insertDateBoldButton, SIGNAL(toggled(bool)), this, SLOT(slotUpdateDatePreview())); + connect(insertDateUnderlineButton, SIGNAL(toggled(bool)), this, SLOT(slotUpdateDatePreview())); + + /* non-GUI options */ + firstLink = Options.firstLink; + exportFlags = Options.exportFlags; +} + +KnowitOptions KnowitPreferences::getOptions() const +{ + KnowitOptions Options; + Options.docked = docked->isChecked(); + Options.reopen = reopen->isChecked(); + Options.autosave = autosave->value(); + Options.unconditionalSave = unconditionalSave->isChecked(); + Options.multipleInstances = multipleInstances->isChecked(); + Options.backup = backup->isChecked(); + + Options.horizontalSplit = horizontalSplit->isChecked(); + Options.defaultName = defaultName->text(); + Options.alternateTree = alternateTree->isChecked(); + Options.alternateColor = alternateColor->color().name(); + Options.autoCollapse = autoCollapse->isChecked(); + Options.linkFormat = linkFormat->currentItem(); + + Options.wordwrap = wordwrap->isChecked(); + Options.enterBreakLine = enterBreakLine->isChecked(); + Options.tabfocus = tabfocus->isChecked(); + Options.customColors = customColors->isChecked(); + Options.foreEditColor = editColors->foreground().name(); + Options.backEditColor = editColors->background().name(); + Options.customFont = customFont->isChecked(); + Options.fontFamily = fontFamily->currentText(); + Options.fontSize = fontSize->currentText().toInt(); + + Options.insertDateFormat = insertDateFormatEdit->text(); + Options.insertDateColor = insertDateColorButton->color().name(); + Options.insertDateBold = insertDateBoldButton->isOn(); + Options.insertDateItalic = insertDateItalicButton->isOn(); + Options.insertDateUnderline = insertDateUnderlineButton->isOn(); + + Options.firstLink = firstLink; + Options.exportFlags = exportFlags; + return Options; +} + +void KnowitPreferences::slotUpdateDatePreview() +{ + QString str = "<html><p align=\"center\">"; + if(insertDateBoldButton->isOn()) str += "<b>"; + if(insertDateItalicButton->isOn()) str +="<i>"; + if(insertDateUnderlineButton->isOn()) str += "<u>"; + str += "<font COLOR=\""+insertDateColorButton->color().name()+"\">"; + str += QString("%1").arg(QDateTime::currentDateTime().toString(insertDateFormatEdit->text())); + str += "</font>"; + if(insertDateUnderlineButton->isOn()) str += "</u>"; + if(insertDateItalicButton->isOn()) str +="</i>"; + if(insertDateBoldButton->isOn()) str += "</b>"; + str += "</p></html>"; + insertDatePreview->setPaletteBackgroundColor(QColor("White")); + insertDatePreview->setText(str); +} + + diff --git a/src/knowitpref.h b/src/knowitpref.h new file mode 100644 index 0000000..bc74398 --- /dev/null +++ b/src/knowitpref.h @@ -0,0 +1,104 @@ +/*************************************************************************** + knowitpref.h - description + ------------------- + begin : czw lis 28 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef KNOWITPREF_H +#define KNOWITPREF_H + +#include <qstring.h> +#include <kdialogbase.h> + +class QCheckBox; +class QSpinBox; +class QToolButton; +class KLineEdit; +class KColorButton; +class KDualColorButton; +class KConfig; +class KComboBox; + +class KnowitOptions +{ +public: + /* General */ + bool docked; + bool reopen; + int autosave; + bool unconditionalSave; + bool multipleInstances; + bool backup; + /* GUI */ + bool horizontalSplit; + int linkFormat; + QString defaultName; + bool alternateTree; + QString alternateColor; + bool autoCollapse; + /* Links */ + bool firstLink; + /* Editor */ + bool wordwrap; + bool enterBreakLine; + bool tabfocus; + bool customColors; + QString backEditColor; + QString foreEditColor; + bool customFont; + QString fontFamily; + int fontSize; + /* Date format */ + QString insertDateFormat, insertDateColor; + bool insertDateBold, insertDateItalic, insertDateUnderline; + void save(KConfig* config) const; + void read(KConfig* config); + /* Export */ + int exportFlags; +}; + + +class KnowitPreferences : public KDialogBase +{ +Q_OBJECT +private: + QCheckBox *docked, *reopen, *horizontalSplit, *multipleInstances, *backup; + QCheckBox *unconditionalSave; + QCheckBox *wordwrap, *tabfocus, *customColors; + KDualColorButton* editColors; + QCheckBox *enterBreakLine; + KLineEdit *defaultName; + QCheckBox *alternateTree; + KColorButton *alternateColor; + QCheckBox* autoCollapse; + QCheckBox* customFont; + KComboBox *fontFamily, *fontSize; + KComboBox *linkFormat; + KLineEdit *insertDateFormatEdit; + KColorButton *insertDateColorButton; + QLabel *insertDatePreview; + QSpinBox* autosave; + QToolButton *insertDateItalicButton, *insertDateBoldButton, *insertDateUnderlineButton; + bool firstLink; + int exportFlags; +public: + KnowitPreferences(); + void setOptions(const KnowitOptions& Options); + KnowitOptions getOptions() const; + public slots: + void slotUpdateDatePreview(); +}; + +#endif + diff --git a/src/knowittray.cpp b/src/knowittray.cpp new file mode 100644 index 0000000..b08703a --- /dev/null +++ b/src/knowittray.cpp @@ -0,0 +1,33 @@ +/*************************************************************************** + knowittray.cpp - description + ------------------- + begin : czw lis 28 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#include "knowittray.h" +#include <kpopupmenu.h> +#include <klocale.h> + +KnowitTray::KnowitTray (QWidget* parent, const char* name) : + KSystemTray(parent, name) +{ + contextMenu()->insertItem(i18n("&Undock"), parent, + SLOT(slotUndock())); +} + +void KnowitTray::contextMenuAboutToShow (KPopupMenu* menu) +{ + menu->removeItemAt(menu->count()-1); + menu->insertItem(i18n("&Quit"), parent(), SLOT(slotFileQuit())); +} + diff --git a/src/knowittray.h b/src/knowittray.h new file mode 100644 index 0000000..023eef2 --- /dev/null +++ b/src/knowittray.h @@ -0,0 +1,31 @@ +/*************************************************************************** + knowittray.h - description + ------------------- + begin : czw lis 28 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef KNOWITTRAY_H +#define KNOWITTRAY_H +#include <ksystemtray.h> + +class KnowitTray : public KSystemTray +{ +public: + KnowitTray(QWidget* parent=0, const char* name=0); +protected: + virtual void contextMenuAboutToShow (KPopupMenu* menu); +}; + +#endif + diff --git a/src/knowittree.cpp b/src/knowittree.cpp new file mode 100644 index 0000000..ad260fb --- /dev/null +++ b/src/knowittree.cpp @@ -0,0 +1,146 @@ +/*************************************************************************** + knowittree.cpp - description + ------------------- + begin : sob gru 20 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include <klocale.h> +#include <qevent.h> +#include <qdragobject.h> +#include <qheader.h> +#include <qwhatsthis.h> +#include "knowittree.h" + +KnowitTree::KnowitTree(QWidget* parent, const char* name) + : KListView(parent, name) +{ + setMinimumSize(150, 150); + addColumn(i18n("Notes")); + setRootIsDecorated(true); + setItemsRenameable(true); + setDragEnabled(true); + setAcceptDrops(true); + setFullWidth(true); + setSorting(-1); + setDragAutoScroll(true); + prevItem = 0; + QWhatsThis::add(this, i18n("<h2>Notes hierarchy</h2>" + "Here you can browse notes tree. " + "You can also add notes using right-click menu, or reorganize them using " + "drag and drop.")); +} + + +void KnowitTree::takeNode(QListViewItem* item) +{ + if (item->parent()) + item->parent()->takeItem(item); + else + takeItem(item); +} + +void KnowitTree::insertNode(QListViewItem* parent, QListViewItem* item, QListViewItem* after) +{ + if (parent) + parent->insertItem(item); + else + insertItem(item); + if (after) + item->moveItem(after); +} + + +void KnowitTree::contentsDragMoveEvent(QDragMoveEvent* event) +{ + QListViewItem* item = itemAt(event->pos()); + /* check if on root decoration */ + if (!item || event->pos().x() > header()->cellPos(header()->mapToActual(0)) + + treeStepSize() * (item->depth() + 1) + itemMargin() || + event->pos().x() < header()->cellPos(header()->mapToActual(0))) + return; + if (item && item->childCount() && !item->isOpen()) + item->setOpen(true); +} + +void KnowitTree::slotCollapseAll() +{ + QListViewItem* it = firstChild(); + while(it) { + it->setOpen(false); + it = it->nextSibling(); + } +} + +void KnowitTree::slotCollapse() +{ + if (currentItem()) + currentItem()->setOpen(false); +} + + +void KnowitTree::slotExpandAll() +{ + QListViewItem* it = firstChild(); + while(it) { + it->setOpen(true); + it = it->nextSibling(); + } +} + +void KnowitTree::slotExpand() +{ + if (currentItem()) + currentItem()->setOpen(true); +} + +void KnowitTree::slotItemUp() +{ + if (currentItem()) + setCurrentItem(currentItem()->itemAbove()); +} + +void KnowitTree::slotItemDown() +{ + if (currentItem()) + setCurrentItem(currentItem()->itemBelow()); +} + +void KnowitTree::slotItemBegin() +{ + setCurrentItem(firstChild()); +} + +void KnowitTree::slotItemEnd() +{ + QListViewItem* elt = firstChild(); + if (elt) + while (elt->itemBelow()) + elt = elt->itemBelow(); + setCurrentItem(elt); +} + +void KnowitTree::slotItemLeft() +{ + if (currentItem()) + setCurrentItem(currentItem()->parent()); +} + +void KnowitTree::slotItemRight() +{ + if (currentItem()) + setCurrentItem(currentItem()->firstChild()); +} + + + diff --git a/src/knowittree.h b/src/knowittree.h new file mode 100644 index 0000000..85ba50c --- /dev/null +++ b/src/knowittree.h @@ -0,0 +1,55 @@ +/*************************************************************************** + knowittree.h - description + ------------------- + begin : sob gru 20 2003 + copyright : (C) 2003 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#ifndef __KNOWIT_TREE_H__ +#define __KNOWIT_TREE_H__ +#include <klistview.h> +class QDragMoveEvent; +class KnowitTree : public KListView +{ + Q_OBJECT +public: + KnowitTree(QWidget* parent=0, const char* name = 0); + QListViewItem* prevItem; + void takeNode(QListViewItem* item); + void insertNode(QListViewItem* parent, QListViewItem* item, QListViewItem* after = 0); +protected: + virtual void contentsDragMoveEvent(QDragMoveEvent* event); +public slots: + /** Shows only first-level notes */ + void slotCollapseAll(); + /** Shows only root of selected tree */ + void slotCollapse(); + /** Shows all notes */ + void slotExpandAll(); + /** Shows all notes of selected tree */ + void slotExpand(); + /** Move note up */ + void slotItemUp(); + /** Move note down */ + void slotItemDown(); + /** Move note at the beginning of current list */ + void slotItemBegin(); + /** Move note at the end of current list */ + void slotItemEnd(); + /** Move note level up */ + void slotItemLeft(); + /** Move note level down */ + void slotItemRight(); +}; + +#endif + diff --git a/src/knowitui.rc b/src/knowitui.rc new file mode 100644 index 0000000..10d0aef --- /dev/null +++ b/src/knowitui.rc @@ -0,0 +1,187 @@ +<!DOCTYPE kpartgui SYSTEM "kpartgui.dtd"> +<kpartgui name="knowit" version="1.3"> + <MenuBar> + <Menu name="file"> + <Action name="file_export_html" /> + <Action name="file_info" /> + </Menu> + <Menu name="edit"> + <Separator /> + <Menu name="font" icon="fonts"> + <text>&Font</text> + <Action name="edit_bold"/> + <Action name="edit_italic"/> + <Action name="edit_underline"/> + <Action name="edit_color"/> + <Separator/> + <Action name="edit_superscript"/> + <Action name="edit_subscript"/> + <Action name="edit_align_normal"/> + </Menu> + <Menu name="align"> + <text>&Paragraph</text> + <Action name="edit_align_left"/> + <Action name="edit_align_right"/> + <Action name="edit_align_center"/> + <Action name="edit_align_justify"/> + </Menu> + <Menu name="list"> + <text>&List</text> + <Action name="list_bullet"/> + <Action name="list_number"/> + <Action name="list_upper"/> + <Action name="list_lower"/> + <Separator /> + <Action name="list_none"/> + </Menu> + <Action name="goto_note"/> + <Action name="edit_insert_date"/> + <Action name="edit_insert_file"/> + <Action name="edit_raw_text"/> + </Menu> + <Menu name="notes"> + <text>&Notes</text> + <Action name="note_add"/> + <Action name="note_add_child"/> + <Action name="note_delete"/> + <Action name="note_rename"/> + <Menu name="position"> + <text>&Position</text> + <Action name="note_move_up" /> + <Action name="note_move_down" /> + <Action name="note_move_left" /> + <Action name="note_move_right" /> + <Action name="note_move_begin" /> + <Action name="note_move_end" /> + <Action name="note_sort" /> + </Menu> + <Menu name="tree"> + <text>&Tree</text> + <Action name="note_expand_all"/> + <Action name="note_expand"/> + <Action name="note_collapse_all"/> + <Action name="note_collapse"/> + </Menu> + </Menu> + <Menu name="links"> + <text>&Links</text> + <Action name="link_add"/> + <Action name="link_remove"/> + <Action name="link_open"/> + <Action name="link_open_with"/> + <Action name="link_modify"/> + <Action name="link_description"/> + <Action name="link_copy"/> + </Menu> + <Menu name="settings"> + </Menu> + <Menu name="help"> + <Action name="help_tip" /> + </Menu> + </MenuBar> + <Menu name="links_popup"> + <text>&Links</text> + <Action name="link_add"/> + <Action name="link_remove"/> + <Action name="link_open"/> + <Action name="link_open_with"/> + <Action name="link_modify"/> + <Action name="link_copy"/> + </Menu> + <Menu name="notes_popup"> + <text>&Notes</text> + <Action name="note_add"/> + <Action name="note_add_child"/> + <Action name="note_delete"/> + <Action name="note_rename"/> + <Menu name="position"> + <text>&Position</text> + <Action name="note_move_up" /> + <Action name="note_move_down" /> + <Action name="note_move_left" /> + <Action name="note_move_right" /> + <Action name="note_move_begin" /> + <Action name="note_move_end" /> + <Action name="note_sort" /> + </Menu> + <Menu name="tree"> + <text>&Tree</text> + <Action name="note_expand_all"/> + <Action name="note_expand"/> + <Action name="note_collapse_all"/> + <Action name="note_collapse"/> + </Menu> + </Menu> + <ToolBar name="edit"> + <text>Edit toolbar</text> + <Action name="edit_bold"/> + <Action name="edit_italic"/> + <Action name="edit_underline"/> + <Action name="edit_color"/> + <Separator /> + <Action name="edit_align_left"/> + <Action name="edit_align_right"/> + <Action name="edit_align_center"/> + <Action name="edit_align_justify"/> + </ToolBar> + <ToolBar name="note"> + <text>Notes toolbar</text> + <Action name="note_move_up" /> + <Action name="note_move_down" /> + <Action name="note_move_left" /> + <Action name="note_move_right" /> + <Action name="note_move_begin" /> + <Action name="note_move_end" /> + </ToolBar> + <ToolBar name="link"> + <text>Links toolbar</text> + <Action name="link_add" /> + <Action name="link_open" /> + </ToolBar> + <State name="notesPresent"> + <Enable> + <Action name="file_export_html" /> + <Action name="file_info" /> + <Action name="edit_bold"/> + <Action name="edit_italic"/> + <Action name="edit_underline"/> + <Action name="edit_color"/> + <Action name="edit_superscript"/> + <Action name="edit_subscript"/> + <Action name="edit_align_normal"/> + <Action name="edit_align_left"/> + <Action name="edit_align_right"/> + <Action name="edit_align_center"/> + <Action name="edit_align_justify"/> + <Action name="goto_note"/> + <Action name="edit_insert_date"/> + <Action name="edit_insert_file"/> + <Action name="edit_raw_text"/> + <Action name="note_add_child"/> + <Action name="note_delete"/> + <Action name="note_rename"/> + <Action name="note_move_up" /> + <Action name="note_move_down" /> + <Action name="note_move_left" /> + <Action name="note_move_right" /> + <Action name="note_move_begin" /> + <Action name="note_move_end" /> + <Action name="note_sort" /> + <Action name="note_expand_all"/> + <Action name="note_expand"/> + <Action name="note_collapse_all"/> + <Action name="note_collapse"/> + <Action name="link_add"/> + <Action name="link_remove"/> + <Action name="link_open"/> + <Action name="link_open_with"/> + <Action name="link_modify"/> + <Action name="link_copy"/> + <Action name="edit_copy" /> + <Action name="edit_cut" /> + <Action name="edit_paste" /> + <Action name="edit_find" /> + <Action name="edit_find_next" /> + </Enable> + </State> +</kpartgui> diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..14734b7 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,51 @@ +/*************************************************************************** + main.cpp - description + ------------------- + begin : czw wrz 26 08:27:40 CEST 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include <kcmdlineargs.h> +#include <kaboutdata.h> +#include <klocale.h> +#include "knowit.h" +#include "knowitapp.h" + +static const char *description = + I18N_NOOP("KnowIt - notes management utility"); + + +static KCmdLineOptions options[] = +{ + { "+file", I18N_NOOP("Document to open"), 0 }, + { 0, 0, 0 } +}; + +int main(int argc, char *argv[]) +{ + KAboutData aboutData( "knowit", I18N_NOOP("KnowIt"), + VERSION, description, KAboutData::License_GPL, + "(C) 2002-2004 Michal Rudolf", 0, 0, "mrudolf@kdewebdev.org"); + aboutData.addAuthor("Michal Rudolf",0, "mrudolf@kdewebdev.org"); + aboutData.setTranslator (I18N_NOOP("_: NAME OF TRANSLATORS\nYour names"), + I18N_NOOP("_: EMAIL OF TRANSLATORS\nYour emails")); + + KCmdLineArgs::init( argc, argv, &aboutData ); + KCmdLineArgs::addCmdLineOptions( options ); + + KnowitApplication a(true, true); + + Knowit *knowit = new Knowit(0, "KnowIt"); + a.setMainWidget(knowit); + return a.exec(); +} diff --git a/src/notes.cpp b/src/notes.cpp new file mode 100644 index 0000000..0c53883 --- /dev/null +++ b/src/notes.cpp @@ -0,0 +1,432 @@ +/*************************************************************************** + notes.cpp - description + ------------------- + begin : sob lis 16 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#include "notes.h" +#include <qstringlist.h> +#include <qfile.h> +#include <qdatetime.h> +#include <qtextstream.h> +#include <qtextcodec.h> +#include <klocale.h> +#include <klistview.h> +#include <kglobal.h> +#include <kiconloader.h> +#include <kmimetype.h> +#include <krun.h> +#include <kurl.h> +#include <klistview.h> + +#ifdef HAVE_CONFIG_H +#include <config.h> +#else +#define VERSION "?" +#endif + + +void TNoteLink::save(QTextStream& ts) const +{ + if (!link.isEmpty()) { + ts << "\\Link " << link << "\n"; + if (!description.isEmpty()) + ts << "\\Descr " << description << "\n"; + } +} + +QString TNoteLink::text(int fmt) const +{ + if (fmt == LinkOnly || description.isEmpty()) return link; + else if (fmt == DescriptionOnly) return description; + else if (fmt == LinkDescription) + return QString("%1 (%2)").arg(link).arg(description); + else return QString("%1 (%2)").arg(description).arg(link); +} + +QPixmap TNoteLink::icon() const +{ + return KGlobal::iconLoader()->loadIcon(KMimeType::iconForURL(KURL(link)), + KIcon::Small); +} + +void TNoteLink::open() const +{ + if (!isLocalReference()) + new KRun(KURL(link), 0, false, true); +} + +void TNoteLink::openWith() const +{ + if (!isLocalReference()) + KRun::displayOpenWithDialog(KURL(link)); +} + +bool TNoteLink::isLocalReference() const +{ + KURL url(link); + return url.protocol() == "knowit"; +} + + + + + +TNotesCollection::TNotesCollection() +{ + Pixmaps[0] = KGlobal::iconLoader()->loadIcon("ascii", KIcon::Small); + Pixmaps[1] = KGlobal::iconLoader()->loadIcon("txt", KIcon::Small); + Pixmaps[2] = KGlobal::iconLoader()->loadIcon("folder", KIcon::Small); + Pixmaps[3] = KGlobal::iconLoader()->loadIcon("folder_txt", KIcon::Small); + modified = false; + autoUpdate = true; +} + + + +TNotesCollection::~TNotesCollection() +{} + +void TNotesCollection::addNote(QListViewItem* item) +{ + insert(item, new TNote(item, this)); + QListViewItem* parent = item->parent(); + if (parent) find(parent)->updateView(); + modified = true; +} + +void TNotesCollection::addNote(QListViewItem* item, const QString& s) +{ + insert(item, new TNote(item, this, s)); + QListViewItem* parent = item->parent(); + if (parent) find(parent)->updateView(); + modified = true; +} + +void TNotesCollection::removeNote(QListViewItem* item) +{ + TNote* note = find(item); + if (!note) qWarning("Internal error while removing note\n"); + else { + QListViewItem* parent = item->parent(); + for (QListViewItemIterator it(item); it.current() && + (it.current() == item || it.current()->depth() > item->depth()); ++it) + find(it.current())->destroy(); + delete item; + if (parent) find(parent)->updateView(); + modified = true; + } +} + +bool TNotesCollection::changeNote(QListViewItem* item, const QString& s) +{ + TNote* changed = find(item); + if (!changed) { + qWarning("Internal error while changing note\n"); + return false; + } + if (changed->change(s)) + return modified = true; + else + return false; +} + +void TNotesCollection::clearNotes() +{ + setAutoDelete(true); + clear(); + setAutoDelete(false); +} + +const QString& TNotesCollection::text(QListViewItem* item) +{ + TNote* note = find(item); + if (!note) + qFatal("Internal error while accessing note text\n"); + return note->text; +} + +void TNotesCollection::updateNotesView() +{ + for (QPtrDictIterator<TNote> it(*this); it.current(); ++it) + it.current()->updateView(); +} + + + + + +TNote::TNote(QListViewItem* i, TNotesCollection* coll) : text() +{ + collection = coll; + item = i; + updateView(); +} + +TNote::TNote(QListViewItem* i, TNotesCollection* coll, const QString& s) : + text(s) +{ + collection = coll; + item = i; + updateView(); +} + +bool TNote::isEmpty() +{ + return !text.length(); +} + +bool TNote::contains(const QString& sought, bool case_sensitive) +{ + return text.contains(sought, case_sensitive); +} + + +TNote::~TNote() +{ +} + +void TNote::destroy() +{ + collection->remove(item); + delete this; +} + +bool TNote::change(const QString& s) +{ + if (text == s) + return false; + text = s; + updateView(); + return true; +} + +TNote::State TNote::state() +{ + if (text.stripWhiteSpace().isEmpty()) + return (item->childCount()) ? EmptyParent : Empty; + else + return (item->childCount()) ? TextParent : Text; +} + +void TNote::updateView() +{ + if (collection->autoUpdate) + item->setPixmap(0, collection->Pixmaps[state()]); +} + +bool TNote::saveHTML(const KURL& fname, const QString& origname, const QString& style, + int flags) +{ + QFile file(fname.path()); + if (!file.open( IO_WriteOnly)) + return false; + QTextStream ts(&file); + if (flags & UseUTF8) ts.setEncoding(QTextStream::UnicodeUTF8); + else ts.setEncoding(QTextStream::Locale); + ts << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n" + "<html>\n<head>\n <title>" << i18n("KnowIt document") << + QString("</title>\n <meta http-equiv=\"Content-Type\" " + "content=\"text/html; charset=%1\">\n").arg(ts.codec()->mimeName()); + if (!style.isEmpty()) + ts << " <style type=\"text/css\">\n " << style << "\n </style>\n"; + ts << "</head>\n\n<body>\n"; + + QValueVector<int> Depths; + Depths.append(0); + if (flags & TOC) { + ts << QString("<h1>%1</h1>\n").arg(i18n("Table of contents")); + saveHTMLTocEntry(ts, Depths, flags); + ts << "\n\n"; + } + + Depths.clear(); + Depths.append(0); + saveHTMLBuf(ts, Depths, flags); + + QString epilog = i18n("Exported from %1 by KnowIt %2, %3."); + ts << "<br><br><br><small>" << epilog.arg(origname) + .arg(VERSION) + .arg(QDateTime::currentDateTime().toString()) << "</small>\n\n"; + ts << "</body>\n</html>\n\n"; + return true; +} + +bool TNote::saveHTMLBuf(QTextStream& ts, QValueVector<int>& depths, + int flags) +{ + int hlevel = depths.count(); + depths.last() = depths.last()+1; + if (hlevel < 1) hlevel = 1; + else if (hlevel > 3) hlevel = 3; + QString id, number; + for (uint i=0; i<depths.count(); i++) + id += QString("%1.").arg(depths[i]); + if (flags & Enumerate) + number = id + " "; + + ts << QString("<h%1 id=\"S%2\">%3%4</h%5>").arg(hlevel).arg(id).arg(number) + .arg(item->text(0)).arg(hlevel); + QString htmltext = text; + int begin = htmltext.find("<body"); + if (begin >= 0) begin = htmltext.find(">", begin); + int end = htmltext.find("</body>"); + if (begin < 0) begin = 0; + if (end <= begin) end = htmltext.length(); + ts << htmltext.mid(begin+1, end-begin-1); + + /* save links */ + for (QValueList<TNoteLink>::Iterator LinkList = links.begin(); + LinkList != links.end(); ++LinkList) + ts << QString("<a href=\"%1\">%2</a><br>\n").arg((*LinkList).link) + .arg((*LinkList).text(TNoteLink::DescriptionOnly)); + + /* save rule */ + if (flags & AddRule) ts << "<hr size=\"1\" noshade>\n\n"; + else ts << "\n\n"; + + /* save children */ + if ((SaveSubnotes | SaveAll) & flags && item->childCount()) { + depths.append(0); + collection->find(item->firstChild())->saveHTMLBuf(ts, depths, flags); + } + if ((SaveSubnotes | SaveAll) & flags && item->nextSibling()) + collection->find(item->nextSibling())->saveHTMLBuf(ts, depths, flags); + + if (!item->nextSibling()) depths.pop_back(); + return true; +} + +bool TNote::saveHTMLTocEntry(QTextStream& ts, QValueVector<int>& depths, int flags) +{ + QString space; + space.fill(' ', depths.count()); + depths.last() = depths.last()+1; + if (depths.last() == 1) { + ts << space; + if (depths.count() != 1) ts << "<dd>"; + ts << "<dl>\n"; + } + + QString id, number; + for (uint i=0; i<depths.count(); i++) + id += QString("%1.").arg(depths[i]); + if (flags & Enumerate) number = id + " "; + + ts << space; + ts << QString("<dt><a href=\"#S%1\">%2%3</a></dt>\n").arg(id).arg(number). + arg(item->text(0)); + if ((SaveSubnotes | SaveAll) & flags && item->childCount()) { + depths.append(0); + collection->find(item->firstChild())->saveHTMLTocEntry(ts, depths, flags); + } + if ((SaveSubnotes | SaveAll) & flags && item->nextSibling()) + collection->find(item->nextSibling())->saveHTMLTocEntry(ts, depths, flags); + if (!item->nextSibling()) { + depths.pop_back(); + ts << space; + ts << "</dl>"; + if (depths.count()) ts << "</dd>"; + ts << "\n"; + } + return true; +} + +void TNote::addLink(const QString& s) +{ + links.append(TNoteLink(s)); + collection->modified = true; +} + +void TNote::addLink(const TNoteLink& l) +{ + links.append(l); + collection->modified = true; +} + +void TNote::removeLink(int i) +{ + links.remove(links[i]); + collection->modified = true; +} + +void TNote::modifyLink(int i, const QString& s) +{ + links[i].link = s; + collection->modified = true; +} + +void TNote::modifyLink(int i, TNoteLink& l) +{ + if (l != links[i]) + collection->modified = true; + links[i] = l; +} + +void TNote::modifyLinkDescription(int i, const QString& s) +{ + links[i].description = s; + collection->modified = true; +} + +int TNote::linkCount() const +{ + return links.count(); +} + +const TNoteLink& TNote::link(int i) const +{ + return links[i]; +} + + +void TNote::save(QTextStream& ts, bool current) +{ + const QString header = "\\NewEntry %1 %2\n"; + const QString activeheader = "\\CurrentEntry %1 %2\n"; + + if (current) + ts << activeheader.arg(item->depth()).arg(item->text(0)); + else + ts << header.arg(item->depth()).arg(item->text(0)); + for (QValueList<TNoteLink>::Iterator LinkList = links.begin(); + LinkList != links.end(); ++LinkList) + (*LinkList).save(ts); + ts << text; + if (!text.isEmpty()) + ts << '\n'; + ts << '\n'; +} + +void TNote::open(QTextStream& ts) +{ + QString s; + text = ""; + links.clear(); + + while (true) { + s = ts.readLine(); + if (s.isNull() || s.isEmpty()) + break; + if (s.left(6) == "\\Link ") + addLink(s.mid(6)); + else if (s.left(7) == "\\Descr " && links.count()) + modifyLinkDescription(links.count()-1, s.mid(7)); + else { + if (text.length()) + text += '\n'; + text += s; + } + } +} diff --git a/src/notes.h b/src/notes.h new file mode 100644 index 0000000..e91c7e1 --- /dev/null +++ b/src/notes.h @@ -0,0 +1,106 @@ +/*************************************************************************** + notes.h - description + ------------------- + begin : sob lis 16 2002 + copyright : (C) 2002-2004 by Micha³ Rudolf + email : mrudolf@kdewebdev.org + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ +#ifndef KNOWIT_NOTES_H +#define KNOWIT_NOTES_H + +#include <qstring.h> +#include <qpixmap.h> +#include <qvaluelist.h> +#include <qvaluevector.h> +#include <qptrdict.h> +class QTextStream; +class QListViewItem; +class KURL; + +class TNote; + +class TNoteLink +{ +public: + enum {DescriptionLink, LinkDescription, LinkOnly, DescriptionOnly}; + QString link; + QString description; + TNoteLink() {} + TNoteLink(const QString& s) {link = s;} + TNoteLink(const QString& s1, const QString& s2) {link = s1; description = s2;} + int operator==(const TNoteLink& N) const {return link == N.link && + description == N.description;} + int operator!=(const TNoteLink& N) const {return link != N.link || + description != N.description;} + void save(QTextStream& ts) const; + void open() const; + void openWith() const; + QString text(int fmt = DescriptionLink) const; + QPixmap icon() const; + bool isLocalReference() const; +}; + + +class TNotesCollection : public QPtrDict<TNote> { +public: + QPixmap Pixmaps[4]; + TNotesCollection(); + ~TNotesCollection(); + void addNote(QListViewItem* item); + void addNote(QListViewItem* item, const QString& s); + void removeNote(QListViewItem* item); + bool changeNote(QListViewItem* item, const QString& s); + void clearNotes(); + void updateNotesView(); + bool modified; + bool autoUpdate; + const QString& text(QListViewItem* item); +}; + + +class TNote { +private: + QValueList<TNoteLink> links; + TNotesCollection* collection; + bool saveHTMLBuf(QTextStream& ts, QValueVector<int>& depths, + int flags = SaveAll); + bool saveHTMLTocEntry(QTextStream& ts, QValueVector<int>& depths, int flags); +public: + typedef enum {Empty, Text, EmptyParent, TextParent} State; + enum {SaveCurrent = 0, SaveSubnotes = 0x0001, SaveAll = 0x0002, UseUTF8 = 0x0040, + Enumerate = 0x0080, AddRule = 0x0100, Style = 0x0200, TOC = 0x0400}; + QListViewItem* item; + QString text; + bool isEmpty(); + bool contains(const QString& sought, bool case_sensitive = false); + bool change(const QString& s); + void destroy(); + void updateView(); + State state(); + void open(QTextStream& ts); + void save(QTextStream& ts, bool current = false); + bool saveHTML(const KURL& fname, const QString& origname, const QString& style, + int flags = SaveAll); + void addLink(const QString& s); + void addLink(const TNoteLink& l); + int linkCount() const; + const TNoteLink& link(int i) const; + void removeLink(int i); + void modifyLink(int i, const QString& s); + void modifyLink(int i, TNoteLink& l); + void modifyLinkDescription(int i, const QString& s); + TNote(QListViewItem* i, TNotesCollection* coll); + TNote(QListViewItem* i, TNotesCollection* coll, const QString& s); + ~TNote(); +}; +#endif + diff --git a/src/tips b/src/tips new file mode 100644 index 0000000..b0be289 --- /dev/null +++ b/src/tips @@ -0,0 +1,63 @@ +<tip category="Editor"> +<html> +<p>...that you can insert a breakline using <tt>Control+Enter</tt>? +</html> +</tip> + +<tip category="Application"> +<html> +<p>...that you can create list, starting lines with <tt>*</tt> +or <tt>-<tt>? +</html> +</tip> + +<tip category="Application"> +<html> +<p>...that if KnowIt is docked on logout, it would be reopen and +docked next time you start KDE? +</html> +</tip> + +<tip category="Application"> +<html> +<p>...that you can disable toolbar using Options->Configure...? +</html> +</tip> + +<tip category="Application"> +<html> +<p>...that you can configure all shortcuts using +Options->Configure shortcuts? +</html> +</tip> + +<tip category="Application"> +<html> +<p>...that you can always invoke Tip window using Help menu? +</html> +</tip> + +<tip category="Notes"> +<html> +<p>...that you can change current note with <tt>Alt+Up</tt>, +<tt>Alt+Down</tt>, <tt>Alt+Left</tt>, <tt>Alt+Right</tt>, +<tt>Alt+Home</tt> and <tt>Alt+End</tt>, even if editor is active? +</html> +</tip> + +<tip category="Notes"> +<html> +<p>...that you can move current note with <tt>Alt+Shift+Up</tt>, +<tt>Alt+Shift+Down</tt>, <tt>Alt+Shift+Left</tt>, <tt>Alt+Shift+Right</tt>, +<tt>Alt+Shift+Home</tt> and <tt>Alt+Shift+End</tt>, even if editor is active? +</html> +</tip> + +<tip category="Editor"> +<html> +<p>...that you can toggle Insert Mode from normal insert to overwrite +by either pressing <tt>Insert</tt> button or by clicking on the status +in the status bar? +</html> +</tip> + diff --git a/src/x-knowit.desktop b/src/x-knowit.desktop new file mode 100644 index 0000000..e060ac5 --- /dev/null +++ b/src/x-knowit.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Comment=KnowIt +Icon=knowit +MimeType=application/x-knowit +Patterns=*.kno; +Type=MimeType diff --git a/stamp-h.in b/stamp-h.in new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/stamp-h.in @@ -0,0 +1,3 @@ +doc +po +src diff --git a/templates/cpp b/templates/cpp new file mode 100644 index 0000000..296fc68 --- /dev/null +++ b/templates/cpp @@ -0,0 +1,19 @@ +/*************************************************************************** + * Copyright (C) 2004 by Michal Rudolf * + * mrudolf@kdewebdev.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ diff --git a/templates/h b/templates/h new file mode 100644 index 0000000..296fc68 --- /dev/null +++ b/templates/h @@ -0,0 +1,19 @@ +/*************************************************************************** + * Copyright (C) 2004 by Michal Rudolf * + * mrudolf@kdewebdev.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ |