From 4d87dd6f374cf2301b31c7660bcd6afd39d437d8 Mon Sep 17 00:00:00 2001 From: Wen-Yen Chuang Date: Mon, 12 Dec 2011 21:29:30 +0800 Subject: [PATCH] * l3afpad-0.8.18.1.1 --- AUTHORS | 5 + COPYING | 339 ++ ChangeLog | 297 ++ INSTALL | 365 ++ Makefile.am | 4 + Makefile.in | 707 ++++ NEWS | 0 README | 68 + aclocal.m4 | 1818 +++++++++ autogen.sh | 5 + compile | 142 + config.guess | 1533 ++++++++ config.h.in | 85 + config.sub | 1693 +++++++++ configure | 7885 +++++++++++++++++++++++++++++++++++++++ configure.ac | 36 + data/Makefile.am | 11 + data/Makefile.in | 420 +++ data/l3afpad.desktop | 86 + data/l3afpad.desktop.in | 10 + data/l3afpad.png | Bin 0 -> 2768 bytes data/l3afpad.xpm | 180 + depcomp | 589 +++ install-sh | 519 +++ intltool-extract.in | 875 +++++ intltool-merge.in | 1506 ++++++++ intltool-update.in | 1166 ++++++ lgpl-2.1.txt | 502 +++ missing | 367 ++ mkinstalldirs | 161 + po/ChangeLog | 291 ++ po/LINGUAS | 41 + po/Makefile.in.in | 217 ++ po/POTFILES.in | 12 + po/bg.po | 269 ++ po/br.po | 275 ++ po/ca.po | 263 ++ po/cs.po | 263 ++ po/da.po | 280 ++ po/de.po | 268 ++ po/el.po | 265 ++ po/eo.po | 262 ++ po/es.po | 263 ++ po/eu.po | 266 ++ po/fi.po | 265 ++ po/fr.po | 268 ++ po/ga.po | 263 ++ po/gl.po | 272 ++ po/he.po | 263 ++ po/hu.po | 268 ++ po/id.po | 263 ++ po/it.po | 266 ++ po/ja.po | 263 ++ po/ko.po | 263 ++ po/lt.po | 263 ++ po/lv.po | 267 ++ po/nl.po | 268 ++ po/nn.po | 273 ++ po/pl.po | 342 ++ po/pt.po | 263 ++ po/pt_BR.po | 263 ++ po/ru.po | 263 ++ po/sk.po | 263 ++ po/sl.po | 269 ++ po/sr.po | 265 ++ po/sv.po | 264 ++ po/ta.po | 263 ++ po/tr.po | 265 ++ po/uk.po | 266 ++ po/vi.po | 266 ++ po/zh_CN.po | 266 ++ po/zh_TW.po | 267 ++ src/Makefile.am | 28 + src/Makefile.in | 812 ++++ src/callback.c | 331 ++ src/callback.h | 50 + src/dialog.c | 95 + src/dialog.h | 27 + src/dnd.c | 226 ++ src/dnd.h | 25 + src/emacs.c | 221 ++ src/emacs.h | 25 + src/encoding.c | 485 +++ src/encoding.h | 49 + src/file.c | 237 ++ src/file.h | 36 + src/font.c | 71 + src/font.h | 27 + src/gtkprint.c | 218 ++ src/gtkprint.h | 26 + src/gtksourceiter.c | 742 ++++ src/gtksourceiter.h | 55 + src/hlight.c | 88 + src/hlight.h | 27 + src/indent.c | 224 ++ src/indent.h | 34 + src/l3afpad.h | 86 + src/linenum.c | 372 ++ src/linenum.h | 26 + src/main.c | 292 ++ src/menu.c | 214 ++ src/menu.h | 29 + src/search.c | 440 +++ src/search.h | 27 + src/selector.c | 398 ++ src/selector.h | 33 + src/undo.c | 383 ++ src/undo.h | 31 + src/utils.c | 102 + src/utils.h | 28 + src/view.c | 371 ++ src/view.h | 33 + src/window.c | 89 + src/window.h | 33 + 114 files changed, 39265 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 aclocal.m4 create mode 100644 autogen.sh create mode 100644 compile create mode 100644 config.guess create mode 100644 config.h.in create mode 100644 config.sub create mode 100755 configure create mode 100644 configure.ac create mode 100644 data/Makefile.am create mode 100644 data/Makefile.in create mode 100644 data/l3afpad.desktop create mode 100644 data/l3afpad.desktop.in create mode 100644 data/l3afpad.png create mode 100644 data/l3afpad.xpm create mode 100644 depcomp create mode 100644 install-sh create mode 100644 intltool-extract.in create mode 100644 intltool-merge.in create mode 100644 intltool-update.in create mode 100644 lgpl-2.1.txt create mode 100644 missing create mode 100644 mkinstalldirs create mode 100644 po/ChangeLog create mode 100644 po/LINGUAS create mode 100644 po/Makefile.in.in create mode 100644 po/POTFILES.in create mode 100644 po/bg.po create mode 100644 po/br.po create mode 100644 po/ca.po create mode 100644 po/cs.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/el.po create mode 100644 po/eo.po create mode 100644 po/es.po create mode 100644 po/eu.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/ga.po create mode 100644 po/gl.po create mode 100644 po/he.po create mode 100644 po/hu.po create mode 100644 po/id.po create mode 100644 po/it.po create mode 100644 po/ja.po create mode 100644 po/ko.po create mode 100644 po/lt.po create mode 100644 po/lv.po create mode 100644 po/nl.po create mode 100644 po/nn.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ru.po create mode 100644 po/sk.po create mode 100644 po/sl.po create mode 100644 po/sr.po create mode 100644 po/sv.po create mode 100644 po/ta.po create mode 100644 po/tr.po create mode 100644 po/uk.po create mode 100644 po/vi.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_TW.po create mode 100644 src/Makefile.am create mode 100644 src/Makefile.in create mode 100644 src/callback.c create mode 100644 src/callback.h create mode 100644 src/dialog.c create mode 100644 src/dialog.h create mode 100644 src/dnd.c create mode 100644 src/dnd.h create mode 100644 src/emacs.c create mode 100644 src/emacs.h create mode 100644 src/encoding.c create mode 100644 src/encoding.h create mode 100644 src/file.c create mode 100644 src/file.h create mode 100644 src/font.c create mode 100644 src/font.h create mode 100644 src/gtkprint.c create mode 100644 src/gtkprint.h create mode 100644 src/gtksourceiter.c create mode 100644 src/gtksourceiter.h create mode 100644 src/hlight.c create mode 100644 src/hlight.h create mode 100644 src/indent.c create mode 100644 src/indent.h create mode 100644 src/l3afpad.h create mode 100644 src/linenum.c create mode 100644 src/linenum.h create mode 100644 src/main.c create mode 100644 src/menu.c create mode 100644 src/menu.h create mode 100644 src/search.c create mode 100644 src/search.h create mode 100644 src/selector.c create mode 100644 src/selector.h create mode 100644 src/undo.c create mode 100644 src/undo.h create mode 100644 src/utils.c create mode 100644 src/utils.h create mode 100644 src/view.c create mode 100644 src/view.h create mode 100644 src/window.c create mode 100644 src/window.h diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..6d608a3 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +Bugs and feature requests please mail to: +Wen-Yen Chuang + +Forked from Leafpad 0.8.18.1, http://tarot.freeshell.org/leafpad/ +Thanks to Tarot Osuji diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d159169 --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..a99f74b --- /dev/null +++ b/ChangeLog @@ -0,0 +1,297 @@ +2011-09-01 + + version 0.8.18.1.1: + * Ported to GTK+ 3.x + * Sync license data with latest files published by FSF + +2010-12-23 + + version 0.8.18.1: + * Fixed saving (Jan-Erik Rediger, Edward Sheldrake). + +2010-12-18 + + version 0.8.18: + * Fixed action when file name contains colon + (John Lindgren, Mikko Viinamaki). + * Fixed memory leak on saving file (Dmitry Artamonow). + * Fixed caseless search bug (Dmitry Artamonow). + * Fixed memory leak on line numbering (Hongwei Xi). + * Fixed truncation on saving file (Alex, brian m. carlson). + * Added translations: eo, gl. + * Updated translations: fi, hu. + +2009-10-27 + + version 0.8.17: + * Fixed find dialog behaviour with GTK+ 2.18 (Radu-Cristian, MoD). + * Fixed SEGV when config file is 0 byte (Erik Suit). + * Added translations: br, nn, sl, sr. + * Updated translations: de, es, fr, id, lv, pl. + +2008-12-18 + + version 0.8.16: + * Removed "Shift+Enter" key-binding (minhsien0330). + * Updated French translation (Marc Veillet). + * Updated Italian translation (Vincenzo Campanella). + +2008-09-03 + + version 0.8.15: + * Named main window with gtk_widget_set_name (Cory Burgett). + * Added Brazilian Portuguese translation (Leslie Harlley Watter). + * Added Indonesian translation (Andhika Padmawan). + * Added Danish translation (Joe Hansen). + * Updated Traditional Chinese translation (Wei-Lun Chao). + * Updated Lithuanian translation (Gintautas Miliauskas). + +2008-02-13 + + version 0.8.14: + * Added Basque translation (Mikel Olasagasti). + * Updated Vietnamese translation (Clytie Siddall). + * Updated Dutch translation (Benno Schulenberg). + * Updated Irish translation (Kevin Scannell). + * Updated Simplified Chinese translation (Li Daobing). + +2007-12-15 + + version 0.8.13: + * Changed configuration file directory to XDG base (Glib >= 2.6) + (thanks Olivier Duclos). + * Fixed drag and DROP behaviour (GTK+ >= 2.10) + (thanks Markus Torstensson). + +2007-09-17 + + version 0.8.12: + * Added Print Preview menu (GTK+ >= 2.10). + * Fixed one-by-one replace behaviour (GTK+ >= 2.10). + * Updated Vietnamese translation (Clytie Siddall). + +2007-07-07 + + version 0.8.11: + * Followed GNOME Goals (AppIcon, ApplicationCategory, PoLinguas). + * Added GTK+ 2.10 Printing feature. + * Added "--jump=LINENUM" command line option. + * Added temporal "Always on Top" feature invoked by Ctrl+T. + * Fixed auto indentation behaviour. + * Updated Simplified Chinese translation (Li Daobing). + +2007-04-08 + + version 0.8.10: + * Added icons for Tango Desktop (Lapo Calamandrei). + * Added Dutch translation (Wouter Van Hemel). + * Added Finnish translation (Eero Tamminen). + * Added Irish translation (Kevin Patrick Scannell). + * Added Korean translation (Seo Sanghyeon). + * Added Ukrainian translation (Youri Bulka). + * Updated Greek translation (Stavros Giannouris). + * Updated Bulgarian translation (Yavor Doganov). + * Updated German translation (Andreas Schweitzer). + * Updated Hungarian translation (Reviczky Adam Janos). + +2006-04-14 + + version 0.8.9: + * Find proper font if no glyph found from current font when printing. + * Fixed word wrapping of wide character string when printing. + +2006-04-07 + + version 0.8.8: + * Changed to use libgnomeprint22 for printing. + * Changed configure.ac to use newer functions automatically. + * Fixed pointer type error under sparc64 (thanks Steven Mestdagh). + +2006-01-20 + + version 0.8.7: + * Implemented text DnD. + +2006-01-03 + + version 0.8.6: + * Fixed "Replace all at once" with no string (thanks Marek). + * Updated Swedish translation (Isak Savo). + +2005-11-12 + + version 0.8.5: + * Fixed curious highlighting behaviour. + * Attached 32*32 icon for some package maintainer. + * Updated Traditional Chinese translation (OLS3). + +2005-09-24 + + version 0.8.4: + * Implemented GOption (thanks Magnus Bergman). + * Added '--tab-width' command line option. + * Inform read-only file by less/greater than sign bracket. + * Improved Korean auto-detection. + * Added Hebrew translation (Yo'av Moshe). + * Added Turkish translation (Kaya Oguz). + * Added Greek translation (Stavros Giannouris). + * Updated Italian translation (Alessio D'Ascanio). + +2005-07-22 + + version 0.8.3: + * Implemented replaced word highlighting. + * Modified line-number margin. + * Fixed space-separeted filename bugs (thanks Andrea Antolini). + * Added Slovak translation (Peter Chabada). + * Updated Polish translation (Michal Wrobel). + +2005-07-02 + + version 0.8.2: + * Improved dependency caused by intltool (thanks Machismo Ulverstein). + * Modified left margin. + * Fixed Macintosh return code bug (thanks young dave). + * Fixed "response" signal of about diaglog (thanks Muthiah Annamalai). + * Updated Bulgarian translation (Yavor Doganov). + * Updated Simplified Chinese translation (Carlos Z.F. Liu). + +2005-05-14 + + version 0.8.1: + * Implemented searched word highlighting. + * Modified Up/Down/PageUp/PageDown behaviour when scroll-outed. + * Fixed space-separated filename bug (thanks Chris Everts). + * Added Bulgarian translation (Yavor Doganov). + * Added Vietnamese translation (Quy NGUYEN DAI). + * Updated Hungarian translation (Reviczky Adam Janos). + * Updated Polish translation (Michal Wrobel). + +2005-04-29 + + version 0.8.0: + * Implemented glib-gettext & intltool. + * Added Print feature (only invoke lpr). + * Added load stdin feature. + * Added command line options. + * Added '--enable-chooser' configure option for GtkFileChooser. + * Modified some small points (DnD, caret, shadow, sensitivity...). + * Changed shortcut keys displayed on menu. + * Fixed replace question dialog behavior (thanks Keith). + * Added Portuguese translation (thanks Alan Kelon). + +2004-12-26 + + version 0.7.9: + * Shrinked codeset menu. + * Fixed destroy response for question dialog (thanks Richard S). + * Removed local "G_BROKEN_FILENAMES" setting. + * Removed scrollbar_spacing manipulation. + * Updated Swedish translation (by Isak Savo). + * Added Lithuanian translation (thanks Lech Jankovski). + * Added Polish translation (thanks Michal Wrobel). + +2004-12-03 + + version 0.7.8: + * Implemented widget sesnsitivity. + * Changed scrollbar_spacing to zero. + * Changed about dialog caption. + * Fixed undo sequency for Ctrl+V overwrite. + * Added Hungarian translation (thanks Reviczky Adam Janos). + * Added Catalan translation (thanks David Rosal). + * Added Tamil translation (thanks Vijay Durairaj). + * Added Italian translation (thanks Alessio D'Ascanio). + +2004-11-21 + + version 0.7.7.1: + * Fixed undo function for the case start from '%' character. + +2004-11-19 + + version 0.7.7: + * Improved undo behavior (by word). + * Fixed multi-line unindent properly. + * Updated German translation (thanks Ruediger Arp). + * Added Czech translation (thanks Petr Vyslouzil). + +2004-11-12 + + version 0.7.6: + * Improved command line recognition of filename (uri & space-separated). + * Added MimeType entry to l3afpad.desktop (suggested by Carlos). + * Assigned Ctrl+G & Shift+Ctrl+G to Find Next/Previous. + * Added statements of copying permission to all source codes. + * Added French translation (thanks Luc Pionchon). + * Added Spanish translation (thanks Lucas Vieites). + +2004-10-29 + + version 0.7.5: + * Added l3afpad.desktop file. + * Fixed DnD with space-separated filename (thanks Eugenia). + * Added Russian translation (thanks Artem Vakhitov). + * Added Swedish translation (thanks Isak Savo). + * Added German translation (thanks Sebastian Stach). + +2004-10-22 + + version 0.7.4: + * Changed application icon to HIG based. + * Changed icon directory to "GNOME 2 developer's guide" based. + * Improved drag and drop (xffm ready). + * Improved Ctrl+W interrupt. + * Fixed undo manner for overwrite mode. + * Fixed scrolling manner for paste. + * Fixed auto-indent manner when selection bound exists. + +2004-10-17 + + version 0.7.3.1: + * Fixed seg-fault caused by search_string (thanks UTSUMI Hirosi). + +2004-10-15 + + version 0.7.3: + * Added drag and drop func (still single file only). + * Fixed initial value of search_string. + * Fixed cancel button action of font dialog. + * Fixed capital W input using with old GTK+. + * Added Traditional Chinese translation (thanks OLS3). + +2004-10-01 + + version 0.7.2: + * Added "display line numbers" func. + * Added "toggle tab width" func (Ctrl+Tab). + * Changed "/File/New" action (create new window). + * Changed description to "simple text editor". + * Added Simplified Chinese translation (thanks Carlos Z.F. Liu). + +2004-09-24 + + version 0.7.1: + * Added auto-indent func. + * Added multi-line indent func. + * Bracket title if the file not exist. + * Changed error message at codeset conversion error. + +2004-09-17 + + version 0.7.0: + * Started recording ChangeLog. + * Added undo/redo func (still not word level). + * Added printing "modified" sign func. + * Removed app name from title. + * Improved auto-detection for windows-125x. + +2004-xx-xx + + version 0.6.x: + * Implemented gettext. + * Implemented autoconf/automake. + * Added search/replace func. + version 0.5.x: + * Added charset handling func. + diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..7d1c323 --- /dev/null +++ b/INSTALL @@ -0,0 +1,365 @@ +Installation Instructions +************************* + +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008, 2009 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + 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, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + 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 you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' 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. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +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 can use 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 `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer 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. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + 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'. + + 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. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + 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 machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +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. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..e432322 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,4 @@ +SUBDIRS = src data po + +EXTRA_DIST = \ + intltool-extract.in intltool-merge.in intltool-update.in diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..5be418a --- /dev/null +++ b/Makefile.in @@ -0,0 +1,707 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + compile config.guess config.sub depcomp install-sh missing \ + mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +GTK_CFLAGS = @GTK_CFLAGS@ +GTK_LIBS = @GTK_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = src data po +EXTRA_DIST = \ + intltool-extract.in intltool-merge.in intltool-update.in + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @$(am__cd) '$(distuninstallcheck_dir)' \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ + ctags-recursive install-am install-strip tags-recursive + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \ + distclean distclean-generic distclean-hdr distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..e1e53aa --- /dev/null +++ b/README @@ -0,0 +1,68 @@ +L3afpad - GTK+ based simple text editor + + +Description +=========== + +L3afpad is a simple GTK+ text editor that emphasizes simplicity. As development +focuses on keeping weight down to a minimum, only the most essential features +are implemented in the editor. L3afpad is simple to use, is easily compiled, +requires few libraries, and starts up quickly. + +This program is released under the GNU General Public License (GPL) version 2, +see the file 'COPYING' for more information. + + +Features +======== + + * Codeset option (Some OpenI18N registered) + * Auto codeset detection (UTF-8 and some codesets) + * Unlimitted Undo/Redo + * Auto/Multi-line Indent + * Display line numbers + * Drag and Drop + * Printing + + +Installation +============ + +L3afpad requires GTK+-3.x.x libraries. + +Simple install procedure: + + $ tar xzvf l3afpad-x.x.x.tar.gz # unpack the sources + $ cd l3afpad-x.x.x # change to the toplevel directory + $ ./configure # run the `configure' script + $ make # build L3afpad + [ Become root if necessary ] + # make install-strip # install L3afpad + +See the file 'INSTALL' for more detailed information. + + +Keybindings +=========== +Ctrl-N New +Ctrl-O Open +Ctrl-S Save +Shift-Ctrl-S Save As +Ctrl-W Close +Ctrl-P Print +Ctrl-Q Quit +Ctrl-Z Undo +Shift-Ctrl-Z (Ctrl-Y) Redo +Ctrl-X Cut +Ctrl-C Copy +Ctrl-V Paste +Ctrl-A Select All +Ctrl-F Find +Ctrl-G (F3) Find Next +Shift-Ctrl-G (Shift-F3) Find Previous +Ctrl-H (Ctrl-R) Replace +Ctrl-J Jump To +Ctrl-T Always on Top +Ctrl-Tab toggle tab width +Tab with selection bound multi-line indent +Shift-Tab with selection bound multi-line unindent diff --git a/aclocal.m4 b/aclocal.m4 new file mode 100644 index 0000000..be51b7c --- /dev/null +++ b/aclocal.m4 @@ -0,0 +1,1818 @@ +# generated automatically by aclocal 1.11.1 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, +[m4_warning([this file was generated for autoconf 2.68. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically `autoreconf'.])]) + +# Copyright (C) 1995-2002 Free Software Foundation, Inc. +# Copyright (C) 2001-2003,2004 Red Hat, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor , 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor , 12/11/2002 +# +# Added better handling of ALL_LINGUAS from GNU gettext version +# written by Bruno Haible, Owen Taylor 5/30/3002 +# +# Modified to require ngettext +# Matthias Clasen 08/06/2004 +# +# We need this here as well, since someone might use autoconf-2.5x +# to configure GLib then an older version to configure a package +# using AM_GLIB_GNU_GETTEXT +AC_PREREQ(2.53) + +dnl +dnl We go to great lengths to make sure that aclocal won't +dnl try to pull in the installed version of these macros +dnl when running aclocal in the glib directory. +dnl +m4_copy([AC_DEFUN],[glib_DEFUN]) +m4_copy([AC_REQUIRE],[glib_REQUIRE]) +dnl +dnl At the end, if we're not within glib, we'll define the public +dnl definitions in terms of our private definitions. +dnl + +# GLIB_LC_MESSAGES +#-------------------- +glib_DEFUN([GLIB_LC_MESSAGES], + [AC_CHECK_HEADERS([locale.h]) + if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [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 file defines LC_MESSAGES.]) + fi + fi]) + +# GLIB_PATH_PROG_WITH_TEST +#---------------------------- +dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], +[# 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 ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) + +# GLIB_WITH_NLS +#----------------- +glib_DEFUN([GLIB_WITH_NLS], + dnl NLS is obligatory + [USE_NLS=yes + AC_SUBST(USE_NLS) + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + AC_CHECK_HEADER(libintl.h, + [gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, + [AC_TRY_LINK([ +#include +], + [return !ngettext ("","", 1)], + gt_cv_func_ngettext_libc=yes, + gt_cv_func_ngettext_libc=no) + ]) + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, + [AC_TRY_LINK([ +#include +], + [return !dgettext ("","")], + gt_cv_func_dgettext_libc=yes, + gt_cv_func_dgettext_libc=no) + ]) + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CHECK_FUNCS(bind_textdomain_codeset) + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dgettext, + gt_cv_func_dgettext_libintl=yes)])]) + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + AC_MSG_CHECKING([if -liconv is needed to use gettext]) + AC_MSG_RESULT([]) + AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dcgettext, + [gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv], + :,-liconv)], + :,-liconv) + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + AC_CHECK_FUNCS(bind_textdomain_codeset) + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + AC_DEFINE(HAVE_GETTEXT,1, + [Define if the GNU gettext() function is already present or preinstalled.]) + GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + AC_CHECK_FUNCS(dcgettext) + MSGFMT_OPTS= + AC_MSG_CHECKING([if msgfmt accepts -c]) + GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + AC_SUBST(MSGFMT_OPTS) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [CATOBJEXT=.gmo + DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share and + dnl and CATOBJEXT=.gmo in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [CATOBJEXT=.gmo + DATADIRNAME=share], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac]) + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + ]) + + if test "$gt_cv_have_gettext" = "yes" ; then + AC_DEFINE(ENABLE_NLS, 1, + [always defined to indicate that i18n is enabled]) + fi + + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is not 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 program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + AC_OUTPUT_COMMANDS( + [case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac]) + + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.ac. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + dnl Make all variables we use known to autoconf. + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLLIBS) + AC_SUBST(PO_IN_DATADIR_TRUE) + AC_SUBST(PO_IN_DATADIR_FALSE) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) + +# AM_GLIB_GNU_GETTEXT +# ------------------- +# Do checks necessary for use of gettext. If a suitable implementation +# of gettext is found in either in libintl or in the C library, +# it will set INTLLIBS to the libraries needed for use of gettext +# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable +# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() +# on various variables needed by the Makefile.in.in installed by +# glib-gettextize. +dnl +glib_DEFUN([GLIB_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + + GLIB_LC_MESSAGES + GLIB_WITH_NLS + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + 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 + + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but ($top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) + + dnl Generate list of files to be processed by xgettext which will + dnl be included in po/Makefile. + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + ]) + +# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) +# ------------------------------- +# Define VARIABLE to the location where catalog files will +# be installed by po/Makefile. +glib_DEFUN([GLIB_DEFINE_LOCALEDIR], +[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl +glib_save_prefix="$prefix" +glib_save_exec_prefix="$exec_prefix" +glib_save_datarootdir="$datarootdir" +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +datarootdir=`eval echo "${datarootdir}"` +if test "x$CATOBJEXT" = "x.mo" ; then + localedir=`eval echo "${libdir}/locale"` +else + localedir=`eval echo "${datadir}/locale"` +fi +prefix="$glib_save_prefix" +exec_prefix="$glib_save_exec_prefix" +datarootdir="$glib_save_datarootdir" +AC_DEFINE_UNQUOTED($1, "$localedir", + [Define the location where the catalogs will be installed]) +]) + +dnl +dnl Now the definitions that aclocal will find +dnl +ifdef(glib_configure_ac,[],[ +AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) +AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) +])dnl + +# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) +# +# Create a temporary file with TEST-FILE as its contents and pass the +# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with +# 0 and perform ACTION-IF-FAIL for any other exit status. +AC_DEFUN([GLIB_RUN_PROG], +[cat >conftest.foo <<_ACEOF +$2 +_ACEOF +if AC_RUN_LOG([$1 conftest.foo]); then + m4_ifval([$3], [$3], [:]) +m4_ifvaln([$4], [else $4])dnl +echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD +sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD +fi]) + + + +dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) +# serial 40 IT_PROG_INTLTOOL +AC_DEFUN([IT_PROG_INTLTOOL], [ +AC_PREREQ([2.50])dnl +AC_REQUIRE([AM_NLS])dnl + +case "$am__api_version" in + 1.[01234]) + AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) + ;; + *) + ;; +esac + +if test -n "$1"; then + AC_MSG_CHECKING([for intltool >= $1]) + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + ] + AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) +fi + +AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) +AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) +AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + +_IT_SUBST(INTLTOOL_DESKTOP_RULE) +_IT_SUBST(INTLTOOL_DIRECTORY_RULE) +_IT_SUBST(INTLTOOL_KEYS_RULE) +_IT_SUBST(INTLTOOL_PROP_RULE) +_IT_SUBST(INTLTOOL_OAF_RULE) +_IT_SUBST(INTLTOOL_PONG_RULE) +_IT_SUBST(INTLTOOL_SERVER_RULE) +_IT_SUBST(INTLTOOL_SHEET_RULE) +_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) +_IT_SUBST(INTLTOOL_UI_RULE) +_IT_SUBST(INTLTOOL_XAM_RULE) +_IT_SUBST(INTLTOOL_KBD_RULE) +_IT_SUBST(INTLTOOL_XML_RULE) +_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) +_IT_SUBST(INTLTOOL_CAVES_RULE) +_IT_SUBST(INTLTOOL_SCHEMAS_RULE) +_IT_SUBST(INTLTOOL_THEME_RULE) +_IT_SUBST(INTLTOOL_SERVICE_RULE) +_IT_SUBST(INTLTOOL_POLICY_RULE) + +# Check the gettext tools to make sure they are GNU +AC_PATH_PROG(XGETTEXT, xgettext) +AC_PATH_PROG(MSGMERGE, msgmerge) +AC_PATH_PROG(MSGFMT, msgfmt) +AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi + +AC_PATH_PROG(INTLTOOL_PERL, perl) +if test -z "$INTLTOOL_PERL"; then + AC_MSG_ERROR([perl not found]) +fi +AC_MSG_CHECKING([for perl >= 5.8.1]) +$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 +if test $? -ne 0; then + AC_MSG_ERROR([perl 5.8.1 is required for intltool]) +else + IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" + AC_MSG_RESULT([$IT_PERL_VERSION]) +fi +if test "x$2" != "xno-xml"; then + AC_MSG_CHECKING([for XML::Parser]) + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + AC_MSG_RESULT([ok]) + else + AC_MSG_ERROR([XML::Parser perl module is required for intltool]) + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile +AC_SUBST(ALL_LINGUAS) + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[]], + [[extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr]])], + [DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share + dnl in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [DATADIRNAME=share], [DATADIRNAME=lib]) + ;; + *) + [DATADIRNAME=lib] + ;; + esac]) +fi +AC_SUBST(DATADIRNAME) + +IT_PO_SUBDIR([po]) + +]) + + +# IT_PO_SUBDIR(DIRNAME) +# --------------------- +# All po subdirs have to be declared with this macro; the subdir "po" is +# declared by IT_PROG_INTLTOOL. +# +AC_DEFUN([IT_PO_SUBDIR], +[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. +dnl +dnl The following CONFIG_COMMANDS should be executed at the very end +dnl of config.status. +AC_CONFIG_COMMANDS_PRE([ + AC_CONFIG_COMMANDS([$1/stamp-it], [ + if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then + AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) + fi + rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" + >"$1/stamp-it.tmp" + [sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" + ] + [sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r $1/POTFILES + } + ' "$1/Makefile.in" >"$1/Makefile"] + rm -f "$1/Makefile.tmp" + mv "$1/stamp-it.tmp" "$1/stamp-it" + ]) +])dnl +]) + +# _IT_SUBST(VARIABLE) +# ------------------- +# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +# +AC_DEFUN([_IT_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) + +# deprecated macros +AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) +# A hint is needed for aclocal from Automake <= 1.9.4: +# AC_DEFUN([AC_PROG_INTLTOOL], ...) + + +# nls.m4 serial 5 (gettext-0.18) +dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, +dnl Inc. +dnl This file 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 +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. + +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ([2.50]) + +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE([nls], + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT([$USE_NLS]) + AC_SUBST([USE_NLS]) +]) + +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + m4_default([$4], [AC_MSG_ERROR( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])# PKG_CHECK_MODULES + +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.11' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.11.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) + +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.11.1])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 9 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +m4_define([_AM_COND_VALUE_$1], [$2])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 10 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + am__universal=false + m4_case([$1], [CC], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac], + [CXX], + [case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac]) + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 5 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[{ + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008, 2009 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 16 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.62])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl +]) +_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl +dnl The `parallel-tests' driver may need to know about EXEEXT, so add the +dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro +dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. +AC_CONFIG_COMMANDS_PRE(dnl +[m4_provide_if([_AM_COMPILER_EXEEXT], + [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl +]) + +dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not +dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further +dnl mangled by Autoconf and run in a shell conditional statement. +m4_define([_AC_COMPILER_EXEEXT], +m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 6 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 6 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac +]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 5 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) + AC_MSG_ERROR([unsafe absolute working directory name]);; +esac +case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) + AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Copyright (C) 2006, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) + +# AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Public sister of _AM_SUBST_NOTMAKE. +AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/autogen.sh b/autogen.sh new file mode 100644 index 0000000..0796e01 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,5 @@ +#!/bin/sh +aclocal +autoheader +automake --gnu --add-missing --copy +autoconf diff --git a/compile b/compile new file mode 100644 index 0000000..1b1d232 --- /dev/null +++ b/compile @@ -0,0 +1,142 @@ +#! /bin/sh +# Wrapper for compilers which do not understand `-c -o'. + +scriptversion=2005-05-14.22 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand `-c -o'. +Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file `INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; +esac + +ofile= +cfile= +eat= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we strip `-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/config.guess b/config.guess new file mode 100644 index 0000000..e3a2116 --- /dev/null +++ b/config.guess @@ -0,0 +1,1533 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. + +timestamp='2009-06-10' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm:riscos:*:*|arm:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[456]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd | genuineintel) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit ;; + crisv32:Linux:*:*) + echo crisv32-axis-linux-gnu + exit ;; + frv:Linux:*:*) + echo frv-unknown-linux-gnu + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + ;; + or32:Linux:*:*) + echo or32-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" + test x"${LIBC}" != x && { + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit + } + test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NSE-?:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix\n"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + c34*) + echo c34-convex-bsd + exit ;; + c38*) + echo c38-convex-bsd + exit ;; + c4*) + echo c4-convex-bsd + exit ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..6009783 --- /dev/null +++ b/config.h.in @@ -0,0 +1,85 @@ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define if Emacs key theme is enabled. */ +#undef ENABLE_EMACS + +/* always defined to indicate that i18n is enabled */ +#undef ENABLE_NLS + +/* Define if print feature is enabled. */ +#undef ENABLE_PRINT + +/* Define to 1 if you have the `bind_textdomain_codeset' function. */ +#undef HAVE_BIND_TEXTDOMAIN_CODESET + +/* Define to 1 if you have the `dcgettext' function. */ +#undef HAVE_DCGETTEXT + +/* Define if the GNU gettext() function is already present or preinstalled. */ +#undef HAVE_GETTEXT + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define if your file defines LC_MESSAGES. */ +#undef HAVE_LC_MESSAGES + +/* Define to 1 if you have the header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define the location where the catalogs will be installed */ +#undef LOCALEDIR + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + +/* 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 home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION diff --git a/config.sub b/config.sub new file mode 100644 index 0000000..eb0389a --- /dev/null +++ b/config.sub @@ -0,0 +1,1693 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. + +timestamp='2009-06-11' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA +# 02110-1301, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | bfin \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nios | nios2 \ + | ns16k | ns32k \ + | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nios-* | nios2-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -kopensolaris* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/configure b/configure new file mode 100755 index 0000000..0562bfb --- /dev/null +++ b/configure @@ -0,0 +1,7885 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.68 for L3afpad 0.8.18.1.1. +# +# Report bugs to . +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and caleb@calno.com +$0: about your system, including any error possibly output +$0: before this message. Then install a modern shell, or +$0: manually run the script under such a shell if you do +$0: have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='L3afpad' +PACKAGE_TARNAME='l3afpad' +PACKAGE_VERSION='0.8.18.1.1' +PACKAGE_STRING='L3afpad 0.8.18.1.1' +PACKAGE_BUGREPORT='caleb@calno.com' +PACKAGE_URL='' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +MKINSTALLDIRS +POSUB +POFILES +PO_IN_DATADIR_FALSE +PO_IN_DATADIR_TRUE +INTLLIBS +INSTOBJEXT +GMOFILES +CATOBJEXT +CATALOGS +MSGFMT_OPTS +EGREP +GREP +CPP +GETTEXT_PACKAGE +GTK_LIBS +GTK_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG +DATADIRNAME +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +ALL_LINGUAS +INTLTOOL_PERL +GMSGFMT +MSGFMT +MSGMERGE +XGETTEXT +INTLTOOL_POLICY_RULE +INTLTOOL_SERVICE_RULE +INTLTOOL_THEME_RULE +INTLTOOL_SCHEMAS_RULE +INTLTOOL_CAVES_RULE +INTLTOOL_XML_NOMERGE_RULE +INTLTOOL_XML_RULE +INTLTOOL_KBD_RULE +INTLTOOL_XAM_RULE +INTLTOOL_UI_RULE +INTLTOOL_SOUNDLIST_RULE +INTLTOOL_SHEET_RULE +INTLTOOL_SERVER_RULE +INTLTOOL_PONG_RULE +INTLTOOL_OAF_RULE +INTLTOOL_PROP_RULE +INTLTOOL_KEYS_RULE +INTLTOOL_DIRECTORY_RULE +INTLTOOL_DESKTOP_RULE +INTLTOOL_EXTRACT +INTLTOOL_MERGE +INTLTOOL_UPDATE +USE_NLS +am__untar +am__tar +AMTAR +am__leading_dot +SET_MAKE +AWK +mkdir_p +MKDIR_P +INSTALL_STRIP_PROGRAM +STRIP +install_sh +MAKEINFO +AUTOHEADER +AUTOMAKE +AUTOCONF +ACLOCAL +VERSION +PACKAGE +CYGPATH_W +am__isrc +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_nls +enable_dependency_tracking +enable_print +enable_emacs +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR +GTK_CFLAGS +GTK_LIBS +CPP' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures L3afpad 0.8.18.1.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/l3afpad] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of L3afpad 0.8.18.1.1:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-nls do not use Native Language Support + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + --disable-print force to disable print feature + --enable-emacs implement Emacs key theme (experimental) + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path + GTK_CFLAGS C compiler flags for GTK, overriding pkg-config + GTK_LIBS linker flags for GTK, overriding pkg-config + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +L3afpad configure 0.8.18.1.1 +generated by GNU Autoconf 2.68 + +Copyright (C) 2010 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_func + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ------------------------------ ## +## Report this to caleb@calno.com ## +## ------------------------------ ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by L3afpad $as_me 0.8.18.1.1, which was +generated by GNU Autoconf 2.68. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +am__api_version='1.11' + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# Just in case +sleep 1 +echo timestamp > conftest.file +# Reject unsafe characters in $srcdir or the absolute working directory +# name. Accept space and tab only in the latter. +am_lf=' +' +case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; +esac + +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t "$srcdir/configure" conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + as_fn_error $? "ls -t appears to fail. Make sure there is not a broken +alias in your environment" "$LINENO" 5 + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +test "$program_prefix" != NONE && + program_transform_name="s&^&$program_prefix&;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. +# By default was `s,x,x', remove it if useless. +ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' +program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +if test x"${MISSING+set}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; + *) + MISSING="\${SHELL} $am_aux_dir/missing" ;; + esac +fi +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 +$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if test x"${install_sh}" != xset; then + case $am_aux_dir in + *\ * | *\ *) + install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; + *) + install_sh="\${SHELL} $am_aux_dir/install-sh" + esac +fi + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done + done +IFS=$as_save_IFS + +fi + + test -d ./--version && rmdir ./--version + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } +set x ${MAKE-make} +ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh +all: + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF +# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make +fi +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + fi +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE=$PACKAGE_TARNAME + VERSION=$PACKAGE_VERSION + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + +ac_config_headers="$ac_config_headers config.h" + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + +DEPDIR="${am__leading_dot}deps" + +ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo this is the am__doit target +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 +$as_echo_n "checking for style of include used by $am_make... " >&6; } +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# Ignore all kinds of additional output from `make'. +case `$am_make -s -f confmf 2> /dev/null` in #( +*the\ am__doit\ target*) + am__include=include + am__quote= + _am_result=GNU + ;; +esac +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 +$as_echo "$_am_result" >&6; } +rm -f confinc confmf + +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi + +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + + + + +case "$am__api_version" in + 1.01234) + as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 + ;; + *) + ;; +esac + +if test -n ""; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= " >&5 +$as_echo_n "checking for intltool >= ... " >&6; } + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 +$as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + as_fn_error $? "Your intltool is too old. You need intltool or later." "$LINENO" 5 +fi + +# Extract the first word of "intltool-update", so it can be a program name with args. +set dummy intltool-update; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $INTLTOOL_UPDATE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE +if test -n "$INTLTOOL_UPDATE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 +$as_echo "$INTLTOOL_UPDATE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "intltool-merge", so it can be a program name with args. +set dummy intltool-merge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $INTLTOOL_MERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE +if test -n "$INTLTOOL_MERGE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 +$as_echo "$INTLTOOL_MERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "intltool-extract", so it can be a program name with args. +set dummy intltool-extract; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $INTLTOOL_EXTRACT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT +if test -n "$INTLTOOL_EXTRACT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 +$as_echo "$INTLTOOL_EXTRACT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Check the gettext tools to make sure they are GNU +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $XGETTEXT in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +XGETTEXT=$ac_cv_path_XGETTEXT +if test -n "$XGETTEXT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGMERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MSGMERGE in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +MSGMERGE=$ac_cv_path_MSGMERGE +if test -n "$MSGMERGE"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $MSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +MSGFMT=$ac_cv_path_MSGFMT +if test -n "$MSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +# Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 +fi + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_INTLTOOL_PERL+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $INTLTOOL_PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL +if test -n "$INTLTOOL_PERL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 +$as_echo "$INTLTOOL_PERL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test -z "$INTLTOOL_PERL"; then + as_fn_error $? "perl not found" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 +$as_echo_n "checking for perl >= 5.8.1... " >&6; } +$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 +if test $? -ne 0; then + as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 +else + IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 +$as_echo "$IT_PERL_VERSION" >&6; } +fi +if test "xno-xml" != "xno-xml"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 +$as_echo_n "checking for XML::Parser... " >&6; } + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + else + as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile + + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + DATADIRNAME=share +else + case $host in + *-*-solaris*) + ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" +if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : + DATADIRNAME=share +else + DATADIRNAME=lib +fi + + ;; + *) + DATADIRNAME=lib + ;; + esac +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + + + + + # require >= 0.31 for autoreconf +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + am__universal=false + case " $depcc " in #( + *\ -arch\ *\ -arch\ *) am__universal=true ;; + esac + + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. Also, some Intel + # versions had trouble with output in subdirs + am__obj=sub/conftest.${OBJEXT-o} + am__minus_obj="-o $am__obj" + case $depmode in + gcc) + # This depmode causes a compiler race in universal mode. + test "$am__universal" = false || continue + ;; + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + msvisualcpp | msvcmsys) + # This compiler won't grok `-c -o', but also, the minuso test has + # not run yet. These depmodes are late enough in the game, and + # so weak that their functioning should not be impacted. + am__obj=conftest.${OBJEXT-o} + am__minus_obj= + ;; + none) break ;; + esac + if depmode=$depmode \ + source=sub/conftest.c object=$am__obj \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep $am__obj sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +if test "$GCC" = "yes"; then + CFLAGS="$CFLAGS -Wall -Wextra" +fi +if test "x$CC" != xcc; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + + + + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi +fi + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 +$as_echo_n "checking for GTK... " >&6; } + +if test -n "$GTK_CFLAGS"; then + pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$GTK_LIBS"; then + pkg_cv_GTK_LIBS="$GTK_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0" 2>&1` + else + GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$GTK_PKG_ERRORS" >&5 + + as_fn_error $? "Package requirements (gtk+-3.0) were not met: + +$GTK_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables GTK_CFLAGS +and GTK_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details." "$LINENO" 5 +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables GTK_CFLAGS +and GTK_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details" "$LINENO" 5; } +else + GTK_CFLAGS=$pkg_cv_GTK_CFLAGS + GTK_LIBS=$pkg_cv_GTK_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + +fi + +# Check whether --enable-print was given. +if test "${enable_print+set}" = set; then : + enableval=$enable_print; +fi + +if test "$enable_print" != "no"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= 3.0.10\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= 3.0.10") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + +$as_echo "#define ENABLE_PRINT 1" >>confdefs.h + +fi +fi + +# Check whether --enable-emacs was given. +if test "${enable_emacs+set}" = set; then : + enableval=$enable_emacs; +$as_echo "#define ENABLE_EMACS 1" >>confdefs.h + + +fi + + +GETTEXT_PACKAGE="$PACKAGE" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + for ac_header in locale.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" +if test "x$ac_cv_header_locale_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LOCALE_H 1 +_ACEOF + +fi + +done + + if test $ac_cv_header_locale_h = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 +$as_echo_n "checking for LC_MESSAGES... " >&6; } +if ${am_cv_val_LC_MESSAGES+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +return LC_MESSAGES + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_val_LC_MESSAGES=yes +else + am_cv_val_LC_MESSAGES=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5 +$as_echo "$am_cv_val_LC_MESSAGES" >&6; } + if test $am_cv_val_LC_MESSAGES = yes; then + +$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h + + fi + fi + USE_NLS=yes + + + gt_cv_have_gettext=no + + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= + + ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" +if test "x$ac_cv_header_libintl_h" = xyes; then : + gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" + + # + # First check in libc + # + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5 +$as_echo_n "checking for ngettext in libc... " >&6; } +if ${gt_cv_func_ngettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +int +main () +{ +return !ngettext ("","", 1) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_ngettext_libc=yes +else + gt_cv_func_ngettext_libc=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5 +$as_echo "$gt_cv_func_ngettext_libc" >&6; } + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5 +$as_echo_n "checking for dgettext in libc... " >&6; } +if ${gt_cv_func_dgettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include + +int +main () +{ +return !dgettext ("","") + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_dgettext_libc=yes +else + gt_cv_func_dgettext_libc=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5 +$as_echo "$gt_cv_func_dgettext_libc" >&6; } + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + for ac_func in bind_textdomain_codeset +do : + ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" +if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 +_ACEOF + +fi +done + + fi + + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 +$as_echo_n "checking for bindtextdomain in -lintl... " >&6; } +if ${ac_cv_lib_intl_bindtextdomain+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char bindtextdomain (); +int +main () +{ +return bindtextdomain (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_intl_bindtextdomain=yes +else + ac_cv_lib_intl_bindtextdomain=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 +$as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; } +if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 +$as_echo_n "checking for ngettext in -lintl... " >&6; } +if ${ac_cv_lib_intl_ngettext+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_intl_ngettext=yes +else + ac_cv_lib_intl_ngettext=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 +$as_echo "$ac_cv_lib_intl_ngettext" >&6; } +if test "x$ac_cv_lib_intl_ngettext" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 +$as_echo_n "checking for dgettext in -lintl... " >&6; } +if ${ac_cv_lib_intl_dgettext+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dgettext (); +int +main () +{ +return dgettext (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_intl_dgettext=yes +else + ac_cv_lib_intl_dgettext=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 +$as_echo "$ac_cv_lib_intl_dgettext" >&6; } +if test "x$ac_cv_lib_intl_dgettext" = xyes; then : + gt_cv_func_dgettext_libintl=yes +fi + +fi + +fi + + + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5 +$as_echo_n "checking if -liconv is needed to use gettext... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 +$as_echo "" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 +$as_echo_n "checking for ngettext in -lintl... " >&6; } +if ${ac_cv_lib_intl_ngettext+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ngettext (); +int +main () +{ +return ngettext (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_intl_ngettext=yes +else + ac_cv_lib_intl_ngettext=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 +$as_echo "$ac_cv_lib_intl_ngettext" >&6; } +if test "x$ac_cv_lib_intl_ngettext" = xyes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5 +$as_echo_n "checking for dcgettext in -lintl... " >&6; } +if ${ac_cv_lib_intl_dcgettext+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl -liconv $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dcgettext (); +int +main () +{ +return dcgettext (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_intl_dcgettext=yes +else + ac_cv_lib_intl_dcgettext=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5 +$as_echo "$ac_cv_lib_intl_dcgettext" >&6; } +if test "x$ac_cv_lib_intl_dcgettext" = xyes; then : + gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv +else + : +fi + +else + : +fi + + fi + + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + for ac_func in bind_textdomain_codeset +do : + ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" +if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_BIND_TEXTDOMAIN_CODESET 1 +_ACEOF + +fi +done + + LIBS="$glib_save_LIBS" + + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi + + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h + + # Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + /*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then + ac_cv_path_MSGFMT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + for ac_func in dcgettext +do : + ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext" +if test "x$ac_cv_func_dcgettext" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DCGETTEXT 1 +_ACEOF + +fi +done + + MSGFMT_OPTS= + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5 +$as_echo_n "checking if msgfmt accepts -c... " >&6; } + cat >conftest.foo <<_ACEOF + +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" + +_ACEOF +if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5 + ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +echo "$as_me: failed input was:" >&5 +sed 's/^/| /' conftest.foo >&5 +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GMSGFMT in + [\\/]* | ?:[\\/]*) + ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + # Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + /*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + CATOBJEXT=.gmo + DATADIRNAME=share +else + case $host in + *-*-solaris*) + ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" +if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : + CATOBJEXT=.gmo + DATADIRNAME=share +else + CATOBJEXT=.mo + DATADIRNAME=lib +fi + + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + +fi + + + + if test "$gt_cv_have_gettext" = "yes" ; then + +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + + fi + + if test "$XGETTEXT" != ":"; then + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 +$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } + XGETTEXT=":" + fi + fi + + # We need to process the po/ directory. + POSUB=po + + ac_config_commands="$ac_config_commands default-1" + + + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done + + + + + + + + + + + + + + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5 +$as_echo_n "checking for catalogs to be installed... " >&6; } + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5 +$as_echo "$LINGUAS" >&6; } + fi + + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi + + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + + + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + +glib_save_prefix="$prefix" +glib_save_exec_prefix="$exec_prefix" +glib_save_datarootdir="$datarootdir" +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +datarootdir=`eval echo "${datarootdir}"` +if test "x$CATOBJEXT" = "x.mo" ; then + localedir=`eval echo "${libdir}/locale"` +else + localedir=`eval echo "${datadir}/locale"` +fi +prefix="$glib_save_prefix" +exec_prefix="$glib_save_exec_prefix" +datarootdir="$glib_save_datarootdir" + +cat >>confdefs.h <<_ACEOF +#define LOCALEDIR "$localedir" +_ACEOF + + + +ac_config_files="$ac_config_files Makefile src/Makefile data/Makefile po/Makefile.in" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + if test -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + + ac_config_commands="$ac_config_commands po/stamp-it" + + +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by L3afpad $as_me 0.8.18.1.1, which was +generated by GNU Autoconf 2.68. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +L3afpad config.status 0.8.18.1.1 +configured by $0, generated by GNU Autoconf 2.68, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2010 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# +# INIT-COMMANDS +# +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; + + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac + + + case $ac_file$ac_mode in + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir=$dirpart/$fdir; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac ;; + "po/stamp-it":C) + if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then + as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 + fi + rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" + >"po/stamp-it.tmp" + sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" + + sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r po/POTFILES + } + ' "po/Makefile.in" >"po/Makefile" + rm -f "po/Makefile.tmp" + mv "po/stamp-it.tmp" "po/stamp-it" + ;; + + esac +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..4052be2 --- /dev/null +++ b/configure.ac @@ -0,0 +1,36 @@ +AC_INIT(L3afpad, 0.8.18.1.1, caleb@calno.com) +AM_INIT_AUTOMAKE($PACKAGE_TARNAME, $PACKAGE_VERSION) +AM_CONFIG_HEADER(config.h) + +AC_PROG_INTLTOOL(, no-xml) # require >= 0.31 for autoreconf +AC_PROG_CC +if test "$GCC" = "yes"; then + CFLAGS="$CFLAGS -Wall -Wextra" +fi +AM_PROG_CC_C_O + +PKG_CHECK_MODULES(GTK, gtk+-3.0) + +AC_ARG_ENABLE(print, + AC_HELP_STRING([--disable-print], [force to disable print feature])) +if test "$enable_print" != "no"; then + PKG_CHECK_EXISTS(gtk+-3.0 >= 3.0.10, + AC_DEFINE(ENABLE_PRINT, 1, [Define if print feature is enabled.])) +fi + +AC_ARG_ENABLE(emacs, + AC_HELP_STRING([--enable-emacs], [implement Emacs key theme (experimental)]), + AC_DEFINE(ENABLE_EMACS, 1, [Define if Emacs key theme is enabled.]) +) + +GETTEXT_PACKAGE="$PACKAGE" +AC_SUBST(GETTEXT_PACKAGE) +AM_GLIB_GNU_GETTEXT +AM_GLIB_DEFINE_LOCALEDIR(LOCALEDIR) + +AC_OUTPUT([ + Makefile + src/Makefile + data/Makefile + po/Makefile.in +]) diff --git a/data/Makefile.am b/data/Makefile.am new file mode 100644 index 0000000..909e3cf --- /dev/null +++ b/data/Makefile.am @@ -0,0 +1,11 @@ +desktopdir = $(datadir)/applications +desktop_in_files = l3afpad.desktop.in +desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) +@INTLTOOL_DESKTOP_RULE@ + +pixmapsdir = $(datadir)/pixmaps +pixmaps_DATA = l3afpad.png l3afpad.xpm + +EXTRA_DIST = \ + $(desktop_DATA) $(desktop_in_files) \ + $(pixmaps_DATA) diff --git a/data/Makefile.in b/data/Makefile.in new file mode 100644 index 0000000..bcbd3dd --- /dev/null +++ b/data/Makefile.in @@ -0,0 +1,420 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = data +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pixmapsdir)" +DATA = $(desktop_DATA) $(pixmaps_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +GTK_CFLAGS = @GTK_CFLAGS@ +GTK_LIBS = @GTK_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +desktopdir = $(datadir)/applications +desktop_in_files = l3afpad.desktop.in +desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) +pixmapsdir = $(datadir)/pixmaps +pixmaps_DATA = l3afpad.png l3afpad.xpm +EXTRA_DIST = \ + $(desktop_DATA) $(desktop_in_files) \ + $(pixmaps_DATA) + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu data/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-desktopDATA: $(desktop_DATA) + @$(NORMAL_INSTALL) + test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)" + @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ + done + +uninstall-desktopDATA: + @$(NORMAL_UNINSTALL) + @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(desktopdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(desktopdir)" && rm -f $$files +install-pixmapsDATA: $(pixmaps_DATA) + @$(NORMAL_INSTALL) + test -z "$(pixmapsdir)" || $(MKDIR_P) "$(DESTDIR)$(pixmapsdir)" + @list='$(pixmaps_DATA)'; test -n "$(pixmapsdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pixmapsdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pixmapsdir)" || exit $$?; \ + done + +uninstall-pixmapsDATA: + @$(NORMAL_UNINSTALL) + @list='$(pixmaps_DATA)'; test -n "$(pixmapsdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(pixmapsdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(pixmapsdir)" && rm -f $$files +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(pixmapsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-desktopDATA install-pixmapsDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-desktopDATA uninstall-pixmapsDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-desktopDATA install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-pixmapsDATA install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-desktopDATA \ + uninstall-pixmapsDATA + +@INTLTOOL_DESKTOP_RULE@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/data/l3afpad.desktop b/data/l3afpad.desktop new file mode 100644 index 0000000..ec058f3 --- /dev/null +++ b/data/l3afpad.desktop @@ -0,0 +1,86 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=L3afpad +Name[bg]=L3afpad +Name[br]=L3afpad +Name[ca]=L3afpad +Name[cs]=L3afpad +Name[da]=L3afpad +Name[de]=L3afpad +Name[el]=L3afpad +Name[eo]=L3afpad +Name[es]=L3afpad +Name[eu]=L3afpad +Name[fi]=L3afpad +Name[fr]=L3afpad +Name[ga]=L3afpad +Name[gl]=L3afpad +Name[he]=L3afpad +Name[hu]=L3afpad +Name[id]=L3afpad +Name[it]=L3afpad +Name[ja]=L3afpad +Name[ko]=L3afpad +Name[lt]=L3afpad +Name[lv]=L3afpad +Name[nl]=L3afpad +Name[nn]=L3afpad +Name[pl]=L3afpad +Name[pt]=L3afpad +Name[pt_BR]=L3afpad +Name[ru]=L3afpad +Name[sk]=L3afpad +Name[sl]=L3afpad +Name[sr]=L3afpad +Name[sv]=L3afpad +Name[ta]=L3afpad +Name[tr]=L3afpad +Name[uk]=L3afpad +Name[vi]=L3afpad +Name[zh_CN]=L3afpad +Name[zh_TW]=L3afpad +Comment=Simple text editor +Comment[bg]=Опростен текстов редактор +Comment[br]=Embanner testennou eeun +Comment[ca]=Editor de text simple +Comment[cs]=Jednoduchý textový editor +Comment[da]=Enkel tekstbehandler +Comment[de]=Einfacher Texteditor +Comment[el]=Απλός επεξεργαστής κειμένου +Comment[eo]=Simpla tekstredaktilo +Comment[es]=Editor de texto simple +Comment[eu]=Testu editore sinplea +Comment[fi]=Yksinkertainen tekstieditori +Comment[fr]=Un éditeur de texte tout simple +Comment[ga]=Eagarthóir simplí +Comment[gl]=Editor de texto sinxelo +Comment[he]=עורך טקסט פשוט +Comment[hu]=Egyszerű szöveg szerkesztő +Comment[id]=Penyunting teks sederhana +Comment[it]=Semplice editor di testi +Comment[ja]=シンプルなテキストエディタ +Comment[ko]=간단한 텍스트 편집기 +Comment[lt]=Paprastas teksto redaktorius +Comment[lv]=Vienkāršā teksta redaktors +Comment[nl]=Eenvoudige teksteditor +Comment[nn]=Enkel tekstredigering +Comment[pl]=Prosty edytor tekstu +Comment[pt]=Simples editor de texto +Comment[pt_BR]=Editor de texto simples +Comment[ru]=Простой текстовый редактор +Comment[sk]=Jednoduchý textový editor +Comment[sl]=Preprost urejevalnik besedila +Comment[sr]=Једноставан уређивач текста +Comment[sv]=Enkel textredigerare +Comment[ta]=எளிமையான உரை பதிப்பான் +Comment[tr]=Basit metin düzenleyicisi +Comment[uk]=Проситий текстовий редактор +Comment[vi]=Một trình soạn thảo văn bản đơn giản +Comment[zh_CN]=简易文字编辑器 +Comment[zh_TW]=簡易文字編輯器 +Exec=l3afpad %f +Icon=l3afpad +Terminal=false +Type=Application +MimeType=text/plain +Categories=GTK;Utility;TextEditor; diff --git a/data/l3afpad.desktop.in b/data/l3afpad.desktop.in new file mode 100644 index 0000000..6f57f5e --- /dev/null +++ b/data/l3afpad.desktop.in @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +_Name=L3afpad +_Comment=Simple text editor +Exec=l3afpad %f +Icon=l3afpad +Terminal=false +Type=Application +MimeType=text/plain +Categories=GTK;Utility;TextEditor; diff --git a/data/l3afpad.png b/data/l3afpad.png new file mode 100644 index 0000000000000000000000000000000000000000..15f84beb0e98ec03a3de9e450ebca0c7b8b1ff71 GIT binary patch literal 2768 zcmV;>3NQ7EP)=#*Hy=VYhS+0d^2Z`&&8*{r6f3U113&LNF9Yr zq(odI5Q>C~P=P*ygaj|`3l%)@P$`uVr7uOGw!9?bB7s^&Thvg6R86X=Bs8gmNFv*D z96Rwj_BnIr%#p@n2BXvZ{K?O= zH95gxxWRpQ{DH1-KgaPSpVll{qLZ!yiii(!4_51e_?5fb+1B9VT-fI>|m(7VhTQt$#@37eNDwUyv&p&v#CI z3FmSixbx$v#>)=4&H!FK`Go$%Gr!HDwN>i21}geRm#VE0DH)Cf-bXsQ!O8+1zn5G0 zKFR|}J}W=U_@`d@Yr4fE_kZX&h#D|r<+`TO>9?NNZ$1AQQgU$hV`AZtS+Q@ z^{86JSe!K!`3j@aMMPRw`<}Wfz(Cce^z(y6ns?RPhMKQE^Lh5I9O3xUM+vdT8YkDC zM*sWl*Lh>(EQ_6-pb_f=Al#(^I4_;~Pb!^IHA9Zy_88tRTps{ClMDLqFZ~Id zlV|A{24fXO8P6JG95R_r$@3md{S}m&#HA!IXaDLUs(MCjBXgp#?_~Ygzxx*qMwd8t z=PKt$k2BjU>2=Q0sAW7l%hu*89{AAbbnl*@koTNIr!Rb!@16WI#s<0_gNTxP=oesY zq^c{nhwGfXaFWS%ii!aYAwrrI7~_~sJujdAJ4WRj`n6}jfRPRl{`B4a;N0hkx=8A8 zLA6UgnKBq`ac<`s>hR{SBJd+=bW(2U-#-0eCe?YG#?Z8ZS*e5oX)5HI0*1?N7-v02 z-lN;yL$Bykw++s9DNA_qmDlhbBuPfxedGv(=?N0wqmwU#ILg_1rsWo$Vv)oO9dkQB zf7d_aY<}&1;49Dmy1udbPo%a>*)*ssO%s@vLenY&bP7+JDuRN7h^1*0LiA**N7XT! zHoSUr#>V=DW5)u$4lMN-*|)NfBrOnh-lvTv#D+GOh!~dgV?1={6LL*8P&EUcwkJrF zl+Z?+wncTG9$BhHg=q?jl^$XYm$o-> zu0yZr&?%P4(#5&ndVry3d-@`mhA-$!|6aLj0N+3LMK0~UM&kM)HQoucDlnS~<0+s* zXqBpk5EN_X(~fuGosuNLWv}k+fN@GU7ep270@hkw>PdY{kuP8*A%vEwGrV<7CT}54 zf;D@tjfI?5vcv&~=_Il}5~@ZB0b&3}aUQIjdmfp8_70o{W9Jm{_PS6v%GwGP9cXJu zXbsNkWd?~vt!SDWA2N(jNL)tR|1sX)_&(>izRjNAZC4LqR=q{pv}E2B>x4uj(KR?L zB(6n)7{M69Sj9Q;es27<6lNt1hKA7ymX}((xuKg2!=S7WrmQU$L{ri+k@2*qiY+U> zCCWIe%B5?Izz<&kCVLki;^NjRT0FCMgAg0iT(DxP8W5vct7Q57nYtFX zM@m_Px5{7`NgedNf*5EcSQp4rOA{N6q||l9n38_6z_c6_G%_s*IOkdH?qyIve{D2+ ze)9!Auzat)z4@|s^HnYlPt&$roLPUC@4oUFK5?{RPN`9as#c~m2tb;^&PXUrWuXvO z_duRo6vY}ruq-YZj7f1e#o$PM&bS_<+Tx4>u~cD`j@{2Ee(vPe7x97RdFAh0J}Lmc z&KdycHlNj2Ar*s>z_^B{nX^*Xfg*#lgz*%X7a?&F6s$2sjW{bzXNutPHlWgAY|6Nr zf>;)c9>d{;pgSB|{aJeX-PdoNZbPkSHoie8g;}YT6)5xK%#wMEsKRh0toC7b31%h4 zD2OQD8ro3P2FrLF=yo9Wg2oad5`trEdqUG}v(&wvU%mH9xo*=aK-sLbJv#*gB8u}$ zk%JgWtbhua2Ez6Z^cUtcWtIxYK-7pBAx$j3t_1@jLfJqYCM2##7=tvVoebTjX;&42 zi-R-ljK`#@1EVBHXcg)j)~8C|F+7?s+8QEW{82 zi?N=vX(;QOx`i}x7-N_=Eh<82r>ynv=l(lBCD$E*2sCjMZ=tMVI-7gh8gL@il~8n` zY!n5W7Md`hb7B&>@cgKY9d(* zD)Sl`3}K;Ax}EvmrsbXYs=5{0ShBbG06%%~cbQBpAW(;jCPcENAWbq>`iqyxjN--s zIJ@y3Ce=2^CO8M(T*#cTJrY1kGZ@YE@-PUq3YrG;)Z!cz**+dV_LtoE~_8n#a@`E=9z;N;^cKfd71{vK z2w5_3WLat{IytlU0wK=GlRa|ugTIEg;1i{j79hf4{3hMx2#1y*ksAVFXZAWp4n+=o zdO}qRO`|j|45vyH=J&haFKa55@%2%3q6mw2^WWNao=r^Qe+g5g-XID}~hbqnK}Qa2EyqA18b zof79T;@KIGS<4^cw$CXv4DDoA$$t^7P56Gn4(AU?$g?Elg zxyjb}Bo80^EZ{{o>Xml c #8AAD06", +", c #82A40B", +"< c #89A709", +"1 c #86A909", +"2 c #8AAD0A", +"3 c #8CB106", +"4 c #8CB009", +"5 c #90B207", +"6 c #92B40C", +"7 c #97BA0B", +"8 c #9ABC0D", +"9 c #85AB14", +"0 c #8AAD13", +"q c #84A218", +"w c #8EB111", +"e c #8CB11A", +"r c #94B613", +"t c #95B811", +"y c #9CBD14", +"u c #95B51B", +"i c #9BBC1B", +"p c #A0BF11", +"a c #8CAE27", +"s c #90AB28", +"d c #91B020", +"f c #9DBC21", +"g c #98B62B", +"h c #9BB92B", +"j c #9CB73B", +"k c #A1BC3B", +"l c #9EC016", +"z c #9FC01F", +"x c #A1C10D", +"c c #A3C413", +"v c #A2C21C", +"b c #A8C71A", +"n c #ABCA1D", +"m c #A2C123", +"M c #A8C721", +"N c #A7C824", +"B c #ADCC22", +"V c #A6C52C", +"C c #A8C72D", +"Z c #ABCC2A", +"A c #B0D025", +"S c #A8C730", +"D c #ADCB32", +"F c #A8C339", +"G c #AFCC3D", +"H c #B3CE3F", +"J c #B0D036", +"K c #B3D23C", +"L c #B8D438", +"P c #8CAE4A", +"I c #94AF40", +"U c #96B156", +"Y c #9DBB51", +"T c #A2BA4B", +"R c #A4BD55", +"E c #A7C143", +"W c #A8C541", +"Q c #ACC843", +"! c #B3CD41", +"~ c #B3CB4C", +"^ c #B5D342", +"/ c #B8D24B", +"( c #ACC55A", +") c #B8CE59", +"_ c #BED851", +"` c #BED45A", +"' c #A6C066", +"] c #B8CE64", +"[ c #B7CE6E", +"{ c #B8CC6A", +"} c #BCD06F", +"| c #B9CD7C", +" . c #BAD075", +".. c #BED17B", +"X. c #C0D561", +"o. c #C5DB66", +"O. c #C1D76B", +"+. c #C5DB6A", +"@. c #C2D573", +"#. c #C2D579", +"$. c #C7DA7D", +"%. c #C9DC7B", +"&. c #B8CA80", +"*. c #B6CA8E", +"=. c #BFCF9A", +"-. c #C4D582", +";. c #CCDC85", +":. c #C5D58F", +">. c #CCDB8D", +",. c #CCDB96", +"<. c #C1D09D", +"1. c #CBD79C", +"2. c #D0DD93", +"3. c #D3DF9D", +"4. c #D3E291", +"5. c #D4E299", +"6. c #D9E79B", +"7. c #C7D7A6", +"8. c #C6D3AA", +"9. c #CEDBAF", +"0. c #CBD6B3", +"q. c #CDD8B4", +"w. c #D4DEB6", +"e. c #DAE8A1", +"r. c #D8E3AA", +"t. c #DBE4BB", +"y. c #DFE8BC", +"u. c #E0ECB4", +"i. c #E2EBBB", +"p. c #DAE2C9", +"a. c #E3EAC6", +"s. c #E4ECCC", +"d. c #E9F0CA", +"f. c #EAF0D0", +"g. c #EDF2DB", +"h. c #EAEFE0", +"j. c #EDF2E3", +"k. c #EFF2E8", +"l. c #F6F8EC", +"z. c #FCFCF7", +"x. c #FEFEFD", +"c. c None", +/* pixels */ +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.=.w.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.} { -.r.g.l.c.c.c.c.c.c.c.c.c.<.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.( r 5 8 m k ` 5.i.c.c.c.c.x.j.9.j.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.T d r r r 7 5 7 y ! c.c.c.c.h.q.j.x.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.I & < u i f y y p c ! c.c.c.p.0.k.x.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.q % , u m V V f y z ~ c.c.8.&.;.e.u.c.c.c.c.c.c.c.", +"c.c.c.c.c.t.j - - % , w f S D C z Q s.8.| H J H V 2.c.c.c.c.c.c.", +"c.c.c.c.c.] > : - ; : ; > i V D V a U R G D G N v ` c.c.c.c.c.c.", +"c.c.c.c.>.f 5 > ; - % ; ; ; , q 9 O 1 i V D J J J +.c.c.c.c.c.", +"c.c.c.c.@.7 5 ; - # # o o o # % $ X # w y m D ^ ^ Z X.c.c.c.c.c.", +"c.c.c.c.~ 7 < % # # # # % % % % X # , 2 y v N J K L / c.c.c.c.c.", +"c.c.c.c.T h s q < % # - ; % # X X % : 1 t y v N N Z ^ c.c.c.c.c.", +"c.c.c.c.c.c.t.1.T ; - $ $ $ + . + ; : 2 7 y m v i i S c.c.c.c.c.", +"c.c.c.c.c.c.c.c.k - - = - - X $ % , 2 : 6 y i i i i c.c.c.c.c.c.", +"c.c.c.c.c.c.c.y.u ; - - - + X - - : 4 4 6 t l x i F c.c.c.c.c.c.", +"c.c.c.c.c.c.c.a.g ; - - $ X $ - ; 2 t 4 4 7 c 8 m @.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.f.f - $ - $ @ $ = - 2 f w 4 l b x ~ c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.3.u - - = $ @ @ $ - 4 #...4 l n n ! c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.@.w = $ $ = @ @ = - 5 $.g.g l n A _ c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.~ 2 - $ @ = $ $ - 4 l O.c.) c B ^ 4.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.~ : = @ @ @ @ = - 6 m %.c.4.A L 6.z.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.{ = + @ = $ @ = 3 6 ..c.c.c.+.+.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.Y + $ e e - = 9 W $.a.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.P ' | :.,.[ ( .d.z.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.*.7.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.", +"c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c.c." +}; diff --git a/depcomp b/depcomp new file mode 100644 index 0000000..e5f9736 --- /dev/null +++ b/depcomp @@ -0,0 +1,589 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2007-03-29.01 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software +# Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/install-sh b/install-sh new file mode 100644 index 0000000..a5897de --- /dev/null +++ b/install-sh @@ -0,0 +1,519 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2006-12-25.00 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +nl=' +' +IFS=" "" $nl" + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +no_target_directory= + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) dst_arg=$2 + shift;; + + -T) no_target_directory=true;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dst_arg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + -*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/intltool-extract.in b/intltool-extract.in new file mode 100644 index 0000000..ae393ac --- /dev/null +++ b/intltool-extract.in @@ -0,0 +1,875 @@ +#!@INTLTOOL_PERL@ -w +# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- + +# +# The Intltool Message Extractor +# +# Copyright (C) 2000-2001, 2003 Free Software Foundation. +# +# Intltool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# Intltool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# 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. +# +# Authors: Kenneth Christiansen +# Darin Adler +# + +## Release information +my $PROGRAM = "intltool-extract"; +my $PACKAGE = "intltool"; +my $VERSION = "0.37.1"; + +## Loaded modules +use strict; +use File::Basename; +use Getopt::Long; + +## Scalars used by the option stuff +my $TYPE_ARG = "0"; +my $LOCAL_ARG = "0"; +my $HELP_ARG = "0"; +my $VERSION_ARG = "0"; +my $UPDATE_ARG = "0"; +my $QUIET_ARG = "0"; +my $SRCDIR_ARG = "."; + +my $FILE; +my $OUTFILE; + +my $gettext_type = ""; +my $input; +my %messages = (); +my %loc = (); +my %count = (); +my %comments = (); +my $strcount = 0; + +my $XMLCOMMENT = ""; + +## Use this instead of \w for XML files to handle more possible characters. +my $w = "[-A-Za-z0-9._:]"; + +## Always print first +$| = 1; + +## Handle options +GetOptions ( + "type=s" => \$TYPE_ARG, + "local|l" => \$LOCAL_ARG, + "help|h" => \$HELP_ARG, + "version|v" => \$VERSION_ARG, + "update" => \$UPDATE_ARG, + "quiet|q" => \$QUIET_ARG, + "srcdir=s" => \$SRCDIR_ARG, + ) or &error; + +&split_on_argument; + + +## Check for options. +## This section will check for the different options. + +sub split_on_argument { + + if ($VERSION_ARG) { + &version; + + } elsif ($HELP_ARG) { + &help; + + } elsif ($LOCAL_ARG) { + &place_local; + &extract; + + } elsif ($UPDATE_ARG) { + &place_normal; + &extract; + + } elsif (@ARGV > 0) { + &place_normal; + &message; + &extract; + + } else { + &help; + + } +} + +sub place_normal { + $FILE = $ARGV[0]; + $OUTFILE = "$FILE.h"; + + my $dirname = dirname ($OUTFILE); + if (! -d "$dirname" && $dirname ne "") { + system ("mkdir -p $dirname"); + } +} + +sub place_local { + $FILE = $ARGV[0]; + $OUTFILE = fileparse($FILE, ()); + if (!-e "tmp/") { + system("mkdir tmp/"); + } + $OUTFILE = "./tmp/$OUTFILE.h" +} + +sub determine_type { + if ($TYPE_ARG =~ /^gettext\/(.*)/) { + $gettext_type=$1 + } +} + +## Sub for printing release information +sub version{ + print <<_EOF_; +${PROGRAM} (${PACKAGE}) $VERSION +Copyright (C) 2000, 2003 Free Software Foundation, Inc. +Written by Kenneth Christiansen, 2000. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +_EOF_ + exit; +} + +## Sub for printing usage information +sub help { + print <<_EOF_; +Usage: ${PROGRAM} [OPTION]... [FILENAME] +Generates a header file from an XML source file. + +It grabs all strings between <_translatable_node> and its end tag in +XML files. Read manpage (man ${PROGRAM}) for more info. + + --type=TYPE Specify the file type of FILENAME. Currently supports: + "gettext/glade", "gettext/ini", "gettext/keys" + "gettext/rfc822deb", "gettext/schemas", + "gettext/scheme", "gettext/xml", "gettext/quoted", + "gettext/quotedxml" + -l, --local Writes output into current working directory + (conflicts with --update) + --update Writes output into the same directory the source file + reside (conflicts with --local) + --srcdir Root of the source tree + -v, --version Output version information and exit + -h, --help Display this help and exit + -q, --quiet Quiet mode + +Report bugs to http://bugzilla.gnome.org/ (product name "$PACKAGE") +or send email to . +_EOF_ + exit; +} + +## Sub for printing error messages +sub error{ + print STDERR "Try `${PROGRAM} --help' for more information.\n"; + exit; +} + +sub message { + print "Generating C format header file for translation.\n" unless $QUIET_ARG; +} + +sub extract { + &determine_type; + + &convert; + + open OUT, ">$OUTFILE"; + binmode (OUT) if $^O eq 'MSWin32'; + &msg_write; + close OUT; + + print "Wrote $OUTFILE\n" unless $QUIET_ARG; +} + +sub convert { + + ## Reading the file + { + local (*IN); + local $/; #slurp mode + open (IN, "<$SRCDIR_ARG/$FILE") || die "can't open $SRCDIR_ARG/$FILE: $!"; + $input = ; + } + + &type_ini if $gettext_type eq "ini"; + &type_keys if $gettext_type eq "keys"; + &type_xml if $gettext_type eq "xml"; + &type_glade if $gettext_type eq "glade"; + &type_scheme if $gettext_type eq "scheme"; + &type_schemas if $gettext_type eq "schemas"; + &type_rfc822deb if $gettext_type eq "rfc822deb"; + &type_quoted if $gettext_type eq "quoted"; + &type_quotedxml if $gettext_type eq "quotedxml"; +} + +sub entity_decode_minimal +{ + local ($_) = @_; + + s/'/'/g; # ' + s/"/"/g; # " + s/&/&/g; + + return $_; +} + +sub entity_decode +{ + local ($_) = @_; + + s/'/'/g; # ' + s/"/"/g; # " + s/<//g; + s/&/&/g; + + return $_; +} + +sub escape_char +{ + return '\"' if $_ eq '"'; + return '\n' if $_ eq "\n"; + return '\\\\' if $_ eq '\\'; + + return $_; +} + +sub escape +{ + my ($string) = @_; + return join "", map &escape_char, split //, $string; +} + +sub type_ini { + ### For generic translatable desktop files ### + while ($input =~ /^(#(.+)\n)?^_.*=(.*)$/mg) { + if (defined($2)) { + $comments{$3} = $2; + } + $messages{$3} = []; + } +} + +sub type_keys { + ### For generic translatable mime/keys files ### + while ($input =~ /^\s*_\w+=(.*)$/mg) { + $messages{$1} = []; + } +} + +sub type_xml { + ### For generic translatable XML files ### + my $tree = readXml($input); + parseTree(0, $tree); +} + +sub print_var { + my $var = shift; + my $vartype = ref $var; + + if ($vartype =~ /ARRAY/) { + my @arr = @{$var}; + print "[ "; + foreach my $el (@arr) { + print_var($el); + print ", "; + } + print "] "; + } elsif ($vartype =~ /HASH/) { + my %hash = %{$var}; + print "{ "; + foreach my $key (keys %hash) { + print "$key => "; + print_var($hash{$key}); + print ", "; + } + print "} "; + } else { + print $var; + } +} + +# Same syntax as getAttributeString in intltool-merge.in.in, similar logic (look for ## differences comment) +sub getAttributeString +{ + my $sub = shift; + my $do_translate = shift || 1; + my $language = shift || ""; + my $translate = shift; + my $result = ""; + foreach my $e (reverse(sort(keys %{ $sub }))) { + my $key = $e; + my $string = $sub->{$e}; + my $quote = '"'; + + $string =~ s/^[\s]+//; + $string =~ s/[\s]+$//; + + if ($string =~ /^'.*'$/) + { + $quote = "'"; + } + $string =~ s/^['"]//g; + $string =~ s/['"]$//g; + + ## differences from intltool-merge.in.in + if ($key =~ /^_/) { + $comments{entity_decode($string)} = $XMLCOMMENT if $XMLCOMMENT; + $messages{entity_decode($string)} = []; + $$translate = 2; + } + ## differences end here from intltool-merge.in.in + $result .= " $key=$quote$string$quote"; + } + return $result; +} + +# Verbatim copy from intltool-merge.in.in +sub getXMLstring +{ + my $ref = shift; + my $spacepreserve = shift || 0; + my @list = @{ $ref }; + my $result = ""; + + my $count = scalar(@list); + my $attrs = $list[0]; + my $index = 1; + + $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)); + $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/)); + + while ($index < $count) { + my $type = $list[$index]; + my $content = $list[$index+1]; + if (! $type ) { + # We've got CDATA + if ($content) { + # lets strip the whitespace here, and *ONLY* here + $content =~ s/\s+/ /gs if (!$spacepreserve); + $result .= $content; + } + } elsif ( "$type" ne "1" ) { + # We've got another element + $result .= "<$type"; + $result .= getAttributeString(@{$content}[0], 0); # no nested translatable elements + if ($content) { + my $subresult = getXMLstring($content, $spacepreserve); + if ($subresult) { + $result .= ">".$subresult . ""; + } else { + $result .= "/>"; + } + } else { + $result .= "/>"; + } + } + $index += 2; + } + return $result; +} + +# Verbatim copy from intltool-merge.in.in, except for MULTIPLE_OUTPUT handling removed +# Translate list of nodes if necessary +sub translate_subnodes +{ + my $fh = shift; + my $content = shift; + my $language = shift || ""; + my $singlelang = shift || 0; + my $spacepreserve = shift || 0; + + my @nodes = @{ $content }; + + my $count = scalar(@nodes); + my $index = 0; + while ($index < $count) { + my $type = $nodes[$index]; + my $rest = $nodes[$index+1]; + traverse($fh, $type, $rest, $language, $spacepreserve); + $index += 2; + } +} + +# Based on traverse() in intltool-merge.in.in +sub traverse +{ + my $fh = shift; # unused, to allow us to sync code between -merge and -extract + my $nodename = shift; + my $content = shift; + my $language = shift || ""; + my $spacepreserve = shift || 0; + + if ($nodename && "$nodename" eq "1") { + $XMLCOMMENT = $content; + } elsif ($nodename) { + # element + my @all = @{ $content }; + my $attrs = shift @all; + my $translate = 0; + my $outattr = getAttributeString($attrs, 1, $language, \$translate); + + if ($nodename =~ /^_/) { + $translate = 1; + $nodename =~ s/^_//; + } + my $lookup = ''; + + $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/)); + $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)); + + if ($translate) { + $lookup = getXMLstring($content, $spacepreserve); + if (!$spacepreserve) { + $lookup =~ s/^\s+//s; + $lookup =~ s/\s+$//s; + } + + if ($lookup && $translate != 2) { + $comments{$lookup} = $XMLCOMMENT if $XMLCOMMENT; + $messages{$lookup} = []; + } elsif ($translate == 2) { + translate_subnodes($fh, \@all, $language, 1, $spacepreserve); + } + } else { + $XMLCOMMENT = ""; + my $count = scalar(@all); + if ($count > 0) { + my $index = 0; + while ($index < $count) { + my $type = $all[$index]; + my $rest = $all[$index+1]; + traverse($fh, $type, $rest, $language, $spacepreserve); + $index += 2; + } + } + } + $XMLCOMMENT = ""; + } +} + + +# Verbatim copy from intltool-merge.in.in, $fh for compatibility +sub parseTree +{ + my $fh = shift; + my $ref = shift; + my $language = shift || ""; + + my $name = shift @{ $ref }; + my $cont = shift @{ $ref }; + + while (!$name || "$name" eq "1") { + $name = shift @{ $ref }; + $cont = shift @{ $ref }; + } + + my $spacepreserve = 0; + my $attrs = @{$cont}[0]; + $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)); + + traverse($fh, $name, $cont, $language, $spacepreserve); +} + +# Verbatim copy from intltool-merge.in.in +sub intltool_tree_comment +{ + my $expat = shift; + my $data = $expat->original_string(); + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + $data =~ s/^$//s; + push @$clist, 1 => $data; +} + +# Verbatim copy from intltool-merge.in.in +sub intltool_tree_cdatastart +{ + my $expat = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + push @$clist, 0 => $expat->original_string(); +} + +# Verbatim copy from intltool-merge.in.in +sub intltool_tree_cdataend +{ + my $expat = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + $clist->[$pos] .= $expat->original_string(); +} + +# Verbatim copy from intltool-merge.in.in +sub intltool_tree_char +{ + my $expat = shift; + my $text = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + # Use original_string so that we retain escaped entities + # in CDATA sections. + # + if ($pos > 0 and $clist->[$pos - 1] eq '0') { + $clist->[$pos] .= $expat->original_string(); + } else { + push @$clist, 0 => $expat->original_string(); + } +} + +# Verbatim copy from intltool-merge.in.in +sub intltool_tree_start +{ + my $expat = shift; + my $tag = shift; + my @origlist = (); + + # Use original_string so that we retain escaped entities + # in attribute values. We must convert the string to an + # @origlist array to conform to the structure of the Tree + # Style. + # + my @original_array = split /\x/, $expat->original_string(); + my $source = $expat->original_string(); + + # Remove leading tag. + # + $source =~ s|^\s*<\s*(\S+)||s; + + # Grab attribute key/value pairs and push onto @origlist array. + # + while ($source) + { + if ($source =~ /^\s*([\w:-]+)\s*[=]\s*["]/) + { + $source =~ s|^\s*([\w:-]+)\s*[=]\s*["]([^"]*)["]||s; + push @origlist, $1; + push @origlist, '"' . $2 . '"'; + } + elsif ($source =~ /^\s*([\w:-]+)\s*[=]\s*[']/) + { + $source =~ s|^\s*([\w:-]+)\s*[=]\s*[']([^']*)[']||s; + push @origlist, $1; + push @origlist, "'" . $2 . "'"; + } + else + { + last; + } + } + + my $ol = [ { @origlist } ]; + + push @{ $expat->{Lists} }, $expat->{Curlist}; + push @{ $expat->{Curlist} }, $tag => $ol; + $expat->{Curlist} = $ol; +} + +# Copied from intltool-merge.in.in and added comment handler. +sub readXml +{ + my $xmldoc = shift || return; + my $ret = eval 'require XML::Parser'; + if(!$ret) { + die "You must have XML::Parser installed to run $0\n\n"; + } + my $xp = new XML::Parser(Style => 'Tree'); + $xp->setHandlers(Char => \&intltool_tree_char); + $xp->setHandlers(Start => \&intltool_tree_start); + $xp->setHandlers(CdataStart => \&intltool_tree_cdatastart); + $xp->setHandlers(CdataEnd => \&intltool_tree_cdataend); + + ## differences from intltool-merge.in.in + $xp->setHandlers(Comment => \&intltool_tree_comment); + ## differences end here from intltool-merge.in.in + + my $tree = $xp->parse($xmldoc); + #print_var($tree); + +# Hello thereHowdydo +# would be: +# [foo, [{}, 1, "comment", head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], bar, +# [{}, 0, "Howdy", ref, [{}]], 0, "do" ] ] + + return $tree; +} + +sub type_schemas { + ### For schemas XML files ### + + # FIXME: We should handle escaped < (less than) + while ($input =~ / + \s* + (\s*(?:\s*)?(.*?)\s*<\/default>\s*)? + (\s*(?:\s*)?(.*?)\s*<\/short>\s*)? + (\s*(?:\s*)?(.*?)\s*<\/long>\s*)? + <\/locale> + /sgx) { + my @totranslate = ($3,$6,$9); + my @eachcomment = ($2,$5,$8); + foreach (@totranslate) { + my $currentcomment = shift @eachcomment; + next if !$_; + s/\s+/ /g; + $messages{entity_decode_minimal($_)} = []; + $comments{entity_decode_minimal($_)} = $currentcomment if (defined($currentcomment)); + } + } +} + +sub type_rfc822deb { + ### For rfc822-style Debian configuration files ### + + my $lineno = 1; + my $type = ''; + while ($input =~ /\G(.*?)(^|\n)(_+)([^:]+):[ \t]*(.*?)(?=\n\S|$)/sg) + { + my ($pre, $newline, $underscore, $tag, $text) = ($1, $2, $3, $4, $5); + while ($pre =~ m/\n/g) + { + $lineno ++; + } + $lineno += length($newline); + my @str_list = rfc822deb_split(length($underscore), $text); + for my $str (@str_list) + { + $strcount++; + $messages{$str} = []; + $loc{$str} = $lineno; + $count{$str} = $strcount; + my $usercomment = ''; + while($pre =~ s/(^|\n)#([^\n]*)$//s) + { + $usercomment = "\n" . $2 . $usercomment; + } + $comments{$str} = $tag . $usercomment; + } + $lineno += ($text =~ s/\n//g); + } +} + +sub rfc822deb_split { + # Debian defines a special way to deal with rfc822-style files: + # when a value contain newlines, it consists of + # 1. a short form (first line) + # 2. a long description, all lines begin with a space, + # and paragraphs are separated by a single dot on a line + # This routine returns an array of all paragraphs, and reformat + # them. + # When first argument is 2, the string is a comma separated list of + # values. + my $type = shift; + my $text = shift; + $text =~ s/^[ \t]//mg; + return (split(/, */, $text, 0)) if $type ne 1; + return ($text) if $text !~ /\n/; + + $text =~ s/([^\n]*)\n//; + my @list = ($1); + my $str = ''; + for my $line (split (/\n/, $text)) + { + chomp $line; + if ($line =~ /^\.\s*$/) + { + # New paragraph + $str =~ s/\s*$//; + push(@list, $str); + $str = ''; + } + elsif ($line =~ /^\s/) + { + # Line which must not be reformatted + $str .= "\n" if length ($str) && $str !~ /\n$/; + $line =~ s/\s+$//; + $str .= $line."\n"; + } + else + { + # Continuation line, remove newline + $str .= " " if length ($str) && $str !~ /\n$/; + $str .= $line; + } + } + $str =~ s/\s*$//; + push(@list, $str) if length ($str); + return @list; +} + +sub type_quoted { + while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) { + my $message = $1; + my $before = $`; + $message =~ s/\\\"/\"/g; + $before =~ s/[^\n]//g; + $messages{$message} = []; + $loc{$message} = length ($before) + 2; + } +} + +sub type_quotedxml { + while ($input =~ /\"(([^\"]|\\\")*[^\\\"])\"/g) { + my $message = $1; + my $before = $`; + $message =~ s/\\\"/\"/g; + $message = entity_decode($message); + $before =~ s/[^\n]//g; + $messages{$message} = []; + $loc{$message} = length ($before) + 2; + } +} + +sub type_glade { + ### For translatable Glade XML files ### + + my $tags = "label|title|text|format|copyright|comments|preview_text|tooltip|message"; + + while ($input =~ /<($tags)>([^<]+)<\/($tags)>/sg) { + # Glade sometimes uses tags that normally mark translatable things for + # little bits of non-translatable content. We work around this by not + # translating strings that only includes something like label4 or window1. + $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label|dialog)[0-9]+$/; + } + + while ($input =~ /(..[^<]*)<\/items>/sg) { + for my $item (split (/\n/, $1)) { + $messages{entity_decode($item)} = []; + } + } + + ## handle new glade files + while ($input =~ /<(property|atkproperty|col)\s+[^>]*translatable\s*=\s*"yes"(?:\s+[^>]*comments\s*=\s*"([^"]*)")?[^>]*>([^<]+)<\/\1>/sg) { + $messages{entity_decode($3)} = [] unless $3 =~ /^(window|label)[0-9]+$/; + if (defined($2) and !($3 =~ /^(window|label)[0-9]+$/)) { + $comments{entity_decode($3)} = entity_decode($2) ; + } + } + while ($input =~ /]*)"\s+description="([^>]+)"\/>/sg) { + $messages{entity_decode_minimal($2)} = []; + } +} + +sub type_scheme { + my ($line, $i, $state, $str, $trcomment, $char); + for $line (split(/\n/, $input)) { + $i = 0; + $state = 0; # 0 - nothing, 1 - string, 2 - translatable string + while ($i < length($line)) { + if (substr($line,$i,1) eq "\"") { + if ($state == 2) { + $comments{$str} = $trcomment if ($trcomment); + $messages{$str} = []; + $str = ''; + $state = 0; $trcomment = ""; + } elsif ($state == 1) { + $str = ''; + $state = 0; $trcomment = ""; + } else { + $state = 1; + $str = ''; + if ($i>0 && substr($line,$i-1,1) eq '_') { + $state = 2; + } + } + } elsif (!$state) { + if (substr($line,$i,1) eq ";") { + $trcomment = substr($line,$i+1); + $trcomment =~ s/^;*\s*//; + $i = length($line); + } elsif ($trcomment && substr($line,$i,1) !~ /\s|\(|\)|_/) { + $trcomment = ""; + } + } else { + if (substr($line,$i,1) eq "\\") { + $char = substr($line,$i+1,1); + if ($char ne "\"" && $char ne "\\") { + $str = $str . "\\"; + } + $i++; + } + $str = $str . substr($line,$i,1); + } + $i++; + } + } +} + +sub msg_write { + my @msgids; + if (%count) + { + @msgids = sort { $count{$a} <=> $count{$b} } keys %count; + } + else + { + @msgids = sort keys %messages; + } + for my $message (@msgids) + { + my $offsetlines = 1; + $offsetlines++ if $message =~ /%/; + if (defined ($comments{$message})) + { + while ($comments{$message} =~ m/\n/g) + { + $offsetlines++; + } + } + print OUT "# ".($loc{$message} - $offsetlines). " \"$FILE\"\n" + if defined $loc{$message}; + print OUT "/* ".$comments{$message}." */\n" + if defined $comments{$message}; + print OUT "/* xgettext:no-c-format */\n" if $message =~ /%/; + + my @lines = split (/\n/, $message, -1); + for (my $n = 0; $n < @lines; $n++) + { + if ($n == 0) + { + print OUT "char *s = N_(\""; + } + else + { + print OUT " \""; + } + + print OUT escape($lines[$n]); + + if ($n < @lines - 1) + { + print OUT "\\n\"\n"; + } + else + { + print OUT "\");\n"; + } + } + } +} + diff --git a/intltool-merge.in b/intltool-merge.in new file mode 100644 index 0000000..60c3f3e --- /dev/null +++ b/intltool-merge.in @@ -0,0 +1,1506 @@ +#!@INTLTOOL_PERL@ -w +# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- + +# +# The Intltool Message Merger +# +# Copyright (C) 2000, 2003 Free Software Foundation. +# Copyright (C) 2000, 2001 Eazel, Inc +# +# Intltool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 published by the Free Software Foundation. +# +# Intltool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# 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. +# +# Authors: Maciej Stachowiak +# Kenneth Christiansen +# Darin Adler +# +# Proper XML UTF-8'ification written by Cyrille Chepelov +# + +## Release information +my $PROGRAM = "intltool-merge"; +my $PACKAGE = "intltool"; +my $VERSION = "0.37.1"; + +## Loaded modules +use strict; +use Getopt::Long; +use Text::Wrap; +use File::Basename; + +my $must_end_tag = -1; +my $last_depth = -1; +my $translation_depth = -1; +my @tag_stack = (); +my @entered_tag = (); +my @translation_strings = (); +my $leading_space = ""; + +## Scalars used by the option stuff +my $HELP_ARG = 0; +my $VERSION_ARG = 0; +my $BA_STYLE_ARG = 0; +my $XML_STYLE_ARG = 0; +my $KEYS_STYLE_ARG = 0; +my $DESKTOP_STYLE_ARG = 0; +my $SCHEMAS_STYLE_ARG = 0; +my $RFC822DEB_STYLE_ARG = 0; +my $QUOTED_STYLE_ARG = 0; +my $QUOTEDXML_STYLE_ARG = 0; +my $QUIET_ARG = 0; +my $PASS_THROUGH_ARG = 0; +my $UTF8_ARG = 0; +my $MULTIPLE_OUTPUT = 0; +my $cache_file; + +## Handle options +GetOptions +( + "help" => \$HELP_ARG, + "version" => \$VERSION_ARG, + "quiet|q" => \$QUIET_ARG, + "oaf-style|o" => \$BA_STYLE_ARG, ## for compatibility + "ba-style|b" => \$BA_STYLE_ARG, + "xml-style|x" => \$XML_STYLE_ARG, + "keys-style|k" => \$KEYS_STYLE_ARG, + "desktop-style|d" => \$DESKTOP_STYLE_ARG, + "schemas-style|s" => \$SCHEMAS_STYLE_ARG, + "rfc822deb-style|r" => \$RFC822DEB_STYLE_ARG, + "quoted-style" => \$QUOTED_STYLE_ARG, + "quotedxml-style" => \$QUOTEDXML_STYLE_ARG, + "pass-through|p" => \$PASS_THROUGH_ARG, + "utf8|u" => \$UTF8_ARG, + "multiple-output|m" => \$MULTIPLE_OUTPUT, + "cache|c=s" => \$cache_file + ) or &error; + +my $PO_DIR; +my $FILE; +my $OUTFILE; + +my %po_files_by_lang = (); +my %translations = (); +my $iconv = $ENV{"ICONV"} || "iconv"; +my $devnull = ($^O eq 'MSWin32' ? 'NUL:' : '/dev/null'); + +sub isProgramInPath +{ + my ($file) = @_; + # If either a file exists, or when run it returns 0 exit status + return 1 if ((-x $file) or (system("$file -l >$devnull") == 0)); + return 0; +} + +if (! isProgramInPath ("$iconv")) +{ + print STDERR " *** iconv is not found on this system!\n". + " *** Without it, intltool-merge can not convert encodings.\n"; + exit; +} + +# Use this instead of \w for XML files to handle more possible characters. +my $w = "[-A-Za-z0-9._:]"; + +# XML quoted string contents +my $q = "[^\\\"]*"; + +## Check for options. + +if ($VERSION_ARG) +{ + &print_version; +} +elsif ($HELP_ARG) +{ + &print_help; +} +elsif ($BA_STYLE_ARG && @ARGV > 2) +{ + &utf8_sanity_check; + &preparation; + &print_message; + &ba_merge_translations; + &finalize; +} +elsif ($XML_STYLE_ARG && @ARGV > 2) +{ + &utf8_sanity_check; + &preparation; + &print_message; + &xml_merge_output; + &finalize; +} +elsif ($KEYS_STYLE_ARG && @ARGV > 2) +{ + &utf8_sanity_check; + &preparation; + &print_message; + &keys_merge_translations; + &finalize; +} +elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) +{ + &utf8_sanity_check; + &preparation; + &print_message; + &desktop_merge_translations; + &finalize; +} +elsif ($SCHEMAS_STYLE_ARG && @ARGV > 2) +{ + &utf8_sanity_check; + &preparation; + &print_message; + &schemas_merge_translations; + &finalize; +} +elsif ($RFC822DEB_STYLE_ARG && @ARGV > 2) +{ + &preparation; + &print_message; + &rfc822deb_merge_translations; + &finalize; +} +elsif (($QUOTED_STYLE_ARG || $QUOTEDXML_STYLE_ARG) && @ARGV > 2) +{ + &utf8_sanity_check; + &preparation; + &print_message; + "ed_merge_translations($QUOTEDXML_STYLE_ARG); + &finalize; +} +else +{ + &print_help; +} + +exit; + +## Sub for printing release information +sub print_version +{ + print <<_EOF_; +${PROGRAM} (${PACKAGE}) ${VERSION} +Written by Maciej Stachowiak, Darin Adler and Kenneth Christiansen. + +Copyright (C) 2000-2003 Free Software Foundation, Inc. +Copyright (C) 2000-2001 Eazel, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +_EOF_ + exit; +} + +## Sub for printing usage information +sub print_help +{ + print <<_EOF_; +Usage: ${PROGRAM} [OPTION]... PO_DIRECTORY FILENAME OUTPUT_FILE +Generates an output file that includes some localized attributes from an +untranslated source file. + +Mandatory options: (exactly one must be specified) + -b, --ba-style includes translations in the bonobo-activation style + -d, --desktop-style includes translations in the desktop style + -k, --keys-style includes translations in the keys style + -s, --schemas-style includes translations in the schemas style + -r, --rfc822deb-style includes translations in the RFC822 style + --quoted-style includes translations in the quoted string style + --quotedxml-style includes translations in the quoted xml string style + -x, --xml-style includes translations in the standard xml style + +Other options: + -u, --utf8 convert all strings to UTF-8 before merging + (default for everything except RFC822 style) + -p, --pass-through deprecated, does nothing and issues a warning + -m, --multiple-output output one localized file per locale, instead of + a single file containing all localized elements + -c, --cache=FILE specify cache file name + (usually \$top_builddir/po/.intltool-merge-cache) + -q, --quiet suppress most messages + --help display this help and exit + --version output version information and exit + +Report bugs to http://bugzilla.gnome.org/ (product name "$PACKAGE") +or send email to . +_EOF_ + exit; +} + + +## Sub for printing error messages +sub print_error +{ + print STDERR "Try `${PROGRAM} --help' for more information.\n"; + exit; +} + + +sub print_message +{ + print "Merging translations into $OUTFILE.\n" unless $QUIET_ARG; +} + + +sub preparation +{ + $PO_DIR = $ARGV[0]; + $FILE = $ARGV[1]; + $OUTFILE = $ARGV[2]; + + &gather_po_files; + &get_translation_database; +} + +# General-purpose code for looking up translations in .po files + +sub po_file2lang +{ + my ($tmp) = @_; + $tmp =~ s/^.*\/(.*)\.po$/$1/; + return $tmp; +} + +sub gather_po_files +{ + if (my $linguas = $ENV{"LINGUAS"}) + { + for my $lang (split / /, $linguas) { + my $po_file = $PO_DIR . "/" . $lang . ".po"; + if (-e $po_file) { + $po_files_by_lang{$lang} = $po_file; + } + } + } + else + { + if (open LINGUAS_FILE, "$PO_DIR/LINGUAS") + { + while () + { + next if /^#/; + + for my $lang (split) + { + chomp ($lang); + my $po_file = $PO_DIR . "/" . $lang . ".po"; + if (-e $po_file) { + $po_files_by_lang{$lang} = $po_file; + } + } + } + + close LINGUAS_FILE; + } + else + { + for my $po_file (glob "$PO_DIR/*.po") { + $po_files_by_lang{po_file2lang($po_file)} = $po_file; + } + } + } +} + +sub get_local_charset +{ + my ($encoding) = @_; + my $alias_file = $ENV{"G_CHARSET_ALIAS"} || "@INTLTOOL_LIBDIR@/charset.alias"; + + # seek character encoding aliases in charset.alias (glib) + + if (open CHARSET_ALIAS, $alias_file) + { + while () + { + next if /^\#/; + return $1 if (/^\s*([-._a-zA-Z0-9]+)\s+$encoding\b/i) + } + + close CHARSET_ALIAS; + } + + # if not found, return input string + + return $encoding; +} + +sub get_po_encoding +{ + my ($in_po_file) = @_; + my $encoding = ""; + + open IN_PO_FILE, $in_po_file or die; + while () + { + ## example: "Content-Type: text/plain; charset=ISO-8859-1\n" + if (/Content-Type\:.*charset=([-a-zA-Z0-9]+)\\n/) + { + $encoding = $1; + last; + } + } + close IN_PO_FILE; + + if (!$encoding) + { + print STDERR "Warning: no encoding found in $in_po_file. Assuming ISO-8859-1\n" unless $QUIET_ARG; + $encoding = "ISO-8859-1"; + } + + system ("$iconv -f $encoding -t UTF-8 <$devnull 2>$devnull"); + if ($?) { + $encoding = get_local_charset($encoding); + } + + return $encoding +} + +sub utf8_sanity_check +{ + print STDERR "Warning: option --pass-through has been removed.\n" if $PASS_THROUGH_ARG; + $UTF8_ARG = 1; +} + +sub get_translation_database +{ + if ($cache_file) { + &get_cached_translation_database; + } else { + &create_translation_database; + } +} + +sub get_newest_po_age +{ + my $newest_age; + + foreach my $file (values %po_files_by_lang) + { + my $file_age = -M $file; + $newest_age = $file_age if !$newest_age || $file_age < $newest_age; + } + + $newest_age = 0 if !$newest_age; + + return $newest_age; +} + +sub create_cache +{ + print "Generating and caching the translation database\n" unless $QUIET_ARG; + + &create_translation_database; + + open CACHE, ">$cache_file" || die; + print CACHE join "\x01", %translations; + close CACHE; +} + +sub load_cache +{ + print "Found cached translation database\n" unless $QUIET_ARG; + + my $contents; + open CACHE, "<$cache_file" || die; + { + local $/; + $contents = ; + } + close CACHE; + %translations = split "\x01", $contents; +} + +sub get_cached_translation_database +{ + my $cache_file_age = -M $cache_file; + if (defined $cache_file_age) + { + if ($cache_file_age <= &get_newest_po_age) + { + &load_cache; + return; + } + print "Found too-old cached translation database\n" unless $QUIET_ARG; + } + + &create_cache; +} + +sub create_translation_database +{ + for my $lang (keys %po_files_by_lang) + { + my $po_file = $po_files_by_lang{$lang}; + + if ($UTF8_ARG) + { + my $encoding = get_po_encoding ($po_file); + + if (lc $encoding eq "utf-8") + { + open PO_FILE, "<$po_file"; + } + else + { + print "NOTICE: $po_file is not in UTF-8 but $encoding, converting...\n" unless $QUIET_ARG;; + + open PO_FILE, "$iconv -f $encoding -t UTF-8 $po_file|"; + } + } + else + { + open PO_FILE, "<$po_file"; + } + + my $nextfuzzy = 0; + my $inmsgid = 0; + my $inmsgstr = 0; + my $msgid = ""; + my $msgstr = ""; + + while () + { + $nextfuzzy = 1 if /^#, fuzzy/; + + if (/^msgid "((\\.|[^\\]+)*)"/ ) + { + $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; + $msgid = ""; + $msgstr = ""; + + if ($nextfuzzy) { + $inmsgid = 0; + } else { + $msgid = unescape_po_string($1); + $inmsgid = 1; + } + $inmsgstr = 0; + $nextfuzzy = 0; + } + + if (/^msgstr "((\\.|[^\\]+)*)"/) + { + $msgstr = unescape_po_string($1); + $inmsgstr = 1; + $inmsgid = 0; + } + + if (/^"((\\.|[^\\]+)*)"/) + { + $msgid .= unescape_po_string($1) if $inmsgid; + $msgstr .= unescape_po_string($1) if $inmsgstr; + } + } + $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; + } +} + +sub finalize +{ +} + +sub unescape_one_sequence +{ + my ($sequence) = @_; + + return "\\" if $sequence eq "\\\\"; + return "\"" if $sequence eq "\\\""; + return "\n" if $sequence eq "\\n"; + return "\r" if $sequence eq "\\r"; + return "\t" if $sequence eq "\\t"; + return "\b" if $sequence eq "\\b"; + return "\f" if $sequence eq "\\f"; + return "\a" if $sequence eq "\\a"; + return chr(11) if $sequence eq "\\v"; # vertical tab, see ascii(7) + + return chr(hex($1)) if ($sequence =~ /\\x([0-9a-fA-F]{2})/); + return chr(oct($1)) if ($sequence =~ /\\([0-7]{3})/); + + # FIXME: Is \0 supported as well? Kenneth and Rodney don't want it, see bug #48489 + + return $sequence; +} + +sub unescape_po_string +{ + my ($string) = @_; + + $string =~ s/(\\x[0-9a-fA-F]{2}|\\[0-7]{3}|\\.)/unescape_one_sequence($1)/eg; + + return $string; +} + +sub entity_decode +{ + local ($_) = @_; + + s/'/'/g; # ' + s/"/"/g; # " + s/<//g; + s/&/&/g; + + return $_; +} + +# entity_encode: (string) +# +# Encode the given string to XML format (encode '<' etc). + +sub entity_encode +{ + my ($pre_encoded) = @_; + + my @list_of_chars = unpack ('C*', $pre_encoded); + + # with UTF-8 we only encode minimalistic + return join ('', map (&entity_encode_int_minimalist, @list_of_chars)); +} + +sub entity_encode_int_minimalist +{ + return """ if $_ == 34; + return "&" if $_ == 38; + return "'" if $_ == 39; + return "<" if $_ == 60; + return ">" if $_ == 62; + return chr $_; +} + +sub entity_encoded_translation +{ + my ($lang, $string) = @_; + + my $translation = $translations{$lang, $string}; + return $string if !$translation; + return entity_encode ($translation); +} + +## XML (bonobo-activation specific) merge code + +sub ba_merge_translations +{ + my $source; + + { + local $/; # slurp mode + open INPUT, "<$FILE" or die "can't open $FILE: $!"; + $source = ; + close INPUT; + } + + open OUTPUT, ">$OUTFILE" or die "can't open $OUTFILE: $!"; + # Binmode so that selftest works ok if using a native Win32 Perl... + binmode (OUTPUT) if $^O eq 'MSWin32'; + + while ($source =~ s|^(.*?)([ \t]*<\s*$w+\s+($w+\s*=\s*"$q"\s*)+/?>)([ \t]*\n)?||s) + { + print OUTPUT $1; + + my $node = $2 . "\n"; + + my @strings = (); + $_ = $node; + while (s/(\s)_($w+\s*=\s*"($q)")/$1$2/s) { + push @strings, entity_decode($3); + } + print OUTPUT; + + my %langs; + for my $string (@strings) + { + for my $lang (keys %po_files_by_lang) + { + $langs{$lang} = 1 if $translations{$lang, $string}; + } + } + + for my $lang (sort keys %langs) + { + $_ = $node; + s/(\sname\s*=\s*)"($q)"/$1"$2-$lang"/s; + s/(\s)_($w+\s*=\s*")($q)"/$1 . $2 . entity_encoded_translation($lang, $3) . '"'/seg; + print OUTPUT; + } + } + + print OUTPUT $source; + + close OUTPUT; +} + + +## XML (non-bonobo-activation) merge code + + +# Process tag attributes +# Only parameter is a HASH containing attributes -> values mapping +sub getAttributeString +{ + my $sub = shift; + my $do_translate = shift || 0; + my $language = shift || ""; + my $result = ""; + my $translate = shift; + foreach my $e (reverse(sort(keys %{ $sub }))) { + my $key = $e; + my $string = $sub->{$e}; + my $quote = '"'; + + $string =~ s/^[\s]+//; + $string =~ s/[\s]+$//; + + if ($string =~ /^'.*'$/) + { + $quote = "'"; + } + $string =~ s/^['"]//g; + $string =~ s/['"]$//g; + + if ($do_translate && $key =~ /^_/) { + $key =~ s|^_||g; + if ($language) { + # Handle translation + my $decode_string = entity_decode($string); + my $translation = $translations{$language, $decode_string}; + if ($translation) { + $translation = entity_encode($translation); + $string = $translation; + } + $$translate = 2; + } else { + $$translate = 2 if ($translate && (!$$translate)); # watch not to "overwrite" $translate + } + } + + $result .= " $key=$quote$string$quote"; + } + return $result; +} + +# Returns a translatable string from XML node, it works on contents of every node in XML::Parser tree +sub getXMLstring +{ + my $ref = shift; + my $spacepreserve = shift || 0; + my @list = @{ $ref }; + my $result = ""; + + my $count = scalar(@list); + my $attrs = $list[0]; + my $index = 1; + + $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)); + $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/)); + + while ($index < $count) { + my $type = $list[$index]; + my $content = $list[$index+1]; + if (! $type ) { + # We've got CDATA + if ($content) { + # lets strip the whitespace here, and *ONLY* here + $content =~ s/\s+/ /gs if (!$spacepreserve); + $result .= $content; + } + } elsif ( "$type" ne "1" ) { + # We've got another element + $result .= "<$type"; + $result .= getAttributeString(@{$content}[0], 0); # no nested translatable elements + if ($content) { + my $subresult = getXMLstring($content, $spacepreserve); + if ($subresult) { + $result .= ">".$subresult . ""; + } else { + $result .= "/>"; + } + } else { + $result .= "/>"; + } + } + $index += 2; + } + return $result; +} + +# Translate list of nodes if necessary +sub translate_subnodes +{ + my $fh = shift; + my $content = shift; + my $language = shift || ""; + my $singlelang = shift || 0; + my $spacepreserve = shift || 0; + + my @nodes = @{ $content }; + + my $count = scalar(@nodes); + my $index = 0; + while ($index < $count) { + my $type = $nodes[$index]; + my $rest = $nodes[$index+1]; + if ($singlelang) { + my $oldMO = $MULTIPLE_OUTPUT; + $MULTIPLE_OUTPUT = 1; + traverse($fh, $type, $rest, $language, $spacepreserve); + $MULTIPLE_OUTPUT = $oldMO; + } else { + traverse($fh, $type, $rest, $language, $spacepreserve); + } + $index += 2; + } +} + +sub isWellFormedXmlFragment +{ + my $ret = eval 'require XML::Parser'; + if(!$ret) { + die "You must have XML::Parser installed to run $0\n\n"; + } + + my $fragment = shift; + return 0 if (!$fragment); + + $fragment = "$fragment"; + my $xp = new XML::Parser(Style => 'Tree'); + my $tree = 0; + eval { $tree = $xp->parse($fragment); }; + return $tree; +} + +sub traverse +{ + my $fh = shift; + my $nodename = shift; + my $content = shift; + my $language = shift || ""; + my $spacepreserve = shift || 0; + + if (!$nodename) { + if ($content =~ /^[\s]*$/) { + $leading_space .= $content; + } + print $fh $content; + } else { + # element + my @all = @{ $content }; + my $attrs = shift @all; + my $translate = 0; + my $outattr = getAttributeString($attrs, 1, $language, \$translate); + + if ($nodename =~ /^_/) { + $translate = 1; + $nodename =~ s/^_//; + } + my $lookup = ''; + + $spacepreserve = 0 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?default["']?$/)); + $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)); + + print $fh "<$nodename", $outattr; + if ($translate) { + $lookup = getXMLstring($content, $spacepreserve); + if (!$spacepreserve) { + $lookup =~ s/^\s+//s; + $lookup =~ s/\s+$//s; + } + + if ($lookup || $translate == 2) { + my $translation = $translations{$language, $lookup} if isWellFormedXmlFragment($translations{$language, $lookup}); + if ($MULTIPLE_OUTPUT && ($translation || $translate == 2)) { + $translation = $lookup if (!$translation); + print $fh " xml:lang=\"", $language, "\"" if $language; + print $fh ">"; + if ($translate == 2) { + translate_subnodes($fh, \@all, $language, 1, $spacepreserve); + } else { + print $fh $translation; + } + print $fh ""; + + return; # this means there will be no same translation with xml:lang="$language"... + # if we want them both, just remove this "return" + } else { + print $fh ">"; + if ($translate == 2) { + translate_subnodes($fh, \@all, $language, 1, $spacepreserve); + } else { + print $fh $lookup; + } + print $fh ""; + } + } else { + print $fh "/>"; + } + + for my $lang (sort keys %po_files_by_lang) { + if ($MULTIPLE_OUTPUT && $lang ne "$language") { + next; + } + if ($lang) { + # Handle translation + # + my $translate = 0; + my $localattrs = getAttributeString($attrs, 1, $lang, \$translate); + my $translation = $translations{$lang, $lookup} if isWellFormedXmlFragment($translations{$lang, $lookup}); + if ($translate && !$translation) { + $translation = $lookup; + } + + if ($translation || $translate) { + print $fh "\n"; + $leading_space =~ s/.*\n//g; + print $fh $leading_space; + print $fh "<", $nodename, " xml:lang=\"", $lang, "\"", $localattrs, ">"; + if ($translate == 2) { + translate_subnodes($fh, \@all, $lang, 1, $spacepreserve); + } else { + print $fh $translation; + } + print $fh ""; + } + } + } + + } else { + my $count = scalar(@all); + if ($count > 0) { + print $fh ">"; + my $index = 0; + while ($index < $count) { + my $type = $all[$index]; + my $rest = $all[$index+1]; + traverse($fh, $type, $rest, $language, $spacepreserve); + $index += 2; + } + print $fh ""; + } else { + print $fh "/>"; + } + } + } +} + +sub intltool_tree_comment +{ + my $expat = shift; + my $data = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + push @$clist, 1 => $data; +} + +sub intltool_tree_cdatastart +{ + my $expat = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + push @$clist, 0 => $expat->original_string(); +} + +sub intltool_tree_cdataend +{ + my $expat = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + $clist->[$pos] .= $expat->original_string(); +} + +sub intltool_tree_char +{ + my $expat = shift; + my $text = shift; + my $clist = $expat->{Curlist}; + my $pos = $#$clist; + + # Use original_string so that we retain escaped entities + # in CDATA sections. + # + if ($pos > 0 and $clist->[$pos - 1] eq '0') { + $clist->[$pos] .= $expat->original_string(); + } else { + push @$clist, 0 => $expat->original_string(); + } +} + +sub intltool_tree_start +{ + my $expat = shift; + my $tag = shift; + my @origlist = (); + + # Use original_string so that we retain escaped entities + # in attribute values. We must convert the string to an + # @origlist array to conform to the structure of the Tree + # Style. + # + my @original_array = split /\x/, $expat->original_string(); + my $source = $expat->original_string(); + + # Remove leading tag. + # + $source =~ s|^\s*<\s*(\S+)||s; + + # Grab attribute key/value pairs and push onto @origlist array. + # + while ($source) + { + if ($source =~ /^\s*([\w:-]+)\s*[=]\s*["]/) + { + $source =~ s|^\s*([\w:-]+)\s*[=]\s*["]([^"]*)["]||s; + push @origlist, $1; + push @origlist, '"' . $2 . '"'; + } + elsif ($source =~ /^\s*([\w:-]+)\s*[=]\s*[']/) + { + $source =~ s|^\s*([\w:-]+)\s*[=]\s*[']([^']*)[']||s; + push @origlist, $1; + push @origlist, "'" . $2 . "'"; + } + else + { + last; + } + } + + my $ol = [ { @origlist } ]; + + push @{ $expat->{Lists} }, $expat->{Curlist}; + push @{ $expat->{Curlist} }, $tag => $ol; + $expat->{Curlist} = $ol; +} + +sub readXml +{ + my $filename = shift || return; + if(!-f $filename) { + die "ERROR Cannot find filename: $filename\n"; + } + + my $ret = eval 'require XML::Parser'; + if(!$ret) { + die "You must have XML::Parser installed to run $0\n\n"; + } + my $xp = new XML::Parser(Style => 'Tree'); + $xp->setHandlers(Char => \&intltool_tree_char); + $xp->setHandlers(Start => \&intltool_tree_start); + $xp->setHandlers(CdataStart => \&intltool_tree_cdatastart); + $xp->setHandlers(CdataEnd => \&intltool_tree_cdataend); + my $tree = $xp->parsefile($filename); + +# Hello thereHowdydo +# would be: +# [foo, [{}, head, [{id => "a"}, 0, "Hello ", em, [{}, 0, "there"]], bar, [{}, +# 0, "Howdy", ref, [{}]], 0, "do" ] ] + + return $tree; +} + +sub print_header +{ + my $infile = shift; + my $fh = shift; + my $source; + + if(!-f $infile) { + die "ERROR Cannot find filename: $infile\n"; + } + + print $fh qq{\n}; + { + local $/; + open DOCINPUT, "<${FILE}" or die; + $source = ; + close DOCINPUT; + } + if ($source =~ /()/s) + { + print $fh "$1\n"; + } + elsif ($source =~ /(]*>)/s) + { + print $fh "$1\n"; + } +} + +sub parseTree +{ + my $fh = shift; + my $ref = shift; + my $language = shift || ""; + + my $name = shift @{ $ref }; + my $cont = shift @{ $ref }; + + while (!$name || "$name" eq "1") { + $name = shift @{ $ref }; + $cont = shift @{ $ref }; + } + + my $spacepreserve = 0; + my $attrs = @{$cont}[0]; + $spacepreserve = 1 if ((exists $attrs->{"xml:space"}) && ($attrs->{"xml:space"} =~ /^["']?preserve["']?$/)); + + traverse($fh, $name, $cont, $language, $spacepreserve); +} + +sub xml_merge_output +{ + my $source; + + if ($MULTIPLE_OUTPUT) { + for my $lang (sort keys %po_files_by_lang) { + if ( ! -d $lang ) { + mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n"; + } + open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n"; + binmode (OUTPUT) if $^O eq 'MSWin32'; + my $tree = readXml($FILE); + print_header($FILE, \*OUTPUT); + parseTree(\*OUTPUT, $tree, $lang); + close OUTPUT; + print "CREATED $lang/$OUTFILE\n" unless $QUIET_ARG; + } + if ( ! -d "C" ) { + mkdir "C" or -d "C" or die "Cannot create subdirectory C: $!\n"; + } + open OUTPUT, ">C/$OUTFILE" or die "Cannot open C/$OUTFILE: $!\n"; + binmode (OUTPUT) if $^O eq 'MSWin32'; + my $tree = readXml($FILE); + print_header($FILE, \*OUTPUT); + parseTree(\*OUTPUT, $tree); + close OUTPUT; + print "CREATED C/$OUTFILE\n" unless $QUIET_ARG; + } else { + open OUTPUT, ">$OUTFILE" or die "Cannot open $OUTFILE: $!\n"; + binmode (OUTPUT) if $^O eq 'MSWin32'; + my $tree = readXml($FILE); + print_header($FILE, \*OUTPUT); + parseTree(\*OUTPUT, $tree); + close OUTPUT; + print "CREATED $OUTFILE\n" unless $QUIET_ARG; + } +} + +sub keys_merge_translation +{ + my ($lang) = @_; + + if ( ! -d $lang && $MULTIPLE_OUTPUT) + { + mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n"; + } + + open INPUT, "<${FILE}" or die "Cannot open ${FILE}: $!\n"; + open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n"; + binmode (OUTPUT) if $^O eq 'MSWin32'; + + while () + { + if (s/^(\s*)_(\w+=(.*))/$1$2/) + { + my $string = $3; + + if (!$MULTIPLE_OUTPUT) + { + print OUTPUT; + + my $non_translated_line = $_; + + for my $lang (sort keys %po_files_by_lang) + { + my $translation = $translations{$lang, $string}; + next if !$translation; + + $_ = $non_translated_line; + s/(\w+)=.*/[$lang]$1=$translation/; + print OUTPUT; + } + } + else + { + my $non_translated_line = $_; + my $translation = $translations{$lang, $string}; + $translation = $string if !$translation; + + $_ = $non_translated_line; + s/(\w+)=.*/$1=$translation/; + print OUTPUT; + } + } + else + { + print OUTPUT; + } + } + + close OUTPUT; + close INPUT; + + print "CREATED $lang/$OUTFILE\n" unless $QUIET_ARG; +} + +sub keys_merge_translations +{ + if ($MULTIPLE_OUTPUT) + { + for my $lang (sort keys %po_files_by_lang) + { + keys_merge_translation ($lang); + } + keys_merge_translation ("C"); + } + else + { + keys_merge_translation ("."); + } +} + +sub desktop_merge_translations +{ + open INPUT, "<${FILE}" or die; + open OUTPUT, ">${OUTFILE}" or die; + binmode (OUTPUT) if $^O eq 'MSWin32'; + + while () + { + if (s/^(\s*)_(\w+=(.*))/$1$2/) + { + my $string = $3; + + print OUTPUT; + + my $non_translated_line = $_; + + for my $lang (sort keys %po_files_by_lang) + { + my $translation = $translations{$lang, $string}; + next if !$translation; + + $_ = $non_translated_line; + s/(\w+)=.*/${1}[$lang]=$translation/; + print OUTPUT; + } + } + else + { + print OUTPUT; + } + } + + close OUTPUT; + close INPUT; +} + +sub schemas_merge_translations +{ + my $source; + + { + local $/; # slurp mode + open INPUT, "<$FILE" or die "can't open $FILE: $!"; + $source = ; + close INPUT; + } + + open OUTPUT, ">$OUTFILE" or die; + binmode (OUTPUT) if $^O eq 'MSWin32'; + + # FIXME: support attribute translations + + # Empty nodes never need translation, so unmark all of them. + # For example, <_foo/> is just replaced by . + $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; + + while ($source =~ s/ + (.*?) + (\s+)((\s*) + (\s*(?:\s*)?(.*?)\s*<\/default>)?(\s*) + (\s*(?:\s*)?(.*?)\s*<\/short>)?(\s*) + (\s*(?:\s*)?(.*?)\s*<\/long>)?(\s*) + <\/locale>) + //sx) + { + print OUTPUT $1; + + my $locale_start_spaces = $2 ? $2 : ''; + my $default_spaces = $4 ? $4 : ''; + my $short_spaces = $7 ? $7 : ''; + my $long_spaces = $10 ? $10 : ''; + my $locale_end_spaces = $13 ? $13 : ''; + my $c_default_block = $3 ? $3 : ''; + my $default_string = $6 ? $6 : ''; + my $short_string = $9 ? $9 : ''; + my $long_string = $12 ? $12 : ''; + + print OUTPUT "$locale_start_spaces$c_default_block"; + + $default_string =~ s/\s+/ /g; + $default_string = entity_decode($default_string); + $short_string =~ s/\s+/ /g; + $short_string = entity_decode($short_string); + $long_string =~ s/\s+/ /g; + $long_string = entity_decode($long_string); + + for my $lang (sort keys %po_files_by_lang) + { + my $default_translation = $translations{$lang, $default_string}; + my $short_translation = $translations{$lang, $short_string}; + my $long_translation = $translations{$lang, $long_string}; + + next if (!$default_translation && !$short_translation && + !$long_translation); + + print OUTPUT "\n$locale_start_spaces"; + + print OUTPUT "$default_spaces"; + + if ($default_translation) + { + $default_translation = entity_encode($default_translation); + print OUTPUT "$default_translation"; + } + + print OUTPUT "$short_spaces"; + + if ($short_translation) + { + $short_translation = entity_encode($short_translation); + print OUTPUT "$short_translation"; + } + + print OUTPUT "$long_spaces"; + + if ($long_translation) + { + $long_translation = entity_encode($long_translation); + print OUTPUT "$long_translation"; + } + + print OUTPUT "$locale_end_spaces"; + } + } + + print OUTPUT $source; + + close OUTPUT; +} + +sub rfc822deb_merge_translations +{ + my %encodings = (); + for my $lang (keys %po_files_by_lang) { + $encodings{$lang} = ($UTF8_ARG ? 'UTF-8' : get_po_encoding($po_files_by_lang{$lang})); + } + + my $source; + + $Text::Wrap::huge = 'overflow'; + $Text::Wrap::break = qr/\n|\s(?=\S)/; + + { + local $/; # slurp mode + open INPUT, "<$FILE" or die "can't open $FILE: $!"; + $source = ; + close INPUT; + } + + open OUTPUT, ">${OUTFILE}" or die; + binmode (OUTPUT) if $^O eq 'MSWin32'; + + while ($source =~ /(^|\n+)(_*)([^:\s]+)(:[ \t]*)(.*?)(?=\n[\S\n]|$)/sg) + { + my $sep = $1; + my $non_translated_line = $3.$4; + my $string = $5; + my $underscore = length($2); + next if $underscore eq 0 && $non_translated_line =~ /^#/; + # Remove [] dummy strings + my $stripped = $string; + $stripped =~ s/\[\s[^\[\]]*\],/,/g if $underscore eq 2; + $stripped =~ s/\[\s[^\[\]]*\]$//; + $non_translated_line .= $stripped; + + print OUTPUT $sep.$non_translated_line; + + if ($underscore) + { + my @str_list = rfc822deb_split($underscore, $string); + + for my $lang (sort keys %po_files_by_lang) + { + my $is_translated = 1; + my $str_translated = ''; + my $first = 1; + + for my $str (@str_list) + { + my $translation = $translations{$lang, $str}; + + if (!$translation) + { + $is_translated = 0; + last; + } + + # $translation may also contain [] dummy + # strings, mostly to indicate an empty string + $translation =~ s/\[\s[^\[\]]*\]$//; + + if ($first) + { + if ($underscore eq 2) + { + $str_translated .= $translation; + } + else + { + $str_translated .= + Text::Tabs::expand($translation) . + "\n"; + } + } + else + { + if ($underscore eq 2) + { + $str_translated .= ', ' . $translation; + } + else + { + $str_translated .= Text::Tabs::expand( + Text::Wrap::wrap(' ', ' ', $translation)) . + "\n .\n"; + } + } + $first = 0; + + # To fix some problems with Text::Wrap::wrap + $str_translated =~ s/(\n )+\n/\n .\n/g; + } + next unless $is_translated; + + $str_translated =~ s/\n \.\n$//; + $str_translated =~ s/\s+$//; + + $_ = $non_translated_line; + s/^(\w+):\s*.*/$sep${1}-$lang.$encodings{$lang}: $str_translated/s; + print OUTPUT; + } + } + } + print OUTPUT "\n"; + + close OUTPUT; + close INPUT; +} + +sub rfc822deb_split +{ + # Debian defines a special way to deal with rfc822-style files: + # when a value contain newlines, it consists of + # 1. a short form (first line) + # 2. a long description, all lines begin with a space, + # and paragraphs are separated by a single dot on a line + # This routine returns an array of all paragraphs, and reformat + # them. + # When first argument is 2, the string is a comma separated list of + # values. + my $type = shift; + my $text = shift; + $text =~ s/^[ \t]//mg; + return (split(/, */, $text, 0)) if $type ne 1; + return ($text) if $text !~ /\n/; + + $text =~ s/([^\n]*)\n//; + my @list = ($1); + my $str = ''; + + for my $line (split (/\n/, $text)) + { + chomp $line; + if ($line =~ /^\.\s*$/) + { + # New paragraph + $str =~ s/\s*$//; + push(@list, $str); + $str = ''; + } + elsif ($line =~ /^\s/) + { + # Line which must not be reformatted + $str .= "\n" if length ($str) && $str !~ /\n$/; + $line =~ s/\s+$//; + $str .= $line."\n"; + } + else + { + # Continuation line, remove newline + $str .= " " if length ($str) && $str !~ /\n$/; + $str .= $line; + } + } + + $str =~ s/\s*$//; + push(@list, $str) if length ($str); + + return @list; +} + +sub quoted_translation +{ + my ($xml_mode, $lang, $string) = @_; + + $string = entity_decode($string) if $xml_mode; + $string =~ s/\\\"/\"/g; + + my $translation = $translations{$lang, $string}; + $translation = $string if !$translation; + $translation = entity_encode($translation) if $xml_mode; + $translation =~ s/\"/\\\"/g; + return $translation +} + +sub quoted_merge_translations +{ + my ($xml_mode) = @_; + + if (!$MULTIPLE_OUTPUT) { + print "Quoted only supports Multiple Output.\n"; + exit(1); + } + + for my $lang (sort keys %po_files_by_lang) { + if ( ! -d $lang ) { + mkdir $lang or -d $lang or die "Cannot create subdirectory $lang: $!\n"; + } + open INPUT, "<${FILE}" or die; + open OUTPUT, ">$lang/$OUTFILE" or die "Cannot open $lang/$OUTFILE: $!\n"; + binmode (OUTPUT) if $^O eq 'MSWin32'; + while () + { + s/\"(([^\"]|\\\")*[^\\\"])\"/"\"" . "ed_translation($xml_mode, $lang, $1) . "\""/ge; + print OUTPUT; + } + close OUTPUT; + close INPUT; + } +} diff --git a/intltool-update.in b/intltool-update.in new file mode 100644 index 0000000..2684cc0 --- /dev/null +++ b/intltool-update.in @@ -0,0 +1,1166 @@ +#!@INTLTOOL_PERL@ -w +# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- + +# +# The Intltool Message Updater +# +# Copyright (C) 2000-2003 Free Software Foundation. +# +# Intltool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# version 2 published by the Free Software Foundation. +# +# Intltool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# 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. +# +# Authors: Kenneth Christiansen +# Maciej Stachowiak +# Darin Adler + +## Release information +my $PROGRAM = "intltool-update"; +my $VERSION = "0.37.1"; +my $PACKAGE = "intltool"; + +## Loaded modules +use strict; +use Getopt::Long; +use Cwd; +use File::Copy; +use File::Find; + +## Scalars used by the option stuff +my $HELP_ARG = 0; +my $VERSION_ARG = 0; +my $DIST_ARG = 0; +my $POT_ARG = 0; +my $HEADERS_ARG = 0; +my $MAINTAIN_ARG = 0; +my $REPORT_ARG = 0; +my $VERBOSE = 0; +my $GETTEXT_PACKAGE = ""; +my $OUTPUT_FILE = ""; + +my @languages; +my %varhash = (); +my %po_files_by_lang = (); + +# Regular expressions to categorize file types. +# FIXME: Please check if the following is correct + +my $xml_support = +"xml(?:\\.in)*|". # http://www.w3.org/XML/ (Note: .in is not required) +"ui|". # Bonobo specific - User Interface desc. files +"lang|". # ? +"glade2?(?:\\.in)*|". # Glade specific - User Interface desc. files (Note: .in is not required) +"scm(?:\\.in)*|". # ? (Note: .in is not required) +"oaf(?:\\.in)+|". # DEPRECATED: Replaces by Bonobo .server files +"etspec|". # ? +"server(?:\\.in)+|". # Bonobo specific +"sheet(?:\\.in)+|". # ? +"schemas(?:\\.in)+|". # GConf specific +"pong(?:\\.in)+|". # DEPRECATED: PONG is not used [by GNOME] any longer. +"kbd(?:\\.in)+|". # GOK specific. +"policy(?:\\.in)+"; # PolicyKit files + +my $ini_support = +"icon(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec +"desktop(?:\\.in)+|". # http://www.freedesktop.org/Standards/menu-spec +"caves(?:\\.in)+|". # GNOME Games specific +"directory(?:\\.in)+|". # http://www.freedesktop.org/Standards/menu-spec +"soundlist(?:\\.in)+|". # GNOME specific +"keys(?:\\.in)+|". # GNOME Mime database specific +"theme(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec +"service(?:\\.in)+"; # DBus specific + +my $buildin_gettext_support = +"c|y|cs|cc|cpp|c\\+\\+|h|hh|gob|py"; + +## Always flush buffer when printing +$| = 1; + +## Sometimes the source tree will be rooted somewhere else. +my $SRCDIR = $ENV{"srcdir"} || "."; +my $POTFILES_in; + +$POTFILES_in = "<$SRCDIR/POTFILES.in"; + +my $devnull = ($^O eq 'MSWin32' ? 'NUL:' : '/dev/null'); + +## Handle options +GetOptions +( + "help" => \$HELP_ARG, + "version" => \$VERSION_ARG, + "dist|d" => \$DIST_ARG, + "pot|p" => \$POT_ARG, + "headers|s" => \$HEADERS_ARG, + "maintain|m" => \$MAINTAIN_ARG, + "report|r" => \$REPORT_ARG, + "verbose|x" => \$VERBOSE, + "gettext-package|g=s" => \$GETTEXT_PACKAGE, + "output-file|o=s" => \$OUTPUT_FILE, + ) or &Console_WriteError_InvalidOption; + +&Console_Write_IntltoolHelp if $HELP_ARG; +&Console_Write_IntltoolVersion if $VERSION_ARG; + +my $arg_count = ($DIST_ARG > 0) + + ($POT_ARG > 0) + + ($HEADERS_ARG > 0) + + ($MAINTAIN_ARG > 0) + + ($REPORT_ARG > 0); + +&Console_Write_IntltoolHelp if $arg_count > 1; + +my $PKGNAME = FindPackageName (); + +# --version and --help don't require a module name +my $MODULE = $GETTEXT_PACKAGE || $PKGNAME || "unknown"; + +if ($POT_ARG) +{ + &GenerateHeaders; + &GeneratePOTemplate; +} +elsif ($HEADERS_ARG) +{ + &GenerateHeaders; +} +elsif ($MAINTAIN_ARG) +{ + &FindLeftoutFiles; +} +elsif ($REPORT_ARG) +{ + &GenerateHeaders; + &GeneratePOTemplate; + &Console_Write_CoverageReport; +} +elsif ((defined $ARGV[0]) && $ARGV[0] =~ /^[a-z]/) +{ + my $lang = $ARGV[0]; + + ## Report error if the language file supplied + ## to the command line is non-existent + &Console_WriteError_NotExisting("$SRCDIR/$lang.po") + if ! -s "$SRCDIR/$lang.po"; + + if (!$DIST_ARG) + { + print "Working, please wait..." if $VERBOSE; + &GenerateHeaders; + &GeneratePOTemplate; + } + &POFile_Update ($lang, $OUTPUT_FILE); + &Console_Write_TranslationStatus ($lang, $OUTPUT_FILE); +} +else +{ + &Console_Write_IntltoolHelp; +} + +exit; + +######### + +sub Console_Write_IntltoolVersion +{ + print <<_EOF_; +${PROGRAM} (${PACKAGE}) $VERSION +Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler. + +Copyright (C) 2000-2003 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +_EOF_ + exit; +} + +sub Console_Write_IntltoolHelp +{ + print <<_EOF_; +Usage: ${PROGRAM} [OPTION]... LANGCODE +Updates PO template files and merge them with the translations. + +Mode of operation (only one is allowed): + -p, --pot generate the PO template only + -s, --headers generate the header files in POTFILES.in + -m, --maintain search for left out files from POTFILES.in + -r, --report display a status report for the module + -d, --dist merge LANGCODE.po with existing PO template + +Extra options: + -g, --gettext-package=NAME override PO template name, useful with --pot + -o, --output-file=FILE write merged translation to FILE + -x, --verbose display lots of feedback + --help display this help and exit + --version output version information and exit + +Examples of use: +${PROGRAM} --pot just create a new PO template +${PROGRAM} xy create new PO template and merge xy.po with it + +Report bugs to http://bugzilla.gnome.org/ (product name "$PACKAGE") +or send email to . +_EOF_ + exit; +} + +sub echo_n +{ + my $str = shift; + my $ret = `echo "$str"`; + + $ret =~ s/\n$//; # do we need the "s" flag? + + return $ret; +} + +sub POFile_DetermineType ($) +{ + my $type = $_; + my $gettext_type; + + my $xml_regex = "(?:" . $xml_support . ")"; + my $ini_regex = "(?:" . $ini_support . ")"; + my $buildin_regex = "(?:" . $buildin_gettext_support . ")"; + + if ($type =~ /\[type: gettext\/([^\]].*)]/) + { + $gettext_type=$1; + } + elsif ($type =~ /schemas(\.in)+$/) + { + $gettext_type="schemas"; + } + elsif ($type =~ /glade2?(\.in)*$/) + { + $gettext_type="glade"; + } + elsif ($type =~ /scm(\.in)*$/) + { + $gettext_type="scheme"; + } + elsif ($type =~ /keys(\.in)+$/) + { + $gettext_type="keys"; + } + + # bucket types + + elsif ($type =~ /$xml_regex$/) + { + $gettext_type="xml"; + } + elsif ($type =~ /$ini_regex$/) + { + $gettext_type="ini"; + } + elsif ($type =~ /$buildin_regex$/) + { + $gettext_type="buildin"; + } + else + { + $gettext_type="unknown"; + } + + return "gettext\/$gettext_type"; +} + +sub TextFile_DetermineEncoding ($) +{ + my $gettext_code="ASCII"; # All files are ASCII by default + my $filetype=`file $_ | cut -d ' ' -f 2`; + + if ($? eq "0") + { + if ($filetype =~ /^(ISO|UTF)/) + { + chomp ($gettext_code = $filetype); + } + elsif ($filetype =~ /^XML/) + { + $gettext_code="UTF-8"; # We asume that .glade and other .xml files are UTF-8 + } + } + + return $gettext_code; +} + +sub isNotValidMissing +{ + my ($file) = @_; + + return if $file =~ /^\{arch\}\/.*$/; + return if $file =~ /^$varhash{"PACKAGE"}-$varhash{"VERSION"}\/.*$/; +} + +sub FindLeftoutFiles +{ + my (@buf_i18n_plain, + @buf_i18n_xml, + @buf_i18n_xml_unmarked, + @buf_i18n_ini, + @buf_potfiles, + @buf_potfiles_ignore, + @buf_allfiles, + @buf_allfiles_sorted, + @buf_potfiles_sorted, + @buf_potfiles_ignore_sorted + ); + + ## Search and find all translatable files + find sub { + push @buf_i18n_plain, "$File::Find::name" if /\.($buildin_gettext_support)$/; + push @buf_i18n_xml, "$File::Find::name" if /\.($xml_support)$/; + push @buf_i18n_ini, "$File::Find::name" if /\.($ini_support)$/; + push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/; + }, ".."; + find sub { + push @buf_i18n_plain, "$File::Find::name" if /\.($buildin_gettext_support)$/; + push @buf_i18n_xml, "$File::Find::name" if /\.($xml_support)$/; + push @buf_i18n_ini, "$File::Find::name" if /\.($ini_support)$/; + push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/; + }, "$SRCDIR/.." if "$SRCDIR" ne "."; + + open POTFILES, $POTFILES_in or die "$PROGRAM: there's no POTFILES.in!\n"; + @buf_potfiles = grep !/^(#|\s*$)/, ; + close POTFILES; + + foreach (@buf_potfiles) { + s/^\[.*]\s*//; + } + + print "Searching for missing translatable files...\n" if $VERBOSE; + + ## Check if we should ignore some found files, when + ## comparing with POTFILES.in + foreach my $ignore ("POTFILES.skip", "POTFILES.ignore") + { + (-s "$SRCDIR/$ignore") or next; + + if ("$ignore" eq "POTFILES.ignore") + { + print "The usage of POTFILES.ignore is deprecated. Please consider moving the\n". + "content of this file to POTFILES.skip.\n"; + } + + print "Found $ignore: Ignoring files...\n" if $VERBOSE; + open FILE, "<$SRCDIR/$ignore" or die "ERROR: Failed to open $SRCDIR/$ignore!\n"; + + while () + { + push @buf_potfiles_ignore, $_ unless /^(#|\s*$)/; + } + close FILE; + + @buf_potfiles_ignore_sorted = sort (@buf_potfiles_ignore); + } + + foreach my $file (@buf_i18n_plain) + { + my $in_comment = 0; + my $in_macro = 0; + + open FILE, "<$file"; + while () + { + # Handle continued multi-line comment. + if ($in_comment) + { + next unless s-.*\*/--; + $in_comment = 0; + } + + # Handle continued macro. + if ($in_macro) + { + $in_macro = 0 unless /\\$/; + next; + } + + # Handle start of macro (or any preprocessor directive). + if (/^\s*\#/) + { + $in_macro = 1 if /^([^\\]|\\.)*\\$/; + next; + } + + # Handle comments and quoted text. + while (m-(/\*|//|\'|\")-) # \' and \" keep emacs perl mode happy + { + my $match = $1; + if ($match eq "/*") + { + if (!s-/\*.*?\*/--) + { + s-/\*.*--; + $in_comment = 1; + } + } + elsif ($match eq "//") + { + s-//.*--; + } + else # ' or " + { + if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-) + { + warn "mismatched quotes at line $. in $file\n"; + s-$match.*--; + } + } + } + + if (/\w\.GetString *\(QUOTEDTEXT/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + ## Remove the first 3 chars and add newline + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + + ## C_ N_ Q_ and _ are the macros defined in gi8n.h + if (/[CNQ]?_ *\(QUOTEDTEXT/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + ## Remove the first 3 chars and add newline + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_xml) + { + open FILE, "<$file"; + + while () + { + # FIXME: share the pattern matching code with intltool-extract + if (/\s_[-A-Za-z0-9._:]+\s*=\s*\"([^"]+)\"/ || /<_[^>]+>/ || /translatable=\"yes\"/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_ini) + { + open FILE, "<$file"; + while () + { + if (/_(.*)=/) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + last; + } + } + close FILE; + } + + foreach my $file (@buf_i18n_xml_unmarked) + { + if (defined isNotValidMissing (unpack("x3 A*", $file))) { + push @buf_allfiles, unpack("x3 A*", $file) . "\n"; + } + } + + + @buf_allfiles_sorted = sort (@buf_allfiles); + @buf_potfiles_sorted = sort (@buf_potfiles); + + my %in2; + foreach (@buf_potfiles_sorted) + { + s#^$SRCDIR/../##; + s#^$SRCDIR/##; + $in2{$_} = 1; + } + + foreach (@buf_potfiles_ignore_sorted) + { + s#^$SRCDIR/../##; + s#^$SRCDIR/##; + $in2{$_} = 1; + } + + my @result; + + foreach (@buf_allfiles_sorted) + { + my $dummy = $_; + my $srcdir = $SRCDIR; + + $srcdir =~ s#^../##; + $dummy =~ s#^$srcdir/../##; + $dummy =~ s#^$srcdir/##; + $dummy =~ s#_build/##; + if (!exists($in2{$dummy})) + { + push @result, $dummy + } + } + + my @buf_potfiles_notexist; + + foreach (@buf_potfiles_sorted) + { + chomp (my $dummy = $_); + if ("$dummy" ne "" and !(-f "$SRCDIR/../$dummy" or -f "../$dummy")) + { + push @buf_potfiles_notexist, $_; + } + } + + ## Save file with information about the files missing + ## if any, and give information about this procedure. + if (@result + @buf_potfiles_notexist > 0) + { + if (@result) + { + print "\n" if $VERBOSE; + unlink "missing"; + open OUT, ">missing"; + print OUT @result; + close OUT; + warn "\e[1mThe following files contain translations and are currently not in use. Please\e[0m\n". + "\e[1mconsider adding these to the POTFILES.in file, located in the po/ directory.\e[0m\n\n"; + print STDERR @result, "\n"; + warn "If some of these files are left out on purpose then please add them to\n". + "POTFILES.skip instead of POTFILES.in. A file \e[1m'missing'\e[0m containing this list\n". + "of left out files has been written in the current directory.\n"; + } + if (@buf_potfiles_notexist) + { + unlink "notexist"; + open OUT, ">notexist"; + print OUT @buf_potfiles_notexist; + close OUT; + warn "\n" if ($VERBOSE or @result); + warn "\e[1mThe following files do not exist anymore:\e[0m\n\n"; + warn @buf_potfiles_notexist, "\n"; + warn "Please remove them from POTFILES.in. A file \e[1m'notexist'\e[0m\n". + "containing this list of absent files has been written in the current directory.\n"; + } + } + + ## If there is nothing to complain about, notify the user + else { + print "\nAll files containing translations are present in POTFILES.in.\n" if $VERBOSE; + } +} + +sub Console_WriteError_InvalidOption +{ + ## Handle invalid arguments + print STDERR "Try `${PROGRAM} --help' for more information.\n"; + exit 1; +} + +sub isProgramInPath +{ + my ($file) = @_; + # If either a file exists, or when run it returns 0 exit status + return 1 if ((-x $file) or (system("$file --version >$devnull") == 0)); + return 0; +} + +sub isGNUGettextTool +{ + my ($file) = @_; + # Check that we are using GNU gettext tools + if (isProgramInPath ($file)) + { + my $version = `$file --version`; + return 1 if ($version =~ m/.*\(GNU .*\).*/); + } + return 0; +} + +sub GenerateHeaders +{ + my $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} || "intltool-extract"; + + ## Generate the .h header files, so we can allow glade and + ## xml translation support + if (! isProgramInPath ("$EXTRACT")) + { + print STDERR "\n *** The intltool-extract script wasn't found!" + ."\n *** Without it, intltool-update can not generate files.\n"; + exit; + } + else + { + open (FILE, $POTFILES_in) or die "$PROGRAM: POTFILES.in not found.\n"; + + while () + { + chomp; + next if /^\[\s*encoding/; + + ## Find xml files in POTFILES.in and generate the + ## files with help from the extract script + + my $gettext_type= &POFile_DetermineType ($1); + + if (/\.($xml_support|$ini_support)$/ || /^\[/) + { + s/^\[[^\[].*]\s*//; + + my $filename = "../$_"; + + if ($VERBOSE) + { + system ($EXTRACT, "--update", "--srcdir=$SRCDIR", + "--type=$gettext_type", $filename); + } + else + { + system ($EXTRACT, "--update", "--type=$gettext_type", + "--srcdir=$SRCDIR", "--quiet", $filename); + } + } + } + close FILE; + } +} + +# +# Generate .pot file from POTFILES.in +# +sub GeneratePOTemplate +{ + my $XGETTEXT = $ENV{"XGETTEXT"} || "xgettext"; + my $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} || ''; + chomp $XGETTEXT; + + if (! isGNUGettextTool ("$XGETTEXT")) + { + print STDERR " *** GNU xgettext is not found on this system!\n". + " *** Without it, intltool-update can not extract strings.\n"; + exit; + } + + print "Building $MODULE.pot...\n" if $VERBOSE; + + open INFILE, $POTFILES_in; + unlink "POTFILES.in.temp"; + open OUTFILE, ">POTFILES.in.temp" or die("Cannot open POTFILES.in.temp for writing"); + + my $gettext_support_nonascii = 0; + + # checks for GNU gettext >= 0.12 + my $dummy = `$XGETTEXT --version --from-code=UTF-8 >$devnull 2>$devnull`; + if ($? == 0) + { + $gettext_support_nonascii = 1; + } + else + { + # urge everybody to upgrade gettext + print STDERR "WARNING: This version of gettext does not support extracting non-ASCII\n". + " strings. That means you should install a version of gettext\n". + " that supports non-ASCII strings (such as GNU gettext >= 0.12),\n". + " or have to let non-ASCII strings untranslated. (If there is any)\n"; + } + + my $encoding = "ASCII"; + my $forced_gettext_code; + my @temp_headers; + my $encoding_problem_is_reported = 0; + + while () + { + next if (/^#/ or /^\s*$/); + + chomp; + + my $gettext_code; + + if (/^\[\s*encoding:\s*(.*)\s*\]/) + { + $forced_gettext_code=$1; + } + elsif (/\.($xml_support|$ini_support)$/ || /^\[/) + { + s/^\[.*]\s*//; + print OUTFILE "../$_.h\n"; + push @temp_headers, "../$_.h"; + $gettext_code = &TextFile_DetermineEncoding ("../$_.h") if ($gettext_support_nonascii and not defined $forced_gettext_code); + } + else + { + print OUTFILE "$SRCDIR/../$_\n"; + $gettext_code = &TextFile_DetermineEncoding ("$SRCDIR/../$_") if ($gettext_support_nonascii and not defined $forced_gettext_code); + } + + next if (! $gettext_support_nonascii); + + if (defined $forced_gettext_code) + { + $encoding=$forced_gettext_code; + } + elsif (defined $gettext_code and "$encoding" ne "$gettext_code") + { + if ($encoding eq "ASCII") + { + $encoding=$gettext_code; + } + elsif ($gettext_code ne "ASCII") + { + # Only report once because the message is quite long + if (! $encoding_problem_is_reported) + { + print STDERR "WARNING: You should use the same file encoding for all your project files,\n". + " but $PROGRAM thinks that most of the source files are in\n". + " $encoding encoding, while \"$_\" is (likely) in\n". + " $gettext_code encoding. If you are sure that all translatable strings\n". + " are in same encoding (say UTF-8), please \e[1m*prepend*\e[0m the following\n". + " line to POTFILES.in:\n\n". + " [encoding: UTF-8]\n\n". + " and make sure that configure.in/ac checks for $PACKAGE >= 0.27 .\n". + "(such warning message will only be reported once.)\n"; + $encoding_problem_is_reported = 1; + } + } + } + } + + close OUTFILE; + close INFILE; + + unlink "$MODULE.pot"; + my @xgettext_argument=("$XGETTEXT", + "--add-comments", + "--directory\=.", + "--default-domain\=$MODULE", + "--flag\=g_strdup_printf:1:c-format", + "--flag\=g_string_printf:2:c-format", + "--flag\=g_string_append_printf:2:c-format", + "--flag\=g_error_new:3:c-format", + "--flag\=g_set_error:4:c-format", + "--flag\=g_markup_printf_escaped:1:c-format", + "--flag\=g_log:3:c-format", + "--flag\=g_print:1:c-format", + "--flag\=g_printerr:1:c-format", + "--flag\=g_printf:1:c-format", + "--flag\=g_fprintf:2:c-format", + "--flag\=g_sprintf:2:c-format", + "--flag\=g_snprintf:3:c-format", + "--flag\=g_scanner_error:2:c-format", + "--flag\=g_scanner_warn:2:c-format", + "--output\=$MODULE\.pot", + "--files-from\=\.\/POTFILES\.in\.temp"); + my $XGETTEXT_KEYWORDS = &FindPOTKeywords; + push @xgettext_argument, $XGETTEXT_KEYWORDS; + my $MSGID_BUGS_ADDRESS = &FindMakevarsBugAddress; + push @xgettext_argument, "--msgid-bugs-address\=\"$MSGID_BUGS_ADDRESS\"" if $MSGID_BUGS_ADDRESS; + push @xgettext_argument, "--from-code\=$encoding" if ($gettext_support_nonascii); + push @xgettext_argument, $XGETTEXT_ARGS if $XGETTEXT_ARGS; + my $xgettext_command = join ' ', @xgettext_argument; + + # intercept xgettext error message + print "Running $xgettext_command\n" if $VERBOSE; + my $xgettext_error_msg = `$xgettext_command 2>\&1`; + my $command_failed = $?; + + unlink "POTFILES.in.temp"; + + print "Removing generated header (.h) files..." if $VERBOSE; + unlink foreach (@temp_headers); + print "done.\n" if $VERBOSE; + + if (! $command_failed) + { + if (! -e "$MODULE.pot") + { + print "None of the files in POTFILES.in contain strings marked for translation.\n" if $VERBOSE; + } + else + { + print "Wrote $MODULE.pot\n" if $VERBOSE; + } + } + else + { + if ($xgettext_error_msg =~ /--from-code/) + { + # replace non-ASCII error message with a more useful one. + print STDERR "ERROR: xgettext failed to generate PO template file because there is non-ASCII\n". + " string marked for translation. Please make sure that all strings marked\n". + " for translation are in uniform encoding (say UTF-8), then \e[1m*prepend*\e[0m the\n". + " following line to POTFILES.in and rerun $PROGRAM:\n\n". + " [encoding: UTF-8]\n\n"; + } + else + { + print STDERR "$xgettext_error_msg"; + if (-e "$MODULE.pot") + { + # is this possible? + print STDERR "ERROR: xgettext failed but still managed to generate PO template file.\n". + " Please consult error message above if there is any.\n"; + } + else + { + print STDERR "ERROR: xgettext failed to generate PO template file. Please consult\n". + " error message above if there is any.\n"; + } + } + exit (1); + } +} + +sub POFile_Update +{ + -f "$MODULE.pot" or die "$PROGRAM: $MODULE.pot does not exist.\n"; + + my $MSGMERGE = $ENV{"MSGMERGE"} || "msgmerge"; + my ($lang, $outfile) = @_; + + if (! isGNUGettextTool ("$MSGMERGE")) + { + print STDERR " *** GNU msgmerge is not found on this system!\n". + " *** Without it, intltool-update can not extract strings.\n"; + exit; + } + + print "Merging $SRCDIR/$lang.po with $MODULE.pot..." if $VERBOSE; + + my $infile = "$SRCDIR/$lang.po"; + $outfile = "$SRCDIR/$lang.po" if ($outfile eq ""); + + # I think msgmerge won't overwrite old file if merge is not successful + system ("$MSGMERGE", "-o", $outfile, $infile, "$MODULE.pot"); +} + +sub Console_WriteError_NotExisting +{ + my ($file) = @_; + + ## Report error if supplied language file is non-existing + print STDERR "$PROGRAM: $file does not exist!\n"; + print STDERR "Try '$PROGRAM --help' for more information.\n"; + exit; +} + +sub GatherPOFiles +{ + my @po_files = glob ("./*.po"); + + @languages = map (&POFile_GetLanguage, @po_files); + + foreach my $lang (@languages) + { + $po_files_by_lang{$lang} = shift (@po_files); + } +} + +sub POFile_GetLanguage ($) +{ + s/^(.*\/)?(.+)\.po$/$2/; + return $_; +} + +sub Console_Write_TranslationStatus +{ + my ($lang, $output_file) = @_; + my $MSGFMT = $ENV{"MSGFMT"} || "msgfmt"; + + if (! isGNUGettextTool ("$MSGFMT")) + { + print STDERR " *** GNU msgfmt is not found on this system!\n". + " *** Without it, intltool-update can not extract strings.\n"; + exit; + } + + $output_file = "$SRCDIR/$lang.po" if ($output_file eq ""); + + system ("$MSGFMT", "-o", "$devnull", "--verbose", $output_file); +} + +sub Console_Write_CoverageReport +{ + my $MSGFMT = $ENV{"MSGFMT"} || "msgfmt"; + + if (! isGNUGettextTool ("$MSGFMT")) + { + print STDERR " *** GNU msgfmt is not found on this system!\n". + " *** Without it, intltool-update can not extract strings.\n"; + exit; + } + + &GatherPOFiles; + + foreach my $lang (@languages) + { + print STDERR "$lang: "; + &POFile_Update ($lang, ""); + } + + print STDERR "\n\n * Current translation support in $MODULE \n\n"; + + foreach my $lang (@languages) + { + print STDERR "$lang: "; + system ("$MSGFMT", "-o", "$devnull", "--verbose", "$SRCDIR/$lang.po"); + } +} + +sub SubstituteVariable +{ + my ($str) = @_; + + # always need to rewind file whenever it has been accessed + seek (CONF, 0, 0); + + # cache each variable. varhash is global to we can add + # variables elsewhere. + while () + { + if (/^(\w+)=(.*)$/) + { + ($varhash{$1} = $2) =~ s/^["'](.*)["']$/$1/; + } + } + + if ($str =~ /^(.*)\${?([A-Z_]+)}?(.*)$/) + { + my $rest = $3; + my $untouched = $1; + my $sub = ""; + # Ignore recursive definitions of variables + $sub = $varhash{$2} if defined $varhash{$2} and $varhash{$2} !~ /\${?$2}?/; + + return SubstituteVariable ("$untouched$sub$rest"); + } + + # We're using Perl backticks ` and "echo -n" here in order to + # expand any shell escapes (such as backticks themselves) in every variable + return echo_n ($str); +} + +sub CONF_Handle_Open +{ + my $base_dirname = getcwd(); + $base_dirname =~ s@.*/@@; + + my ($conf_in, $src_dir); + + if ($base_dirname =~ /^po(-.+)?$/) + { + if (-f "Makevars") + { + my $makefile_source; + + local (*IN); + open (IN, ") + { + if (/^top_builddir[ \t]*=/) + { + $src_dir = $_; + $src_dir =~ s/^top_builddir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; + + chomp $src_dir; + if (-f "$src_dir" . "/configure.ac") { + $conf_in = "$src_dir" . "/configure.ac" . "\n"; + } else { + $conf_in = "$src_dir" . "/configure.in" . "\n"; + } + last; + } + } + close IN; + + $conf_in || die "Cannot find top_builddir in Makevars."; + } + elsif (-f "$SRCDIR/../configure.ac") + { + $conf_in = "$SRCDIR/../configure.ac"; + } + elsif (-f "$SRCDIR/../configure.in") + { + $conf_in = "$SRCDIR/../configure.in"; + } + else + { + my $makefile_source; + + local (*IN); + open (IN, ") + { + if (/^top_srcdir[ \t]*=/) + { + $src_dir = $_; + $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; + + chomp $src_dir; + $conf_in = "$src_dir" . "/configure.in" . "\n"; + + last; + } + } + close IN; + + $conf_in || die "Cannot find top_srcdir in Makefile."; + } + + open (CONF, "<$conf_in"); + } + else + { + print STDERR "$PROGRAM: Unable to proceed.\n" . + "Make sure to run this script inside the po directory.\n"; + exit; + } +} + +sub FindPackageName +{ + my $version; + my $domain = &FindMakevarsDomain; + my $name = $domain || "untitled"; + + &CONF_Handle_Open; + + my $conf_source; { + local (*IN); + open (IN, "<&CONF") || return $name; + seek (IN, 0, 0); + local $/; # slurp mode + $conf_source = ; + close IN; + } + + # priority for getting package name: + # 1. GETTEXT_PACKAGE + # 2. first argument of AC_INIT (with >= 2 arguments) + # 3. first argument of AM_INIT_AUTOMAKE (with >= 2 argument) + + # /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m + # the \s makes this not work, why? + if ($conf_source =~ /^AM_INIT_AUTOMAKE\(([^,\)]+),([^,\)]+)/m) + { + ($name, $version) = ($1, $2); + $name =~ s/[\[\]\s]//g; + $version =~ s/[\[\]\s]//g; + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); + $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); + $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + } + + if ($conf_source =~ /^AC_INIT\(([^,\)]+),([^,\)]+)/m) + { + ($name, $version) = ($1, $2); + $name =~ s/[\[\]\s]//g; + $version =~ s/[\[\]\s]//g; + $varhash{"PACKAGE_NAME"} = $name if (not $name =~ /\${?AC_PACKAGE_NAME}?/); + $varhash{"PACKAGE"} = $name if (not $name =~ /\${?PACKAGE}?/); + $varhash{"PACKAGE_VERSION"} = $version if (not $name =~ /\${?AC_PACKAGE_VERSION}?/); + $varhash{"VERSION"} = $version if (not $name =~ /\${?VERSION}?/); + } + + # \s makes this not work, why? + $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\n\]]+)/m; + + # m4 macros AC_PACKAGE_NAME, AC_PACKAGE_VERSION etc. have same value + # as corresponding $PACKAGE_NAME, $PACKAGE_VERSION etc. shell variables. + $name =~ s/\bAC_PACKAGE_/\$PACKAGE_/g; + + $name = $domain if $domain; + + $name = SubstituteVariable ($name); + $name =~ s/^["'](.*)["']$/$1/; + + return $name if $name; +} + + +sub FindPOTKeywords +{ + + my $keywords = "--keyword\=\_ --keyword\=N\_ --keyword\=U\_ --keyword\=Q\_"; + my $varname = "XGETTEXT_OPTIONS"; + my $make_source; { + local (*IN); + open (IN, "; + close IN; + } + + # unwrap lines split with a trailing \ + $make_source =~ s/\\ $ \n/ /mxg; + $keywords = $1 if $make_source =~ /^$varname[ ]*=\[?([^\n\]]+)/m; + + return $keywords; +} + +sub FindMakevarsDomain +{ + + my $domain = ""; + my $makevars_source; { + local (*IN); + open (IN, "; + close IN; + } + + $domain = $1 if $makevars_source =~ /^DOMAIN[ ]*=\[?([^\n\]\$]+)/m; + $domain =~ s/^\s+//; + $domain =~ s/\s+$//; + + return $domain; +} + +sub FindMakevarsBugAddress +{ + + my $address = ""; + my $makevars_source; { + local (*IN); + open (IN, "; + close IN; + } + + $address = $1 if $makevars_source =~ /^MSGID_BUGS_ADDRESS[ ]*=\[?([^\n\]\$]+)/m; + $address =~ s/^\s+//; + $address =~ s/\s+$//; + + return $address; +} diff --git a/lgpl-2.1.txt b/lgpl-2.1.txt new file mode 100644 index 0000000..4362b49 --- /dev/null +++ b/lgpl-2.1.txt @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 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. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +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 and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, 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 library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete 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 distribute a copy of this License along with the +Library. + + 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 Library or any portion +of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +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 Library, 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 Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you 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. + + If distribution of 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 satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be 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. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library 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. + + 9. 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 Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +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 with +this License. + + 11. 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 Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library 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 Library. + +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. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library 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. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser 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 Library +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 Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +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 + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "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 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. 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 LIBRARY 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 +LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), 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 Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/missing b/missing new file mode 100644 index 0000000..1c8ff70 --- /dev/null +++ b/missing @@ -0,0 +1,367 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2006-05-10.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case $1 in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case $1 in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $1 in + aclocal*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case $f in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if test $# -ne 1; then + eval LASTARG="\${$#}" + case $LASTARG in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if test ! -f y.tab.h; then + echo >y.tab.h + fi + if test ! -f y.tab.c; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if test $# -ne 1; then + eval LASTARG="\${$#}" + case $LASTARG in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if test ! -f lex.yy.c; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + tar) + shift + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case $firstarg in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case $firstarg in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100644 index 0000000..ef7e16f --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,161 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2006-05-11.19 + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" +errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp=$pathcomp/ + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 0000000..3c94912 --- /dev/null +++ b/po/ChangeLog @@ -0,0 +1,291 @@ +2010-12-07 Jorma Karvonen + + * fi.po: Updated Finnish translation. + +2010-12-03 Leandro Regueiro + + * gl.po: Added Galician translation. + +2010-07-13 Benno Schulenberg + + * eo.po: Added Esperanto translation. + +2010-05-05 Kalman Kemenczy + + * hu.po: Updated Hungarian translation. + +2009-09-19 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2009-09-10 Jay A. Fleming + + * sr.po: Added Serbian translation. + +2009-07-30 Rihards Prieditis + + * lv.po: Updated Latvian translation. + +2009-07-06 Eivind + + * nn.po: Added Norwegian Nynorsk translation. + +2009-07-06 Alan Monfort + + * br.po: Added Breton translation. + +2009-06-28 Mario Blattermann + + * de.po: Updated German translation. + +2009-06-25 Marc Veillet + + * fr.po: Updated French translation. + +2009-06-25 Andhika Padmawan + + * id.po: Updated Indonesian translation. + +2009-06-25 Lucas Vieites + + * es.po: Updated Spanish translation. + +2009-06-25 Michal Trzebiatowski + + * pl.po: Updated Polish translation. + +2009-05-08 Alan Pepelko + + * sl.po: Added Slovenian translation. + +2008-12-07 Vincenzo Campanella + + * it.po: Updated Italian translation. + +2008-09-15 Marc Veillet + + * fr.po: Updated French translation. + +2008-08-25 Joe Hansen + + * da.po: Added Danish translation. + +2008-07-24 Andhika Padmawan + + * id.po: Added Indonesian translation. + +2008-07-21 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2008-05-08 Leslie Harlley Watter + + * pt_BR.po: Added Brazilian Portuguese translation. + +2008-03-20 Wei-Lun Chao + + * zh_TW.po: Updated Traditional Chinese translation. + +2008-01-26 LI Daobing + + * zh_CN.po: Updated Simplified Chinese translation. + +2008-01-15 Kevin Scannell + + * ga.po: Updated Irish translation. + +2008-01-15 Benno Schulenberg + + * nl.po: Updated Dutch translation. + +2008-01-15 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2008-01-15 Mikel Olasagasti + + * eu.po: Added Basque translation. + +2007-07-14 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2007-06-25 LI Daobing + + * zh_CN.po: Updated Simplified Chinese translation. + +2007-03-13 Youri Bulka + + * uk.po: Added Ukrainian translation. + +2007-02-16 Reviczky Adam Janos + + * hu.po: Updated Hungarian translation. + +2006-11-03 Seo Sanghyeon + + * ko.po: Added Korean translation. + +2006-08-29 Andreas Schweitzer + + * de.po: Updated German translation. + +2006-05-20 Yavor Doganov + + * bg.po: Updated Bulgarian translation. + +2006-05-20 Stavros Giannouris + + * el.po: Updated Greek translation. + +2006-05-04 Kevin Patrick Scannell + + * ga.po: Added Irish translation. + +2006-04-29 Eero Tamminen + + * fi.po: Added Finnish translation. + +2006-04-20 Wouter Van Hemel + + * nl.po: Added Dutch translation. + +2005-12-06 Isak Savo + + * sv.po: Updated Swedish translation. + +2005-10-13 OLS3 + + * zh_TW.po: Updated Traditional Chinese translation. + +2005-09-03 Stavros Giannouris + + * el.po: Added Greek translation. + +2005-08-23 Alessio D'Ascanio + + * it.po: Updated Italian translation. + +2005-08-05 Kaya Oguz + + * tr.po: Added Turkish translation. + +2005-08-01 Yo'av Moshe + + * he.po: Added Hebrew translation. + +2005-07-11 Peter Chabada + + * sk.po: Added Slovak translation. + +2005-07-07 Michal Wrobel + + * pl.po: Updated Polish translation. + +2005-05-19 Carlos Z.F. Liu + + * zh_CN.po: Updated Simplified Chinese translation. + +2005-05-15 Yavor Doganov + + * bg.po: Updated Bulgarian translation. + +2005-05-07 Quy NGUYEN DAI + + * vi.po: Added Vietnamese translation. + +2005-05-04 Michal Wrobel + + * pl.po: Updated Polish translation. + +2005-05-03 Yavor Doganov + + * bg.po: Added Bulgarian translation. + +2005-04-30 Reviczky Adam Janos + + * hu.po: Updated Hungarian translation. + +2004-12-29 Alan Kelon + + * pt.po: Added Portuguese translation. + +2004-12-21 Michal Wrobel + + * pl.po: Added Polish translation. + +2004-12-18 Isak Savo + + * sv.po: Updated Swedish translation. + +2004-12-07 Lech Jankovski + + * lt.po: Added Lithuanian translation. + +2004-11-29 Alessio D'Ascanio + + * it.po: Added Italian translation. + +2004-11-25 Vijay Durairaj + + * ta.po: Added Tamil translation. + +2004-11-23 David Rosal + + * ca.po: Added Catalan translation. + +2004-11-20 Reviczky Adam Janos + + * hu.po: Added Hungarian translation. + +2004-11-19 Petr Vyslouzil + + * cs.po: Added Czech translation. + +2004-11-14 Ruediger Arp + + * de.po: Updated German translation. + +2004-11-09 gettextize + + * Makefile.in.in: Downgrade to gettext-0.11.4. + +2004-11-09 Lucas Vieites + + * es.po: Added Spanish translation. + +2004-11-03 Luc Pionchon + + * fr.po: Added French translation. + +2004-10-28 Sebastian Stach + + * de.po: Added German translation. + +2004-10-28 Isak Savo + + * sv.po: Added Swedish translation. + +2004-10-24 Artem Vakhitov + + * ru.po: Added Russian translation. + +2004-10-04 OLS3 + + * zh_TW.po: Added Traditional Chinese translation. + +2004-09-28 Carlos Z.F. Liu + + * zh_CN.po: Added Simplified Chinese translation. + +2004-09-11 gettextize + + * Makefile.in.in: New file, from gettext-0.12.1. + * Rules-quot: New file, from gettext-0.12.1. + * boldquot.sed: New file, from gettext-0.12.1. + * en@boldquot.header: New file, from gettext-0.12.1. + * en@quot.header: New file, from gettext-0.12.1. + * insert-header.sin: New file, from gettext-0.12.1. + * quot.sed: New file, from gettext-0.12.1. + * remove-potcdate.sin: New file, from gettext-0.12.1. + diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..3f758a0 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,41 @@ +# please keep this list sorted alphabetically +# +bg +br +ca +cs +da +de +el +eo +es +eu +fi +fr +ga +gl +he +hu +id +it +ja +ko +lt +lv +nl +nn +pl +pt +pt_BR +ru +sk +sl +sr +sv +ta +tr +uk +vi +zh_CN +zh_TW + diff --git a/po/Makefile.in.in b/po/Makefile.in.in new file mode 100644 index 0000000..402a25f --- /dev/null +++ b/po/Makefile.in.in @@ -0,0 +1,217 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# Copyright (C) 2004-2008 Rodney Dawes +# +# This file may be copied and used freely without restrictions. It may +# be used in projects which are not available under a GNU Public License, +# but which still want to provide support for the GNU gettext functionality. +# +# - Modified by Owen Taylor to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize +# +# - Modified by Rodney Dawes for use with intltool +# +# We have the following line for use by intltoolize: +# INTLTOOL_MAKEFILE + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +SHELL = @SHELL@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +top_builddir = @top_builddir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datadir = @datadir@ +datarootdir = @datarootdir@ +libdir = @libdir@ +DATADIRNAME = @DATADIRNAME@ +itlocaledir = $(prefix)/$(DATADIRNAME)/locale +subdir = po +install_sh = @install_sh@ +# Automake >= 1.8 provides @mkdir_p@. +# Until it can be supposed, use the safe fallback: +mkdir_p = $(install_sh) -d + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ + +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +XGETTEXT = @XGETTEXT@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist +GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot + +ALL_LINGUAS = @ALL_LINGUAS@ + +PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) + +USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) + +USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) + +POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) + +DISTFILES = Makefile.in.in POTFILES.in $(POFILES) +EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS + +POTFILES = \ +# This comment gets stripped out + +CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) + +.SUFFIXES: +.SUFFIXES: .po .pox .gmo .mo .msg .cat + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + file=`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && gencat $@ $*.msg + + +all: all-@USE_NLS@ + +all-yes: $(CATALOGS) +all-no: + +$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(GENPOT) + +install: install-data +install-data: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + linguas="$(USE_LINGUAS)"; \ + for lang in $$linguas; do \ + dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ + $(mkdir_p) $$dir; \ + if test -r $$lang.gmo; then \ + $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ + echo "installing $(srcdir)/$$lang.gmo as" \ + "$$dir/$(GETTEXT_PACKAGE).mo"; \ + fi; \ + if test -r $$lang.gmo.m; then \ + $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ + echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ + else \ + if test -r $(srcdir)/$$lang.gmo.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ + $$dir/$(GETTEXT_PACKAGE).mo.m; \ + echo "installing $(srcdir)/$$lang.gmo.m as" \ + "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ + else \ + true; \ + fi; \ + fi; \ + done + +# Empty stubs to satisfy archaic automake needs +dvi info tags TAGS ID: + +# Define this as empty until I found a useful application. +install-exec installcheck: + +uninstall: + linguas="$(USE_LINGUAS)"; \ + for lang in $$linguas; do \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ + rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ + done + +check: all $(GETTEXT_PACKAGE).pot + rm -f missing notexist + srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m + if [ -r missing -o -r notexist ]; then \ + exit 1; \ + fi + +mostlyclean: + rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp + rm -f .intltool-merge-cache + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES stamp-it + rm -f *.mo *.msg *.cat *.cat.m *.gmo + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f Makefile.in.in + +distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) +dist distdir: $(DISTFILES) + dists="$(DISTFILES)"; \ + extra_dists="$(EXTRA_DISTFILES)"; \ + for file in $$extra_dists; do \ + test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ + done; \ + for file in $$dists; do \ + test -f $$file || file="$(srcdir)/$$file"; \ + ln $$file $(distdir) 2> /dev/null \ + || cp -p $$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + linguas="$(USE_LINGUAS)"; \ + for lang in $$linguas; do \ + echo "$$lang:"; \ + result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ + if $$result; then \ + if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$lang.gmo failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +Makefile POTFILES: stamp-it + @if test ! -f $@; then \ + rm -f stamp-it; \ + $(MAKE) stamp-it; \ + fi + +stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in + cd $(top_builddir) \ + && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ + $(SHELL) ./config.status + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..1835cf7 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,12 @@ +src/main.c +src/window.c +src/menu.c +src/callback.c +src/view.c +src/font.c +src/selector.c +src/file.c +src/search.c + +# files added by intltool-prepare +data/l3afpad.desktop.in diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..9ae5b0f --- /dev/null +++ b/po/bg.po @@ -0,0 +1,269 @@ +# Bulgarian translation of l3afpad. +# Copyright (C) 2005, 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Yavor Doganov , 2005, 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2006-05-20 13:05+0300\n" +"Last-Translator: Yavor Doganov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Файл" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Редактиране" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Търсене" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Настройки" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Помощ" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Нов" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Отваряне..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Запазване" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Запазване _като..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Преглед за печат" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Печат..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Изход" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Отмяна" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Повтаряне" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "От_рязване" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Копиране" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "По_ставяне" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "Из_триване" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Избор на вси_чко" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Търсене..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Намиране на _следващ" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Намиране на п_редишен" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Замяна..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Отиване на..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Шрифт..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Относно" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Режим с _пренасяне" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Номера на редове" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Автоматичен отстъп" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Опростен текстов редактор, базиран на GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Явор Доганов \n" +"\n" +"Проектът за превод на GNOME има нужда от подкрепа.\n" +"Научете повече за нас на http://gnome.cult.bg\n" +"Докладвайте за грешки на http://gnome.cult.bg/bugs" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Запазване на промените в „%s“?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Шрифт" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Текущ локал (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Друго кодиране на символите" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Кодиране на _символите:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "„%s“ не се поддържа" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Автоматично" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Отваряне" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Запазване като" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Ко_диране на символите:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "„%s“ вече съществува, да се презапише ли?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Неозаглавено" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Превръщането в кодиране „%s“ е невъзможно" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Файлът не може да бъде отворен за запис" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Файлът не може да бъде запазен" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Търсеният низ не е намерен" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Заменяне?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d низа са заменени" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Замяна" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Търсене" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Търсене _на:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Замяна с:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "За_читане на малки/големи" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Замяна на _всички" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Отиване на" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Отиване на ред" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Ред номер:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Опростен текстов редактор" diff --git a/po/br.po b/po/br.po new file mode 100644 index 0000000..bc6559c --- /dev/null +++ b/po/br.po @@ -0,0 +1,275 @@ +# Breton translation for L3afpad +# Copyright (C) 2009 Free Software Foundation, Inc. +# This file is distributed under the same license as the L3afpad package. +# +# Denis ARNAUD , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-07-04 16:58+0100\n" +"Last-Translator: Alan Monfort \n" +"Language-Team: Breton Team \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Breton\n" +"X-Poedit-Country: FRANCE\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Restr" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Embann" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Klask" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Dibarzhiou" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Skoazell" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nevez" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Digerin..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Enrollan" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Enrollan dind_an..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_Alberz ar moullan" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Moullan..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Kuitaat" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Dizober" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Adober" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Troc'han" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Eilan" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Pegan" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Dilemel" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Diuzan pep tr_a" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Kavout..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Kavout an hi_ni da heul" + +# Attention avec "an hini" +# s'il s'agit d'un mot : ger g. -iou : an hini kent +# pajenn b. -ou : an hini gent +# Kent mute comme un adjectif. +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Kavout an hini ken_t" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Am_savin..." + +# [fr]aller a la ligne +# ligne de texte : arroudenn +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Mont da..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Nodrezh..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_A-zivout" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Distro emgefreek d'al linenn" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Niver al linennou/an arroudenn" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_EmDilinennan" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Embanner testennou eeun diazezet war GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Denis ARNAUD " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Enrollan ar c'hemmou dindan '%s' ?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Nodrezh" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Lec'hadur bremanel (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Spletad arouezennou all" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Spletad arouezennou :" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "Anskoret eo '%s'" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "EmZinoin" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Digerin" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Enrollan dindan" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Bonegan an _arouezenn :" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' zo anezhan endeo. Flastran ?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Hep titl" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "N'haller ket amdrein spletad arouezennou da '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "N'haller ket digerin ar restr da skrivan" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "N'haller ket enrollan ar restr " + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Klask hedad ket kavet" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Amsavin ?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d hedad arouezennou amsavet" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Amsavin" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Kavout" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Kla_sk petra :" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Am_savin gant :" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Teurel evezh eus ar pennlizherennou" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Amsavin pep tr_a" + +# [fr]aller a la ligne +# ligne de texte : arroudenn +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Mont d'al linenn" + +# [fr]aller a la ligne +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Mont d'al linenn" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Niverenn al _linenn :" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Embanner testennou eeun" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..5a952c4 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,263 @@ +# Catalan translation of L3afpad +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# David Rosal 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.7.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2004-11-04 10:10+0100\n" +"Last-Translator: David Rosal \n" +"Language-Team: Catalan\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fitxer" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Cercar" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opcions" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "A_jut" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nou" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Obrir..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Guardar" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Guardar com _a..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_Sortir" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Sortir" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Sortir" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Desfer" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Refer" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Tallar" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copiar" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Enganxar" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "Es_borrar" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Seleccionar-ho tot" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Cercar..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Cercar el _següent" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Cercar l'_anterior" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Substituir" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Saltar a la _línia..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Tipografia..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Respecte a" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Ajust de línia" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Numerar les línies" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Auto_indentació" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Editor de text simple, basat en GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "David Rosal " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Vols desar els canvis fets a '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Tipografia" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Locale actual (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Una altra codificació" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Codificació:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' no és suportat" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Autodetectar" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Obrir" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Guardar com a" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Codificació de c_aràcters: " + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' ja existeix. Vols sobreescriure'l?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sense nom" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "No es pot convertir la codificació a '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "No es pot obrir el fitxer per a escriure" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "No es pot escriure al fitxer" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "No s'ha trobat la cadena desitjada" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Substituir?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "S'han substituit %d cadenes" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Substituir" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Cercar" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Cercar: " + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Substituir per: " + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "Distingir _majúscules / minúscules" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Substituir-les _totes de cop" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Saltar a" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Saltar" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Número de _línia: " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Editor de text simple" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..f31c5ca --- /dev/null +++ b/po/cs.po @@ -0,0 +1,263 @@ +# Czech translation of l3afpad. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Petr Vysloužil , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.7.6\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2004-11-18 23:58+0100\n" +"Last-Translator: Petr Vysloužil \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Soubor" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "Ú_pravy" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Hledat" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Nástroje" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Nápověda" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nový" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Otevřít" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Uložit" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Uložit _jako..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_Konec" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Konec" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Konec" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Zpět" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Zn_ovu" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Vyjmout" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopírovat" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "V_ložit" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Odstranit" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Vybrat vše" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Hledat" + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Hledat _následující" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Hledat _předchozí" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Nah_radit" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Přejít na" + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Písmo" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "O _aplikaci" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Zalamovat řádky" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Čí_slovat řádky" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Automatické odsazování" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Jednoduchý GTK+ textový editor" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Petr Vyslouzil " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Uložit změny v '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Písmo" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Aktuální locale (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Jiná znaková sada" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Znaková _sada:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' není podporována" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Autodetekce" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Otevřít" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Uložit jako" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Kódování znaků:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' již existuje. Přepsat?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Nepojmenovaný" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Nemohu převést znakovou sadu na '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Nemohu otevřít soubor k zápisu" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Nemohu zapsat soubor" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Hledaný řetězec nenalezen" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Nahradit?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "nahrazeno '%d' řetězců" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Nahradit" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Hledat" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Hledat:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Nahra_dit čím:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Rozlišovat velikost písmen" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Nahradit vš_e" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Jit na _řádek" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Přejít" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Číslo řádku:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Jednoduchý textový editor" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..0fc5bd4 --- /dev/null +++ b/po/da.po @@ -0,0 +1,280 @@ +# Danish translation for L3afpad. +# Copyright (C) 2008 L3afpad. +# This file is distributed under the same license as the l3afpad package. +# Joe Hansen , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-08-24 00:00+0100\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fil" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Rediger" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Søg" + +# Men det er jo ikke rigtigt, altså "options" +# betyder da ikke "funktioner". +# Det må være en eller anden form for specielt brug i OO, +# det kan være at OO folkene ved at det rent faktisk er funktioner der gemmer +# sig i den menu, men det er ikke rigtigt generelt. Når option står i et +# menupunkt sådan som det gør her, så oversættes det til +# "Indstillinger", hvis det ikke er i et menu-punkt er der lidt flere muligheder +# "valgmuligheder" og "indstillinger". +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Indstillinger" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Hjælp" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Ny" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Åbn..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Gem" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Gem _som..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Vis u_dskrift" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Udskriv..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Afslut" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Fortryd" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "G_endan" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "K_lip" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopier" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Sæt i_nd" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Slet" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Marker _alt" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Find..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Find _Næste" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Find _foregående" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Erstat..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Gå til..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Skrifttype..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Om" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Ordombrydning" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Linjenumre" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Automatisk indryk" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "En simpel GTK+-baseret tekstbehandler" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Joe Hansen \n" +"\n" +"Dansk-gruppen \n" +"Mere info: http://www.dansk-gruppen.dk" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Gem ændringer til »%s«?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Skrifttype" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Nuværende lokalitet (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Andre kodesæt" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Kode_sæt:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "»%s« understøttes ikke" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automatisk detektering" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Åbn" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Gem som" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Karakterkodning:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "»%s« eksisterer allerede. Overskriv?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Unavngivet" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Kan ikke konvertere kodesæt til »%s«" + +# jeg ville tilføje "..til skrivning (ikke afklaret oversættelse) +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Kan ikke åbne fil" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Kan ikke skrive fil" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Søgestrengen blev ikke fundet" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Erstat?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d strenge erstattet" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Erstat" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Søg" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Sø_g hvad:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Erstat med:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Søgestreng" + +# på en gang" ligesom i originalen (ikke afklaret oversættelse af +# den her streng. +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Erstat _alle" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Gå til" + +# Måske enkeltords-versionen virker bedre hvis du bruger +# "hop" +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Gå" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Linjenummer:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Enkel tekstbehandler" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..ab88b17 --- /dev/null +++ b/po/de.po @@ -0,0 +1,268 @@ +# German translation of L3afpad +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the L3afpad package. +# Sebastian Stach , 2004. +# Ruediger Arp , 2004. +# Mario Blättermann , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-06-28 13:12+0100\n" +"Last-Translator: Mario Blättermann \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Datei" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Bearbeiten" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Suchen" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Optionen" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Hilfe" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Neu" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "Ö_ffnen" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Speichern" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Speichern _unter" + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Druck_vorschau" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Drucken …" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Beenden" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Rückgängig" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Wiederholen" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Ausschneiden" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopieren" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "E_infügen" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Löschen" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Alles markieren" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Suchen …" + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "_Weitersuchen" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "_Rückwärts suchen" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Ersetzen …" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Gehe zu …" + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Schriftart …" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Info" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Zeilenumbruch" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Zeilen_nummern" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Auto-Einzug" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Einfacher auf GTK+ basierender Texteditor" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Sebastian Stach \n" +"Ruediger Arp \n" +"Mario Blättermann " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Änderungen an »%s« speichern?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Schriftart" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Derzeitige Standorteinstellung (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Anderer Zeichensatz" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Zeichensatz:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "»%s« wird nicht unterstützt" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automatisch erkennen" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Öffnen" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Speichern unter" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Zeic_henkodierung: " + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "»%s« existiert bereits. Überschreiben?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Unbenannt" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Der Zeichensatz kann nicht nach »%s« konvertiert werden" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Die Datei kann nicht zum Schreiben geöffnet werden" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Die Datei kann nicht geschrieben werden" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Gesuchter Text wurde nicht gefunden" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Ersetzen?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d Mal gefunden und ersetzt" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Ersetzen" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Suchen" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Suchen nach: " + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Ersetzen durch: " + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Groß-/Kleinschreibung berücksichtigen" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "_Alles ersetzen" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Gehe zu" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Gehe zu" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Zeilen_nummer: " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Einfacher Texteditor" diff --git a/po/el.po b/po/el.po new file mode 100644 index 0000000..e456e2b --- /dev/null +++ b/po/el.po @@ -0,0 +1,265 @@ +# Greek translation of l3afpad.pot +# Copyright (C) 2004-2005 Tarot Osuji +# This file is distributed under the same license as the l3afpad package. +# Stavros Giannouris , 2005-2006 +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2006-04-23 00:52+0200\n" +"Last-Translator: Stavros Giannouris \n" +"Language-Team: Greek \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Greek\n" +"X-Poedit-Country: GREECE\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Αρχείο" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Επεξεργασία" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "Ανα_ζήτηση:" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "Ε_πιλογές" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Βοήθεια" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Νέο" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "Άν_οιγμα..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "Α_ποθήκευση" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Αποθήκευση _ως..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Προεπισκόπιση εκτύπωσης" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Ε_κτύπωση..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Έξοδος" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Αναίρεση" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Ε_πανάληψη" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Αποκοπή" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "Α_ντιγραφή" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Επικόλληση" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Διαγραφή" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Επιλογή _όλων" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Εύρεση..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Εύρεση Επόμε_νου" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Εύρεση _προηγούμενου" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Αντικατάσταση..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Μετάβαση σε..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Γραμματοσειρά..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Περί" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Αναδίπλωση λέξεων" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Α_ριθμοί γραμμών" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Αυ_τόματες εσοχές" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Ένας απλός επεξεργαστής κειμένου σε GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Σταύρος Γιαννούρης " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Αποθήκευση αλλαγών στο '%s' ;" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Γραμματοσειρά" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Τρέχον Locale (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Άλλες κωδικοποίησεις" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Σετ χαρακτήρων:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "το '%s' δεν υποστηρίζεται" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Αυτόματη αναγνώριση" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Άνοιγμα" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Αποθήκευση ως" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Κωδικοποίηση χ_αρακτήρων:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Το '%s' υπάρχει ήδη. Να αντικατασταθεί;" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Χωρίς τίτλο" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Αδυναμία μετατροπής της κωδικοσελίδας σε '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Αδυναμία εγγραφής σε αυτό το αρχείο." + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Αδύνατη η εγγραφή του αρχείου" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Δεν βρέθηκε ταίρι" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Αντικατάσταση;" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d επαναλήψεις αντικαταστάθηκαν." + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Αντικατάσταση" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Εύρεση" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Εύ_ρεση κειμένου:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Α_ντικατάσταση με:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Ταίριασμα πεζών-κεφαλαίων" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Αντικατάσταση _όλων" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Μετάβαση σε" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Μετάβαση" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Αριθμός γραμμής:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Απλός επεξεργαστής κειμένου" diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 0000000..73ed963 --- /dev/null +++ b/po/eo.po @@ -0,0 +1,262 @@ +# Esperanto translations for l3afpad. +# This file is distributed under the same license as the l3afpad package. +# +# Benno Schulenberg , 2010. +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2010-07-12 20:53+0100\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Dosiero" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Redakti" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Serĉi" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Agordoj" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Helpo" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nova" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Malfermi..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "Kon_servi" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Konservi _kiel..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Pres-antaŭ_vido" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Presi..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Eliri" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Malfari" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Refari" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Eltondi" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopii" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Alglui" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Forigi" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Elekti ĉio_n" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Trovi..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Trovi sek_van" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Trovi a_ntaŭan" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Anstataŭigi" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Salti al..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Tiparo..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Pri" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Lini_faldo" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Lini_numeroj" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Aŭtomate krommarĝeni" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Simpla GTK+-bazita tekstredaktilo" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Benno Schulenberg " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Ĉu konservi la ŝanĝojn en '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Tiparo" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Nuna lokaĵo (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Alia signaro" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Signaro:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' ne subtenatas" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Aŭtomate detekti" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Malfermi" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Konservi kiel" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Signara kodo:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Dosiero '%s' jam ekzistas. Ĉu anstataŭigi?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sentitola" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Ne eblas konverti signaron al '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Ne eblas malfermi dosieron por skribi" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Ne eblas skribi dosieron" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Serĉata ĉeno ne trovitas" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Ĉu anstataŭigi?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d ĉenoj anstataŭigitaj" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Anstataŭigi" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Serĉi" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Serĉi kion:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Anstataŭigi per:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Usklece" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Anstataŭigi ĉiuj_n sen demandi" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Salti al" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Salti" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Lini_numero:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Simpla tekstredaktilo" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..8fd94f3 --- /dev/null +++ b/po/es.po @@ -0,0 +1,263 @@ +# Spanish/Spain translation of L3afpad +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Lucas Vieites ,2004-2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-06-24 21:49+0200\n" +"Last-Translator: Lucas Vieites \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Archivo" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Buscar" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opciones" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "A_yuda" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nuevo" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Abrir..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Guardar" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Guardar _como..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_Vista previa" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Im_primir" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Salir" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Deshacer" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Rehacer" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Cor_tar" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copiar" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Pegar" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Borrar" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Seleccionar _todo" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Buscar" + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Buscar el _siguiente" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Buscar el an_terior" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Reemplazar" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Ira a la _línea" + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "Tipogra_fía..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Acerca de" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Ajus_te de línea" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Numeración de líneas" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Autoindentación" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Editor de texto simple" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Lucas Vieites " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "¿Desea guardar los cambios a «%s»?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Tipografía" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Locale actual (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Otro conjunto de códigos" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Con_junto de códigos:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "No se soporta «%s»" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Autodetectar" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Abrir" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Guardar como" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Codificación de c_aracteres:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "«%s» ya existe. ¿Desea sobrescribirlo?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sin nombre" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "No se puede convertir el conjunto de códigos a «%s»" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "No se puede abrir el archivo para escritura" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "No se puede escribir en el archivo" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "No se ha encontrado la cadena buscada" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "¿Desea reemplazar?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "Se han reemplazado %d cadenas" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Reemplazar" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Buscar" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Buscar: " + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Reem_plazar con:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "Coi_ncidir con capitalización" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Reemplaz_ar todos" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Ir a" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Saltar" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Número de _línea:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Editor de texto simple" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 0000000..68092ac --- /dev/null +++ b/po/eu.po @@ -0,0 +1,266 @@ +# Basque translation for l3afpad. +# Copyright (C) 2008 Free Software Foundation, Inc +# This file is distributed under the same license as the l3afpad package. +# Mikel Olasagasti Uranga , 2008. +# Inko Illarramendi Arancibia , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-01-14 21:35+0900\n" +"Last-Translator: Mikel Olasagasti \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Basque\n" +"X-Poedit-Country: SPAIN\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fitxategia" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Editatu" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Bilatu" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Aukerak" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Laguntza" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Berria" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Ireki" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Gorde" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Gorde _Honela..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Inprimatze Aurre_bista" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "In_primatu" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "It_xi" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Desegin" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Be_rregin" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Eba_ki" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopiatu" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Itsatsi" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Ezabatu" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Hautatu Dena" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Bilatu" + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Bilatu _hurrengoa" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Bilatu _aurrekoa" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Ordezkatu" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Jauzi Hona..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "Letra _Tipoa..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Honi buruz" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Hitz doiketa" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Lerro Zenbakiak" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Autoindentazioa" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+-n oinarritutako testu editore sinplea" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Inko Illarramendi " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Aldaketak '%s'-n gorde?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Letra tipoa" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Uneko Locale-a (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Beste Kodeketa Multzoa" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Kodeketa_multzoa:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s'-entzat ez dago sostengurik" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Auto-Detektatu" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Ireki" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Gorde Honela" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "K_araktere Kodeketa:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' badago. Gainean idatzi?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Izengabea" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Ezin da kodeketa multzoa '%s'-ra bihurtu" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Ezin da fitxategia idazketarako ireki" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Ezin da fitxategian gorde" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Bilaketa katea ez da aurkitu" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Ordezkatu?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d kate ordezkatuta" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Ordezkatu" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Bilatu" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Zer _bilatu:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Zerekin _ordezkatu:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Maiuskulak/minuskulak kointziditu" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "_Guztiak ordezkatu" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Jauzi" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Jauzi" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Lerro zenbakia:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Testu editore sinplea" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..f513662 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,265 @@ +# Finnish messages for l3afpad. +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Eero Tamminen , 2006. +# Jorma Karvonen , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2010-12-07 13:02+0200\n" +"Last-Translator: Jorma Karvonen \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Tiedosto" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "Muo_kkaa" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Hae" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Asetukset" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Opaste" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Uusi" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Avaa..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "Talle_nna" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Tallenna ni_mellä..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "E_sikatselu" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Tu_losta..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Poistu" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "Per_u" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Uu_delleen" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "L_eikkaa" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "Kop_ioi" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Liitä" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Poista" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Valitse kaikki" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Hae..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Hae _seuraava" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Hae _edellinen" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Korvaa..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Siirry riville..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Kirjasin..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "O_hjelmasta" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Rivitys" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Rivi_numerot" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Auto_maattinen sisennys" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+-pohjainen yksinkertainen tekstieditori" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Eero Tamminen, Jorma Karvonen" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Tallenna ’%s’ muutokset?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Kirjasin" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Nykyinen paikallisasetus (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Toinen koodaus" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Koodaus:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "’%s’ ei ole tuettu" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automaattitunnistus" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Avaa" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Tallenna nimellä" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Merkistökoodaus:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "’%s’ on jo olemassa. Korvataanko?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Nimetön" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Koodaukseen ’%s’ muunnos ei onnistu" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Tiedoston avaus kirjoitusta varten ei onnistu" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Tiedoston kirjoitus ei onnistu" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Haettua merkkijonoa ei löydy" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Korvaa?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d merkkijonoa korvattu" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Korvaa" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Hae" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Etsi:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Ko_rvaa:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Tarkista pienet/ISOT" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "_Korvaa kaikki kerralla" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Siirry riville" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Siirry" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Rivinumero:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Yksinkertainen tekstieditori" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..65df6eb --- /dev/null +++ b/po/fr.po @@ -0,0 +1,268 @@ +# L3afpad - GTK+ based simple text editor +# Copyright (C) 2004 Tarot Osuji +# This file is distributed under the same license as the l3afpad package. +# Marc Veillet , 2008. +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-06-25 10:53-0500\n" +"Last-Translator: Marc Veillet \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: French\n" +"X-Poedit-SourceCharset: iso-8859-1\n" +"X-Poedit-Country: CANADA\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fichier" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Édition" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Rechercher" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Options" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Aide" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nouveau" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Ouvrir..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Enregistrer" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Enregistrer _sous..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Aperçu avant _impression" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Im_primer" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Quitter" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Annuler" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Refaire" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Co_uper" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copier" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "C_oller" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Supprimer" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Tout sélectionner" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Rechercher..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Rechercher le _suivant" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Rechercher le _précédent" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Re_mplacer..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Aller à la _ligne..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Fonte..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "À _propos" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Retour à la ligne automatique" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Numérotation des lignes" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Indentation automatique" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Un éditeur de texte tout simple, basé sur GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Luc Pionchon , Marc Veillet 2009 " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Enregistrer les changements pour '%s' ?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Fonte" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Locale courante (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Autre jeu de caractères" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Jeu de _caractères : " + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' n'est pas supporté" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Détection automatique" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Ouvrir" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Enregistrer sous" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Jeu de _caractères : " + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "" +"Le fichier '%s' existe déjà. Voulez-vous remplacer le fichier existant par " +"celui-ci ?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sans titre" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Erreur de conversion avec le jeu de caractères '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Impossible d'ouvrir le fichier en écriture" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Impossible d'enregistrer le fichier" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Le texte recherché n'a pas été trouvé" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Remplacer ?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d occurences trouvées et remplacées." + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Remplacer" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Trouver" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Rechercher :" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Remplacer _par :" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "Respecter la _casse" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "_Tout remplacer" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Aller à la ligne" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "Aller à la ligne" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Numéro de _ligne : " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Un éditeur de texte tout simple" diff --git a/po/ga.po b/po/ga.po new file mode 100644 index 0000000..3190bd7 --- /dev/null +++ b/po/ga.po @@ -0,0 +1,263 @@ +# Irish translations for l3afpad. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Kevin Patrick Scannell , 2006, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-01-15 15:46-0500\n" +"Last-Translator: Kevin Scannell \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Comhad" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Eagar" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Cuardach" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Roghanna" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Cabhair" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nua" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Oscail..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Sábháil" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Sábháil _Mar..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Réamh_amharc Priontála" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Priontáil..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Scoir" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Cealaigh" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Athdhéan" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Gearr" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "Cói_peáil" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "G_reamaigh" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Scrios" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Roghnaigh _Uile" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Aimsigh..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Ar A_ghaidh" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "_Roimhe Seo" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Ionadaigh..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Léim Go..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Cló..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Faoi seo" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Timfhilleadh" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Líne-Uimhreacha" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Eangú Uathoibríoch" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Eagarthóir simplí bunaithe ar GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Kevin Scannell " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Sábháil athruithe i '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Cló" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Logchaighdeán Reatha (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Ionchódú Eile" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Ionchódú:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "Ní thacaítear le '%s'" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Braith go hUathoibríoch" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Oscail" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Sábháil Mar" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Ionc_hódú Carachtar:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Tá '%s' ann cheana. Forscríobh?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Gan Teideal" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Ní féidir an t-ionchódú a thiontú go '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Ní féidir an comhad a oscailt chun scríobh ann" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Ní féidir an comhad a scríobh" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Teaghrán gan aimsiú" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Ionadaigh?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "Ionadaíodh %d teaghrán" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Ionadaigh" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Aimsigh" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Cad is mian leat _aimsiú:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Ionadaigh le:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Comhoiriúnaigh an cás" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Ionadaigh d'aon _iarraidh" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Léim Go" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Léim" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Líne-uimhir:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Eagarthóir simplí" diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..4733d6e --- /dev/null +++ b/po/gl.po @@ -0,0 +1,272 @@ +# Galician translation for l3afpad package. +# This file is distributed under the same license as the l3afpad package. +# Copyright (C) 2010 Leandro Regueiro. +# +# Leandro Regueiro , 2010. +# +# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas +# colaborar connosco, podes atopar máis información en +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2010-12-02 10:22+0100\n" +"Last-Translator: Leandro Regueiro \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Ficheiro" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Buscar" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opcións" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "A_xuda" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Novo" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Abrir" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Gardar" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Gardar _como..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Pre_visualización da impresión" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Imprimir" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Saír" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Desfacer" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Refacer" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Cor_tar" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copiar" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Pegar" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "E_liminar" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Seleccionar _todo" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Buscar..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Buscar segu_inte" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Buscar an_terior" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Substituír..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Ir á _liña..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Tipo de letra..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Sobre" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "A_xuste do texto" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Números de _liña" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Sangría automática" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Editor de texto sinxelo baseado en GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Leandro Regueiro , 2010.\n" +"\n" +"Proxecto Trasno - Adaptación de software libre á lingua galega: Se desexas\n" +"colaborar connosco, podes atopar máis información en " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Desexa gardar os cambios en '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Tipo de letra" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Configuración rexional actual (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Outra codificación de caracteres" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Codificación de caracteres:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "Non hai compatibilidade con '%s'" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Detectar automaticamente" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Abrir" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Abrir como" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Codificación de caracteres:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' xa existe. Desexa sobrescribilo?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sen nome" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Non foi posíbel converter a codificación de caracteres a '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Non foi posíbel abrir o ficheiro para escribir" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Non foi posíbel escribir o ficheiro" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Non se atopou a cadea de busca" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Desexa substituír?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d cadeas substituídas" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Substituír" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Buscar" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Buscar por:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Substituír _con:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Diferenciar maiúsculas de minúsculas" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Substituír _todo" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Ir á liña" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Ir á liña" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Número de _liña:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Editor de texto sinxelo" diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..316e771 --- /dev/null +++ b/po/he.po @@ -0,0 +1,263 @@ +# Hebrew translation of L3afpad. +# Copyright (C) 2005 THE L3afpad'S COPYRIGHT HOLDER +# This file is distributed under the same license as the L3afpad package. +# Yo'av Moshe , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.8.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2005-07-31 22:54+0300\n" +"Last-Translator: Yo'av Moshe \n" +"Language-Team: Hebrew\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_קובץ" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_עריכה" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_חיפוש" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_אפשרויות" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_עזרה" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_חדש" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_פתח..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_שמור" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "שמור _בשם..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_הדפס..." + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_הדפס..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "י_ציאה" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_בטל" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "ב_צע שוב" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_גזור" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_העתק" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "ה_דבק" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_מחק" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "בחר בה_כל" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_חפש..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "מצא את ה_בא" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "מצא את ה_קודם" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_החלף" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_עבור אל" + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_גופן" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_אודות" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "ג_לישת שורות" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_מספרי שורות" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_עימוד אוטומטי" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "עורך טקסט פשוט מבוסס GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Yo´av Moshe " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "לשמור שינויים לקובץ '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "גופן" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "השפה שבשימוש (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "מערך תוים אחר" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_מערך תוים:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' לא נתמך" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "זיהוי אוטומטי" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "פתח" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "שמור בשם" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "מערך תוים:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' כבר קיים. להחליף?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "ללא שם" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "אי-אפשר להמיר את מערך התוים אל '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "אי-אפשר לפתוח קובץ לכתיבה" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "אי-אפשר לכתוב קובץ" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "מחרוזת החיפוש לא נמצאה" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "להחליף?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d מחרוזות הוחלפו" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "החלף" + +#: ../src/search.c:305 +msgid "Find" +msgstr "חפש" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "מה ל_חפש:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "להח_ליף ב:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "התייחס לאותיות גדולות וקטנות" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "החלף ה_כל בבת אחת" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "עבור אל" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_עבור" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_שורה מספר:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "עורך טקסט פשוט" diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000..d2a3f72 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,268 @@ +# Hungarian translation of L3afpad +# Copyright (C) 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the L3afpad package. +# Reviczky Ádám János , 2007. +# Kalman Kemenczy , 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2010-05-04 10:02+0200\n" +"Last-Translator: Kalman Kemenczy \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Pootle 2.0.2\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fájl" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "Sz_erkesztés" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "Keres_és" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Beállítások" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Súgó" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "Ú_j" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "Megny_itás..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "Men_tés" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Ment Má_skent..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Ny_omtatási kép" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Nyomtatás..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Kilépés" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Visszavonás" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Ú_jra" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "K_ivágás" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "M_ásolás" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Beillesztés" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "Tö_rlés" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Mindent Kije_lölés" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Keres..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "K_övetkező Keresése" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Elő_ző Keresése" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Csere..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Ugrás..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "Betütí_pus..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Névjegy" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Sortörés" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Sorszá_mok" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Automatikus Be_húzás" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+-ra épülő egyszerű szöveg szerkesztő" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Reviczky Ádám János \n" +"Kéménczy Kálmán " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Elmenti a változásokat ide: '%s' ?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Betűtípus" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Jelenlegi nyelv (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Más kódtábla" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Kód_tábla:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "A(z) '%s' nem támogatott" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automatikus felismerés" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Megnyitás" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Mentés másként" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "K_arakterkódolás:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "A(z) '%s' már létezik. Felülírja?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Névtelen" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "A kódtáblát nem lehet erre konvertálni: '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Nem lehet a fájlt írásra megnyitni" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Nem lehet a fájlt írni" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "A keresett szöveg nem található" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Kicseréli?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "A(z) %d szövegrészlet kicserélve" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Csere" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Keresés" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Keresett szöveg:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Csere erre:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Kis- és nagybetű különbözik" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Mind_et egyszerre cseréli" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Ugrás Ide" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Ugrás" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "S_orszám:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Egyszerű szöveg szerkesztő" diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..7b6d0c5 --- /dev/null +++ b/po/id.po @@ -0,0 +1,263 @@ +# Indonesian translations for l3afpad package. +# Copyright (C) 2008 THE l3afpad'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l3afpad package. +# Andhika Padmawan , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-06-25 21:35+0700\n" +"Last-Translator: Andhika Padmawan \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Berkas" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Sunting" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Telusur" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opsi" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "B_antuan" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Baru" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "B_uka..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Simpan" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Simpan Se_bagai..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Pra_tayang Cetak" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Cetak..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Keluar" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Tak Jadi" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Jadi _Lagi" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Po_tong" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Salin" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Rekat" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Hapus" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Pilih Semua" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Cari..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Cari Selan_jutnya" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Cari _Sebelumnya" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Ganti..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Lompat Ke..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Fonta..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Tentang" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Pas Kata" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Nomor Baris" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Inden _Otomatis" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Penyunting teks sederhana berbasis GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Andhika Padmawan , 2008" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Simpan perubahan ke '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Fonta" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Lokalisasi saat ini (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Set Sandi Lain" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Set _sandi:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' tak didukung" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Deteksi Otomatis" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Buka" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Simpan Sebagai" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Pen_yandian Karakter:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' telah ada. Timpa?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Tak ada judul" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Tak dapat konversi set sandi ke '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Tak dapat buka berkas untuk ditulis" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Tak dapat menulis berkas" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Telusur tali tak ditemukan" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Ganti?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d tali diganti!" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Ganti" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Cari" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Ca_ri apa:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Ga_nti dengan:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Cocokkan huruf" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Ganti semu_a sekaligus" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Lompat Ke" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Lompat" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Nomor baris:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Penyunting teks sederhana" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..df9fbd2 --- /dev/null +++ b/po/it.po @@ -0,0 +1,266 @@ +# ITALIAN TRANSLATION OF L3AFPAD-0.8.13 +# COPYRIGHT (C) 2008 THE L3AFPAD'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l3afpad package. +# +# Alessio D'Ascanio , 2008. +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-11-29 18:23+0100\n" +"Last-Translator: Vincenzo Campanella \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"First-Translator: Alessio D'Ascanio \n" +"X-Generator: KBabel 1.11.4\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_File" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Modifica" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Cerca" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opzioni" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "A_iuto" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nuovo" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Apri..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Salva" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Sa_lva come..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Antepri_ma di stampa" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Stam_pa..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Esci" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Annulla" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Ripeti" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Taglia" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copia" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Incolla" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "Eli_mina" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Seleziona tutto" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "Tr_ova..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Trova successi_vo" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Trova pr_ecedente" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Sostit_uisci..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Vai a..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Carattere..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "I_nformazioni..." + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "A ca_po automatico" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Numeri di riga" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Indentazione _automatica" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Semplice editor di testi basato su GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Vincenzo Campanella (vinz65@gmail.com)" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Salvare le modifiche a «%s»?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Carattere" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Localizzazione attuale (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Altra codifica" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Co_difica:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "«%s» non è supportato" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Rilevazione automatica" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Apri" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Salva come" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Co_difica del carattere:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "«%s» esiste già. Sovrascriverlo?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Senza titolo" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Impossibile convertire la codifica in «%s»" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Impossibile aprire il file per la scrittura" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Impossibile scrivere il file" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "La stringa cercata non è stata trovata" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Sostituire?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d stringhe sostituite" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Sostituisci" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Trova" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Cerca:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Sostituisci con:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Maiuscole/minuscole" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Sostituisci _tutto" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Vai a" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Vai" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Numero di _riga:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Semplice editor di testi" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..1a1a629 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,263 @@ +# Japanese translation of L3afpad +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the L3afpad package. +# Tarot Osuji , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.8.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2007-05-06 20:26+0900\n" +"Last-Translator: Tarot Osuji \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "ファイル(_F)" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "編集(_E)" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "検索(_S)" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "オプション(_O)" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "新規(_N)" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "開く(_O)..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "保存(_S)" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "別名で保存(_A)..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "印刷プレビュー(_V)" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "印刷(_P)..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "終了(_Q)" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "元に戻す(_U)" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "やり直し(_R)" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "切り取り(_T)" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "コピー(_C)" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "貼り付け(_P)" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "削除(_D)" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "全て選択(_A)" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "検索(_F)..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "次を検索(_N)" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "前を検索(_P)" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "置換(_R)..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "行へジャンプ(_J)..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "フォント(_F)..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "情報(_A)" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "右端で折り返す(_W)" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "行番号を表示(_L)" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "自動インデント(_A)" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+ ベースのシンプルなテキストエディタ" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Tarot Osuji " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "'%s' の変更を保存しますか?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "フォント" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "現在のロケール (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "その他の文字コード" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "文字コード(_S):" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' はサポートされていません" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "自動検出" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "開く" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "別名で保存" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "文字コード(_H):" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' は既に存在します. 上書きしますか?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "無題" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "文字コードを '%s' に変換できませんでした" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "ファイルを作成できませんでした" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "ファイルに書きこめませんでした" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "検索文字列が見つかりません" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "置換しますか?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d 個の文字列を置換しました" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "置換" + +#: ../src/search.c:305 +msgid "Find" +msgstr "検索" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "検索する文字列(_N):" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "置換後の文字列(_P):" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "大文字と小文字を区別する(_M)" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "全て置換(_A)" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "行へジャンプ" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "ジャンプ(_J)" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "行番号(_L):" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "シンプルなテキストエディタ" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..878b68c --- /dev/null +++ b/po/ko.po @@ -0,0 +1,263 @@ +# Korean translation of L3afpad +# Copyright (C) 2006 Seo Sanghyeon +# This file is distributed under the same license as the l3afpad package. +# Seo Sanghyeon , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.8.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2006-11-01 10:50+0900\n" +"Last-Translator: Seo Sanghyeon \n" +"Language-Team: Korean\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "파일(_F)" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "편집(_E)" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "검색(_S)" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "설정(_O)" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "도움말(_H)" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "새로 만들기(_N)" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "열기(_O)..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "저장(_S)" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "다른 이름으로 저장(_A)..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "인쇄 미리보기" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "인쇄(_P)..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "끝내기(_Q)" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "실행 취소(_U)" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "다시 실행(_R)" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "잘라내기(_T)" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "복사(_C)" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "붙여넣기(_P)" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "삭제(_D)" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "모두 선택(_A)" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "찾기(_F)..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "다음 찾기(_N)" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "이전 찾기(_P)" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "바꾸기(_R)..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "이동(_J)..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "글꼴(_F)..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "정보(_A)" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "자동 줄 바꿈(_W)" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "줄 번호(_L)" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "자동 들여쓰기(_A)" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+로 만든 간단한 텍스트 편집기" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Seo Sanghyeon " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "'%s'의 변경된 내용을 저장할까요?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "글꼴" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "현재 로케일 (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "자동 선택" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "열기" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "다른 이름으로 저장" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "문자 인코딩(_H):" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s'은(는) 이미 있습니다. 덮어쓸까요?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "제목 없음" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "찾지 못했습니다" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "바꿀까요?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d번 바꿨습니다" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "바꾸기" + +#: ../src/search.c:305 +msgid "Find" +msgstr "찾기" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "찾을 내용(_N):" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "바꿀 내용(_P):" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "대/소문자 구분(_M)" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "모두 바꾸기" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "이동" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "이동(_J)" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "줄 번호(_L):" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "간단한 텍스트 편집기" diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 0000000..d8b693d --- /dev/null +++ b/po/lt.po @@ -0,0 +1,263 @@ +# Lithuanian translation of l3afpad. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Lech Jankovski , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-07-20 21:29-0400\n" +"Last-Translator: Gintautas Miliauskas \n" +"Language-Team: Lithuanian \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Failas" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Keisti" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Paieška" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Nustatymai" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "P_agalba" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nauja" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Atidaryti..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Įrašyti" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Įrašyti kaip _kaip..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Spaudinio _peržiūra" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Spausdinti" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Iš_eiti" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Atšaukti" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Grąžinti" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Iškirpti" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopijuoti" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Įdė_ti" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Pašalinti" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Pažymėti _viską" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Ieškoti..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Surask _sekantį" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Surask p_raeitą" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "P_akeisti..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Peršokti į..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "Š_riftas..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "A_pie" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Teksto _laužymas" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Eilučių numeracija" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Automatinis atitraukimas" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Paprastas teksto redaktorius paremtas GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Lech Jankovski " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Išsaugoti pokyčius į '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Šriftas" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Esama lokalė (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Kitas kodavimas" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Kodavimas:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "„%s“ nepalaikomas" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automatiškai aptikti" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Atverti" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Įrašyti kaip" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Si_mbolių kodavimas:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' jau egzistuoja. Perrašyti?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Bevardis" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Nepavyko pakeisti kodavimo į „%s“" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Neįmanoma atidaryti failo rašymui" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Neįmanoma įrašyti failo" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Ieškomas tekstas nerastas" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Pakeisti?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d tekstų pakeista" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Pakeisti" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Ieškoti" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Ieškoti ko:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "P_akeisti kuo:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Skirti raidžių dydį" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Pakeisti _visus vienu metu" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Peršokti į" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Nušokti" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Eilutės numeris: " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Paprastas teksto redaktorius" diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 0000000..e3c30b2 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,267 @@ +# Latvain translation of l3afpad. +# Copyright (C) 2009 l3afpad +# This file is distributed under the same license as the l3afpad package. +# Arvis Lācis , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-07-30 12:44+0100\n" +"Last-Translator: Rihards Priedītis \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Latvian\n" +"X-Poedit-Country: LATVIA\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fails" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Rediģēt" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Meklēt" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Uzstādījumi" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Palīdzība" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Jauns" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Atvērt..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Saglabāt" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Saglabāt _kā..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Drukas priekšs_katījums" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Drukāt..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Iziet" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "At_saukt" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Atjaunot" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Izgriez_t" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopēt" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Ie_līmēt" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Izdzēst" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Atlasīt _visu" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Atrast..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Atrast _nākošo" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Atrast iep_riekšējo" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Ai_zstāt..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Pāriet uz..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Fonts..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Par" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Vārda aplaušana" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Rindu numuri" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Automātiska atkāpe" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Uz GTK+ balstīts vienkāršā teksta redaktors" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Arvis Lācis , 2009" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Saglabāt izmaiņas \"%s\"?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Fonts" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Pašreizējā lokāle (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Citi kodējumi" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Kodē_jums:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' netiek atbalstīts" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automātiska pamanīšana" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Atvērt" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Saglabāt kā" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Sim_bola kodējums:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' jau eksistē. Vai pārrakstīt?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Nenosaukts" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Nevar pārvērst kodējumu uz '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Nevar atvērt failu rakstīšanai" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Nevar rakstīt failu" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Meklējamā virkne netika atrasta" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Aizstāt?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d virknes aizstātas" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Aizstāt" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Atrast" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "At_rast ko:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Aizstāt a_r:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Reģistra jūtīgs" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Aizstāt _visu vienlaicīgi" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Pāriet uz" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Pāriet" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Rindas numurs:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Vienkāršā teksta redaktors" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..7d85bc0 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,268 @@ +# Translation of l3afpad-0.8.13 to Dutch. +# Copyright (C) 2004-2006 Tarot Osuji +# This file is distributed under the same license as the l3afpad package. +# +# Wouter Van Hemel , 2006. +# Benno Schulenberg , 2008. +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-01-15 15:15+0100\n" +"Last-Translator: Benno Schulenberg \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Bestand" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "Be_werken" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Zoeken" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opties" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Hulp" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nieuw" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Openen..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "Op_slaan" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Opslaan _als..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Afdruk_voorbeeld" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Af_drukken..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "A_fsluiten" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Ongedaan maken" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Opnieu_w" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "K_nippen" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopiëren" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Plakken" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Verwijderen" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Alles selecteren" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Zoeken..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "V_olgende zoeken" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Vorig_e zoeken" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Vervangen..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Naar regel..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Lettertype..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Info" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Regel_afbreking" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Regel_nummers" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Automatisch _inspringen" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Eenvoudige teksteditor gebouwd op GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Wouter Van Hemel \n" +"Benno Schulenberg " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Wijzigingen aan '%s' opslaan?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Lettertype" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Huidige taalomgeving (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Andere tekencodering" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Teken_codering:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' wordt niet ondersteund" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automatisch detecteren" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Openen" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Opslaan als" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Teken_codering:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Bestand '%s' bestaat al. Vervangen?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Naamloos" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Kan de tekenset niet omzetten naar '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Kan het te schrijven bestand niet openen" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Kan bestand niet wegschrijven" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Zoekterm niet gevonden" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Vervangen?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "Er zijn %d vondsten vervangen" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Vervangen" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Zoeken" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Zoeken _naar:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Vervangen _door:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Hoofdlettergevoelig" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Alle v_ondsten vervangen" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Naar regel" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Spring" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Regel_nummer:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Eenvoudige teksteditor" diff --git a/po/nn.po b/po/nn.po new file mode 100644 index 0000000..9e72c1d --- /dev/null +++ b/po/nn.po @@ -0,0 +1,273 @@ +# Norwegian Nynorsk translation for l3afpad. +# This file is distributed under the same license as the l3afpad package. +# Robert Grønning , 2009. +# Åsmund Skjæveland , 2009. +# Eskild Hustvedt , 2009. +# Eivind Ødegård , 2009. +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-07-03 13:59+0100\n" +"Last-Translator: Eivind Ødegård \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Norwegian Nynorsk\n" +"X-Poedit-Country: NORWAY\n" +"X-Poedit-Basepath: /home/eivind/umseting/l3afpad\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Fil" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "R_ediger" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "Søk" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Val" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Hjelp" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Ny" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Opne..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Lagre" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Lagre som..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Førehands_vising" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "S_kriv ut..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Avslu_tt" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "A_ngre" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Gje_r om" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Klypp ut" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "K_opier" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Lim inn" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Slett" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Vel _alt" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Finn..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Finn _neste" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Finn f_ørre" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Byt ut..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Gå til..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "Skrifttype..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Om" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Ordbryting" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Linjenummer" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Autoinnrykk" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Enkel tekstredigerar basert på GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Robert Grønning \n" +"Åsmund Skjæveland \n" +"Eskild Hustvedt \n" +"Eivind Ødegård " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Lagra endringar i «%s»?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Skrifttype" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Noverande lokale (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Anna teiknsett" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Teikn_sett:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "«%s» er ikkje støtta" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Finn automatisk" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Opne" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Lagre som" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "T_eiknkoding:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Fila «%s» finst allereie. Vil du overskriva ho?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Utan namn" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Kan ikkje konvertera teiknsettet til «%s»" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Klarte ikkje opna fila for lagring" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Klarer ikkje skriva fila" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Fann ikkje søkjetekst" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Byt ut?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "bytte ut %d strengar" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Byt ut" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Finn" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Fi_nn dette:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Byt ut med:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Treff på små/store bokstavar" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Byt ut _alle med ein gong" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Hopp til" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Hopp" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Linjenummer:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Enkel tekstredigering" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..863484b --- /dev/null +++ b/po/pl.po @@ -0,0 +1,342 @@ +# Polish translation of L3afpad +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the L3afpad package. +# Michal Wrobel , 2005. +# Michał Trzebiatowski , 2009 +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-06-24 21:36+0100\n" +"Last-Translator: Michał Trzebiatowski \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Polish\n" +"X-Poedit-Country: POLAND\n" + +# src/menu.c:31 +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Plik" + +# src/menu.c:49 +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Edycja" + +# src/menu.c:69 +#: ../src/menu.c:36 +msgid "_Search" +msgstr "Wy_szukiwanie" + +# src/menu.c:83 +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opcje" + +# src/menu.c:95 +#: ../src/menu.c:38 +msgid "_Help" +msgstr "Pomo_c" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nowy" + +# src/menu.c:35 +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Otwórz..." + +# src/selector.c:305 +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Zapisz" + +# src/menu.c:39 +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Z_apisz jako..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Podgląd _wydruku" + +# src/menu.c:44 +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Wy_drukuj" + +# src/menu.c:47 +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Za_kończ" + +# src/menu.c:51 +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "Cof_nij" + +# src/menu.c:53 +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "P_onów" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Wytnij" + +# src/menu.c:59 +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "S_kopiuj" + +# src/menu.c:61 +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Wkl_ej" + +# src/menu.c:63 +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Usuń" + +# src/menu.c:67 +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "_Zaznacz wszystko" + +# src/menu.c:71 +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Znajdź..." + +# src/menu.c:73 +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Znajdź _następny" + +# src/menu.c:75 +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Znajdź _poprzedni" + +# src/search.c:256 +# src/search.c:264 +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Z_mień..." + +# src/search.c:362 +# src/search.c:370 +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Przejdź do _wiersza" + +# src/font.c:44 +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Czcionka..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_O programie" + +# src/menu.c:87 +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Zawijanie linii" + +# src/search.c:375 +# src/search.c:383 +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Numerowanie linii" + +# src/menu.c:93 +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Automatyczne wcięcia" + +# src/callback.c:286 +# src/callback.c:292 +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Prosty edytor tekstowy oparty na GTK+" + +# src/callback.c:294 +# src/callback.c:300 +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Michał Trzebiatowski " + +# src/view.c:62 +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Zachować zmiany w '%s'?" + +# src/font.c:44 +#: ../src/font.c:44 +msgid "Font" +msgstr "Czcionka" + +# src/selector.c:99 +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Bieżące ustawienia regionalne (%s)" + +# src/selector.c:130 +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Inne kodowanie znaków" + +# src/selector.c:170 +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Kodowanie znaków:" + +# src/selector.c:192 +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' nie jest obsługiwany(a)" + +# src/selector.c:253 +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Autowykrywanie" + +# src/selector.c:305 +#: ../src/selector.c:300 +msgid "Open" +msgstr "Otwórz" + +# src/selector.c:305 +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Zapisz jako" + +# src/selector.c:329 +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Kodowanie znaków:" + +# src/selector.c:400 +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' już istnieje. Czy go zastąpić?" + +# src/file.c:42 +# src/file.c:43 +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Bez nazwy" + +# src/file.c:186 +# src/file.c:189 +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Nie można przekonwertować znaków do '%s'" + +# src/file.c:199 +# src/file.c:202 +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Nie można otworzyć pliku do zapisu" + +# src/file.c:204 +# src/file.c:207 +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Nie można zapisać pliku" + +# src/search.c:132 +# src/search.c:138 +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Szukany łańcuch nie został znaleziony" + +# src/search.c:175 +# src/search.c:181 +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Zastąpić?" + +# src/search.c:210 +# src/search.c:218 +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d łańcuchów zastąpiono" + +# src/search.c:256 +# src/search.c:264 +#: ../src/search.c:298 +msgid "Replace" +msgstr "Zastąp" + +# src/search.c:263 +# src/search.c:271 +#: ../src/search.c:305 +msgid "Find" +msgstr "Znajdź" + +# src/search.c:276 +# src/search.c:284 +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Znajdź:" + +# src/search.c:292 +# src/search.c:300 +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Z_amień na:" + +# src/search.c:306 +# src/search.c:314 +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Uwzględniaj wielkość liter" + +# src/search.c:311 +# src/search.c:319 +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Zamień _wszystko" + +# src/search.c:362 +# src/search.c:370 +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Idź do" + +# src/search.c:368 +# src/search.c:376 +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Idź" + +# src/search.c:375 +# src/search.c:383 +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Numer _linii:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +# l3afpad.desktop.in.h:2 +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Prosty edytor tekstu" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..6a57cab --- /dev/null +++ b/po/pt.po @@ -0,0 +1,263 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# Alan Kelon Oliveira de Moraes , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.7.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2004-12-28 19:56:59-0300\n" +"Last-Translator: Alan Kelon Oliveira de Moraes \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Arquivo" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Procurar" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opções" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Ajuda" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Novo" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Abrir" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Salvar" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Salvar _Como" + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Sa_ir" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Sa_ir" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Sa_ir" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Desfazer" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Refazer" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "R_ecortar" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copiar" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "C_olar" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Apagar" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Selecionar _Tudo" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Procurar..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "P_rocurar Próximo" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Procurar _Anterior" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Substituir..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Ir para..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Fonte" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Sobre" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Quebrar linha" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Número de linhas" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Auto Indentar" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Simples editor de texto feito em GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Alan Kelon " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Salvar modificações em '%s'" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Fonte" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Localização atual (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Outro conjunto de caracteres" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Conjunto de caracteres" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' não é suportado" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Auto-detectar" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Abrir" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Salvar Como" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Codificação de caracteres: " + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' já existe. Sobrescrever?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sem título" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Não foi possível converter o conjuntos de caracteres para '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Não foi possível abrir o arquivo para escrita" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Não foi possível escrever o arquivo" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Palavra(s) não encontrada" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Substituir?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d palavra(s) substituídas" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Substituir" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Procurar" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Procurar o que: " + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Substituir com: " + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Diferenciar maiúsculas e minúsculas" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Substituir _todas de uma vez" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Ir para" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Ir" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Número da linha: " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Simples editor de texto" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..0a64a8a --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,263 @@ +# L3afpad translation done by Fábio Antunes +# Copyright (C) 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Alan Kelon Oliveira de Moraes , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-05-07 17:39-0300\n" +"Last-Translator: Leslie Harlley Watter \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Arquivo" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Procurar" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Opções" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Ajuda" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Novo" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Abrir" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Salvar" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Salvar _Como" + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Pré-_Visualizar Impressão" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Im_primir" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Sa_ir" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Desfazer" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Refazer" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "R_ecortar" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Copiar" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "C_olar" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Remover" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Selecionar _Tudo" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Procurar..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "P_rocurar Próximo" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Procurar _Anterior" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Substituir..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Ir Para..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Fonte" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Sobre" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Quebrar Linha" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Número de Linhas" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Auto Indentar" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Editor de texto simples feito em GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Fábio Antunes " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Salvar modificações em '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Fonte" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Idioma Atual (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Outro conjunto de caracteres" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Conjunto de caracteres" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' não é suportado" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Auto-detectar" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Abrir" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Salvar Como" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Codificação de Caracteres:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' já existe. Sobrescrever?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Sem Título" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Não foi possível converter o conjunto de caracteres para '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Não foi possível abrir o arquivo para escrita" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Não foi possível escrever no arquivo" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Palavra(s) não encontrada" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Substituir?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d palavra(s) substituídas" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Substituir" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Procurar" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Procurar o que:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Substituir com:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Diferenciar maiúsculas e minúsculas" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Substituir _todos de uma vez" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Ir Para" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Ir" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Número de linhas:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Editor de texto simples" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..bc639ec --- /dev/null +++ b/po/ru.po @@ -0,0 +1,263 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: L3afpad 0.7.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date:2004-10-24 00:40+0400\n" +"Last-Translator: Artem Vakhitov \n" +"Language-Team: RUSSIAN \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Файл" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Правка" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "П_оиск" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "Параметры" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Справка" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Создать" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Открыть..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "Со_хранить" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Сохранить _как..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "В_ыход" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "В_ыход" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "В_ыход" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Отменить" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Ве_рнуть" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Вырезать" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Копировать" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Вст_авить" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "У_далить" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "В_ыделить все" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Найти..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Найти след_ующее" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Найти пред_ыдущее" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "За_менить..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Перейти к _строке..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Шрифт..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_О программе" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Переносить слова" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Показывать _номера строк" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Автоматический отступ" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Простой текстовый редактор на основе GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Artem Vakhitov " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Сохранить изменения в '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Шрифт" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Текущая локаль (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Другая кодировка" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Кодировка:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' не поддерживается" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Автоопределение" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Открытие файла" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Сохранение файла" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Ко_дировка символов" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' уже существует. Переписать?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Без имени" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Не удалось преобразовать кодировку в '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Не удалось открыть файл для записи" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Не удалось записать файл" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Искомая строка не найдена" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Заменить?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d строк заменено" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Замена" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Поиск" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "На_йти: " + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "З_аменить на: " + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "Учитывать _регистр" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Заменить _все" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Переход" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Перейти" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Номер строки: " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Простой текстовый редактор" diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 0000000..12507f9 --- /dev/null +++ b/po/sk.po @@ -0,0 +1,263 @@ +# Slovak translation of l3afpad. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Petr Chabada , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.7.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2005-07-10 21:20+0100\n" +"Last-Translator: Peter Chabada \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Súbor" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Upraviť" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Nájsť" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Nástroje" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Pomocník" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nový" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Otvoriť" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Uložiť" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Uložiť _ako..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_Tlačiť..." + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Tlačiť..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Koniec" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "Vrátiť _späť" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "O_pakovať vrátené" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Vystrihnúť" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopírovať" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "V_ložiť" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Odstrániť" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Vybr_ať všetko" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Nájsť" + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "_Hľadať ďalšie" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Nájsť pre_dchádzajúce" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "N_ahradiť..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Prejsť na _riadok" + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Písmo" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_O programe" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Zalamovanie textu" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Zobraziť čísla _riadkov" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Povoliť automatické _odsadzovanie" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Jednoduchý textový editor" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Peter Chabada" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Uložiť zmeny v dokumente '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Písmo" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Aktuálne lokálne nastavenie (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Iné kódovanie znakov" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Znaková _ada:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' nie je podporovaná" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Automaticky" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Otvoriť" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Uložiť ako" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Kódovanie znakov: " + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Súbor '%s' už existuje. Chcete ho nahradiť?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Nepomenovaný dokument" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Nemôžem skonvertovať znakovú sadu na '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Nemôžem otvoriť súbor na zápis" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Nemôžem uložiť súbor na disk" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Hľadaný reťazec nenájdený." + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Nahradiť?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "Bolo nahradených '%d' reťazcov." + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Nahradiť" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Hľadať" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Náj_sť:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Nahradiť _s:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Rozlišovať veľkosť písmen" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Nahradiť _všetko" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Prejsť na riadok" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Prejsť na riadok" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Číslo _riadku:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Jednoduchý textový editor" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 0000000..cb26ca2 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,269 @@ +# Slovenian translations for PACKAGE package +# Slovenski prevodi paketa PACKAGE. +# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the l3afpad package. +# Alan Pepelko , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad-0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-04-28 22:31+0100\n" +"Last-Translator: Alan Pepelko \n" +"Language-Team: Slovenian \n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" +"X-Poedit-Language: Slovenian\n" +"X-Poedit-Country: SLOVENIA\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Datoteka" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Uredi" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Iskanje" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "M_ožnosti" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Pomoč" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Nova" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Odpri ..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Shrani" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Shrani _kot ..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Pre_dogled tiskanja" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Na_tisni ..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Iz_hod" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "R_azveljavi" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Uveljavi" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Iz_reži" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopiraj" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Prilepi" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "Poči_sti" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Iz_beri vse" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Najdi ..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Najdi na_slednji" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Najdi _prejšnji" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Zamenjaj ..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Poj_di na ..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Pisava ..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_O" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Prelom _besedila" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Številke vrstic" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Zamik prve vrstice" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Preprost urejevalnik besedila temelječ na GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Alan Pepelko " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Želite shraniti spremembe v '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Pisava" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Trenutne lokalne nastavitve (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Drug nabor znakov" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Nabor _znakov:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' ni podprt" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Samozaznaj" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Odpri" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Shrani kot" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Kodiranje znakov:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Datoteka '%s' že obstaja. Jo želite prepisati?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Neimenovano" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Ni mogoče pretvoriti nabora znakov v '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Ni mogoče odpreti datoteke" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Ni mogoče zapisati datoteke" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Iskanega niza ni mogoče najti" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Želite zamenjati?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d nizov zamenjanih" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Zamenjaj" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Najdi" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Najdi kaj:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Zamenjaj z:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Velikost črk mora ustrezati" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Zamenjaj _vse naenkrat" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Pojdi na" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "Po_jdi" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Števi_lka vrstice:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Preprost urejevalnik besedila" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..5a084b2 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,265 @@ +# Serbian translation for L3afpad package +# Copyright (C) 2004-2007 Tarot Osuji +# This file is distributed under the same license as the L3afpad package. +# Jay Alexander Fleming , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-08-31 12:59+0100\n" +"Last-Translator: Jay A. Fleming \n" +"Language-Team: Serbian \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Датотека" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Уређивање" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "Прона_ђи" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "Пос_тавке" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Помоћ" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Ново" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Отвори" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Сачувај" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Сачувај _као..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Прегле_д пред штампу" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Штампај..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Изађи" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Опозови" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Понови" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Исеци" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Умножи" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "У_баци" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "Обри_ши" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Изабери _све" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "Претра_жи..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Нађи _следеће" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Нађи прет_ходно" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "Зам_ени..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Иди у _ред..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Фонт..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_О програму" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Преломи дуге линије" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Бројеви _линија" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Аутоматско увлачење" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Једноставан GTK+ заснован уређивач текста" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Serbian (sr) — Jay A. Fleming " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Сачувај промене у „%s“?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Фонт" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Текући локалитет (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Друга кодна страница" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Кодна _страница:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "„%s“ није подржан" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Аутоматско препознавање" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Отвори" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Сачувај _као..." + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Кодирање _знакова:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Датотека „%s“ већ постоји. Да" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Несачуван документ" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Не могу променити кодну страницу у „%s“" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Не могу да отворим датотеку за писање" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Не могу да пишем у датотеку" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Тражена реч не постоји" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Замени?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d речи је замењено" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Замени" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Нађи" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Шта да _тражим:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "_Замени са:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "Разликуј величину _слова" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "З_амени све" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Иди у ред" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Иди" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Број _линије:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Једноставан уређивач текста" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..6f991db --- /dev/null +++ b/po/sv.po @@ -0,0 +1,264 @@ +# Swedish translation of L3afpad text editor. +# Copyright © 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Isak Savo , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2005-12-05 20:30+0100\n" +"Last-Translator: Isak Savo \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Arkiv" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Redigera" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Sök" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Inställningar" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Hjälp" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Ny" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Öppna..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Spara" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Spara so_m..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Skriv _ut..." + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Skriv _ut..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Avsluta" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Ångra" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Gör om" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Klipp _ut" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Kopiera" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Klistra _in" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Ta bort" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Markera _allt" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Sök..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Sök n_ästa" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Sök före_gående" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Ersätt..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Hoppa till..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Typsnitt..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Om" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Radbrytning" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "Rad_nummer" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Automatisk _indrag" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Enkel GTK+-baserad textredigerare" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Isak Savo " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Spara ändringar till \"%s\"?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Typsnitt" + +# Här syftar 'Locale' på teckenkodning när man sparar/öppnar dokument. +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Nuvarande lokal (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Annan teckenkodning" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Kodning:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "\"%s\" stöds inte" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Känn av automatiskt" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Öppna" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Spara som" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "Tecken_kodning: " + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "\"%s\" finns redan. Vill du skriva över?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Namnlös" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Kan inte konvertera kodning till \"%s\"" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Kan inte öppna fil att skriva till" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Kan inte skriva till fil" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Söksträngen fanns inte" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Ersätt?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d strängar har ersatts" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Ersätt" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Sök" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Sök efter:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Ersätt _med:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Gör skillnad på gemener/VERSALER" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "_Ändra alla på en gång" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Hoppa till" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Hoppa" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Radnummer: " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Enkel textredigerare" diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 0000000..5ba0f1b --- /dev/null +++ b/po/ta.po @@ -0,0 +1,263 @@ +# Tamil translation of l3afpad. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Vijay Durairaj , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.7.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2004-11-25 03:24-0700\n" +"Last-Translator: Vijay Durairaj \n" +"Language-Team: Tamil \n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "கோப்பு(_F)" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "தொகு(_E)" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "தேடுக(_S)" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "தேர்வுகள்(_O)" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "உதவி(_H)" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "புதிது(_N)" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "திற(_O)..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "சேமி(_S)" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "வேறு பேரில் சேமி(_A)..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "வெளிச்செல்(_Q)" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "வெளிச்செல்(_Q)" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "வெளிச்செல்(_Q)" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "கவில் செய்(_U)" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "மீண்டும்(_R)" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "வெட்டு(_T)" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "நகல்(_C)" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "ஒட்டு(_P)" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "நீக்கு(_D)" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "அனைத்தையும் தேர்வு செய்க(_A)" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "கண்டுபிடி(_F).." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "அடுத்ததை கண்டுபிடி(_N)" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "தேடலை பின்னோக்கு(_p)" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "இடமாற்று(_R)..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "இங்கு போ(_J)..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "எழுத்துரு(_F).." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "பற்றி(_A)" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "சொல் மடிப்பு(_W)" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "வரி எண்கள்(_L)" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "தன்னியக்க தள்ளல்(_A)" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+ சார்ந்த ஒரு எளிமையான உரை பதிப்பான்" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "மாற்றங்களை '%s' இல் சேமி?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "எழுத்துரு" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "தற்பொழுதுள்ள Locale (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' க்கு ஆதரவு எதுவும் இல்லை" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "தானாக கண்டுபிடி" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "திற" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "எனச் சேமி..." + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' ஏற்கனவே உள்ளது. மேல் எழுதவா?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "தலைப்பில்லாதது" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "கோப்பை எழுதுவதற்காக திறக்க முடியவில்லை" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "கோப்பை எழுத முடியவில்லை" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "தேடல் சரம் கண்டுபிடிக்க முடியவில்லை" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "மாற்றவா?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d சரங்கள் மாற்றப்பட்டுள்ளது" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "மாற்று" + +#: ../src/search.c:305 +msgid "Find" +msgstr "கண்டுபிடி" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "எதை கண்டுப்பிடிக்க: (_N)" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "எதை கொண்டு மாற்ற(_P)): " + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "எழுத்து வகை பொருத்து(_M)" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "எல்லாவற்றையும் ஒரே நேரத்தில் மாற்று(_A)" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "இங்கு போ" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "தாவு(_J)" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "வரி எண்(_L): " + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "எளிமையான உரை பதிப்பான்" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..8300635 --- /dev/null +++ b/po/tr.po @@ -0,0 +1,265 @@ +# translation of tr.po to Türkçe +# translation of l3afpad.po to Türkçe +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# kaya oğuz , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: tr\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2005-08-05 17:26+0300\n" +"Last-Translator: kaya oğuz \n" +"Language-Team: Türkçe \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.10.2\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Dosya" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "Dü_zenle" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Ara" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Seçenekler" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Yardım" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Yeni" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Aç..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Kaydet" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "_Farklı Kaydet..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Ya_zdır... " + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "Ya_zdır... " + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "Çı_k" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Geri Al" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "Tekrar _Yap" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "_Kes" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "K_opyala" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "Y_apıştır" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Sil" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Tümünü _Seç" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Bul..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "_Sonrakini Bul" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Ö_ncekini Bul" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "_Değiştir" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Satı_ra Git..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Yazıtipi..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Hakkında" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "_Sözcük Kaydır" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "S_atır Numaraları" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Otomatik Girinti" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "GTK+ tabanlı basit metin düzenleyicisi" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Kaya Oğuz " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Değişiklikler '%s' dosyasına kaydedilsin mi?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Yazıtipi" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Geçerli Yer Kodlaması (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Diğer kodlama" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Kodlama:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' desteklenmemektedir" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Otomatik-Belirle" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Aç" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Farklı Kaydet" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Karakter Kodlaması:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' dosyası zaten var. Üzerine yazılsın mı?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Başlıksız" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Kodlama '%s' kodlamasına dönüştürülemiyor" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Yazılacak dosya açılamıyor" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Dosyaya yazılamıyor" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Aranan dizgi bulunamadı" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Değiştir?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "%d dizgi değiştirildi" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Değiştir" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Bul" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "Bunu _bul:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Bununla _değiştir:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Büyük/küçük harf eşleştir" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Hepsini bir kerede _değiştir" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Satıra Git" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Git" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Satır Numarası:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Basit metin düzenleyicisi" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..fa968b1 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,266 @@ +# Ukrainian translations for l3afpad package +# Переклад українською для пакету l3afpad. +# Copyright (C) 2007 Free Software Foundation +# This file is distributed under the same license as the l3afpad package. +# Youri Bulka , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.9\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2007-03-13 11:38+0300\n" +"Last-Translator: Youri Bulka \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Файл" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Редагування" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Пошук" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "_Налаштування" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "_Довідка" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "_Новий" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Відкрити" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Зберегти" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Зберегти _як..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "Попередній перегляд перед друком" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_Друкувати..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "_Вийти" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Скасувати дію" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Повторити дію" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Ви_різати" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Копіювати" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "В_ставити" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Витерти" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Виділити _все" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Знайти..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Знайти _наступне" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Знайти _попереднє" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "За_мінити..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "Пере_скочити до..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Шрифт..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Про" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Авто-_поділ на рядки" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Номери лінійок" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "Авто-_відступ" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Простий текстовий редактор, базований на GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Перекладачі" + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Зберегти зміни до '%s'?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Шрифт" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Дана локаль (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Інше кодування" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "_Кодування:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "'%s' не підтримується" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Авто-визначення" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Відкрити" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Зберегти як" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Кодування знаків:" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "'%s' вже існує, переписати замість нього?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Неназваний" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Не можливо перетворити кодування в '%s'" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Не можливо відрити файл для запису" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Не можливо писати у файл" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Такого зразка не знайдено" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Замінити?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "замінено %d зразок(ів)" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Замінити" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Знайти" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Зразок:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "За_мінити на:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "Звертати увагу на реґістр" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "Замінити _всі" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Перескочити до" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "Пере_скочити" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "_Номери лінійок:" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Проситий текстовий редактор" diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000..5a0f797 --- /dev/null +++ b/po/vi.po @@ -0,0 +1,266 @@ +# Vietnamese translation for L3afpad. +# Copyright © 2009 Tarot Osuji . +# This file is distributed under the same license as the l3afpad package. +# Nguyễn Đại Quý , 2004. +# Clytie Siddall , 2007-2009. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.16\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2009-09-19 18:32+0930\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.8\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "_Tập tin" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "_Sửa" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "_Tìm kiếm" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "Tù_y chọn" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "Trợ g_iúp" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "Mớ_i" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "_Mở..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "_Lưu" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "Lưu _dạng..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "_Xem thử bản in" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "_In..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "T_hoát" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "_Hủy bước" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "_Làm lại" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "Cắ_t" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "_Chép" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "_Dán" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "_Xoá" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "Chọn _tất cả" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "_Tìm..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "Tìm _kế" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "Tìm _lùi" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "T_hay thế..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "_Nhảy tới..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "_Phông..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "_Giới thiệu" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "Ngắt _dòng" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "_Số hiệu dòng" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "_Tự thụt lề" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "Một trình soạn thảo văn bản đơn giản dựa trên GTK+" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "Nhóm Việt hoá Phần mềm Tự do " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "Lưu các thay đổi cho « %s » không?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "Phông" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "Miền địa phương hiện tại (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "Bảng mã khác" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "Bảng _mã:" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "Không hỗ trợ « %s »" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "Tự động dò tìm" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "Mở" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "Lưu dạng" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "_Bảng mã ký tự :" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "Tập tin « %s » đã có. Ghi đè ?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "Không tên" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "Không thể chuyển đổi bảng mã sang « %s »" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "Không thể mở tập tin để ghi" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "Không thể ghi tập tin" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "Không tìm thấy" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "Thay thế ?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "Đã thay thế %d lần" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "Thay thế" + +#: ../src/search.c:305 +msgid "Find" +msgstr "Tìm" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "_Tìm kiếm:" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "Thay thế _bởi:" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "_Phân biệt chữ hoa/thường" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "_Thay thế tất cả" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "Nhảy tới" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "_Nhảy" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "Dòng _số :" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "Một trình soạn thảo văn bản đơn giản" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..b1d2e79 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,266 @@ +# Simplified Chinese translation for L3afPad +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# Carlos Z.F. Liu , 2004. +# LI Daobing , 2008. +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-01-26 10:12+0800\n" +"Last-Translator: LI Daobing \n" +"Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "文件(_F)" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "编辑(_E)" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "搜索(_S)" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "选项(_O)" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "帮助(_H)" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "新建(_N)" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "打开(_O)..." + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "保存(_S)" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "另存为(_A)..." + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "打印预览(_V)" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "打印(_P)..." + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "退出(_Q)" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "撤销(_U)" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "重复(_R)" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "剪切(_T)" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "复制(_C)" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "粘贴(_P)" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "删除(_D)" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "选择全部(_A)" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "查找(_F)..." + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "查找下一个(_N)" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "查找上一个(_P)" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "替换(_R)..." + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "跳转到(_J)..." + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "字体(_F)..." + +#: ../src/menu.c:61 +msgid "_About" +msgstr "关于(_A)" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "自动换行(_W)" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "行号(_L)" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "自动缩进(_A)" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "基于 GTK+ 的简易文字编辑器" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"Carlos Z.F. Liu \n" +"LI Daobing " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "将更改保存到“%s”吗?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "字体" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "当前区域 (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "其它编码" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "编码(_S):" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "“%s”不被支持" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "自动探测" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "打开" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "另存为" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "字符编码(_H):" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "文件“%s”已经存在。覆盖它吗?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "无标题" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "无法将编码转换到“%s”" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "无法打开要写入的文件" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "无法写入文件" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "找不到搜索字串" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "替换吗?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "替换了 %d 个字符串" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "替换" + +#: ../src/search.c:305 +msgid "Find" +msgstr "查找" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "查找(_N):" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "替换为(_P):" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "区分大小写(_M)" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "全部替换(_A)" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "跳转至" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "跳转(_J)" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "行号(_L):" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "简易文字编辑器" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 0000000..ca7466c --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,267 @@ +# Traditional Chinese translation for l3afpad. +# Copyright (C) 2004 Free Software Foundation, Inc. +# This file is distributed under the same license as the l3afpad package. +# OLS3 , 2005. +# Wei-Lun Chao , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: l3afpad 0.8.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-09-01 15:36+0800\n" +"PO-Revision-Date: 2008-03-20 20:21+0800\n" +"Last-Translator: Wei-Lun Chao \n" +"Language-Team: Chinese (traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../src/menu.c:34 +msgid "_File" +msgstr "檔案(_F)" + +#: ../src/menu.c:35 +msgid "_Edit" +msgstr "編輯(_E)" + +#: ../src/menu.c:36 +msgid "_Search" +msgstr "搜尋(_S)" + +#: ../src/menu.c:37 +msgid "_Options" +msgstr "選項(_O)" + +#: ../src/menu.c:38 +msgid "_Help" +msgstr "求助(_H)" + +#: ../src/menu.c:39 +msgid "_New" +msgstr "新建(_N)" + +#: ../src/menu.c:40 +msgid "_Open..." +msgstr "開啟(_O)…" + +#: ../src/menu.c:41 +msgid "_Save" +msgstr "儲存(_S)" + +#: ../src/menu.c:42 +msgid "Save _As..." +msgstr "另存為(_A)…" + +#: ../src/menu.c:44 +msgid "Print Pre_view" +msgstr "列印預覽(_V)" + +#: ../src/menu.c:45 +msgid "_Print..." +msgstr "列印(_P)…" + +#: ../src/menu.c:47 +msgid "_Quit" +msgstr "離開(_Q)" + +#: ../src/menu.c:48 +msgid "_Undo" +msgstr "回復(_U)" + +#: ../src/menu.c:49 +msgid "_Redo" +msgstr "重做(_R)" + +#: ../src/menu.c:50 +msgid "Cu_t" +msgstr "剪下(_T)" + +#: ../src/menu.c:51 +msgid "_Copy" +msgstr "複製(_C)" + +#: ../src/menu.c:52 +msgid "_Paste" +msgstr "貼上(_P)" + +#: ../src/menu.c:53 +msgid "_Delete" +msgstr "刪除(_D)" + +#: ../src/menu.c:54 +msgid "Select _All" +msgstr "全選(_A)" + +#: ../src/menu.c:55 +msgid "_Find..." +msgstr "尋找(_F)…" + +#: ../src/menu.c:56 +msgid "Find _Next" +msgstr "尋找下一個(_N)" + +#: ../src/menu.c:57 +msgid "Find _Previous" +msgstr "尋找上一個(_P)" + +#: ../src/menu.c:58 +msgid "_Replace..." +msgstr "置換(_R)…" + +#: ../src/menu.c:59 +msgid "_Jump To..." +msgstr "跳至(_J)…" + +#: ../src/menu.c:60 +msgid "_Font..." +msgstr "字型(_F)…" + +#: ../src/menu.c:61 +msgid "_About" +msgstr "關於(_A)" + +#: ../src/menu.c:68 +msgid "_Word Wrap" +msgstr "自動換列(_W)" + +#: ../src/menu.c:69 +msgid "_Line Numbers" +msgstr "列號(_L)" + +#: ../src/menu.c:70 +msgid "_Auto Indent" +msgstr "自動縮排(_A)" + +#: ../src/callback.c:307 +msgid "GTK+ based simple text editor" +msgstr "基於 GTK+ 的簡易文字編輯器" + +#: ../src/callback.c:313 +msgid "translator-credits" +msgstr "" +"OLS3 \n" +"趙惟倫 " + +#: ../src/view.c:62 +#, c-format +msgid "Save changes to '%s'?" +msgstr "要將變更儲存到「%s」?" + +#: ../src/font.c:44 +msgid "Font" +msgstr "字型" + +#: ../src/selector.c:95 +#, c-format +msgid "Current Locale (%s)" +msgstr "目前語區 (%s)" + +#: ../src/selector.c:126 +msgid "Other Codeset" +msgstr "其它編碼" + +#: ../src/selector.c:165 +msgid "Code_set:" +msgstr "編碼(_S):" + +#: ../src/selector.c:187 +#, c-format +msgid "'%s' is not supported" +msgstr "「%s」尚未支援" + +#: ../src/selector.c:248 +msgid "Auto-Detect" +msgstr "自動偵測" + +#: ../src/selector.c:300 +msgid "Open" +msgstr "開啟" + +#: ../src/selector.c:300 +msgid "Save As" +msgstr "另存新檔" + +#: ../src/selector.c:315 +msgid "C_haracter Coding:" +msgstr "字元編碼(_H):" + +#: ../src/selector.c:373 +#, c-format +msgid "'%s' already exists. Overwrite?" +msgstr "檔案「%s」已經存在。要覆蓋它嗎?" + +#: ../src/file.c:55 +msgid "Untitled" +msgstr "未命名" + +#: ../src/file.c:210 +#, c-format +msgid "Can't convert codeset to '%s'" +msgstr "無法將編碼轉換為「%s」" + +#: ../src/file.c:223 +msgid "Can't open file to write" +msgstr "無法打開要寫入的檔案" + +#: ../src/file.c:228 +msgid "Can't write file" +msgstr "無法寫入檔案" + +#: ../src/search.c:136 +msgid "Search string not found" +msgstr "找不到搜尋字串" + +#: ../src/search.c:189 +msgid "Replace?" +msgstr "要置換嗎?" + +#: ../src/search.c:252 +#, c-format +msgid "%d strings replaced" +msgstr "置換了 %d 個字串" + +#: ../src/search.c:298 +msgid "Replace" +msgstr "置換" + +#: ../src/search.c:305 +msgid "Find" +msgstr "尋找" + +#: ../src/search.c:317 +msgid "Fi_nd what:" +msgstr "尋找(_N):" + +#: ../src/search.c:336 +msgid "Re_place with:" +msgstr "置換成(_P):" + +#: ../src/search.c:350 +msgid "_Match case" +msgstr "區分大小寫(_M)" + +#: ../src/search.c:355 +msgid "Replace _all at once" +msgstr "全部置換(_A)" + +#: ../src/search.c:406 +msgid "Jump To" +msgstr "跳至" + +#: ../src/search.c:411 +msgid "_Jump" +msgstr "跳至(_J)" + +#: ../src/search.c:418 +msgid "_Line number:" +msgstr "列號(_L):" + +#: ../data/l3afpad.desktop.in.h:1 +msgid "L3afpad" +msgstr "L3afpad" + +#: ../data/l3afpad.desktop.in.h:2 +msgid "Simple text editor" +msgstr "簡易文字編輯器" diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..3f613c5 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,28 @@ +bin_PROGRAMS = l3afpad + +INCLUDES = -DICONDIR=\"$(datadir)/pixmaps\" + +l3afpad_SOURCES = \ + l3afpad.h main.c \ + window.h window.c \ + menu.h menu.c \ + callback.h callback.c \ + view.h view.c \ + undo.h undo.c \ + font.h font.c \ + linenum.h linenum.c \ + indent.h indent.c \ + hlight.h hlight.c \ + selector.h selector.c \ + file.h file.c \ + encoding.h encoding.c \ + search.h search.c \ + dialog.h dialog.c \ + gtkprint.h gtkprint.c \ + dnd.h dnd.c \ + utils.h utils.c \ + emacs.h emacs.c \ + gtksourceiter.h gtksourceiter.c + +l3afpad_CFLAGS = $(GTK_CFLAGS) +l3afpad_LDADD = $(GTK_LIBS) $(INTLLIBS) diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..8ccd443 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,812 @@ +# Makefile.in generated by automake 1.11.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = l3afpad$(EXEEXT) +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am_l3afpad_OBJECTS = l3afpad-main.$(OBJEXT) l3afpad-window.$(OBJEXT) \ + l3afpad-menu.$(OBJEXT) l3afpad-callback.$(OBJEXT) \ + l3afpad-view.$(OBJEXT) l3afpad-undo.$(OBJEXT) \ + l3afpad-font.$(OBJEXT) l3afpad-linenum.$(OBJEXT) \ + l3afpad-indent.$(OBJEXT) l3afpad-hlight.$(OBJEXT) \ + l3afpad-selector.$(OBJEXT) l3afpad-file.$(OBJEXT) \ + l3afpad-encoding.$(OBJEXT) l3afpad-search.$(OBJEXT) \ + l3afpad-dialog.$(OBJEXT) l3afpad-gtkprint.$(OBJEXT) \ + l3afpad-dnd.$(OBJEXT) l3afpad-utils.$(OBJEXT) \ + l3afpad-emacs.$(OBJEXT) l3afpad-gtksourceiter.$(OBJEXT) +l3afpad_OBJECTS = $(am_l3afpad_OBJECTS) +am__DEPENDENCIES_1 = +l3afpad_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +l3afpad_LINK = $(CCLD) $(l3afpad_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(l3afpad_SOURCES) +DIST_SOURCES = $(l3afpad_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GMOFILES = @GMOFILES@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +GTK_CFLAGS = @GTK_CFLAGS@ +GTK_LIBS = @GTK_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +INCLUDES = -DICONDIR=\"$(datadir)/pixmaps\" +l3afpad_SOURCES = \ + l3afpad.h main.c \ + window.h window.c \ + menu.h menu.c \ + callback.h callback.c \ + view.h view.c \ + undo.h undo.c \ + font.h font.c \ + linenum.h linenum.c \ + indent.h indent.c \ + hlight.h hlight.c \ + selector.h selector.c \ + file.h file.c \ + encoding.h encoding.c \ + search.h search.c \ + dialog.h dialog.c \ + gtkprint.h gtkprint.c \ + dnd.h dnd.c \ + utils.h utils.c \ + emacs.h emacs.c \ + gtksourceiter.h gtksourceiter.c + +l3afpad_CFLAGS = $(GTK_CFLAGS) +l3afpad_LDADD = $(GTK_LIBS) $(INTLLIBS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +l3afpad$(EXEEXT): $(l3afpad_OBJECTS) $(l3afpad_DEPENDENCIES) + @rm -f l3afpad$(EXEEXT) + $(l3afpad_LINK) $(l3afpad_OBJECTS) $(l3afpad_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-callback.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-dialog.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-dnd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-emacs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-encoding.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-file.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-font.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-gtkprint.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-gtksourceiter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-hlight.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-indent.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-linenum.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-menu.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-search.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-selector.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-undo.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-utils.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-view.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/l3afpad-window.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +l3afpad-main.o: main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-main.o -MD -MP -MF $(DEPDIR)/l3afpad-main.Tpo -c -o l3afpad-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-main.Tpo $(DEPDIR)/l3afpad-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='l3afpad-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c + +l3afpad-main.obj: main.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-main.obj -MD -MP -MF $(DEPDIR)/l3afpad-main.Tpo -c -o l3afpad-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-main.Tpo $(DEPDIR)/l3afpad-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='main.c' object='l3afpad-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` + +l3afpad-window.o: window.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-window.o -MD -MP -MF $(DEPDIR)/l3afpad-window.Tpo -c -o l3afpad-window.o `test -f 'window.c' || echo '$(srcdir)/'`window.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-window.Tpo $(DEPDIR)/l3afpad-window.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='window.c' object='l3afpad-window.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-window.o `test -f 'window.c' || echo '$(srcdir)/'`window.c + +l3afpad-window.obj: window.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-window.obj -MD -MP -MF $(DEPDIR)/l3afpad-window.Tpo -c -o l3afpad-window.obj `if test -f 'window.c'; then $(CYGPATH_W) 'window.c'; else $(CYGPATH_W) '$(srcdir)/window.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-window.Tpo $(DEPDIR)/l3afpad-window.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='window.c' object='l3afpad-window.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-window.obj `if test -f 'window.c'; then $(CYGPATH_W) 'window.c'; else $(CYGPATH_W) '$(srcdir)/window.c'; fi` + +l3afpad-menu.o: menu.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-menu.o -MD -MP -MF $(DEPDIR)/l3afpad-menu.Tpo -c -o l3afpad-menu.o `test -f 'menu.c' || echo '$(srcdir)/'`menu.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-menu.Tpo $(DEPDIR)/l3afpad-menu.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='menu.c' object='l3afpad-menu.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-menu.o `test -f 'menu.c' || echo '$(srcdir)/'`menu.c + +l3afpad-menu.obj: menu.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-menu.obj -MD -MP -MF $(DEPDIR)/l3afpad-menu.Tpo -c -o l3afpad-menu.obj `if test -f 'menu.c'; then $(CYGPATH_W) 'menu.c'; else $(CYGPATH_W) '$(srcdir)/menu.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-menu.Tpo $(DEPDIR)/l3afpad-menu.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='menu.c' object='l3afpad-menu.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-menu.obj `if test -f 'menu.c'; then $(CYGPATH_W) 'menu.c'; else $(CYGPATH_W) '$(srcdir)/menu.c'; fi` + +l3afpad-callback.o: callback.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-callback.o -MD -MP -MF $(DEPDIR)/l3afpad-callback.Tpo -c -o l3afpad-callback.o `test -f 'callback.c' || echo '$(srcdir)/'`callback.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-callback.Tpo $(DEPDIR)/l3afpad-callback.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='callback.c' object='l3afpad-callback.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-callback.o `test -f 'callback.c' || echo '$(srcdir)/'`callback.c + +l3afpad-callback.obj: callback.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-callback.obj -MD -MP -MF $(DEPDIR)/l3afpad-callback.Tpo -c -o l3afpad-callback.obj `if test -f 'callback.c'; then $(CYGPATH_W) 'callback.c'; else $(CYGPATH_W) '$(srcdir)/callback.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-callback.Tpo $(DEPDIR)/l3afpad-callback.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='callback.c' object='l3afpad-callback.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-callback.obj `if test -f 'callback.c'; then $(CYGPATH_W) 'callback.c'; else $(CYGPATH_W) '$(srcdir)/callback.c'; fi` + +l3afpad-view.o: view.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-view.o -MD -MP -MF $(DEPDIR)/l3afpad-view.Tpo -c -o l3afpad-view.o `test -f 'view.c' || echo '$(srcdir)/'`view.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-view.Tpo $(DEPDIR)/l3afpad-view.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='view.c' object='l3afpad-view.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-view.o `test -f 'view.c' || echo '$(srcdir)/'`view.c + +l3afpad-view.obj: view.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-view.obj -MD -MP -MF $(DEPDIR)/l3afpad-view.Tpo -c -o l3afpad-view.obj `if test -f 'view.c'; then $(CYGPATH_W) 'view.c'; else $(CYGPATH_W) '$(srcdir)/view.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-view.Tpo $(DEPDIR)/l3afpad-view.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='view.c' object='l3afpad-view.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-view.obj `if test -f 'view.c'; then $(CYGPATH_W) 'view.c'; else $(CYGPATH_W) '$(srcdir)/view.c'; fi` + +l3afpad-undo.o: undo.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-undo.o -MD -MP -MF $(DEPDIR)/l3afpad-undo.Tpo -c -o l3afpad-undo.o `test -f 'undo.c' || echo '$(srcdir)/'`undo.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-undo.Tpo $(DEPDIR)/l3afpad-undo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='undo.c' object='l3afpad-undo.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-undo.o `test -f 'undo.c' || echo '$(srcdir)/'`undo.c + +l3afpad-undo.obj: undo.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-undo.obj -MD -MP -MF $(DEPDIR)/l3afpad-undo.Tpo -c -o l3afpad-undo.obj `if test -f 'undo.c'; then $(CYGPATH_W) 'undo.c'; else $(CYGPATH_W) '$(srcdir)/undo.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-undo.Tpo $(DEPDIR)/l3afpad-undo.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='undo.c' object='l3afpad-undo.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-undo.obj `if test -f 'undo.c'; then $(CYGPATH_W) 'undo.c'; else $(CYGPATH_W) '$(srcdir)/undo.c'; fi` + +l3afpad-font.o: font.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-font.o -MD -MP -MF $(DEPDIR)/l3afpad-font.Tpo -c -o l3afpad-font.o `test -f 'font.c' || echo '$(srcdir)/'`font.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-font.Tpo $(DEPDIR)/l3afpad-font.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='font.c' object='l3afpad-font.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-font.o `test -f 'font.c' || echo '$(srcdir)/'`font.c + +l3afpad-font.obj: font.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-font.obj -MD -MP -MF $(DEPDIR)/l3afpad-font.Tpo -c -o l3afpad-font.obj `if test -f 'font.c'; then $(CYGPATH_W) 'font.c'; else $(CYGPATH_W) '$(srcdir)/font.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-font.Tpo $(DEPDIR)/l3afpad-font.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='font.c' object='l3afpad-font.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-font.obj `if test -f 'font.c'; then $(CYGPATH_W) 'font.c'; else $(CYGPATH_W) '$(srcdir)/font.c'; fi` + +l3afpad-linenum.o: linenum.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-linenum.o -MD -MP -MF $(DEPDIR)/l3afpad-linenum.Tpo -c -o l3afpad-linenum.o `test -f 'linenum.c' || echo '$(srcdir)/'`linenum.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-linenum.Tpo $(DEPDIR)/l3afpad-linenum.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linenum.c' object='l3afpad-linenum.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-linenum.o `test -f 'linenum.c' || echo '$(srcdir)/'`linenum.c + +l3afpad-linenum.obj: linenum.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-linenum.obj -MD -MP -MF $(DEPDIR)/l3afpad-linenum.Tpo -c -o l3afpad-linenum.obj `if test -f 'linenum.c'; then $(CYGPATH_W) 'linenum.c'; else $(CYGPATH_W) '$(srcdir)/linenum.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-linenum.Tpo $(DEPDIR)/l3afpad-linenum.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='linenum.c' object='l3afpad-linenum.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-linenum.obj `if test -f 'linenum.c'; then $(CYGPATH_W) 'linenum.c'; else $(CYGPATH_W) '$(srcdir)/linenum.c'; fi` + +l3afpad-indent.o: indent.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-indent.o -MD -MP -MF $(DEPDIR)/l3afpad-indent.Tpo -c -o l3afpad-indent.o `test -f 'indent.c' || echo '$(srcdir)/'`indent.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-indent.Tpo $(DEPDIR)/l3afpad-indent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='indent.c' object='l3afpad-indent.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-indent.o `test -f 'indent.c' || echo '$(srcdir)/'`indent.c + +l3afpad-indent.obj: indent.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-indent.obj -MD -MP -MF $(DEPDIR)/l3afpad-indent.Tpo -c -o l3afpad-indent.obj `if test -f 'indent.c'; then $(CYGPATH_W) 'indent.c'; else $(CYGPATH_W) '$(srcdir)/indent.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-indent.Tpo $(DEPDIR)/l3afpad-indent.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='indent.c' object='l3afpad-indent.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-indent.obj `if test -f 'indent.c'; then $(CYGPATH_W) 'indent.c'; else $(CYGPATH_W) '$(srcdir)/indent.c'; fi` + +l3afpad-hlight.o: hlight.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-hlight.o -MD -MP -MF $(DEPDIR)/l3afpad-hlight.Tpo -c -o l3afpad-hlight.o `test -f 'hlight.c' || echo '$(srcdir)/'`hlight.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-hlight.Tpo $(DEPDIR)/l3afpad-hlight.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hlight.c' object='l3afpad-hlight.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-hlight.o `test -f 'hlight.c' || echo '$(srcdir)/'`hlight.c + +l3afpad-hlight.obj: hlight.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-hlight.obj -MD -MP -MF $(DEPDIR)/l3afpad-hlight.Tpo -c -o l3afpad-hlight.obj `if test -f 'hlight.c'; then $(CYGPATH_W) 'hlight.c'; else $(CYGPATH_W) '$(srcdir)/hlight.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-hlight.Tpo $(DEPDIR)/l3afpad-hlight.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='hlight.c' object='l3afpad-hlight.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-hlight.obj `if test -f 'hlight.c'; then $(CYGPATH_W) 'hlight.c'; else $(CYGPATH_W) '$(srcdir)/hlight.c'; fi` + +l3afpad-selector.o: selector.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-selector.o -MD -MP -MF $(DEPDIR)/l3afpad-selector.Tpo -c -o l3afpad-selector.o `test -f 'selector.c' || echo '$(srcdir)/'`selector.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-selector.Tpo $(DEPDIR)/l3afpad-selector.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='selector.c' object='l3afpad-selector.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-selector.o `test -f 'selector.c' || echo '$(srcdir)/'`selector.c + +l3afpad-selector.obj: selector.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-selector.obj -MD -MP -MF $(DEPDIR)/l3afpad-selector.Tpo -c -o l3afpad-selector.obj `if test -f 'selector.c'; then $(CYGPATH_W) 'selector.c'; else $(CYGPATH_W) '$(srcdir)/selector.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-selector.Tpo $(DEPDIR)/l3afpad-selector.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='selector.c' object='l3afpad-selector.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-selector.obj `if test -f 'selector.c'; then $(CYGPATH_W) 'selector.c'; else $(CYGPATH_W) '$(srcdir)/selector.c'; fi` + +l3afpad-file.o: file.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-file.o -MD -MP -MF $(DEPDIR)/l3afpad-file.Tpo -c -o l3afpad-file.o `test -f 'file.c' || echo '$(srcdir)/'`file.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-file.Tpo $(DEPDIR)/l3afpad-file.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='file.c' object='l3afpad-file.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-file.o `test -f 'file.c' || echo '$(srcdir)/'`file.c + +l3afpad-file.obj: file.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-file.obj -MD -MP -MF $(DEPDIR)/l3afpad-file.Tpo -c -o l3afpad-file.obj `if test -f 'file.c'; then $(CYGPATH_W) 'file.c'; else $(CYGPATH_W) '$(srcdir)/file.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-file.Tpo $(DEPDIR)/l3afpad-file.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='file.c' object='l3afpad-file.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-file.obj `if test -f 'file.c'; then $(CYGPATH_W) 'file.c'; else $(CYGPATH_W) '$(srcdir)/file.c'; fi` + +l3afpad-encoding.o: encoding.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-encoding.o -MD -MP -MF $(DEPDIR)/l3afpad-encoding.Tpo -c -o l3afpad-encoding.o `test -f 'encoding.c' || echo '$(srcdir)/'`encoding.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-encoding.Tpo $(DEPDIR)/l3afpad-encoding.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='encoding.c' object='l3afpad-encoding.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-encoding.o `test -f 'encoding.c' || echo '$(srcdir)/'`encoding.c + +l3afpad-encoding.obj: encoding.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-encoding.obj -MD -MP -MF $(DEPDIR)/l3afpad-encoding.Tpo -c -o l3afpad-encoding.obj `if test -f 'encoding.c'; then $(CYGPATH_W) 'encoding.c'; else $(CYGPATH_W) '$(srcdir)/encoding.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-encoding.Tpo $(DEPDIR)/l3afpad-encoding.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='encoding.c' object='l3afpad-encoding.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-encoding.obj `if test -f 'encoding.c'; then $(CYGPATH_W) 'encoding.c'; else $(CYGPATH_W) '$(srcdir)/encoding.c'; fi` + +l3afpad-search.o: search.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-search.o -MD -MP -MF $(DEPDIR)/l3afpad-search.Tpo -c -o l3afpad-search.o `test -f 'search.c' || echo '$(srcdir)/'`search.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-search.Tpo $(DEPDIR)/l3afpad-search.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='search.c' object='l3afpad-search.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-search.o `test -f 'search.c' || echo '$(srcdir)/'`search.c + +l3afpad-search.obj: search.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-search.obj -MD -MP -MF $(DEPDIR)/l3afpad-search.Tpo -c -o l3afpad-search.obj `if test -f 'search.c'; then $(CYGPATH_W) 'search.c'; else $(CYGPATH_W) '$(srcdir)/search.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-search.Tpo $(DEPDIR)/l3afpad-search.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='search.c' object='l3afpad-search.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-search.obj `if test -f 'search.c'; then $(CYGPATH_W) 'search.c'; else $(CYGPATH_W) '$(srcdir)/search.c'; fi` + +l3afpad-dialog.o: dialog.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-dialog.o -MD -MP -MF $(DEPDIR)/l3afpad-dialog.Tpo -c -o l3afpad-dialog.o `test -f 'dialog.c' || echo '$(srcdir)/'`dialog.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-dialog.Tpo $(DEPDIR)/l3afpad-dialog.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dialog.c' object='l3afpad-dialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-dialog.o `test -f 'dialog.c' || echo '$(srcdir)/'`dialog.c + +l3afpad-dialog.obj: dialog.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-dialog.obj -MD -MP -MF $(DEPDIR)/l3afpad-dialog.Tpo -c -o l3afpad-dialog.obj `if test -f 'dialog.c'; then $(CYGPATH_W) 'dialog.c'; else $(CYGPATH_W) '$(srcdir)/dialog.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-dialog.Tpo $(DEPDIR)/l3afpad-dialog.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dialog.c' object='l3afpad-dialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-dialog.obj `if test -f 'dialog.c'; then $(CYGPATH_W) 'dialog.c'; else $(CYGPATH_W) '$(srcdir)/dialog.c'; fi` + +l3afpad-gtkprint.o: gtkprint.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-gtkprint.o -MD -MP -MF $(DEPDIR)/l3afpad-gtkprint.Tpo -c -o l3afpad-gtkprint.o `test -f 'gtkprint.c' || echo '$(srcdir)/'`gtkprint.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-gtkprint.Tpo $(DEPDIR)/l3afpad-gtkprint.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gtkprint.c' object='l3afpad-gtkprint.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-gtkprint.o `test -f 'gtkprint.c' || echo '$(srcdir)/'`gtkprint.c + +l3afpad-gtkprint.obj: gtkprint.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-gtkprint.obj -MD -MP -MF $(DEPDIR)/l3afpad-gtkprint.Tpo -c -o l3afpad-gtkprint.obj `if test -f 'gtkprint.c'; then $(CYGPATH_W) 'gtkprint.c'; else $(CYGPATH_W) '$(srcdir)/gtkprint.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-gtkprint.Tpo $(DEPDIR)/l3afpad-gtkprint.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gtkprint.c' object='l3afpad-gtkprint.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-gtkprint.obj `if test -f 'gtkprint.c'; then $(CYGPATH_W) 'gtkprint.c'; else $(CYGPATH_W) '$(srcdir)/gtkprint.c'; fi` + +l3afpad-dnd.o: dnd.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-dnd.o -MD -MP -MF $(DEPDIR)/l3afpad-dnd.Tpo -c -o l3afpad-dnd.o `test -f 'dnd.c' || echo '$(srcdir)/'`dnd.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-dnd.Tpo $(DEPDIR)/l3afpad-dnd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dnd.c' object='l3afpad-dnd.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-dnd.o `test -f 'dnd.c' || echo '$(srcdir)/'`dnd.c + +l3afpad-dnd.obj: dnd.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-dnd.obj -MD -MP -MF $(DEPDIR)/l3afpad-dnd.Tpo -c -o l3afpad-dnd.obj `if test -f 'dnd.c'; then $(CYGPATH_W) 'dnd.c'; else $(CYGPATH_W) '$(srcdir)/dnd.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-dnd.Tpo $(DEPDIR)/l3afpad-dnd.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dnd.c' object='l3afpad-dnd.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-dnd.obj `if test -f 'dnd.c'; then $(CYGPATH_W) 'dnd.c'; else $(CYGPATH_W) '$(srcdir)/dnd.c'; fi` + +l3afpad-utils.o: utils.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-utils.o -MD -MP -MF $(DEPDIR)/l3afpad-utils.Tpo -c -o l3afpad-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-utils.Tpo $(DEPDIR)/l3afpad-utils.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='l3afpad-utils.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-utils.o `test -f 'utils.c' || echo '$(srcdir)/'`utils.c + +l3afpad-utils.obj: utils.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-utils.obj -MD -MP -MF $(DEPDIR)/l3afpad-utils.Tpo -c -o l3afpad-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-utils.Tpo $(DEPDIR)/l3afpad-utils.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='utils.c' object='l3afpad-utils.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-utils.obj `if test -f 'utils.c'; then $(CYGPATH_W) 'utils.c'; else $(CYGPATH_W) '$(srcdir)/utils.c'; fi` + +l3afpad-emacs.o: emacs.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-emacs.o -MD -MP -MF $(DEPDIR)/l3afpad-emacs.Tpo -c -o l3afpad-emacs.o `test -f 'emacs.c' || echo '$(srcdir)/'`emacs.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-emacs.Tpo $(DEPDIR)/l3afpad-emacs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='emacs.c' object='l3afpad-emacs.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-emacs.o `test -f 'emacs.c' || echo '$(srcdir)/'`emacs.c + +l3afpad-emacs.obj: emacs.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-emacs.obj -MD -MP -MF $(DEPDIR)/l3afpad-emacs.Tpo -c -o l3afpad-emacs.obj `if test -f 'emacs.c'; then $(CYGPATH_W) 'emacs.c'; else $(CYGPATH_W) '$(srcdir)/emacs.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-emacs.Tpo $(DEPDIR)/l3afpad-emacs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='emacs.c' object='l3afpad-emacs.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-emacs.obj `if test -f 'emacs.c'; then $(CYGPATH_W) 'emacs.c'; else $(CYGPATH_W) '$(srcdir)/emacs.c'; fi` + +l3afpad-gtksourceiter.o: gtksourceiter.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-gtksourceiter.o -MD -MP -MF $(DEPDIR)/l3afpad-gtksourceiter.Tpo -c -o l3afpad-gtksourceiter.o `test -f 'gtksourceiter.c' || echo '$(srcdir)/'`gtksourceiter.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-gtksourceiter.Tpo $(DEPDIR)/l3afpad-gtksourceiter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gtksourceiter.c' object='l3afpad-gtksourceiter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-gtksourceiter.o `test -f 'gtksourceiter.c' || echo '$(srcdir)/'`gtksourceiter.c + +l3afpad-gtksourceiter.obj: gtksourceiter.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -MT l3afpad-gtksourceiter.obj -MD -MP -MF $(DEPDIR)/l3afpad-gtksourceiter.Tpo -c -o l3afpad-gtksourceiter.obj `if test -f 'gtksourceiter.c'; then $(CYGPATH_W) 'gtksourceiter.c'; else $(CYGPATH_W) '$(srcdir)/gtksourceiter.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/l3afpad-gtksourceiter.Tpo $(DEPDIR)/l3afpad-gtksourceiter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='gtksourceiter.c' object='l3afpad-gtksourceiter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(l3afpad_CFLAGS) $(CFLAGS) -c -o l3afpad-gtksourceiter.obj `if test -f 'gtksourceiter.c'; then $(CYGPATH_W) 'gtksourceiter.c'; else $(CYGPATH_W) '$(srcdir)/gtksourceiter.c'; fi` + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/callback.c b/src/callback.c new file mode 100644 index 0000000..0faa3d8 --- /dev/null +++ b/src/callback.c @@ -0,0 +1,331 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include +#include +#include + +static void set_selection_bound(GtkTextBuffer *buffer, gint start, gint end) +{ + GtkTextIter start_iter, end_iter; + + gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, start); + if (end < 0) + gtk_text_buffer_get_end_iter(buffer, &end_iter); + else + gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, end); + gtk_text_buffer_place_cursor(buffer, &end_iter); + gtk_text_buffer_move_mark_by_name(buffer, "selection_bound", &start_iter); +} + +void on_file_new(void) +{ + gchar *comline; + gchar *option; + + save_config_file(); + option = pub->fi->charset_flag ? + g_strdup_printf("%s%s", " --codeset=", pub->fi->charset) : ""; + comline = g_strdup_printf("%s%s", PACKAGE, option); + if (pub->fi->charset_flag) + g_free(option); + g_spawn_command_line_async(comline, NULL); + g_free(comline); +} + +void on_file_open(void) +#ifdef ENABLE_CSDI +{ // too slow... + FileInfo *fi; + gchar *comline; + gchar *option = NULL; + + fi = get_fileinfo_from_selector(pub->fi, OPEN); + if (fi) { + save_config_file(); + option = g_strdup_printf("--codeset=%s ", fi->charset); + comline = g_strdup_printf("%s %s%s", PACKAGE, + fi->charset ? option : "", + fi->filename); + g_spawn_command_line_async(comline, NULL); + g_free(option); + g_free(comline); + g_free(fi); + } +} +#else +{ + FileInfo *fi; + + if (check_text_modification()) + return; + fi = get_fileinfo_from_selector(pub->fi, OPEN); + if (fi) { + if (file_open_real(pub->mw->view, fi)) + g_free(fi); + else { + g_free(pub->fi); + pub->fi = fi; + undo_clear_all(pub->mw->buffer); +// set_main_window_title(); + force_call_cb_modified_changed(pub->mw->view); +// undo_init(sd->mainwin->textview, sd->mainwin->textbuffer, sd->mainwin->menubar); + } + } +} +#endif + +gint on_file_save(void) +{ + if (pub->fi->filename == NULL) + return on_file_save_as(); + if (check_file_writable(pub->fi->filename) == FALSE) + return on_file_save_as(); + if (file_save_real(pub->mw->view, pub->fi)) + return -1; +// set_main_window_title(); + force_call_cb_modified_changed(pub->mw->view); +// undo_reset_step_modif(); + return 0; +} + +gint on_file_save_as(void) +{ + FileInfo *fi; + + fi = get_fileinfo_from_selector(pub->fi, SAVE); + if (fi == NULL) + return -1; + if (file_save_real(pub->mw->view, fi)) { + g_free(fi); + return -1; + } + g_free(pub->fi); + pub->fi = fi; + undo_clear_all(pub->mw->buffer); +// set_main_window_title(); + force_call_cb_modified_changed(pub->mw->view); +// undo_init(sd->mainwin->textview, sd->mainwin->textbuffer, sd->mainwin->menubar); + return 0; +} +#ifdef ENABLE_PRINT +void on_file_print_preview(void) +{ + create_gtkprint_preview_session(GTK_TEXT_VIEW(pub->mw->view), + get_file_basename(pub->fi->filename, FALSE)); +} + +void on_file_print(void) +{ + create_gtkprint_session(GTK_TEXT_VIEW(pub->mw->view), + get_file_basename(pub->fi->filename, FALSE)); +} +#endif +void on_file_close(void) +{ + if (!check_text_modification()) { + force_block_cb_modified_changed(pub->mw->view); +// undo_block_signal(textbuffer); + gtk_text_buffer_set_text(pub->mw->buffer, "", 0); + gtk_text_buffer_set_modified(pub->mw->buffer, FALSE); + if (pub->fi->filename) + g_free(pub->fi->filename); + pub->fi->filename = NULL; + if (pub->fi->charset) + g_free(pub->fi->charset); + pub->fi->charset = NULL; + pub->fi->charset_flag = FALSE; + pub->fi->lineend = LF; + undo_clear_all(pub->mw->buffer); +// set_main_window_title(); + force_call_cb_modified_changed(pub->mw->view); + force_unblock_cb_modified_changed(pub->mw->view); +// undo_unblock_signal(textbuffer); +// undo_init(sd->mainwin->textview, textbuffer, sd->mainwin->menubar); + } +} + +void on_file_quit(void) +{ + if (!check_text_modification()) { + save_config_file(); + gtk_main_quit(); + } +} + +void on_edit_undo(void) +{ + undo_undo(pub->mw->buffer); +} + +void on_edit_redo(void) +{ + undo_redo(pub->mw->buffer); +} + +void on_edit_cut(void) +{ + g_signal_emit_by_name(G_OBJECT(pub->mw->view), "cut-clipboard"); +} + +void on_edit_copy(void) +{ + g_signal_emit_by_name(G_OBJECT(pub->mw->view), "copy-clipboard"); +} + +void on_edit_paste(void) +{ + g_signal_emit_by_name(G_OBJECT(pub->mw->view), "paste-clipboard"); +// TODO: Use modify signal!! +/* gtk_text_view_scroll_mark_onscreen( + GTK_TEXT_VIEW(pub->mw->view), + gtk_text_buffer_get_insert(pub->mw->buffer)); +*/} + +void on_edit_delete(void) +{ + gtk_text_buffer_delete_selection(pub->mw->buffer, TRUE, TRUE); +} + +void on_edit_select_all(void) +{ + set_selection_bound(pub->mw->buffer, 0, -1); +// g_signal_emit_by_name(G_OBJECT(pub->mw->view), "select-all"); +} + +static void activate_quick_find(void) +{ + GtkItemFactory *ifactory; + static gboolean flag = FALSE; + + if (!flag) { + ifactory = gtk_item_factory_from_widget(pub->mw->menubar); + gtk_widget_set_sensitive( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindNext"), + TRUE); + gtk_widget_set_sensitive( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindPrevious"), + TRUE); + flag = TRUE; + } +} + +void on_search_find(void) +{ + if (run_dialog_search(pub->mw->view, 0) == GTK_RESPONSE_OK) + activate_quick_find(); +} + +void on_search_find_next(void) +{ + document_search_real(pub->mw->view, 1); +} + +void on_search_find_previous(void) +{ + document_search_real(pub->mw->view, -1); +} + +void on_search_replace(void) +{ + if (run_dialog_search(pub->mw->view, 1) == GTK_RESPONSE_OK) + activate_quick_find(); +} + +void on_search_jump_to(void) +{ + run_dialog_jump_to(pub->mw->view); +} + +void on_option_font(void) +{ + change_text_font_by_selector(pub->mw->view); +} + +void on_option_word_wrap(void) +{ + GtkItemFactory *ifactory; + gboolean state; + + ifactory = gtk_item_factory_from_widget(pub->mw->menubar); + state = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/WordWrap"))); + gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(pub->mw->view), + state ? GTK_WRAP_WORD : GTK_WRAP_NONE); +} + +void on_option_line_numbers(void) +{ + GtkItemFactory *ifactory; + gboolean state; + + ifactory = gtk_item_factory_from_widget(pub->mw->menubar); + state = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/LineNumbers"))); + show_line_numbers(pub->mw->view, state); +} + +void on_option_always_on_top(void) +{ + static gboolean flag = FALSE; + + flag =! flag; + gtk_window_set_keep_above(GTK_WINDOW(pub->mw->window), flag); +} + +void on_option_auto_indent(void) +{ + GtkItemFactory *ifactory; + gboolean state; + + ifactory = gtk_item_factory_from_widget(pub->mw->menubar); + state = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, "/M/Options/AutoIndent"))); + indent_set_state(state); +} + +void on_help_about(void) +{ + const gchar *copyright = "Copyright \xc2\xa9 2004-2010 Tarot Osuji\nCopyright \xc2\xa9 2011 Wen-Yen Chuang"; + const gchar *comments = _("GTK+ based simple text editor"); + const gchar *authors[] = { + "Tarot Osuji ", + "Wen-Yen Chuang ", + NULL + }; + const gchar *translator_credits = _("translator-credits"); + + translator_credits = strcmp(translator_credits, "translator-credits") + ? translator_credits : NULL; + + const gchar *artists[] = { + "Lapo Calamandrei ", + NULL + }; + gtk_show_about_dialog(GTK_WINDOW(pub->mw->window), + "version", PACKAGE_VERSION, + "copyright", copyright, + "comments", comments, + "authors", authors, + "artists", artists, + "translator-credits", translator_credits, + "logo-icon-name", PACKAGE, + NULL); +} diff --git a/src/callback.h b/src/callback.h new file mode 100644 index 0000000..b1b9c3a --- /dev/null +++ b/src/callback.h @@ -0,0 +1,50 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _CALLBACK_H +#define _CALLBACK_H + +void on_file_new(void); +void on_file_open(void); +gint on_file_save(void); +gint on_file_save_as(void); +void on_file_print_preview(void); +void on_file_print(void); +void on_file_close(void); +void on_file_quit(void); +void on_edit_undo(void); +void on_edit_redo(void); +void on_edit_cut(void); +void on_edit_copy(void); +void on_edit_paste(void); +void on_edit_delete(void); +void on_edit_select_all(void); +void on_search_find(void); +void on_search_find_next(void); +void on_search_find_previous(void); +void on_search_replace(void); +void on_search_jump_to(void); +void on_option_font(void); +void on_option_word_wrap(void); +void on_option_line_numbers(void); +void on_option_always_on_top(void); +void on_option_auto_indent(void); +void on_help_about(void); + +#endif /* _CALLBACK_H */ diff --git a/src/dialog.c b/src/dialog.c new file mode 100644 index 0000000..3ef3908 --- /dev/null +++ b/src/dialog.c @@ -0,0 +1,95 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" + +/* GTK_MESSAGE_INFO, GTK_MESSAGE_WARNING, GTK_MESSAGE_ERROR */ +void run_dialog_message(GtkWidget *window, + GtkMessageType type, + gchar *message, ...) +{ + va_list ap; + GtkWidget *dialog; + gchar *str; + + va_start(ap, message); + str = g_strdup_vprintf(message, ap); + va_end(ap); + + dialog = gtk_message_dialog_new(GTK_WINDOW(window), + GTK_DIALOG_DESTROY_WITH_PARENT, + type, + GTK_BUTTONS_NONE, + str); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_dialog_add_buttons(GTK_DIALOG(dialog), + GTK_STOCK_OK, GTK_RESPONSE_CANCEL, NULL); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL); + g_free(str); + + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); +} + +GtkWidget *create_dialog_message_question(GtkWidget *window, gchar *message, ...) +{ + va_list ap; + GtkWidget *dialog; + gchar *str; + + va_start(ap, message); + str = g_strdup_vprintf(message, ap); + va_end(ap); + + dialog = gtk_message_dialog_new(GTK_WINDOW(window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, + GTK_BUTTONS_NONE, + str); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_dialog_add_buttons(GTK_DIALOG(dialog), + GTK_STOCK_NO, GTK_RESPONSE_NO, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_YES, GTK_RESPONSE_YES, + NULL); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES); + g_free(str); + + return dialog; +} + +gint run_dialog_message_question(GtkWidget *window, gchar *message, ...) +{ + va_list ap; + GtkWidget *dialog; + gchar *str; + gint res; + + va_start(ap, message); + str = g_strdup_vprintf(message, ap); + va_end(ap); + + dialog = create_dialog_message_question(window, str); + g_free(str); + + res = gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + + return res; +} diff --git a/src/dialog.h b/src/dialog.h new file mode 100644 index 0000000..1702955 --- /dev/null +++ b/src/dialog.h @@ -0,0 +1,27 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _DIALOG_H +#define _DIALOG_H + +void run_dialog_message(GtkWidget *window, GtkMessageType type, gchar *message, ...); +GtkWidget *create_dialog_message_question(GtkWidget *window, gchar *message, ...); +gint run_dialog_message_question(GtkWidget *window, gchar *message, ...); + +#endif /* _DIALOG_H */ diff --git a/src/dnd.c b/src/dnd.c new file mode 100644 index 0000000..f9e7281 --- /dev/null +++ b/src/dnd.c @@ -0,0 +1,226 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2006 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include "string.h" + +#define DV(x) + +#if 0 +static void dnd_drag_data_recieved_handler(GtkWidget *widget, + GdkDragContext *context, gint x, gint y, + GtkSelectionData *selection_data, guint info, guint time); +static gboolean dnd_drag_motion_handler(GtkWidget *widget, + GdkDragContext *context, gint x, gint y, guint time); +#endif + +enum { + TARGET_SELF, + TARGET_UTF8_STRING, + TARGET_COMPOUND_TEXT, + TARGET_PLAIN, + TARGET_URI_LIST, +}; + +static GtkTargetEntry drag_types[] = +{ + { "UTF8_STRING", 0, TARGET_UTF8_STRING }, + { "COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT }, + { "text/plain", 0, TARGET_PLAIN }, + { "text/uri-list", 0, TARGET_URI_LIST } +}; + +static gint n_drag_types = sizeof(drag_types) / sizeof(drag_types[0]); + +void dnd_init(GtkWidget *widget) +{ + gtk_drag_dest_set(widget, GTK_DEST_DEFAULT_ALL, + drag_types, n_drag_types, GDK_ACTION_COPY); +#if 0 + g_signal_connect(G_OBJECT(widget), "drag_data_received", + G_CALLBACK(dnd_drag_data_recieved_handler), NULL); + g_signal_connect(G_OBJECT(widget), "drag_motion", + G_CALLBACK(dnd_drag_motion_handler), NULL); +#endif +} + + +#if 0 +static void dnd_open_first_file(gchar *filename) +{ + FileInfo *fi; + + if (check_text_modification()) + return; + fi = g_malloc(sizeof(FileInfo)); + fi->filename = g_strdup(filename); + fi->charset = pub->fi->charset_flag ? g_strdup(pub->fi->charset) : NULL; + fi->charset_flag = pub->fi->charset_flag; + fi->lineend = LF; + if (file_open_real(pub->mw->view, fi)) + g_free(fi); + else { + g_free(pub->fi); + pub->fi = fi; + undo_clear_all(pub->mw->buffer); + set_main_window_title(); +// undo_init(sd->mainwin->textview, sd->mainwin->textbuffer, sd->mainwin->menubar); + } +} +#endif + +#if 0 +static void dnd_drag_data_recieved_handler(GtkWidget *widget, + GdkDragContext *context, gint x, gint y, + GtkSelectionData *selection_data, guint info, guint time) +{ + static gboolean flag_called_once = FALSE; + gchar **files; + gchar *filename; + gchar *comline; + gint i = 0, j = 0; + gchar *filename_sh; + gchar **strs; +#ifdef ENABLE_CSDI + j = 1; +#endif +DV(g_print("DND start!\n")); + +#if 0 + if (g_strcasecmp(gdk_atom_name(context->targets->data), + "GTK_TEXT_BUFFER_CONTENTS") != 0) { +#endif + if (flag_called_once) { + flag_called_once = FALSE; + g_signal_stop_emission_by_name(widget, "drag_data_received"); +DV(g_print("second drop signal killed.\n")); + return; + } else + flag_called_once = TRUE; + } + +DV({ + g_print("info = %d\n", info); + g_print("time = %d\n", time); + g_print("context->protocol = %d\n", context->protocol); + g_print("context->is_source = %d\n", context->is_source); + g_print("context->targets = %d\n", g_list_length(context->targets)); + g_print("context->target = %s\n", gdk_atom_name(context->targets->data)); +/* g_print("context->target = %s\n", gdk_atom_name(context->targets->next->data)); + g_print("context->target = %s\n", gdk_atom_name(context->targets->next->next->data)); + g_print("context->actions = %d\n", context->actions); + g_print("context->suggested_action = %d\n", context->suggested_action); + g_print("context->action = %d\n", context->action); + g_print("selection_data->selection = %s\n", gdk_atom_name(selection_data->selection)); + g_print("selection_data->target = %s\n", gdk_atom_name(selection_data->target)); +*/ g_print("selection_data->type = %s\n", gdk_atom_name(selection_data->type)); + g_print("selection_data->format = %d\n", selection_data->format); + g_print("selection_data->length = %d\n", selection_data->length); + g_print("%s\n", selection_data->data); +}); + + if (selection_data->data && info == TARGET_URI_LIST) { + files = g_strsplit((gchar *)selection_data->data, "\n" , -1); + while (files[i]) { + if (strlen(files[i]) == 0) + break; + filename = g_strstrip(parse_file_uri(files[i])); + if (i + j == 0) + dnd_open_first_file(filename); + else { + if (i + j == 1) + save_config_file(); + if (strstr(filename, " ")) { + strs = g_strsplit(filename, " ", -1); + filename_sh = g_strjoinv("\\ ", strs); + g_strfreev(strs); + } else + filename_sh = g_strdup(filename); + comline = g_strdup_printf("%s %s", PACKAGE, filename_sh); +DV(g_print(">%s\n", comline)); + g_free(filename_sh); + g_spawn_command_line_async(comline, NULL); + g_free(comline); + } + g_free(filename); + i++; + } + g_strfreev(files); + } + else { + clear_current_keyval(); + undo_set_sequency(FALSE); + if (info == TARGET_UTF8_STRING) { + undo_set_sequency_reserve(); + context->action = GDK_ACTION_MOVE; + } else if (info == TARGET_PLAIN + && g_utf8_validate((gchar *)selection_data->data, -1, NULL)) { + selection_data->type = + gdk_atom_intern("UTF8_STRING", FALSE); + } + } + + return; +} + +static gboolean dnd_drag_motion_handler(GtkWidget *widget, + GdkDragContext *context, gint x, gint y, guint time) +{ + GList *targets; + gchar *name; + gboolean flag = FALSE; + + targets = context->targets; + while (targets) { + name = gdk_atom_name(targets->data); +DV(g_print("%s\n", name)); + if (g_ascii_strcasecmp(name, "text/uri-list") == 0) + flag = TRUE; + g_free(name); + targets = targets->next; + } +/* if (flag) + context->action = GDK_ACTION_DEFAULT; + else + context->action = GDK_ACTION_COPY; +// g_signal_stop_emission_by_name(widget, "drag_motion"); +*/ +/* if (!flag) { + gint bx, by; + GtkTextIter iter; + + gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(widget), + GTK_TEXT_WINDOW_WIDGET, + x, y, &bx, &by); + gtk_text_view_get_iter_at_location(GTK_TEXT_VIEW(widget), &iter, bx, by); + if (!dnd_mark) { + dnd_mark = gtk_text_buffer_create_mark(GTK_TEXT_VIEW(widget)->buffer, + NULL, &iter, TRUE); + gtk_text_mark_set_visible(dnd_mark, TRUE); + } else + gtk_text_mark_set_visible(dnd_mark, FALSE); + gtk_text_buffer_move_mark(GTK_TEXT_VIEW(widget)->buffer, + dnd_mark, &iter); + gtk_text_mark_set_visible(dnd_mark, TRUE); + } +*/ + return flag; +} +#endif + diff --git a/src/dnd.h b/src/dnd.h new file mode 100644 index 0000000..f30e291 --- /dev/null +++ b/src/dnd.h @@ -0,0 +1,25 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _DND_H +#define _DND_H + +void dnd_init(GtkWidget *widget); + +#endif /* _DND_H */ diff --git a/src/emacs.c b/src/emacs.c new file mode 100644 index 0000000..e8c2177 --- /dev/null +++ b/src/emacs.c @@ -0,0 +1,221 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2006 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include + +#ifdef ENABLE_EMACS + +static void cb_key_release_event(GtkWidget *view, GdkEventKey *event) +{ +//g_print("key-release-event: 0x%X\n", event->keyval); + switch (event->keyval) { + case GDK_x: + case GDK_X: + gtk_main_quit(); + } +} + +static void cb_key_press_event(GtkWidget *view, GdkEventKey *event) +{ +//g_print("key-release-event: 0x%X\n", event->keyval); + if (event->keyval < 0x1000 || event->keyval == GDK_Escape) { + switch (event->keyval) { + case GDK_f: + case GDK_F: + case GDK_v: + case GDK_V: + if (event->state & GDK_CONTROL_MASK) + on_file_open(); + else + gdk_beep(); + break; + case GDK_d: + case GDK_D: + if (event->state & GDK_CONTROL_MASK) + gdk_beep(); + else + on_file_open(); + break; + case GDK_s: + case GDK_S: + if (GTK_WIDGET_IS_SENSITIVE(gtk_item_factory_get_widget( + gtk_item_factory_from_widget(pub->mw->menubar), "/M/File/Save") + )) + on_file_save(); + break; + case GDK_w: + case GDK_W: + if (event->state & GDK_CONTROL_MASK) + on_file_save_as(); + else + gdk_beep(); + break; + case GDK_k: + case GDK_K: + if (event->state & GDK_CONTROL_MASK) + gdk_beep(); + else + on_file_close(); + break; + case GDK_c: + case GDK_C: + if (event->state & GDK_CONTROL_MASK) + on_file_quit(); + else + gdk_beep(); + break; + case GDK_u: + case GDK_U: + if (event->state & GDK_CONTROL_MASK) + gdk_beep(); + else + on_edit_undo(); + break; + case GDK_h: + case GDK_H: + if (event->state & GDK_CONTROL_MASK) + gdk_beep(); + else + on_edit_select_all(); + break; + default: + gdk_beep(); + } + gtk_main_quit(); + } +} + +static void emacs_key_prefix(void) +{ + gulong id; + + gtk_widget_set_sensitive(pub->mw->menubar, FALSE); +// gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pub->mw->view), FALSE); + gtk_text_view_set_editable(GTK_TEXT_VIEW(pub->mw->view), FALSE); + /* waiting for release C-x */ + id = g_signal_connect(G_OBJECT(pub->mw->window), "key-release-event", + G_CALLBACK(cb_key_release_event), NULL); + gtk_main(); + g_signal_handler_disconnect(G_OBJECT(pub->mw->window), id); + + /* waiting for input sequence */ + id = g_signal_connect(G_OBJECT(pub->mw->window), "key-press-event", + G_CALLBACK(cb_key_press_event), NULL); + gtk_main(); + g_signal_handler_disconnect(G_OBJECT(pub->mw->window), id); + + gtk_text_view_set_editable(GTK_TEXT_VIEW(pub->mw->view), TRUE); +// gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(pub->mw->view), TRUE); + gtk_widget_set_sensitive(pub->mw->menubar, TRUE); +} + +gboolean check_emacs_key_theme(GtkWindow *window, GtkItemFactory *ifactory) +{ + GtkAccelGroup *accel_group; + GSList *groups; + gchar *key_theme = NULL; + gboolean emacs_flag = FALSE; + GtkSettings *settings = gtk_settings_get_default(); + + g_object_get(settings, "gtk-key-theme-name", &key_theme, NULL); + if (key_theme) { + if (!g_ascii_strcasecmp(key_theme, "Emacs")) + emacs_flag = TRUE; + g_free(key_theme); + } + if (!emacs_flag) + return FALSE; + + groups = gtk_accel_groups_from_object(G_OBJECT(window)); + accel_group = groups->data; + if (accel_group) { + gtk_window_remove_accel_group(GTK_WINDOW(window), accel_group); + g_object_unref(accel_group); + } + accel_group = gtk_accel_group_new(); + + gtk_rc_parse_string ( + "binding \"gtk-emacs-text-entry\"" + "{\n" + "bind \"w\" { \"cut-clipboard\" () }" + "}\n" + ); + +/* gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/File/New"), + accel_group, GDK_N, GDK_CONTROL_MASK); + gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/File/Open"), + accel_group, GDK_O, GDK_CONTROL_MASK); + gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/File/Save"), + accel_group, GDK_S, GDK_CONTROL_MASK); + gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/File/SaveAs"), + accel_group, GDK_S, GDK_SHIFT_MASK | GDK_CONTROL_MASK); +#ifdef ENABLE_PRINT + gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/File/Print"), + accel_group, GDK_P, GDK_CONTROL_MASK); +#endif + gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Edit/Undo"), + accel_group, GDK_Z, GDK_CONTROL_MASK); +*/ gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Edit/Undo"), + "activate", accel_group, GDK_underscore, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); +/* gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Edit/SelectAll"), + accel_group, GDK_A, GDK_CONTROL_MASK); + gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/Find"), + accel_group, GDK_F, GDK_CONTROL_MASK); +*/ gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/Find"), + "activate", accel_group, GDK_S, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); +/* gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindNext"), + "activate", accel_group, GDK_S, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); +*/ gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindPrevious"), + "activate", accel_group, GDK_R, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); +/* gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/Replace"), + accel_group, GDK_H, GDK_CONTROL_MASK); +*/ gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/Replace"), + "activate", accel_group, GDK_percent, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); +/* gtk_widget_remove_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/JumpTo"), + accel_group, GDK_J, GDK_CONTROL_MASK); +*/ gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/JumpTo"), + "activate", accel_group, GDK_G, GDK_MOD1_MASK, GTK_ACCEL_VISIBLE); + + gtk_accel_group_connect( + accel_group, GDK_X, GDK_CONTROL_MASK, 0, + g_cclosure_new_swap(G_CALLBACK(emacs_key_prefix), NULL, NULL)); + + gtk_window_add_accel_group(GTK_WINDOW(window), accel_group); + + return TRUE; +} + +#endif diff --git a/src/emacs.h b/src/emacs.h new file mode 100644 index 0000000..cfee8c6 --- /dev/null +++ b/src/emacs.h @@ -0,0 +1,25 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2006 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _EMACS_H +#define _EMACS_H + +gboolean check_emacs_key_theme(GtkWindow *window, GtkUIManager *ifactory); + +#endif /* _EMACS_H */ diff --git a/src/encoding.c b/src/encoding.c new file mode 100644 index 0000000..62b4ce4 --- /dev/null +++ b/src/encoding.c @@ -0,0 +1,485 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include "encoding.h" + +#define MAX_COUNTRY_NUM 10 + +enum { + LATIN1 = 0, + LATIN2, + LATIN3, + LATIN4, + LATINC, + LATINC_UA, + LATINC_TJ, + LATINA, + LATING, + LATINH, + LATIN5, + CHINESE_CN, + CHINESE_TW, + CHINESE_HK, + JAPANESE, + KOREAN, + VIETNAMESE, + THAI, + GEORGIAN, + END_CODE +}; + +static const gchar *country_table[][MAX_COUNTRY_NUM] = +{ + /* LATIN1 */ {NULL}, + /* LATIN2 */ {"cs", "hr", "hu", "pl", "ro", "sk", "sl", "sq", "sr", "uz"}, + /* LATIN3 */ {"eo", "mt", NULL}, + /* LATIN4 */ {"et", "lt", "lv", "mi", NULL}, + /* LATINC */ {"be", "bg", "ky", "mk", "mn", "ru", "tt", NULL}, + /* LATINC_UA */ {"uk", NULL}, + /* LATINC_TJ */ {"tg", NULL}, + /* LATINA */ {"ar", "fa", "ur", NULL}, + /* LATING */ {"el", NULL}, + /* LATINH */ {"he", "yi", NULL}, + /* LATIN5 */ {"az", "tr", NULL}, + /* CHINESE_CN */ {"zh_CN", NULL}, + /* CHINESE_TW */ {"zh_TW", NULL}, + /* CHINESE_HK */ {"zh_HK", NULL}, + /* JAPANESE */ {"ja", NULL}, + /* KOREAN */ {"ko", NULL}, + /* VIETNAMESE */ {"vi", NULL}, + /* THAI */ {"th", NULL}, + /* GEORGIAN */ {"ka", NULL}, +}; + +static const gchar *encoding_table[][ENCODING_MAX_ITEM_NUM] = +{ + /* IANA OpenI18N Codepage */ + /* LATIN1 */ { "ISO-8859-1", "ISO-8859-15", "CP1252" }, + /* LATIN2 */ { "ISO-8859-2", "ISO-8859-16", "CP1250" }, + /* LATIN3 */ { "ISO-8859-3", NULL, NULL }, + /* LATIN4 */ { "ISO-8859-4", "ISO-8859-13", "CP1257" }, + /* LATINC */ { "ISO-8859-5", "KOI8-R", "CP1251" }, + /* LATINC_UA */ { "ISO-8859-5", "KOI8-U", "CP1251" }, + /* LATINC_TJ */ { "ISO-8859-5", "KOI8-T", "CP1251" }, + /* LATINA */ { "ISO-8859-6", NULL, "CP1256" }, + /* LATING */ { "ISO-8859-7", NULL, "CP1253" }, + /* LATINH */ { "ISO-8859-8", NULL, "CP1255" }, + /* LATIN5 */ { "ISO-8859-9", NULL, "CP1254" }, + /* CHINESE_CN */ { "GB2312", "GB18030", "CP936" }, + /* CHINESE_TW */ { "BIG5", "EUC-TW", "CP950" }, + /* CHINESE_HK */ { "BIG5", "BIG5-HKSCS", "CP950" }, + /* JAPANESE */ { "ISO-2022-JP", "EUC-JP", "CP932" }, + /* KOREAN */ { "ISO-2022-KR", "EUC-KR", "CP949" }, + /* VIETNAMESE */ { NULL, "VISCII", "CP1258" }, + /* THAI */ { NULL, "TIS-620", "CP874" }, + /* GEORGIAN */ { NULL, "GEORGIAN-PS", NULL }, +}; + +guint get_encoding_code(void) +{ + static guint code = END_CODE; + const gchar *env; + guint i, j = 1; + + if (code == END_CODE) { + env = g_getenv("LC_ALL"); + if (!env) + env = g_getenv("LANG"); + if (env && strlen(env) >= 2) + while (code == END_CODE && j < END_CODE) { + for (i = 0; i < MAX_COUNTRY_NUM; i++) { + if (!country_table[j][i]) + break; + if (strncmp(env, country_table[j][i], strlen(country_table[j][i])) == 0) { + code = j; + break; + } + } + j++; + } + if (code == END_CODE) + code = 0; + } + + return code; +} + +EncArray *get_encoding_items(guint code) +{ + gint i; + static EncArray *array = NULL; + + if (!array) { + array = g_malloc(sizeof(EncArray)); + for (i = 0; i < ENCODING_MAX_ITEM_NUM; i++) + array->item[i] = encoding_table[code][i] ? + encoding_table[code][i] : NULL; + } + + return array; +} + +const gchar *get_default_charset(void) +{ + const gchar *charset; + + g_get_charset(&charset); + + return charset; +} + +/* +Imported from KEdit (for BeOS, NOT KDE). +based on +http://examples.oreilly.com/cjkvinfo/Ch7/DetectCodeType.c +*/ +void convert_line_ending_to_lf(gchar *text) +{ + gint i, j; + + for (i = 0, j = 0; TRUE; i++, j++) { + if (*(text + i) == CR) { + *(text + j) = LF; + if (*(text + i + 1) == LF) + i++; + } else { + *(text + j) = *(text + i); + if (*(text + j) == '\0') + break; + } + } +} + +void convert_line_ending(gchar **text, gint retcode) +{ + gchar *buf, *str = *text; + const gint len = strlen(str); + gint i, j, LFNum = 0; + + switch (retcode) { + case CR: + while (*str != '\0') { + if (*str == LF) + *str = CR; + str++; + } + break; + case CR+LF: + for (i = 0; *(str + i) != '\0'; i++) { + if (*(str + i) == LF) + LFNum++; + } + buf = g_new(gchar, len + LFNum + 1); + for (i= 0, j = 0;; i++, j++) { + if (*(str + j) == LF) { + *(buf + i) = CR; + *(buf + (++i)) = LF; + } else + *(buf + i) = *(str + j); + if (*(str + j) == '\0') + break; + } + g_free(*text); + *text = buf; + } +} + +gint detect_line_ending(const gchar *text) +{ + while (*(text++) != '\0') { + if (*text == LF) + break; + if (*text == CR) { + if (*(++text) == LF) + return CR+LF; + else + return CR; + } + } + return LF; +} + +static const gchar *detect_charset_cylillic(const gchar *text) +{ + guint8 c = *text; + gboolean noniso = FALSE; + guint32 xc = 0, xd = 0, xef = 0; + + const gchar *charset = get_encoding_items(get_encoding_code())->item[OPENI18N]; + + while ((c = *text++) != '\0') { + if (c >= 0x80 && c <= 0x9F) + noniso = TRUE; + else if (c >= 0xC0 && c <= 0xCF) + xc++; + else if (c >= 0xD0 && c <= 0xDF) + xd++; + else if (c >= 0xE0) + xef++; + } + + if (!noniso && ((xc + xef) < xd)) + charset = "ISO-8859-5"; + else if ((xc + xd) < xef) + charset = "CP1251"; + + return charset; +} + +static const gchar *detect_charset_chinese(const gchar *text) +{ + guint8 c = *text; + + const gchar *charset = get_encoding_items(get_encoding_code())->item[IANA]; + + while ((c = *text++) != '\0') { + if (c >= 0x81 && c <= 0x87) { + charset = "GB18030"; + break; + } + else if (c >= 0x88 && c <= 0xA0) { + c = *text++; + if ((c >= 0x30 && c <= 0x39) || (c >= 0x80 && c <= 0xA0)) { + charset = "GB18030"; + break; + } //else GBK/Big5-HKSCS cannot determine + } + else if ((c >= 0xA1 && c <= 0xC6) || (c >= 0xC9 && c <= 0xF9)) { + c = *text++; + if (c >= 0x40 && c <= 0x7E) + charset = "BIG5"; + else if ((c >= 0x30 && c <= 0x39) || (c >= 0x80 && c <= 0xA0)) { + charset = "GB18030"; + break; + } + } + else if (c >= 0xC7) { + c = *text++; + if ((c >= 0x30 && c <= 0x39) || (c >= 0x80 && c <= 0xA0)) { + charset = "GB18030"; + break; + } + } + } + + return charset; +} + +static const gchar *detect_charset_japanese(const gchar *text) +{ + guint8 c = *text; + gchar *charset = NULL; + + while (charset == NULL && (c = *text++) != '\0') { + if (c >= 0x81 && c <= 0x9F) { + if (c == 0x8E) /* SS2 */ { + c = *text++; + if ((c >= 0x40 && c <= 0xA0) || (c >= 0xE0 && c <= 0xFC)) + charset = "CP932"; + } + else if (c == 0x8F) /* SS3 */ { + c = *text++; + if (c >= 0x40 && c <= 0xA0) + charset = "CP932"; + else if (c >= 0xFD) + break; + } + else + charset = "CP932"; + } + else if (c >= 0xA1 && c <= 0xDF) { + c = *text++; + if (c <= 0x9F) + charset = "CP932"; + else if (c >= 0xFD) + break; + } + else if (c >= 0xE0 && c <= 0xEF) { + c = *text++; + if (c >= 0x40 && c <= 0xA0) + charset = "CP932"; + else if (c >= 0xFD) + break; + } + else if (c >= 0xF0) + break; + } + + if (charset == NULL) + charset = "EUC-JP"; + + return charset; +} + +static const gchar *detect_charset_korean(const gchar *text) +{ + guint8 c = *text; + gboolean noneuc = FALSE; + gboolean nonjohab = FALSE; + gchar *charset = NULL; + + while (charset == NULL && (c = *text++) != '\0') { + if (c >= 0x81 && c < 0x84) { + charset = "CP949"; + } + else if (c >= 0x84 && c < 0xA1) { + noneuc = TRUE; + c = *text++; + if ((c > 0x5A && c < 0x61) || (c > 0x7A && c < 0x81)) + charset = "CP1361"; + else if (c == 0x52 || c == 0x72 || c == 0x92 || (c > 0x9D && c < 0xA1) + || c == 0xB2 || (c > 0xBD && c < 0xC1) || c == 0xD2 + || (c > 0xDD && c < 0xE1) || c == 0xF2 || c == 0xFE) + charset = "CP949"; + } + else if (c >= 0xA1 && c <= 0xC6) { + c = *text++; + if (c < 0xA1) { + noneuc = TRUE; + if ((c > 0x5A && c < 0x61) || (c > 0x7A && c < 0x81)) + charset = "CP1361"; + else if (c == 0x52 || c == 0x72 || c == 0x92 || (c > 0x9D && c < 0xA1)) + charset = "CP949"; + else if (c == 0xB2 || (c > 0xBD && c < 0xC1) || c == 0xD2 + || (c > 0xDD && c < 0xE1) || c == 0xF2 || c == 0xFE) + nonjohab = TRUE; + } + } + else if (c > 0xC6 && c <= 0xD3) { + c = *text++; + if (c < 0xA1) + charset = "CP1361"; + } + else if (c > 0xD3 && c < 0xD8) { + nonjohab = TRUE; + c = *text++; + } + else if (c >= 0xD8) { + c = *text++; + if (c < 0xA1) + charset = "CP1361"; + } + if (noneuc && nonjohab) + charset = "CP949"; + } + + if (charset == NULL) { + if (noneuc) + charset = "CP949"; + else + charset = "EUC-KR"; + } + + return charset; +} + +static gboolean detect_noniso(const gchar *text) +{ + guint8 c = *text; + + while ((c = *text++) != '\0') { + if (c >= 0x80 && c <= 0x9F) + return TRUE; + } + return FALSE; +} + +const gchar *detect_charset(const gchar *text) +{ + guint8 c = *text; + const gchar *charset = NULL; + + if (g_utf8_validate(text, -1, NULL)) { + while ((c = *text++) != '\0') { + if (c > 0x7F) { + charset = "UTF-8"; + break; + } + if (c == 0x1B) /* ESC */ { + c = *text++; + if (c == '$') { + c = *text++; + switch (c) { + case 'B': // JIS X 0208-1983 + case '@': // JIS X 0208-1978 + charset = "ISO-2022-JP"; + continue; + case 'A': // GB2312-1980 + charset = "ISO-2022-JP-2"; + break; + case '(': + c = *text++; + switch (c) { + case 'C': // KSC5601-1987 + case 'D': // JIS X 0212-1990 + charset = "ISO-2022-JP-2"; + } + break; + case ')': + c = *text++; + if (c == 'C') + charset = "ISO-2022-KR"; // KSC5601-1987 + } + break; + } + } + } + if (!charset) + charset = get_default_charset(); + } + + if (!charset) { + switch (get_encoding_code()) { + case LATINC: + case LATINC_UA: + case LATINC_TJ: + charset = detect_charset_cylillic(text); // fuzzy... + break; + case CHINESE_CN: + case CHINESE_TW: + case CHINESE_HK: + charset = detect_charset_chinese(text); + break; + case JAPANESE: + charset = detect_charset_japanese(text); + break; + case KOREAN: + charset = detect_charset_korean(text); + break; + case VIETNAMESE: + case THAI: + case GEORGIAN: + charset = get_encoding_items(get_encoding_code())->item[OPENI18N]; + break; + default: + if (strcmp(get_default_charset(), "UTF-8") != 0) + charset = get_default_charset(); + else if (detect_noniso(text)) + charset = get_encoding_items(get_encoding_code())->item[CODEPAGE]; + else + charset = get_encoding_items(get_encoding_code())->item[OPENI18N]; + if (!charset) + charset = get_encoding_items(get_encoding_code())->item[IANA]; + } + } + + return charset; +} diff --git a/src/encoding.h b/src/encoding.h new file mode 100644 index 0000000..c82f287 --- /dev/null +++ b/src/encoding.h @@ -0,0 +1,49 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _ENCODING_H +#define _ENCODING_H + +#include // TODO: ????? It must to -> .c + +enum { + IANA = 0, + OPENI18N, + CODEPAGE, + ENCODING_MAX_ITEM_NUM +}; + +typedef struct { + const gchar *item[ENCODING_MAX_ITEM_NUM]; +} EncArray; + +enum { + LF = 0x0A, + CR = 0x0D, +}; + +guint get_encoding_code(void); +EncArray *get_encoding_items(guint code); +const gchar *get_default_charset(void); +gint detect_line_ending(const gchar *text); +void convert_line_ending_to_lf(gchar *text); +void convert_line_ending(gchar **text, gint retcode); +const gchar *detect_charset(const gchar *text); + +#endif /* _ENCODING_H */ diff --git a/src/file.c b/src/file.c new file mode 100644 index 0000000..656fd96 --- /dev/null +++ b/src/file.c @@ -0,0 +1,237 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include "file.h" +#include "view.h" +#include "encoding.h" +#include "dialog.h" +#include "menu.h" +#include +//#include "undo.h" + +gboolean check_file_writable(gchar *filename) +{ + FILE *fp; + + if ((fp = fopen(filename, "a")) != NULL) { + fclose(fp); + return TRUE; + } + return FALSE; +} + +gchar *get_file_basename(gchar *filename, gboolean bracket) +{ + gchar *basename = NULL; + gchar *tmp; + gboolean exist_flag; + + if (filename) { + tmp = g_path_get_basename( + g_filename_to_utf8(filename, -1, NULL, NULL, NULL)); + exist_flag = g_file_test( + g_filename_to_utf8(filename, -1, NULL, NULL, NULL), + G_FILE_TEST_EXISTS); + } else { + tmp = g_strdup(_("Untitled")); + exist_flag = FALSE; + } + + if (bracket) { + if (!exist_flag) { + GString *string = g_string_new(tmp); + g_string_prepend(string, "("); + g_string_append(string, ")"); + basename = g_strdup(string->str); + g_string_free(string, TRUE); + } else if (!check_file_writable(filename)) { + GString *string = g_string_new(tmp); + g_string_prepend(string, "<"); + g_string_append(string, ">"); + basename = g_strdup(string->str); + g_string_free(string, TRUE); + } + } + + if (!basename) + basename = g_strdup(tmp); + g_free(tmp); + + return basename; +} + +gchar *parse_file_uri(gchar *uri) +{ + gchar *filename; +// gchar **strs; + + if (g_strstr_len(uri, 5, "file:")) + filename = g_filename_from_uri(uri, NULL, NULL); + else { + if (g_path_is_absolute(uri)) + filename = g_strdup(uri); + else + filename = g_build_filename(g_get_current_dir(), uri, NULL); + } +/* if (strstr(filename, " ")) { + strs = g_strsplit(filename, " ", -1); + g_free(filename); + filename = g_strjoinv("\\ ", strs); + g_strfreev(strs); + } +*/ + return filename; +} + +gint file_open_real(GtkWidget *view, FileInfo *fi) +{ + gchar *contents; + gsize length; + GError *err = NULL; + const gchar *charset; + gchar *str = NULL; + GtkTextIter iter; + + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + + if (!g_file_get_contents(fi->filename, &contents, &length, &err)) { + if (g_file_test(fi->filename, G_FILE_TEST_EXISTS)) { + run_dialog_message(gtk_widget_get_toplevel(view), + GTK_MESSAGE_ERROR, err->message); + g_error_free(err); + return -1; + } + g_error_free(err); + err = NULL; + contents = g_strdup(""); + } + + fi->lineend = detect_line_ending(contents); + if (fi->lineend != LF) + convert_line_ending_to_lf(contents); + + if (fi->charset) + charset = fi->charset; + else { + charset = detect_charset(contents); + if (charset == NULL) + charset = get_default_charset(); + } + + if (length) + do { + if (err) { + charset = "ISO-8859-1"; + g_error_free(err); + err = NULL; + } + str = g_convert(contents, -1, "UTF-8", charset, NULL, NULL, &err); + } while (err); + else + str = g_strdup(""); + g_free(contents); + + if (charset != fi->charset) { + g_free(fi->charset); + fi->charset = g_strdup(charset); + if (fi->charset_flag) + fi->charset_flag = FALSE; + } + +// undo_disconnect_signal(textbuffer); +// undo_block_signal(buffer); + force_block_cb_modified_changed(view); + + gtk_text_buffer_set_text(buffer, "", 0); + gtk_text_buffer_get_start_iter(buffer, &iter); + gtk_text_buffer_insert(buffer, &iter, str, strlen(str)); + gtk_text_buffer_get_start_iter(buffer, &iter); + gtk_text_buffer_place_cursor(buffer, &iter); + gtk_text_buffer_set_modified(buffer, FALSE); + gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(view), &iter, 0, FALSE, 0, 0); + g_free(str); + + force_unblock_cb_modified_changed(view); + menu_sensitivity_from_modified_flag(FALSE); +// undo_unblock_signal(buffer); + + return 0; +} + +gint file_save_real(GtkWidget *view, FileInfo *fi) +{ + FILE *fp; + GtkTextIter start, end; + gchar *str, *cstr; + gsize rbytes, wbytes; + GError *err = NULL; + + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + + gtk_text_buffer_get_start_iter(buffer, &start); + gtk_text_buffer_get_end_iter(buffer, &end); + str = gtk_text_buffer_get_text(buffer, &start, &end, FALSE); + + switch (fi->lineend) { + case CR: + convert_line_ending(&str, CR); + break; + case CR+LF: + convert_line_ending(&str, CR+LF); + } + + if (!fi->charset) + fi->charset = g_strdup(get_default_charset()); + cstr = g_convert(str, -1, fi->charset, "UTF-8", &rbytes, &wbytes, &err); + g_free(str); + if (err) { + switch (err->code) { + case G_CONVERT_ERROR_ILLEGAL_SEQUENCE: + run_dialog_message(gtk_widget_get_toplevel(view), + GTK_MESSAGE_ERROR, _("Can't convert codeset to '%s'"), fi->charset); + break; + default: + run_dialog_message(gtk_widget_get_toplevel(view), + GTK_MESSAGE_ERROR, err->message); + } + g_error_free(err); + return -1; + } + + fp = fopen(fi->filename, "w"); + if (!fp) { + run_dialog_message(gtk_widget_get_toplevel(view), + GTK_MESSAGE_ERROR, _("Can't open file to write")); + return -1; + } + if (fwrite(cstr, 1, wbytes, fp) != wbytes) { + run_dialog_message(gtk_widget_get_toplevel(view), + GTK_MESSAGE_ERROR, _("Can't write file")); + return -1; + } + + gtk_text_buffer_set_modified(buffer, FALSE); + fclose(fp); + g_free(cstr); + + return 0; +} diff --git a/src/file.h b/src/file.h new file mode 100644 index 0000000..6809861 --- /dev/null +++ b/src/file.h @@ -0,0 +1,36 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _FILE_H +#define _FILE_H + +typedef struct { + gchar *filename; + gchar *charset; + gboolean charset_flag; /* T:unique F:listed */ + gchar lineend; +} FileInfo; + +gboolean check_file_writable(gchar *filename); +gchar *get_file_basename(gchar *filename, gboolean bracket); +gchar *parse_file_uri(gchar *uri); +gint file_open_real(GtkWidget *view, FileInfo *fi); +gint file_save_real(GtkWidget *view, FileInfo *fi); + +#endif /* _FILE_H */ diff --git a/src/font.c b/src/font.c new file mode 100644 index 0000000..bf5fc0b --- /dev/null +++ b/src/font.c @@ -0,0 +1,71 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" + +void set_text_font_by_name(GtkWidget *widget, gchar *fontname) +{ + PangoFontDescription *font_desc; + + font_desc = pango_font_description_from_string(fontname); + gtk_widget_modify_font(widget, font_desc); + pango_font_description_free(font_desc); +} + +gchar *get_font_name_from_widget(GtkWidget *widget) /* MUST BE FREED */ +{ + GtkStyle *style; + + style = gtk_widget_get_style(widget); + return pango_font_description_to_string(style->font_desc); +} + +static gchar *get_font_name_by_selector(GtkWidget *window, gchar *current_fontname) +{ + GtkWidget *dialog; + gchar *fontname; + + dialog = gtk_font_selection_dialog_new(_("Font")); + gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(window)); + gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(dialog), current_fontname); + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) + fontname = gtk_font_selection_dialog_get_font_name(GTK_FONT_SELECTION_DIALOG(dialog)); + else + fontname = NULL; + gtk_widget_destroy(dialog); + + return fontname; +} + +void change_text_font_by_selector(GtkWidget *widget) +{ + gchar *current_fontname, *fontname; + + current_fontname = get_font_name_from_widget(widget); + fontname = get_font_name_by_selector( + gtk_widget_get_toplevel(widget), current_fontname); + if (fontname) { + set_text_font_by_name(widget, fontname); + indent_refresh_tab_width(widget); + } + + g_free(fontname); + g_free(current_fontname); +} + diff --git a/src/font.h b/src/font.h new file mode 100644 index 0000000..b9289fb --- /dev/null +++ b/src/font.h @@ -0,0 +1,27 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _FONT_H +#define _FONT_H + +void set_text_font_by_name(GtkWidget *widget, gchar *fontname); +gchar *get_font_name_from_widget(GtkWidget *widget); /* MUST BE FREED */ +void change_text_font_by_selector(GtkWidget *widget); + +#endif /* _FONT_H */ diff --git a/src/gtkprint.c b/src/gtkprint.c new file mode 100644 index 0000000..3cce6ca --- /dev/null +++ b/src/gtkprint.c @@ -0,0 +1,218 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2007 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +static PangoLayout *layout; +static PangoFontDescription *font_desc; +static gint line_count, lines_per_page, text_height; +static gint n_pages; +static gdouble page_width, page_height; +static const gchar *page_title = NULL; + +static void get_tab_array(PangoTabArray **tabs, + GtkPrintContext *ctx, GtkTextView *text_view) +{ + gint xft_dpi, loc; + GtkSettings *settings = gtk_settings_get_default(); + + g_object_get(settings, "gtk-xft-dpi", &xft_dpi, NULL); + if ((*tabs = gtk_text_view_get_tabs(text_view))) { + pango_tab_array_get_tab(*tabs, 0, NULL, &loc); + pango_tab_array_set_tab(*tabs, 0, PANGO_TAB_LEFT, + loc * gtk_print_context_get_dpi_x(ctx) / (xft_dpi / PANGO_SCALE)); + } +} + +static void cb_begin_print(GtkPrintOperation *op, + GtkPrintContext *ctx, gpointer data) +{ + gint layout_height; + gchar *text; + GtkTextIter start, end; + GtkTextBuffer *buffer = gtk_text_view_get_buffer(data); + PangoTabArray *tabs; + + gtk_text_buffer_get_bounds(buffer, &start, &end); + text = g_strchomp(gtk_text_buffer_get_text(buffer, &start, &end, FALSE)); + + page_width = gtk_print_context_get_width(ctx); + page_height = gtk_print_context_get_height(ctx); + gtk_widget_style_get_property(data, font_desc, font_desc); + layout = gtk_print_context_create_pango_layout(ctx); + pango_layout_set_width(layout, page_width * PANGO_SCALE); + pango_layout_set_font_description(layout, font_desc); + pango_layout_set_text(layout, text, -1); + + get_tab_array(&tabs, ctx, data); + if (tabs) { + pango_layout_set_tabs(layout, tabs); + pango_tab_array_free(tabs); + } + pango_layout_get_size(layout, NULL, &layout_height); + + line_count = pango_layout_get_line_count(layout); + text_height = pango_font_description_get_size(font_desc) / PANGO_SCALE; + lines_per_page = page_height / text_height; + + n_pages = (line_count - 1) / lines_per_page + 1; + gtk_print_operation_set_n_pages(op, n_pages); + + g_free(text); +} + +static void cb_draw_page(GtkPrintOperation *op, + GtkPrintContext *ctx, gint page_nr, gpointer data) +{ + cairo_t *cr; + PangoLayoutLine *line; + gint n_line, i, j = 0; + + PangoLayout *layout_lh, *layout_rh; + gchar *page_text; + gint layout_width; + + cr = gtk_print_context_get_cairo_context(ctx); + + layout_lh = gtk_print_context_create_pango_layout(ctx); + pango_layout_set_font_description(layout_lh, font_desc); + pango_layout_set_text(layout_lh, page_title, -1); + cairo_move_to(cr, 0, - 72 / 25.4 * 10); + pango_cairo_show_layout(cr, layout_lh); + + page_text = g_strdup_printf("%d / %d", page_nr + 1, n_pages); + layout_rh = gtk_print_context_create_pango_layout(ctx); + pango_layout_set_font_description(layout_rh, font_desc); + pango_layout_set_text(layout_rh, page_text, -1); +// pango_layout_set_alignment(layout_rh, PANGO_ALIGN_RIGHT); + pango_layout_get_size(layout_rh, &layout_width, NULL); + cairo_move_to(cr, + page_width - layout_width / PANGO_SCALE, - 72 / 25.4 * 10); + pango_cairo_show_layout(cr, layout_rh); + g_free(page_text); + + if (line_count > lines_per_page * (page_nr + 1)) + n_line = lines_per_page * (page_nr + 1); + else + n_line = line_count; + + for (i = lines_per_page * page_nr; i < n_line; i++) { + line = pango_layout_get_line(layout, i); + cairo_move_to(cr, 0, text_height * (j + 1)); + pango_cairo_show_layout_line(cr, line); + j++; + } +} + +static void cb_end_print(GtkPrintOperation *op, + GtkPrintContext *ctx, gpointer data) +{ + g_object_unref(layout); +} + +static GtkPrintSettings *settings = NULL; + +static GtkPrintOperation *create_print_operation(GtkTextView *text_view) +{ + GtkPrintOperation *op; + static GtkPageSetup *page_setup = NULL; + + op = gtk_print_operation_new(); + + if (settings) + gtk_print_operation_set_print_settings(op, settings); + + if (!page_setup) { + page_setup = gtk_page_setup_new(); + gtk_page_setup_set_top_margin(page_setup, 25.0, GTK_UNIT_MM); + gtk_page_setup_set_bottom_margin(page_setup, 20.0, GTK_UNIT_MM); + gtk_page_setup_set_left_margin(page_setup, 20.0, GTK_UNIT_MM); + gtk_page_setup_set_right_margin(page_setup, 20.0, GTK_UNIT_MM); + } + gtk_print_operation_set_default_page_setup(op, page_setup); + + g_signal_connect(op, "begin-print", G_CALLBACK(cb_begin_print), text_view); + g_signal_connect(op, "draw-page", G_CALLBACK(cb_draw_page), NULL); + g_signal_connect(op, "end-print", G_CALLBACK(cb_end_print), NULL); + + return op; +} + +static void create_error_dialog(GtkTextView *text_view, gchar *message) +{ + GtkWidget *dialog; + + dialog = gtk_message_dialog_new( + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(text_view))), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_NONE, + message); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_dialog_add_buttons(GTK_DIALOG(dialog), + GTK_STOCK_OK, GTK_RESPONSE_CANCEL, NULL); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); +} + +void create_gtkprint_session(GtkTextView *text_view, const gchar *title) +{ + GtkPrintOperation *op; + GtkPrintOperationResult res; + GError *err = NULL; + + page_title = title; + op = create_print_operation(text_view); + + res = gtk_print_operation_run(op, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(text_view))), &err); + switch (res) { + case GTK_PRINT_OPERATION_RESULT_ERROR: + create_error_dialog(text_view, err->message); + g_error_free(err); + case GTK_PRINT_OPERATION_RESULT_APPLY: + if (settings) + g_object_unref(settings); + settings = g_object_ref(gtk_print_operation_get_print_settings(op)); + default: + break; + } + + g_object_unref(op); +} + +void create_gtkprint_preview_session(GtkTextView *text_view, const gchar *title) +{ + GtkPrintOperation *op; + GtkPrintOperationResult res; + GError *err = NULL; + + page_title = title; + op = create_print_operation(text_view); + + res = gtk_print_operation_run(op, GTK_PRINT_OPERATION_ACTION_PREVIEW, + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(text_view))), &err); + if (res == GTK_PRINT_OPERATION_RESULT_ERROR) { + create_error_dialog(text_view, err->message); + g_error_free(err); + } + + g_object_unref(op); +} diff --git a/src/gtkprint.h b/src/gtkprint.h new file mode 100644 index 0000000..ea73a29 --- /dev/null +++ b/src/gtkprint.h @@ -0,0 +1,26 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2007 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _GTKPRINT_H +#define _GTKPRINT_H + +void create_gtkprint_session(GtkTextView *text_view, const gchar *title); +void create_gtkprint_preview_session(GtkTextView *text_view, const gchar *title); + +#endif /* _GTKPRINT_H */ diff --git a/src/gtksourceiter.c b/src/gtksourceiter.c new file mode 100644 index 0000000..1f3b025 --- /dev/null +++ b/src/gtksourceiter.c @@ -0,0 +1,742 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * gtksourceiter.h + * + * Copyright (C) 2000, 2002 Paolo Maggi + * Copyright (C) 2002, 2003 Jeroen Zwartepoorte + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * Parts of this file are copied from the gedit and glimmer project. + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include "gtksourceiter.h" + +#define GTK_TEXT_UNKNOWN_CHAR 0xFFFC + +/* this function acts like g_utf8_offset_to_pointer() except that if it finds a + * decomposable character it consumes the decomposition length from the given + * offset. So it's useful when the offset was calculated for the normalized + * version of str, but we need a pointer to str itself. */ +static const gchar * +pointer_from_offset_skipping_decomp (const gchar *str, gint offset) +{ + gsize decomp_len; + gunichar *decomp; + const gchar *p; + + p = str; + while (offset > 0) + { + decomp = g_unicode_canonical_decomposition (g_utf8_get_char (p), &decomp_len); + g_free (decomp); + p = g_utf8_next_char (p); + offset -= decomp_len; + } + return p; +} + +static const gchar * +g_utf8_strcasestr (const gchar *haystack, const gchar *needle) +{ + gsize needle_len; + gsize haystack_len; + const gchar *ret = NULL; + gchar *p; + gchar *casefold; + gchar *caseless_haystack; + gint i; + + g_return_val_if_fail (haystack != NULL, NULL); + g_return_val_if_fail (needle != NULL, NULL); + + casefold = g_utf8_casefold (haystack, -1); + caseless_haystack = g_utf8_normalize (casefold, -1, G_NORMALIZE_DEFAULT); + g_free (casefold); + + needle_len = g_utf8_strlen (needle, -1); + haystack_len = g_utf8_strlen (caseless_haystack, -1); + + if (needle_len == 0) + { + ret = (gchar *)haystack; + goto finally_1; + } + + if (haystack_len < needle_len) + { + ret = NULL; + goto finally_1; + } + + p = (gchar*)caseless_haystack; + needle_len = strlen (needle); + i = 0; + + while (*p) + { + if ((strncmp (p, needle, needle_len) == 0)) + { + ret = pointer_from_offset_skipping_decomp (haystack, i); + goto finally_1; + } + + p = g_utf8_next_char (p); + i++; + } + +finally_1: + g_free (caseless_haystack); + + return ret; +} + +static const gchar * +g_utf8_strrcasestr (const gchar *haystack, const gchar *needle) +{ + gsize needle_len; + gsize haystack_len; + const gchar *ret = NULL; + gchar *p; + gchar *casefold; + gchar *caseless_haystack; + gint i; + + g_return_val_if_fail (haystack != NULL, NULL); + g_return_val_if_fail (needle != NULL, NULL); + + casefold = g_utf8_casefold (haystack, -1); + caseless_haystack = g_utf8_normalize (casefold, -1, G_NORMALIZE_ALL); + g_free (casefold); + + needle_len = g_utf8_strlen (needle, -1); + haystack_len = g_utf8_strlen (caseless_haystack, -1); + + if (needle_len == 0) + { + ret = (gchar *)haystack; + goto finally_1; + } + + if (haystack_len < needle_len) + { + ret = NULL; + goto finally_1; + } + + i = haystack_len - needle_len; + p = g_utf8_offset_to_pointer (caseless_haystack, i); + needle_len = strlen (needle); + + while (p >= caseless_haystack) + { + if (strncmp (p, needle, needle_len) == 0) + { + ret = pointer_from_offset_skipping_decomp (haystack, i); + goto finally_1; + } + + p = g_utf8_prev_char (p); + i--; + } + +finally_1: + g_free (caseless_haystack); + + return ret; +} + +static gboolean +g_utf8_caselessnmatch (const char *s1, const char *s2, + gssize n1, gssize n2) +{ + gchar *casefold; + gchar *normalized_s1; + gchar *normalized_s2; + gint len_s1; + gint len_s2; + gboolean ret = FALSE; + + g_return_val_if_fail (s1 != NULL, FALSE); + g_return_val_if_fail (s2 != NULL, FALSE); + g_return_val_if_fail (n1 > 0, FALSE); + g_return_val_if_fail (n2 > 0, FALSE); + + casefold = g_utf8_casefold (s1, n1); + normalized_s1 = g_utf8_normalize (casefold, -1, G_NORMALIZE_ALL); + g_free (casefold); + + casefold = g_utf8_casefold (s2, n2); + normalized_s2 = g_utf8_normalize (casefold, -1, G_NORMALIZE_ALL); + g_free (casefold); + + len_s1 = strlen (normalized_s1); + len_s2 = strlen (normalized_s2); + + if (len_s1 < len_s2) + goto finally_2; + + ret = (strncmp (normalized_s1, normalized_s2, len_s2) == 0); + +finally_2: + g_free (normalized_s1); + g_free (normalized_s2); + + return ret; +} + +static void +forward_chars_with_skipping (GtkTextIter *iter, + gint count, + gboolean skip_invisible, + gboolean skip_nontext, + gboolean skip_decomp) +{ + gint i; + + g_return_if_fail (count >= 0); + + i = count; + + while (i > 0) + { + gboolean ignored = FALSE; + + if (skip_nontext && gtk_text_iter_get_char (iter) == GTK_TEXT_UNKNOWN_CHAR) + ignored = TRUE; + + if (!ignored && skip_invisible && + /* _gtk_text_btree_char_is_invisible (iter)*/ FALSE) + ignored = TRUE; + + if (!ignored && skip_decomp) + { + /* being UTF8 correct sucks; this accounts for extra + offsets coming from canonical decompositions of + UTF8 characters (e.g. accented characters) which + g_utf8_normalize() performs */ + gunichar *decomp; + gsize decomp_len; + decomp = g_unicode_canonical_decomposition ( + gtk_text_iter_get_char (iter), &decomp_len); + i -= (decomp_len - 1); + g_free (decomp); + } + + gtk_text_iter_forward_char (iter); + + if (!ignored) + --i; + } +} + +static gboolean +lines_match (const GtkTextIter *start, + const gchar **lines, + gboolean visible_only, + gboolean slice, + GtkTextIter *match_start, + GtkTextIter *match_end) +{ + GtkTextIter next; + gchar *line_text; + const gchar *found; + gint offset; + + if (*lines == NULL || **lines == '\0') + { + if (match_start) + *match_start = *start; + if (match_end) + *match_end = *start; + return TRUE; + } + + next = *start; + gtk_text_iter_forward_line (&next); + + /* No more text in buffer, but *lines is nonempty */ + if (gtk_text_iter_equal (start, &next)) + return FALSE; + + if (slice) + { + if (visible_only) + line_text = gtk_text_iter_get_visible_slice (start, &next); + else + line_text = gtk_text_iter_get_slice (start, &next); + } + else + { + if (visible_only) + line_text = gtk_text_iter_get_visible_text (start, &next); + else + line_text = gtk_text_iter_get_text (start, &next); + } + + if (match_start) /* if this is the first line we're matching */ + { + found = g_utf8_strcasestr (line_text, *lines); + } + else + { + /* If it's not the first line, we have to match from the + * start of the line. + */ + if (g_utf8_caselessnmatch (line_text, *lines, strlen (line_text), + strlen (*lines))) + found = line_text; + else + found = NULL; + } + + if (found == NULL) + { + g_free (line_text); + return FALSE; + } + + /* Get offset to start of search string */ + offset = g_utf8_strlen (line_text, found - line_text); + + next = *start; + + /* If match start needs to be returned, set it to the + * start of the search string. + */ + forward_chars_with_skipping (&next, offset, visible_only, !slice, FALSE); + if (match_start) + { + *match_start = next; + } + + /* Go to end of search string */ + forward_chars_with_skipping (&next, g_utf8_strlen (*lines, -1), visible_only, !slice, TRUE); + + g_free (line_text); + + ++lines; + + if (match_end) + *match_end = next; + + /* pass NULL for match_start, since we don't need to find the + * start again. + */ + return lines_match (&next, lines, visible_only, slice, NULL, match_end); +} + +static gboolean +backward_lines_match (const GtkTextIter *start, + const gchar **lines, + gboolean visible_only, + gboolean slice, + GtkTextIter *match_start, + GtkTextIter *match_end) +{ + GtkTextIter line, next; + gchar *line_text; + const gchar *found; + gint offset; + + if (*lines == NULL || **lines == '\0') + { + if (match_start) + *match_start = *start; + if (match_end) + *match_end = *start; + return TRUE; + } + + line = next = *start; + if (gtk_text_iter_get_line_offset (&next) == 0) + { + if (!gtk_text_iter_backward_line (&next)) + return FALSE; + } + else + gtk_text_iter_set_line_offset (&next, 0); + + if (slice) + { + if (visible_only) + line_text = gtk_text_iter_get_visible_slice (&next, &line); + else + line_text = gtk_text_iter_get_slice (&next, &line); + } + else + { + if (visible_only) + line_text = gtk_text_iter_get_visible_text (&next, &line); + else + line_text = gtk_text_iter_get_text (&next, &line); + } + + if (match_start) /* if this is the first line we're matching */ + { + found = g_utf8_strrcasestr (line_text, *lines); + } + else + { + /* If it's not the first line, we have to match from the + * start of the line. + */ + if (g_utf8_caselessnmatch (line_text, *lines, strlen (line_text), + strlen (*lines))) + found = line_text; + else + found = NULL; + } + + if (found == NULL) + { + g_free (line_text); + return FALSE; + } + + /* Get offset to start of search string */ + offset = g_utf8_strlen (line_text, found - line_text); + + forward_chars_with_skipping (&next, offset, visible_only, !slice, FALSE); + + /* If match start needs to be returned, set it to the + * start of the search string. + */ + if (match_start) + { + *match_start = next; + } + + /* Go to end of search string */ + forward_chars_with_skipping (&next, g_utf8_strlen (*lines, -1), visible_only, !slice, TRUE); + + g_free (line_text); + + ++lines; + + if (match_end) + *match_end = next; + + /* try to match the rest of the lines forward, passing NULL + * for match_start so lines_match will try to match the entire + * line */ + return lines_match (&next, lines, visible_only, + slice, NULL, match_end); +} + +/* strsplit () that retains the delimiter as part of the string. */ +static gchar ** +strbreakup (const char *string, + const char *delimiter, + gint max_tokens) +{ + GSList *string_list = NULL, *slist; + gchar **str_array, *s, *casefold, *new_string; + guint i, n = 1; + + g_return_val_if_fail (string != NULL, NULL); + g_return_val_if_fail (delimiter != NULL, NULL); + + if (max_tokens < 1) + max_tokens = G_MAXINT; + + s = strstr (string, delimiter); + if (s) + { + guint delimiter_len = strlen (delimiter); + + do + { + guint len; + + len = s - string + delimiter_len; + new_string = g_new (gchar, len + 1); + strncpy (new_string, string, len); + new_string[len] = 0; + casefold = g_utf8_casefold (new_string, -1); + g_free (new_string); + new_string = g_utf8_normalize (casefold, -1, G_NORMALIZE_ALL); + g_free (casefold); + string_list = g_slist_prepend (string_list, new_string); + n++; + string = s + delimiter_len; + s = strstr (string, delimiter); + } while (--max_tokens && s); + } + + if (*string) + { + n++; + casefold = g_utf8_casefold (string, -1); + new_string = g_utf8_normalize (casefold, -1, G_NORMALIZE_ALL); + g_free (casefold); + string_list = g_slist_prepend (string_list, new_string); + } + + str_array = g_new (gchar*, n); + + i = n - 1; + + str_array[i--] = NULL; + for (slist = string_list; slist; slist = slist->next) + str_array[i--] = slist->data; + + g_slist_free (string_list); + + return str_array; +} + +/** + * gtk_source_iter_forward_search: + * @iter: start of search + * @str: a search string + * @flags: flags affecting how the search is done + * @match_start: return location for start of match, or %NULL + * @match_end: return location for end of match, or %NULL + * @limit: bound for the search, or %NULL for the end of the buffer + * + * Searches forward for @str. Any match is returned by setting + * @match_start to the first character of the match and @match_end to the + * first character after the match. The search will not continue past + * @limit. Note that a search is a linear or O(n) operation, so you + * may wish to use @limit to avoid locking up your UI on large + * buffers. + * + * If the #GTK_SOURCE_SEARCH_VISIBLE_ONLY flag is present, the match may + * have invisible text interspersed in @str. i.e. @str will be a + * possibly-noncontiguous subsequence of the matched range. similarly, + * if you specify #GTK_SOURCE_SEARCH_TEXT_ONLY, the match may have + * pixbufs or child widgets mixed inside the matched range. If these + * flags are not given, the match must be exact; the special 0xFFFC + * character in @str will match embedded pixbufs or child widgets. + * If you specify the #GTK_SOURCE_SEARCH_CASE_INSENSITIVE flag, the text will + * be matched regardless of what case it is in. + * + * Same as gtk_text_iter_forward_search(), but supports case insensitive + * searching. + * + * Return value: whether a match was found + **/ +gboolean +gtk_source_iter_forward_search (const GtkTextIter *iter, + const gchar *str, + GtkSourceSearchFlags flags, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit) +{ + gchar **lines = NULL; + GtkTextIter match; + gboolean retval = FALSE; + GtkTextIter search; + gboolean visible_only; + gboolean slice; + + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (str != NULL, FALSE); + + if ((flags & GTK_SOURCE_SEARCH_CASE_INSENSITIVE) == 0) + return gtk_text_iter_forward_search (iter, str, flags, + match_start, match_end, + limit); + + if (limit && gtk_text_iter_compare (iter, limit) >= 0) + return FALSE; + + if (*str == '\0') + { + /* If we can move one char, return the empty string there */ + match = *iter; + + if (gtk_text_iter_forward_char (&match)) + { + if (limit && gtk_text_iter_equal (&match, limit)) + return FALSE; + + if (match_start) + *match_start = match; + if (match_end) + *match_end = match; + return TRUE; + } + else + { + return FALSE; + } + } + + visible_only = (flags & GTK_SOURCE_SEARCH_VISIBLE_ONLY) != 0; + slice = (flags & GTK_SOURCE_SEARCH_TEXT_ONLY) == 0; + + /* locate all lines */ + lines = strbreakup (str, "\n", -1); + + search = *iter; + + do + { + /* This loop has an inefficient worst-case, where + * gtk_text_iter_get_text () is called repeatedly on + * a single line. + */ + GtkTextIter end; + + if (limit && gtk_text_iter_compare (&search, limit) >= 0) + break; + + if (lines_match (&search, (const gchar**)lines, + visible_only, slice, &match, &end)) + { + if (limit == NULL || (limit && + gtk_text_iter_compare (&end, limit) < 0)) + { + retval = TRUE; + + if (match_start) + *match_start = match; + if (match_end) + *match_end = end; + } + break; + } + } while (gtk_text_iter_forward_line (&search)); + + g_strfreev ((gchar**)lines); + + return retval; +} + +/** + * gtk_source_iter_backward_search: + * @iter: a #GtkTextIter where the search begins + * @str: search string + * @flags: bitmask of flags affecting the search + * @match_start: return location for start of match, or %NULL + * @match_end: return location for end of match, or %NULL + * @limit: location of last possible @match_start, or %NULL for start of buffer + * + * Same as gtk_text_iter_backward_search(), but supports case insensitive + * searching. + * + * Return value: whether a match was found + **/ +gboolean +gtk_source_iter_backward_search (const GtkTextIter *iter, + const gchar *str, + GtkSourceSearchFlags flags, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit) +{ + gchar **lines = NULL; + GtkTextIter match; + gboolean retval = FALSE; + GtkTextIter search; + gboolean visible_only; + gboolean slice; + + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (str != NULL, FALSE); + + if ((flags & GTK_SOURCE_SEARCH_CASE_INSENSITIVE) == 0) + return gtk_text_iter_backward_search (iter, str, flags, + match_start, match_end, + limit); + + if (limit && gtk_text_iter_compare (iter, limit) <= 0) + return FALSE; + + if (*str == '\0') + { + /* If we can move one char, return the empty string there */ + match = *iter; + + if (gtk_text_iter_backward_char (&match)) + { + if (limit && gtk_text_iter_equal (&match, limit)) + return FALSE; + + if (match_start) + *match_start = match; + if (match_end) + *match_end = match; + return TRUE; + } + else + { + return FALSE; + } + } + + visible_only = (flags & GTK_SOURCE_SEARCH_VISIBLE_ONLY) != 0; + slice = (flags & GTK_SOURCE_SEARCH_TEXT_ONLY) == 0; + + /* locate all lines */ + lines = strbreakup (str, "\n", -1); + + search = *iter; + + while (TRUE) + { + /* This loop has an inefficient worst-case, where + * gtk_text_iter_get_text () is called repeatedly on + * a single line. + */ + GtkTextIter end; + + if (limit && gtk_text_iter_compare (&search, limit) <= 0) + break; + + if (backward_lines_match (&search, (const gchar**)lines, + visible_only, slice, &match, &end)) + { + if (limit == NULL || (limit && + gtk_text_iter_compare (&end, limit) > 0)) + { + retval = TRUE; + + if (match_start) + *match_start = match; + if (match_end) + *match_end = end; + } + break; + } + + if (gtk_text_iter_get_line_offset (&search) == 0) + { + if (!gtk_text_iter_backward_line (&search)) + break; + } + else + { + gtk_text_iter_set_line_offset (&search, 0); + } + } + + g_strfreev ((gchar**)lines); + + return retval; +} + +/* + * gtk_source_iter_find_matching_bracket is implemented in gtksourcebuffer.c + */ diff --git a/src/gtksourceiter.h b/src/gtksourceiter.h new file mode 100644 index 0000000..c62801a --- /dev/null +++ b/src/gtksourceiter.h @@ -0,0 +1,55 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- + * gtksourceiter.h + * + * Copyright (C) 2000, 2002 Paolo Maggi + * Copyright (C) 2002, 2003 Jeroen Zwartepoorte + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __GTK_SOURCE_ITER_H__ +#define __GTK_SOURCE_ITER_H__ + +#include + +G_BEGIN_DECLS + +typedef enum +{ + GTK_SOURCE_SEARCH_VISIBLE_ONLY, + GTK_SOURCE_SEARCH_TEXT_ONLY, + GTK_SOURCE_SEARCH_CASE_INSENSITIVE + /* Possible future plans: SEARCH_REGEXP */ +} GtkSourceSearchFlags; + +gboolean gtk_source_iter_forward_search (const GtkTextIter *iter, + const gchar *str, + GtkSourceSearchFlags flags, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit); + +gboolean gtk_source_iter_backward_search (const GtkTextIter *iter, + const gchar *str, + GtkSourceSearchFlags flags, + GtkTextIter *match_start, + GtkTextIter *match_end, + const GtkTextIter *limit); + +gboolean gtk_source_iter_find_matching_bracket (GtkTextIter *iter); + +G_END_DECLS + +#endif /* __GTK_SOURCE_ITER_H__ */ diff --git a/src/hlight.c b/src/hlight.c new file mode 100644 index 0000000..df59e1d --- /dev/null +++ b/src/hlight.c @@ -0,0 +1,88 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include "l3afpad.h" +//#include + +static gboolean searched_flag = FALSE; + +static void cb_changed(GtkTextBuffer *buffer) +{ + GtkTextIter start, end; + + gtk_text_buffer_get_bounds(buffer, &start, &end); +// gtk_text_buffer_remove_tag_by_name(buffer, +// "searched", &start, &end); + gtk_text_buffer_remove_all_tags(buffer, &start, &end); + g_signal_handlers_block_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_changed), NULL); + searched_flag = FALSE; +} + +static void cb_paste_clipboard(void) +{ + gchar *text; + + text = gtk_clipboard_wait_for_text( + gtk_clipboard_get(GDK_SELECTION_CLIPBOARD)); + if (text) { + gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), + text, -1); + g_free(text); + } +} + +gboolean hlight_check_searched(void) +{ + return searched_flag; +} + +gboolean hlight_toggle_searched(GtkTextBuffer *buffer) +{ + if (!searched_flag) { + g_signal_handlers_unblock_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_changed), NULL); + searched_flag = TRUE; + } else { + g_signal_handlers_block_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_changed), NULL); + searched_flag = FALSE; + } + return searched_flag; +} + +void hlight_init(GtkTextBuffer *buffer) +{ + gtk_text_buffer_create_tag(buffer, "searched", + "background", "yellow", + "foreground", "black", + NULL); + gtk_text_buffer_create_tag(buffer, "replaced", + "background", "cyan", + "foreground", "black", + NULL); + g_signal_connect(G_OBJECT(buffer), "changed", + G_CALLBACK(cb_changed), NULL); + g_signal_handlers_block_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_changed), NULL); + + g_signal_connect(G_OBJECT(pub->mw->view), "paste-clipboard", + G_CALLBACK(cb_paste_clipboard), NULL); +} diff --git a/src/hlight.h b/src/hlight.h new file mode 100644 index 0000000..a4b205f --- /dev/null +++ b/src/hlight.h @@ -0,0 +1,27 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _HLIGHT_H +#define _HLIGHT_H + +gboolean hlight_check_searched(void); +gboolean hlight_toggle_searched(GtkTextBuffer *buffer); +void hlight_init(GtkTextBuffer *buffer); + +#endif /* _HLIGHT_H */ diff --git a/src/indent.c b/src/indent.c new file mode 100644 index 0000000..59c5848 --- /dev/null +++ b/src/indent.c @@ -0,0 +1,224 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +//#include +#include + +static gboolean auto_indent = FALSE; +static gint default_tab_width = 8; +static gint current_tab_width = 8; + +gint get_current_tab_width(void) +{ + return current_tab_width; +} + +void indent_set_state(gboolean state) +{ + auto_indent = state; +} + +gboolean indent_get_state(void) +{ + return auto_indent; +} + +static gchar *compute_indentation(GtkTextBuffer *buffer, GtkTextIter *iter, gint line) +{ + GtkTextIter start_iter, end_iter; + gunichar ch; + + gtk_text_buffer_get_iter_at_line(buffer, &start_iter, line); + end_iter = start_iter; + ch = gtk_text_iter_get_char(&end_iter); + while (g_unichar_isspace(ch) && ch != '\n') { + if (!gtk_text_iter_forward_char(&end_iter)) + break; + ch = gtk_text_iter_get_char(&end_iter); + } + if (gtk_text_iter_equal(&start_iter, &end_iter)) + return NULL; + + if (iter && gtk_text_iter_compare(iter, &end_iter) < 0) + return gtk_text_iter_get_text(&start_iter, iter); + return gtk_text_iter_get_text(&start_iter, &end_iter); +} + +void indent_real(GtkWidget *text_view) +{ + GtkTextIter iter; + gchar *ind, *str; + + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_view)); + + g_signal_emit_by_name(G_OBJECT(buffer), "begin-user-action"); + gtk_text_buffer_delete_selection(buffer, TRUE, TRUE); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, gtk_text_buffer_get_insert(buffer)); + ind = compute_indentation(buffer, &iter, gtk_text_iter_get_line(&iter)); + str = g_strconcat("\n", ind, NULL); + gtk_text_buffer_insert(buffer, &iter, str, -1); + g_signal_emit_by_name(G_OBJECT(buffer), "end-user-action"); + g_free(str); + g_free(ind); + + gtk_text_view_scroll_mark_onscreen( + GTK_TEXT_VIEW(text_view), + gtk_text_buffer_get_insert(buffer)); +} + +static gint calculate_real_tab_width(GtkWidget *text_view, guint tab_size) //from gtksourceview +{ + PangoLayout *layout; + gchar *tab_string; + gint tab_width = 0; + + if (tab_size == 0) + return -1; + + tab_string = g_strnfill(tab_size, 0x20); + layout = gtk_widget_create_pango_layout(text_view, tab_string); + g_free (tab_string); + + if (layout != NULL) { + pango_layout_get_pixel_size(layout, &tab_width, NULL); + g_object_unref(G_OBJECT(layout)); + } else + tab_width = -1; + + return tab_width; +} + +void indent_refresh_tab_width(GtkWidget *text_view) +{ + PangoTabArray *tab_array; + + tab_array = pango_tab_array_new(1, TRUE); + pango_tab_array_set_tab(tab_array, 0, PANGO_TAB_LEFT, + calculate_real_tab_width(text_view, current_tab_width)); + gtk_text_view_set_tabs(GTK_TEXT_VIEW(text_view), tab_array); + pango_tab_array_free(tab_array); +} + +void indent_toggle_tab_width(GtkWidget *text_view) +{ + if (current_tab_width == default_tab_width) + if (default_tab_width == 8) + current_tab_width = 4; + else + current_tab_width = 8; + else + current_tab_width = default_tab_width; + indent_refresh_tab_width(text_view); +} + +void indent_set_default_tab_width(gint width) +{ + default_tab_width = width; + current_tab_width = default_tab_width; +} + +void indent_multi_line_indent(GtkTextBuffer *buffer) +{ + GtkTextIter start_iter, end_iter, iter; + gint start_line, end_line, i; + gboolean pos; + + gtk_text_buffer_get_selection_bounds(buffer, &start_iter, &end_iter); + start_line = gtk_text_iter_get_line(&start_iter); + end_line = gtk_text_iter_get_line(&end_iter); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, gtk_text_buffer_get_insert(buffer)); + pos = gtk_text_iter_equal(&iter, &start_iter); + for (i = start_line; i < end_line; i++) { + gtk_text_buffer_get_iter_at_line(buffer, &iter, i); + gtk_text_buffer_place_cursor(buffer, &iter); + g_signal_emit_by_name(G_OBJECT(buffer), "begin-user-action"); + gtk_text_buffer_insert(buffer, &iter, "\t", 1); + g_signal_emit_by_name(G_OBJECT(buffer), "end-user-action"); + undo_set_sequency(TRUE); + } + undo_set_sequency(FALSE); + + gtk_text_buffer_get_iter_at_line(buffer, &start_iter, start_line); + gtk_text_buffer_get_iter_at_line(buffer, &end_iter, end_line); + if (pos) { + gtk_text_buffer_place_cursor(buffer, &end_iter); + gtk_text_buffer_move_mark_by_name(buffer, "insert", &start_iter); + } else { + gtk_text_buffer_place_cursor(buffer, &start_iter); + gtk_text_buffer_move_mark_by_name(buffer, "insert", &end_iter); + } +} + +static gint compute_indent_offset_length(const gchar *ind) +{ + guint8 c = *ind; + gint len = 1; + + if (c == 0x20) + while ((len < current_tab_width) && (c = *++ind) == 0x20) + len++; + + return len; +} + +void indent_multi_line_unindent(GtkTextBuffer *buffer) +{ + GtkTextIter start_iter, end_iter, iter; + gint start_line, end_line, i, len; + gboolean pos; + gchar *ind; + + gtk_text_buffer_get_selection_bounds(buffer, &start_iter, &end_iter); + start_line = gtk_text_iter_get_line(&start_iter); + end_line = gtk_text_iter_get_line(&end_iter); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, gtk_text_buffer_get_insert(buffer)); + pos = gtk_text_iter_equal(&iter, &start_iter); + i = start_line; + do { + ind = compute_indentation(buffer, NULL, i); + if (ind && strlen(ind)) { + len = compute_indent_offset_length(ind); + gtk_text_buffer_get_iter_at_line(buffer, &start_iter, i); + gtk_text_buffer_place_cursor(buffer, &start_iter); + end_iter = start_iter; + gtk_text_iter_forward_chars(&end_iter, len); + gtk_text_buffer_move_mark_by_name(buffer, "insert", &end_iter); + g_signal_emit_by_name(G_OBJECT(buffer), "begin-user-action"); + gtk_text_buffer_delete(buffer, &start_iter, &end_iter); + g_signal_emit_by_name(G_OBJECT(buffer), "end-user-action"); + undo_set_sequency(TRUE); + g_free(ind); + } + i++; + } while (i < end_line); + undo_set_sequency(FALSE); + + gtk_text_buffer_get_iter_at_line(buffer, &start_iter, start_line); + gtk_text_buffer_get_iter_at_line(buffer, &end_iter, end_line); + if (pos) { + gtk_text_buffer_place_cursor(buffer, &end_iter); + gtk_text_buffer_move_mark_by_name(buffer, "insert", &start_iter); + } else { + gtk_text_buffer_place_cursor(buffer, &start_iter); + gtk_text_buffer_move_mark_by_name(buffer, "insert", &end_iter); + } +} + diff --git a/src/indent.h b/src/indent.h new file mode 100644 index 0000000..59aa8c7 --- /dev/null +++ b/src/indent.h @@ -0,0 +1,34 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _INDENT_H +#define _INDENT_H + +gint get_current_tab_width(void); +void indent_set_state(gboolean state); +gboolean indent_get_state(void); +void indent_real(GtkWidget *text_view); +void indent_refresh_tab_width(GtkWidget *text_view); +void indent_toggle_tab_width(GtkWidget *text_view); +void indent_set_default_tab_width(gint width); +void indent_multi_line_indent(GtkTextBuffer *buffer); +void indent_multi_line_unindent(GtkTextBuffer *buffer); +//void indent_init(GtkWidget *text_view); + +#endif /* _INDENT_H */ diff --git a/src/l3afpad.h b/src/l3afpad.h new file mode 100644 index 0000000..fd53bd3 --- /dev/null +++ b/src/l3afpad.h @@ -0,0 +1,86 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _L3AFPAD_H +#define _L3AFPAD_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include + +#include "window.h" +#include "menu.h" +#include "callback.h" +#include "view.h" +#include "undo.h" +#include "font.h" +#include "linenum.h" +#include "indent.h" +#include "hlight.h" +#include "selector.h" +#include "file.h" +#include "encoding.h" +#include "search.h" +#include "dialog.h" +#include "dnd.h" +#include "utils.h" +#include "emacs.h" +#ifdef ENABLE_PRINT +#include "gtkprint.h" +#endif + +#undef GTK_CHECK_MENU_ITEM +#define GTK_CHECK_MENU_ITEM +#define GtkItemFactory GtkUIManager +#define gtk_check_menu_item_get_active gtk_toggle_action_get_active +#define gtk_item_factory_from_widget (GtkUIManager*) +#define gtk_item_factory_get_item(x,y) GTK_TOGGLE_ACTION(gtk_ui_manager_get_action(x,y)) +#define gtk_item_factory_get_widget gtk_ui_manager_get_widget +#if GTK_CHECK_VERSION(3, 0, 0) +#include +#define GTK_OPTION_MENU GTK_COMBO_BOX +#define GTK_WIDGET_IS_SENSITIVE gtk_widget_is_sensitive +#define GTK_WIDGET_VISIBLE gtk_widget_get_visible +#define GtkOptionMenu GtkComboBox +#define gtk_option_menu_get_history gtk_combo_box_get_active +#define gtk_option_menu_new gtk_combo_box_text_new +#define gtk_option_menu_set_history gtk_combo_box_set_active +#define gtk_option_menu_set_menu(x,y) +#endif +#if GTK_CHECK_VERSION(3,1,12) +#undef GTK_FONT_SELECTION_DIALOG +#define GTK_FONT_SELECTION_DIALOG GTK_FONT_CHOOSER_DIALOG +#define gtk_font_selection_dialog_new(x) gtk_font_chooser_dialog_new(x, NULL) +#define gtk_font_selection_dialog_get_font_name gtk_font_chooser_dialog_get_font_name +#define gtk_font_selection_dialog_set_font_name gtk_font_chooser_dialog_set_font_name +#endif + +typedef struct { + FileInfo *fi; + MainWin *mw; +} PublicData; + +PublicData *pub; + +void save_config_file(void); + +#endif /* _L3AFPAD_H */ diff --git a/src/linenum.c b/src/linenum.c new file mode 100644 index 0000000..ca4d321 --- /dev/null +++ b/src/linenum.c @@ -0,0 +1,372 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +#define DV(x) + +static gint min_number_window_width; +static gboolean line_number_visible = FALSE; +#define margin 5 +#define submargin 2 + +static gint calculate_min_number_window_width(GtkWidget *widget) +{ + PangoLayout *layout; + gchar *str; + gint width, col = 4; + + str = g_strnfill(col, 0x20); + layout = gtk_widget_create_pango_layout(widget, str); + g_free (str); + + pango_layout_get_pixel_size(layout, &width, NULL); + g_object_unref(G_OBJECT(layout)); + + return width; +} + +/* taken from gedit and gtksourceview */ +/* originated from gtk+/tests/testtext.c */ + +static void +get_lines (GtkTextView *text_view, + gint y1, + gint y2, + GArray *buffer_coords, + GArray *numbers, + gint *countp) +{ + GtkTextIter iter; + gint count; +#if 0 + gint size; +#endif + gint last_line_num; + + g_array_set_size (buffer_coords, 0); + g_array_set_size (numbers, 0); + + /* Get iter at first y */ + gtk_text_view_get_line_at_y (text_view, &iter, y1, NULL); + + /* For each iter, get its location and add it to the arrays. + * Stop when we pass y2 + */ + count = 0; +#if 0 + size = 0; +#endif + + while (!gtk_text_iter_is_end (&iter)) + { + gint y, height; + + gtk_text_view_get_line_yrange (text_view, &iter, &y, &height); + + g_array_append_val (buffer_coords, y); + last_line_num = gtk_text_iter_get_line (&iter); + g_array_append_val (numbers, last_line_num); + + ++count; + + if ((y + height) >= y2) + break; + + gtk_text_iter_forward_line (&iter); + } + + if (gtk_text_iter_is_end (&iter)) + { + gint y, height; + gint line_num; + + gtk_text_view_get_line_yrange (text_view, &iter, &y, &height); + + line_num = gtk_text_iter_get_line (&iter); + + if (line_num != last_line_num) { + g_array_append_val (buffer_coords, y); + g_array_append_val (numbers, line_num); + ++count; + } + } + + *countp = count; +} + +static gint +line_numbers_expose (GtkWidget *widget, cairo_t *event) +{ + GtkTextView *text_view; +// GtkStyle *style; + PangoLayout *layout; + PangoAttrList *alist; + PangoAttribute *attr; + GArray *numbers; + GArray *pixels; + gint y1, y2; + gint count; + gint layout_width; + gint justify_width = 0; + gint i; +// gchar *str; + gchar str [8]; /* we don't expect more than ten million lines */ +#if 0 + cairo_t *gc; + gint height; +#endif + + if (line_number_visible){{{{{ // omit calculation + + text_view = GTK_TEXT_VIEW (widget); + + /* See if this expose is on the line numbers window */ +/* left_win = gtk_text_view_get_window (text_view, + GTK_TEXT_WINDOW_LEFT); + right_win = gtk_text_view_get_window (text_view, + GTK_TEXT_WINDOW_RIGHT); + + if (event->window == left_win) + { + type = GTK_TEXT_WINDOW_LEFT; + target = event->window; + } + else if (event->window == right_win) + { + type = GTK_TEXT_WINDOW_RIGHT; + target = right_win; + } + else + return FALSE; +*/ +#if 0 + GdkWindow *win; + win = gtk_text_view_get_window (text_view, + GTK_TEXT_WINDOW_LEFT); + if (event->window != win) + return FALSE; + +// style = gtk_style_copy (widget->style); +// style = gtk_style_copy (gtk_widget_get_default_style()); + + y1 = event->area.y; + y2 = y1 + event->area.height; +#endif + + gtk_text_view_window_to_buffer_coords (text_view, + GTK_TEXT_WINDOW_LEFT, + 0, + y1, + NULL, + &y1); + + gtk_text_view_window_to_buffer_coords (text_view, + GTK_TEXT_WINDOW_LEFT, + 0, + y2, + NULL, + &y2); + + numbers = g_array_new (FALSE, FALSE, sizeof (gint)); + pixels = g_array_new (FALSE, FALSE, sizeof (gint)); + + get_lines (text_view, + y1, + y2, + pixels, + numbers, + &count); + + /* a zero-lined document should display a "1"; we don't need to worry about + scrolling effects of the text widget in this special case */ + + if (count == 0) + { + gint y = 0; + gint n = 0; + count = 1; + g_array_append_val (pixels, y); + g_array_append_val (numbers, n); + } + +DV({g_print("Painting line numbers %d - %d\n", + g_array_index(numbers, gint, 0), + g_array_index(numbers, gint, count - 1)); }); + + layout = gtk_widget_create_pango_layout (widget, ""); + +// str = g_strdup_printf ("%d", gtk_text_buffer_get_line_count(text_view->buffer)); + g_snprintf (str, sizeof (str), + "%d", MAX (99, gtk_text_buffer_get_line_count(gtk_text_view_get_buffer(text_view)))); + pango_layout_set_text (layout, str, -1); +// g_free (str); + + pango_layout_get_pixel_size (layout, &layout_width, NULL); + + min_number_window_width = calculate_min_number_window_width(widget); + if (layout_width > min_number_window_width) + gtk_text_view_set_border_window_size (text_view, + GTK_TEXT_WINDOW_LEFT, layout_width + margin + submargin); + else { +// if ((gtk_text_view_get_border_window_size (text_view, GTK_TEXT_WINDOW_LEFT) - 5) > layout_width) { + gtk_text_view_set_border_window_size (text_view, + GTK_TEXT_WINDOW_LEFT, min_number_window_width + margin + submargin); +// } + justify_width = min_number_window_width - layout_width; + } + + pango_layout_set_width (layout, layout_width); + pango_layout_set_alignment (layout, PANGO_ALIGN_RIGHT); + + alist = pango_attr_list_new(); + attr = pango_attr_foreground_new( +#if 1 + 0, + 0, + 0); +#else + widget->style->text_aa->red, + widget->style->text_aa->green, + widget->style->text_aa->blue); +#endif + attr->start_index = 0; + attr->end_index = G_MAXUINT; + pango_attr_list_insert(alist, attr); + pango_layout_set_attributes(layout, alist); + pango_attr_list_unref(alist); + + /* Draw fully internationalized numbers! */ + + i = 0; + while (i < count) + { + gint pos; + + gtk_text_view_buffer_to_window_coords (text_view, + GTK_TEXT_WINDOW_LEFT, + 0, + g_array_index (pixels, gint, i), + NULL, + &pos); + +// str = g_strdup_printf ("%d", g_array_index (numbers, gint, i) + 1); + g_snprintf (str, sizeof (str), + "%d", g_array_index (numbers, gint, i) + 1); + + pango_layout_set_text (layout, str, -1); + + gtk_paint_layout (gtk_widget_get_style(widget), + event, + gtk_widget_get_state (widget), + FALSE, + widget, + NULL, + layout_width + justify_width + margin / 2 + 1, + pos, + layout); +// g_free (str); + + ++i; + } + + g_array_free (pixels, TRUE); + g_array_free (numbers, TRUE); + + g_object_unref (G_OBJECT (layout)); +// g_object_ref (G_OBJECT (style)); + + /* don't stop emission, need to draw children */ + + }}}}} + +#if 0 + gc = gdk_gc_new(event->window); + gdk_gc_set_foreground(gc, widget->style->base); + gdk_window_get_geometry(event->window, NULL, NULL, NULL, &height, NULL); + gdk_draw_rectangle(event->window, gc, TRUE, + line_number_visible ? + layout_width + justify_width + margin : 0, + 0, submargin, + height); + + g_object_unref(gc); +#endif + + return FALSE; +} + +void show_line_numbers(GtkWidget *text_view, gboolean visible) +{ + line_number_visible = visible; + if (visible) { + gtk_text_view_set_border_window_size( + GTK_TEXT_VIEW(text_view), + GTK_TEXT_WINDOW_LEFT, + min_number_window_width + margin + submargin); + } else { + gtk_text_view_set_border_window_size( + GTK_TEXT_VIEW(text_view), + GTK_TEXT_WINDOW_LEFT, + submargin); + } +} + +void linenum_init(GtkWidget *text_view) +{ + min_number_window_width = calculate_min_number_window_width(text_view); + g_signal_connect( + G_OBJECT(text_view), + "draw", + G_CALLBACK(line_numbers_expose), + NULL); + show_line_numbers(text_view, FALSE); +} +/* +static void show_line_numbers(GtkWidget *text_view, gboolean visible) +{ + gtk_text_view_set_border_window_size( + GTK_TEXT_VIEW(text_view), + GTK_TEXT_WINDOW_LEFT, + submargin); + if (visible) { + min_number_window_width = calculate_min_number_window_width(text_view); +// gtk_text_view_set_border_window_size( +// GTK_TEXT_VIEW(text_view), +// GTK_TEXT_WINDOW_LEFT, +// min_number_window_width + margin + submargin); +// submargin); + g_signal_connect( + G_OBJECT(text_view), + "draw", + G_CALLBACK(line_numbers_expose), + NULL); + } else { +// gtk_text_view_set_border_window_size( +// GTK_TEXT_VIEW(text_view), +// GTK_TEXT_WINDOW_LEFT, +// 0); +// submargin); + g_signal_handlers_disconnect_by_func( + G_OBJECT(text_view), + G_CALLBACK(line_numbers_expose), + NULL); + } +} +*/ diff --git a/src/linenum.h b/src/linenum.h new file mode 100644 index 0000000..cb984db --- /dev/null +++ b/src/linenum.h @@ -0,0 +1,26 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _LINE_H +#define _LINE_H + +void show_line_numbers(GtkWidget *text_view, gboolean visible); +void linenum_init(GtkWidget *text_view); + +#endif /* _LINE_H */ diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..338f83f --- /dev/null +++ b/src/main.c @@ -0,0 +1,292 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include +#include +#include +#include + +typedef struct { + gint width; + gint height; + gchar *fontname; + gboolean wordwrap; + gboolean linenumbers; + gboolean autoindent; +} Conf; + +static void load_config_file(Conf *conf) +{ + FILE *fp; + gchar *path; + gchar buf[BUFSIZ]; + gchar **num; + + path = g_build_filename(g_get_user_config_dir(), + PACKAGE, PACKAGE "rc", NULL); + fp = fopen(path, "r"); + g_free(path); + if (!fp) + return; + + if (fgets(buf, sizeof(buf), fp)) { + num = g_strsplit(buf, "." , 3); + if ((atoi(num[1]) >= 8) && (atoi(num[2]) >= 0)) { + fgets(buf, sizeof(buf), fp); + conf->width = atoi(buf); + fgets(buf, sizeof(buf), fp); + conf->height = atoi(buf); + fgets(buf, sizeof(buf), fp); + g_free(conf->fontname); + conf->fontname = g_strdup(buf); + fgets(buf, sizeof(buf), fp); + conf->wordwrap = atoi(buf); + fgets(buf, sizeof(buf), fp); + conf->linenumbers = atoi(buf); + fgets(buf, sizeof(buf), fp); + conf->autoindent = atoi(buf); + } + g_strfreev(num); + } + fclose(fp); +} + +void save_config_file(void) +{ + FILE *fp; + gchar *path; + GtkItemFactory *ifactory; + gint width, height; + gchar *fontname; + gboolean wordwrap, linenumbers, autoindent; + + gtk_window_get_size(GTK_WINDOW(pub->mw->window), &width, &height); + fontname = get_font_name_from_widget(pub->mw->view); + ifactory = gtk_item_factory_from_widget(pub->mw->menubar); + wordwrap = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, + "/M/Options/WordWrap"))); + linenumbers = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, + "/M/Options/LineNumbers"))); + autoindent = gtk_check_menu_item_get_active( + GTK_CHECK_MENU_ITEM(gtk_item_factory_get_item(ifactory, + "/M/Options/AutoIndent"))); + + path = g_build_filename(g_get_user_config_dir(), PACKAGE, NULL); + if (!g_file_test(path, G_FILE_TEST_IS_DIR)) + g_mkdir_with_parents(path, 0700); + g_free(path); + path = g_build_filename(g_get_user_config_dir(), + PACKAGE, PACKAGE "rc", NULL); + fp = fopen(path, "w"); + if (!fp) { + g_print("%s: can't save config file - %s\n", PACKAGE, path); + return; + } + g_free(path); + + fprintf(fp, "%s\n", PACKAGE_VERSION); + fprintf(fp, "%d\n", width); + fprintf(fp, "%d\n", height); + fprintf(fp, "%s\n", fontname); + fprintf(fp, "%d\n", wordwrap); + fprintf(fp, "%d\n", linenumbers); + fprintf(fp, "%d\n", autoindent); + fclose(fp); + + g_free(fontname); +} + +gint jump_linenum = 0; + +static void parse_args(gint argc, gchar **argv, FileInfo *fi) +{ + EncArray *encarray; + gint i; + GError *error = NULL; + + GOptionContext *context; + gchar *opt_codeset = NULL; + gint opt_tab_width = 0; + gboolean opt_jump = 0; + gboolean opt_version = FALSE; + GOptionEntry entries[] = + { + { "codeset", 0, 0, G_OPTION_ARG_STRING, &opt_codeset, "Set codeset to open file", "CODESET" }, + { "tab-width", 0, 0, G_OPTION_ARG_INT, &opt_tab_width, "Set tab width", "WIDTH" }, + { "jump", 0, 0, G_OPTION_ARG_INT, &opt_jump, "Jump to specified line", "LINENUM" }, + { "version", 0, 0, G_OPTION_ARG_NONE, &opt_version, "Show version number", NULL }, + { NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL } + }; + + context = g_option_context_new("[filename]"); + g_option_context_add_main_entries(context, entries, PACKAGE); + g_option_context_add_group(context, gtk_get_option_group(TRUE)); + g_option_context_set_ignore_unknown_options(context, FALSE); + g_option_context_parse(context, &argc, &argv, &error); + g_option_context_free(context); + + if (error) { + g_print("%s: %s\n", PACKAGE, error->message); + g_error_free(error); + exit(-1); + } + if (opt_version) { + g_print("%s\n", PACKAGE_STRING); + exit(0); + } + if (opt_codeset) { + g_convert("TEST", -1, "UTF-8", opt_codeset, NULL, NULL, &error); + if (error) { + g_error_free(error); + error = NULL; + } else { + g_free(fi->charset); + fi->charset = g_strdup(opt_codeset); + } + } + if (opt_tab_width) + indent_set_default_tab_width(opt_tab_width); + if (opt_jump) + jump_linenum = opt_jump; + + if (fi->charset + && (g_strcasecmp(fi->charset, get_default_charset()) != 0) + && (g_strcasecmp(fi->charset, "UTF-8") != 0)) { + encarray = get_encoding_items(get_encoding_code()); + for (i = 0; i < ENCODING_MAX_ITEM_NUM; i++) + if (encarray->item[i]) + if (g_strcasecmp(fi->charset, encarray->item[i]) == 0) + break; + if (i == ENCODING_MAX_ITEM_NUM) + fi->charset_flag = TRUE; + } + + if (argc >= 2) + fi->filename = parse_file_uri(argv[1]); +} + +gint main(gint argc, gchar **argv) +{ + Conf *conf; + GtkItemFactory *ifactory; + gchar *stdin_data = NULL; + + bindtextdomain(PACKAGE, LOCALEDIR); + bind_textdomain_codeset(PACKAGE, "UTF-8"); + textdomain(PACKAGE); + + pub = g_malloc(sizeof(PublicData)); + pub->fi = g_malloc(sizeof(FileInfo)); + pub->fi->filename = NULL; + pub->fi->charset = NULL; + pub->fi->charset_flag = FALSE; + pub->fi->lineend = LF; + + parse_args(argc, argv, pub->fi); + + gtk_init(&argc, &argv); + g_set_application_name(PACKAGE_NAME); + + pub->mw = create_main_window(); + + conf = g_malloc(sizeof(Conf)); + conf->width = 600; + conf->height = 400; + conf->fontname = g_strdup("Monospace 12"); + conf->wordwrap = FALSE; + conf->linenumbers = FALSE; + conf->autoindent = FALSE; + + load_config_file(conf); + + gtk_window_set_default_size( + GTK_WINDOW(pub->mw->window), conf->width, conf->height); + set_text_font_by_name(pub->mw->view, conf->fontname); + gtk_window_set_icon_from_file(GTK_WINDOW(pub->mw->window), ICONDIR"/l3afpad.png", NULL); + + ifactory = gtk_item_factory_from_widget(pub->mw->menubar); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM( + (GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/WordWrap")), + conf->wordwrap); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM( + (GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/LineNumbers")), + conf->linenumbers); + indent_refresh_tab_width(pub->mw->view); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM( + (GtkCheckMenuItem*)gtk_item_factory_get_widget(ifactory, "/M/Options/AutoIndent")), + conf->autoindent); + + gtk_widget_show_all(pub->mw->window); + g_free(conf->fontname); + g_free(conf); + +#ifdef ENABLE_EMACS + check_emacs_key_theme(GTK_WINDOW(pub->mw->window), ifactory); +#endif + + hlight_init(pub->mw->buffer); + undo_init(pub->mw->view, + gtk_item_factory_get_widget(ifactory, "/M/Edit/Undo"), + gtk_item_factory_get_widget(ifactory, "/M/Edit/Redo")); +// hlight_init(pub->mw->buffer); + dnd_init(pub->mw->view); + + if (pub->fi->filename) + file_open_real(pub->mw->view, pub->fi); +#ifdef G_OS_UNIX + else + stdin_data = gedit_utils_get_stdin(); +#endif + if (stdin_data) { + gchar *str; + GtkTextIter iter; + + str = g_convert(stdin_data, -1, "UTF-8", + get_default_charset(), NULL, NULL, NULL); + g_free(stdin_data); + +// gtk_text_buffer_set_text(buffer, "", 0); + gtk_text_buffer_get_start_iter(pub->mw->buffer, &iter); + gtk_text_buffer_insert(pub->mw->buffer, &iter, str, strlen(str)); + gtk_text_buffer_get_start_iter(pub->mw->buffer, &iter); + gtk_text_buffer_place_cursor(pub->mw->buffer, &iter); + gtk_text_buffer_set_modified(pub->mw->buffer, FALSE); + gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(pub->mw->view), &iter, 0, FALSE, 0, 0); + g_free(str); + } + + if (jump_linenum) { + GtkTextIter iter; + + gtk_text_buffer_get_iter_at_line(pub->mw->buffer, &iter, jump_linenum - 1); + gtk_text_buffer_place_cursor(pub->mw->buffer, &iter); +// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(textview), &iter, 0.1, FALSE, 0.5, 0.5); + scroll_to_cursor(pub->mw->buffer, 0.25); + } + + set_main_window_title(); +// hlight_apply_all(pub->mw->buffer); + + gtk_main(); + + return 0; +} diff --git a/src/menu.c b/src/menu.c new file mode 100644 index 0000000..11a7516 --- /dev/null +++ b/src/menu.c @@ -0,0 +1,214 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * Copyright (C) 2011 Wen-Yen Chuang + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include + +#define accel_group gtk_ui_manager_get_accel_group(ifactory) + +static GtkWidget *menu_item_save; +static GtkWidget *menu_item_cut; +static GtkWidget *menu_item_copy; +static GtkWidget *menu_item_paste; +static GtkWidget *menu_item_delete; + +static GtkActionEntry menu_items[] = +{ + { "File", NULL, N_("_File"), NULL, NULL, NULL }, + { "Edit", NULL, N_("_Edit"), NULL, NULL, NULL }, + { "Search", NULL, N_("_Search"), NULL, NULL, NULL }, + { "Options", NULL, N_("_Options"), NULL, NULL, NULL }, + { "Help", NULL, N_("_Help"), NULL, NULL, NULL }, + { "New", GTK_STOCK_NEW, N_("_New"), "N", NULL, G_CALLBACK(on_file_new) }, + { "Open", GTK_STOCK_OPEN, N_("_Open..."), "O", NULL, G_CALLBACK(on_file_open) }, + { "Save", GTK_STOCK_SAVE, N_("_Save"), "S", NULL, G_CALLBACK(on_file_save) }, + { "SaveAs", GTK_STOCK_SAVE_AS, N_("Save _As..."), "S", NULL, G_CALLBACK(on_file_save_as) }, +#ifdef ENABLE_PRINT + { "PrintPreview", GTK_STOCK_PRINT_PREVIEW, N_("Print Pre_view"), "P", NULL, G_CALLBACK(on_file_print_preview) }, + { "Print", GTK_STOCK_PRINT, N_("_Print..."), "P", NULL, G_CALLBACK(on_file_print) }, +#endif + { "Quit", GTK_STOCK_QUIT, N_("_Quit"), "Q", NULL, G_CALLBACK(on_file_quit) }, + { "Undo", GTK_STOCK_UNDO, N_("_Undo"), "Z", NULL, G_CALLBACK(on_edit_undo) }, + { "Redo", GTK_STOCK_REDO, N_("_Redo"), "Z", NULL, G_CALLBACK(on_edit_redo) }, + { "Cut", GTK_STOCK_CUT, N_("Cu_t"), "X", NULL, G_CALLBACK(on_edit_cut) }, + { "Copy", GTK_STOCK_COPY, N_("_Copy"), "C", NULL, G_CALLBACK(on_edit_copy) }, + { "Paste", GTK_STOCK_PASTE, N_("_Paste"), "V", NULL, G_CALLBACK(on_edit_paste) }, + { "Delete", GTK_STOCK_DELETE, N_("_Delete"), NULL, NULL, G_CALLBACK(on_edit_delete) }, + { "SelectAll", NULL, N_("Select _All"), "A", NULL, G_CALLBACK(on_edit_select_all) }, + { "Find", GTK_STOCK_FIND, N_("_Find..."), "F", NULL, G_CALLBACK(on_search_find) }, + { "FindNext", NULL, N_("Find _Next"), "G", NULL, G_CALLBACK(on_search_find_next) }, + { "FindPrevious", NULL, N_("Find _Previous"), "G", NULL, G_CALLBACK(on_search_find_previous) }, + { "Replace", GTK_STOCK_FIND_AND_REPLACE, N_("_Replace..."), "H", NULL, G_CALLBACK(on_search_replace) }, + { "JumpTo", GTK_STOCK_JUMP_TO, N_("_Jump To..."), "J", NULL, G_CALLBACK(on_search_jump_to) }, + { "Font", GTK_STOCK_SELECT_FONT, N_("_Font..."), NULL, NULL, G_CALLBACK(on_option_font) }, + { "About", GTK_STOCK_ABOUT, N_("_About"), NULL, NULL, G_CALLBACK(on_help_about) }, +}; + +static guint nmenu_items = G_N_ELEMENTS (menu_items); + +static GtkToggleActionEntry toggle_entries[] = +{ + { "WordWrap", NULL, N_("_Word Wrap"), NULL, NULL, G_CALLBACK (on_option_word_wrap), FALSE }, + { "LineNumbers", NULL, N_("_Line Numbers"), NULL, NULL, G_CALLBACK (on_option_line_numbers), FALSE }, + { "AutoIndent", NULL, N_("_Auto Indent"), NULL, NULL, G_CALLBACK (on_option_auto_indent), FALSE }, +}; +static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries); + +static const gchar *ui_info = +"" +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +""; + +static gchar *menu_translate(const gchar *path, gpointer data) +{ + gchar *str; + + str = (gchar *)_(path); + + return str; +} + +void menu_sensitivity_from_modified_flag(gboolean is_text_modified) +{ + gtk_widget_set_sensitive(menu_item_save, is_text_modified); +} + +void menu_sensitivity_from_selection_bound(gboolean is_bound_exist) +{ + gtk_widget_set_sensitive(menu_item_cut, is_bound_exist); + gtk_widget_set_sensitive(menu_item_copy, is_bound_exist); + gtk_widget_set_sensitive(menu_item_delete, is_bound_exist); +} + +//void menu_sensitivity_from_clipboard(gboolean is_clipboard_exist) +void menu_sensitivity_from_clipboard(void) +{ +//g_print("clip board checked.\n"); + gtk_widget_set_sensitive(menu_item_paste, + gtk_clipboard_wait_is_text_available( + gtk_clipboard_get(GDK_SELECTION_CLIPBOARD))); +} + +GtkWidget *create_menu_bar(GtkWidget *window) +{ + GtkItemFactory *ifactory; +#if 0 + gboolean flag_emacs = FALSE; + + gchar *key_theme = NULL; + GtkSettings *settings = gtk_settings_get_default(); + if (settings) { + g_object_get(settings, "gtk-key-theme-name", &key_theme, NULL); + if (key_theme) { + if (!g_ascii_strcasecmp(key_theme, "Emacs")) + flag_emacs = TRUE; + g_free(key_theme); + } + } +#endif + + ifactory = gtk_ui_manager_new(); + GtkActionGroup *actions = gtk_action_group_new("Actions"); + gtk_action_group_set_translate_func(actions, menu_translate, NULL, NULL); + gtk_action_group_add_actions(actions, menu_items, nmenu_items, NULL); + gtk_action_group_add_toggle_actions (actions, toggle_entries, n_toggle_entries, NULL); + gtk_ui_manager_insert_action_group(ifactory, actions, 0); + g_object_unref(actions); + gtk_ui_manager_add_ui_from_string(ifactory, ui_info, -1, NULL); + gtk_window_add_accel_group(GTK_WINDOW(window), accel_group); + + /* hidden keybinds */ + gtk_accel_group_connect( + accel_group, GDK_W, GDK_CONTROL_MASK, 0, + g_cclosure_new_swap(G_CALLBACK(on_file_close), NULL, NULL)); + gtk_accel_group_connect( + accel_group, GDK_T, GDK_CONTROL_MASK, 0, + g_cclosure_new_swap(G_CALLBACK(on_option_always_on_top), NULL, NULL)); + gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Edit/Redo"), + "activate", accel_group, GDK_Y, GDK_CONTROL_MASK, 0); + gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindNext"), + "activate", accel_group, GDK_F3, 0, 0); + gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindPrevious"), + "activate", accel_group, GDK_F3, GDK_SHIFT_MASK, 0); + gtk_widget_add_accelerator( + gtk_item_factory_get_widget(ifactory, "/M/Search/Replace"), + "activate", accel_group, GDK_R, GDK_CONTROL_MASK, 0); + + /* initialize sensitivities */ + gtk_widget_set_sensitive( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindNext"), + FALSE); + gtk_widget_set_sensitive( + gtk_item_factory_get_widget(ifactory, "/M/Search/FindPrevious"), + FALSE); + + menu_item_save = gtk_item_factory_get_widget(ifactory, "/M/File/Save"); + menu_item_cut = gtk_item_factory_get_widget(ifactory, "/M/Edit/Cut"); + menu_item_copy = gtk_item_factory_get_widget(ifactory, "/M/Edit/Copy"); + menu_item_paste = gtk_item_factory_get_widget(ifactory, "/M/Edit/Paste"); + menu_item_delete = gtk_item_factory_get_widget(ifactory, "/M/Edit/Delete"); + menu_sensitivity_from_selection_bound(FALSE); + + return (GtkWidget*)ifactory; +} diff --git a/src/menu.h b/src/menu.h new file mode 100644 index 0000000..03dfd73 --- /dev/null +++ b/src/menu.h @@ -0,0 +1,29 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _MENU_H +#define _MENU_H + +void menu_sensitivity_from_modified_flag(gboolean is_text_modified); +void menu_sensitivity_from_selection_bound(gboolean is_bound_exist); +//void menu_sensitivity_from_clipboard(gboolean is_clipboard_exist); +void menu_sensitivity_from_clipboard(void); +GtkWidget *create_menu_bar(GtkWidget *window); + +#endif /* _MENU_H */ diff --git a/src/search.c b/src/search.c new file mode 100644 index 0000000..aed193c --- /dev/null +++ b/src/search.c @@ -0,0 +1,440 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include +#include +#include "dialog.h" +#include "utils.h" +#include "view.h" +#include "undo.h" +#include "gtksourceiter.h" +#include "search.h" +#include "hlight.h" + +static gchar *string_find = NULL; +static gchar *string_replace = NULL; +static gboolean match_case, replace_all;//, replace_mode = FALSE; + +static gboolean hlight_searched_strings(GtkTextBuffer *buffer, gchar *str) +{ + GtkTextIter iter, start, end; + gboolean res, retval = FALSE; + GtkSourceSearchFlags search_flags = + GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; + + if (!string_find) + return FALSE; + + if (!match_case) + search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; + + gtk_text_buffer_get_bounds(buffer, &start, &end); +/* gtk_text_buffer_remove_tag_by_name(buffer, + "searched", &start, &end); + gtk_text_buffer_remove_tag_by_name(buffer, + "replaced", &start, &end); */ + gtk_text_buffer_remove_all_tags(buffer, &start, &end); + iter = start; + do { + res = gtk_source_iter_forward_search( + &iter, str, search_flags, &start, &end, NULL); + if (res) { + retval = TRUE; + gtk_text_buffer_apply_tag_by_name(buffer, + "searched", &start, &end); +// replace_mode ? "replaced" : "searched", &start, &end); + iter = end; + } + } while (res); +/* if (replace_mode) + replace_mode = FALSE; + else */ + hlight_toggle_searched(buffer); + + return retval; +} + +gboolean document_search_real(GtkWidget *textview, gint direction) +{ + GtkTextIter iter, match_start, match_end; + gboolean res; + GtkSourceSearchFlags search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; + GtkTextBuffer *textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)); + + if (!string_find) + return FALSE; + + if (!match_case) + search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; + +// if (direction == 0 || !hlight_check_searched()) + if (direction == 0 || (direction != 2 && !hlight_check_searched())) + hlight_searched_strings(gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)), string_find); + + gtk_text_mark_set_visible( + gtk_text_buffer_get_selection_bound( + gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview))), FALSE); + + gtk_text_buffer_get_iter_at_mark(textbuffer, &iter, gtk_text_buffer_get_insert(textbuffer)); + if (direction < 0) { + res = gtk_source_iter_backward_search( + &iter, string_find, search_flags, &match_start, &match_end, NULL); + if (gtk_text_iter_equal(&iter, &match_end)) { + res = gtk_source_iter_backward_search( + &match_start, string_find, search_flags, &match_start, &match_end, NULL); + } + } else { + res = gtk_source_iter_forward_search( + &iter, string_find, search_flags, &match_start, &match_end, NULL); + } + /* TODO: both gtk_(text/source)_iter_backward_search works not fine for multi-byte */ + + /* wrap */ + /* TODO: define limit NULL -> proper value */ + if (!res) { + if (direction < 0) { + gtk_text_buffer_get_end_iter(textbuffer, &iter); + res = gtk_source_iter_backward_search( + &iter, string_find, search_flags, &match_start, &match_end, NULL); + } else { + gtk_text_buffer_get_start_iter(textbuffer, &iter); + res = gtk_source_iter_forward_search( + &iter, string_find, search_flags, &match_start, &match_end, NULL); + } + } + + if (res) { + gtk_text_buffer_place_cursor(textbuffer, &match_start); + gtk_text_buffer_move_mark_by_name(textbuffer, "insert", &match_end); +// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(textview), &match_start, 0.1, FALSE, 0.5, 0.5); + scroll_to_cursor(textbuffer, 0.05); + } + else if (direction == 0) + run_dialog_message(gtk_widget_get_toplevel(textview), GTK_MESSAGE_WARNING, + _("Search string not found")); + + return res; +} + +static gint document_replace_real(GtkWidget *textview) +{ + GtkTextIter iter, match_start, match_end, rep_start; + GtkTextMark *mark_init = NULL; + gboolean res; + gint num = 0, offset; + GtkWidget *q_dialog = NULL; + GtkSourceSearchFlags search_flags = GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_TEXT_ONLY; + GtkTextBuffer *textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)); + + if (!match_case) + search_flags = search_flags | GTK_SOURCE_SEARCH_CASE_INSENSITIVE; + + if (replace_all) { + gtk_text_buffer_get_iter_at_mark(textbuffer, + &iter, gtk_text_buffer_get_insert(textbuffer)); + mark_init = gtk_text_buffer_create_mark(textbuffer, NULL, &iter, FALSE); + gtk_text_buffer_get_start_iter(textbuffer, &iter); + + gtk_text_buffer_get_end_iter(textbuffer, &match_end); +// gtk_text_buffer_remove_tag_by_name(textbuffer, +// "replaced", &iter, &match_end); + gtk_text_buffer_remove_all_tags(textbuffer, + &iter, &match_end); + } else { + hlight_searched_strings(textbuffer, string_find); + hlight_toggle_searched(textbuffer); + } + + do { + if (replace_all) { + res = gtk_source_iter_forward_search( + &iter, string_find, search_flags, &match_start, &match_end, NULL); + if (res) { + gtk_text_buffer_place_cursor(textbuffer, &match_start); + gtk_text_buffer_move_mark_by_name(textbuffer, "insert", &match_end); + gtk_text_buffer_get_iter_at_mark( + textbuffer, &iter, gtk_text_buffer_get_insert(textbuffer)); + } + } + else +// res = document_search_real(textview, 0); + res = document_search_real(textview, 2); + + if (res) { + if (!replace_all) { + if (num == 0 && q_dialog == NULL) + q_dialog = create_dialog_message_question( + gtk_widget_get_toplevel(textview), _("Replace?")); + GtkTextIter ins,bou; + gtk_text_buffer_get_selection_bounds(textbuffer, &ins, &bou); + switch (gtk_dialog_run(GTK_DIALOG(q_dialog))) { + case GTK_RESPONSE_YES: + gtk_text_buffer_select_range(textbuffer, &ins, &bou); + break; + case GTK_RESPONSE_NO: + continue; +// case GTK_RESPONSE_CANCEL: + default: + res = 0; + if (num == 0) + num = -1; + continue; + } + } + gtk_text_buffer_delete_selection(textbuffer, TRUE, TRUE); + if (strlen(string_replace)) { + gtk_text_buffer_get_iter_at_mark( + textbuffer, &rep_start, + gtk_text_buffer_get_insert(textbuffer)); + offset = gtk_text_iter_get_offset(&rep_start); + undo_set_sequency(TRUE); + g_signal_emit_by_name(G_OBJECT(textbuffer), + "begin-user-action"); + gtk_text_buffer_insert_at_cursor(textbuffer, + string_replace, strlen(string_replace)); + g_signal_emit_by_name(G_OBJECT(textbuffer), + "end-user-action"); + gtk_text_buffer_get_iter_at_mark( + textbuffer, &iter, + gtk_text_buffer_get_insert(textbuffer)); + gtk_text_buffer_get_iter_at_offset(textbuffer, + &rep_start, offset); + gtk_text_buffer_apply_tag_by_name(textbuffer, + "replaced", &rep_start, &iter); + } else + gtk_text_buffer_get_iter_at_mark( + textbuffer, &iter, + gtk_text_buffer_get_insert(textbuffer)); + + num++; +/* if (replace_all) + undo_set_sequency(TRUE); + else + undo_set_sequency(FALSE);*/ + undo_set_sequency(replace_all); + } + } while (res); + if (!hlight_check_searched()) + hlight_toggle_searched(textbuffer); + + if (q_dialog) + gtk_widget_destroy(q_dialog); +/* if (strlen(string_replace)) { + replace_mode = TRUE; + hlight_searched_strings(textbuffer, string_replace); + } */ + if (replace_all) { + gtk_text_buffer_get_iter_at_mark(textbuffer, &iter, mark_init); + gtk_text_buffer_place_cursor(textbuffer, &iter); + run_dialog_message(gtk_widget_get_toplevel(textview), GTK_MESSAGE_INFO, + _("%d strings replaced"), num); + undo_set_sequency(FALSE); + } + + return num; +} + + +static gint entry_len; + +static void toggle_sensitivity(GtkWidget *w, gint pos1, gint pos2, gint *pos3) +{ + if (pos3) { + if (!entry_len) + gtk_dialog_set_response_sensitive(GTK_DIALOG(gtk_widget_get_toplevel(w)), + GTK_RESPONSE_OK, TRUE); + entry_len += pos2; +// entry_len = entry_len + pos2; + } else { + entry_len = entry_len + pos1 - pos2; + if (!entry_len) + gtk_dialog_set_response_sensitive(GTK_DIALOG(gtk_widget_get_toplevel(w)), + GTK_RESPONSE_OK, FALSE); + } +} + +static void toggle_check_case(GtkWidget *widget) +{ + match_case = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); +} + +static void toggle_check_all(GtkWidget *widget) +{ + replace_all = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); +} + +gint run_dialog_search(GtkWidget *textview, gint mode) +{ + GtkWidget *dialog; + GtkWidget *table; + GtkWidget *label_find, *label_replace; + GtkWidget *entry_find, *entry_replace = NULL; + GtkWidget *check_case, *check_all; + gint res; + + if (mode) + dialog = gtk_dialog_new_with_buttons(_("Replace"), + GTK_WINDOW(gtk_widget_get_toplevel(textview)), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_FIND_AND_REPLACE, GTK_RESPONSE_OK, + NULL); + else + dialog = gtk_dialog_new_with_buttons(_("Find"), + GTK_WINDOW(gtk_widget_get_toplevel(textview)), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_FIND, GTK_RESPONSE_OK, + NULL); + + table = gtk_table_new(mode + 2, 2, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 8); + gtk_table_set_col_spacings(GTK_TABLE(table), 8); + gtk_container_set_border_width(GTK_CONTAINER(table), 8); + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, FALSE, FALSE, 0); + label_find = gtk_label_new_with_mnemonic(_("Fi_nd what:")); + gtk_misc_set_alignment(GTK_MISC(label_find), 0, 0.5); + gtk_table_attach_defaults(GTK_TABLE(table), label_find, 0, 1, 0, 1); + entry_find = gtk_entry_new(); + gtk_table_attach_defaults(GTK_TABLE(table), entry_find, 1, 2, 0, 1); + gtk_label_set_mnemonic_widget(GTK_LABEL(label_find), entry_find); + gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), + GTK_RESPONSE_OK, FALSE); + entry_len = 0; + g_signal_connect(G_OBJECT(entry_find), "insert-text", + G_CALLBACK(toggle_sensitivity), NULL); + g_signal_connect(G_OBJECT(entry_find), "delete-text", + G_CALLBACK(toggle_sensitivity), NULL); + if (string_find) { + gtk_entry_set_text(GTK_ENTRY(entry_find), string_find); + gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), + GTK_RESPONSE_OK, TRUE); + } + if (mode) { + label_replace = gtk_label_new_with_mnemonic(_("Re_place with:")); + gtk_misc_set_alignment(GTK_MISC(label_replace), 0, 0.5); + gtk_table_attach_defaults(GTK_TABLE(table), label_replace, 0, 1, 1, 2); + entry_replace = gtk_entry_new(); + gtk_table_attach_defaults(GTK_TABLE(table), entry_replace, 1, 2, 1, 2); + gtk_label_set_mnemonic_widget(GTK_LABEL(label_replace), entry_replace); + if (string_replace) + gtk_entry_set_text(GTK_ENTRY(entry_replace), string_replace); + } + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); + gtk_entry_set_activates_default(GTK_ENTRY(entry_find), TRUE); + if (mode) + gtk_entry_set_activates_default(GTK_ENTRY(entry_replace), TRUE); + + check_case = gtk_check_button_new_with_mnemonic(_("_Match case")); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_case), match_case); + g_signal_connect(check_case, "toggled", G_CALLBACK(toggle_check_case), NULL); + gtk_table_attach_defaults (GTK_TABLE(table), check_case, 0, 2, 1 + mode, 2 + mode); + if (mode) { + check_all = gtk_check_button_new_with_mnemonic(_("Replace _all at once")); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_all), replace_all); + g_signal_connect(check_all, "toggled", G_CALLBACK(toggle_check_all), NULL); + gtk_table_attach_defaults(GTK_TABLE(table), check_all, 0, 2, 2 + mode, 3 + mode); + } + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_widget_show_all(table); + + res = gtk_dialog_run(GTK_DIALOG(dialog)); + if (res == GTK_RESPONSE_OK) { + g_free(string_find); + string_find = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry_find))); + if (mode) { + g_free(string_replace); + string_replace = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry_replace))); + } + } + + gtk_widget_destroy(dialog); + + if (res == GTK_RESPONSE_OK) { + if (strlen(string_find)) { + if (mode) + document_replace_real(textview); + else + document_search_real(textview, 0); + } + } + + return res; +} + +void run_dialog_jump_to(GtkWidget *textview) +{ + GtkWidget *dialog; + GtkWidget *button; + GtkWidget *table; + GtkWidget *label; + GtkWidget *spinner; + GtkAdjustment *spinner_adj; + GtkTextIter iter; + gint num, max_num; + + GtkTextBuffer *textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)); + + gtk_text_buffer_get_iter_at_mark(textbuffer, &iter, + gtk_text_buffer_get_insert(textbuffer)); + num = gtk_text_iter_get_line(&iter) + 1; + gtk_text_buffer_get_end_iter(textbuffer, &iter); + max_num = gtk_text_iter_get_line(&iter) + 1; + + dialog = gtk_dialog_new_with_buttons(_("Jump To"), + GTK_WINDOW(gtk_widget_get_toplevel(textview)), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + NULL); + button = create_button_with_stock_image(_("_Jump"), GTK_STOCK_JUMP_TO); + gtk_widget_set_can_default(button, TRUE); + gtk_dialog_add_action_widget(GTK_DIALOG(dialog), button, GTK_RESPONSE_OK); + table = gtk_table_new(1, 2, FALSE); + gtk_table_set_col_spacings(GTK_TABLE(table), 8); + gtk_container_set_border_width (GTK_CONTAINER(table), 8); + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), table, FALSE, FALSE, 0); + label = gtk_label_new_with_mnemonic(_("_Line number:")); + spinner_adj = (GtkAdjustment *) gtk_adjustment_new(num, 1, max_num, 1, 1, 0); + spinner = gtk_spin_button_new(spinner_adj, 1, 0); + gtk_entry_set_width_chars(GTK_ENTRY(spinner), 8); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), spinner); + gtk_entry_set_activates_default(GTK_ENTRY(spinner), TRUE); + gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); + gtk_table_attach_defaults(GTK_TABLE(table), spinner, 1, 2, 0, 1); + + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_widget_show_all(dialog); + + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { + gtk_text_buffer_get_iter_at_line(textbuffer, &iter, + gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner)) - 1); + gtk_text_buffer_place_cursor(textbuffer, &iter); +// gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(textview), &iter, 0.1, FALSE, 0.5, 0.5); + scroll_to_cursor(textbuffer, 0.25); + } + + gtk_widget_destroy (dialog); +} diff --git a/src/search.h b/src/search.h new file mode 100644 index 0000000..208e3c4 --- /dev/null +++ b/src/search.h @@ -0,0 +1,27 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _SEARCH_H +#define _SEARCH_H + +gboolean document_search_real(GtkWidget *textview, gint direction); +gint run_dialog_search(GtkWidget *textview, gint mode); +void run_dialog_jump_to(GtkWidget *textview); + +#endif /* _SEARCH_H */ diff --git a/src/selector.c b/src/selector.c new file mode 100644 index 0000000..f79338a --- /dev/null +++ b/src/selector.c @@ -0,0 +1,398 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include + +#define DEFAULT_ITEM_NUM 2 + +static gint mode; +static gchar *other_codeset_title = NULL; +static gchar *lineend_str[] = { + "LF", + "CR+LF", + "CR" +}; + +static void cb_select_lineend(GtkOptionMenu *option_menu, FileInfo *selected_fi) +{ + switch (gtk_option_menu_get_history(option_menu)) { + case 1: + selected_fi->lineend = CR+LF; + break; + case 2: + selected_fi->lineend = CR; + break; + default: + selected_fi->lineend = LF; + } +} + +static GtkWidget *create_lineend_menu(FileInfo *selected_fi) +{ + GtkWidget *option_menu; + GtkWidget *menu; + GtkWidget *menu_item; + gint i; + + option_menu = gtk_option_menu_new(); + menu = gtk_menu_new(); + for (i = 0; i <= 2; i++) { + menu_item = gtk_menu_item_new_with_label(lineend_str[i]); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + gtk_widget_show(menu_item); // <- required for width adjustment + } + gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu); + + g_signal_connect(G_OBJECT(option_menu), "changed", + G_CALLBACK(cb_select_lineend), selected_fi); + + i = 0; + switch (selected_fi->lineend) { + case CR+LF: + i = 1; + break; + case CR: + i = 2; + } + gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), i); + + return option_menu; +} + +typedef struct { + const gchar *charset[ENCODING_MAX_ITEM_NUM + DEFAULT_ITEM_NUM]; + const gchar *str[ENCODING_MAX_ITEM_NUM + DEFAULT_ITEM_NUM]; + guint num; +} CharsetTable; + +static CharsetTable *get_charset_table(void) +{ + static CharsetTable *ctable = NULL; + EncArray *encarray; + gint i; + + if (!ctable) { + ctable = g_malloc(sizeof(CharsetTable)); + ctable->num = 0; + ctable->charset[ctable->num] = get_default_charset(); + ctable->str[ctable->num] = g_strdup_printf(_("Current Locale (%s)"), get_default_charset()); + ctable->num++; + ctable->charset[ctable->num] = "UTF-8"; + ctable->str[ctable->num] = ctable->charset[ctable->num]; + ctable->num++; + encarray = get_encoding_items(get_encoding_code()); + for (i = 0; i < ENCODING_MAX_ITEM_NUM; i++) + if (encarray->item[i]) { + ctable->charset[ctable->num] = encarray->item[i]; + ctable->str[ctable->num] = encarray->item[i]; + ctable->num++; + } + } + + return ctable; +} + +static void toggle_sensitivity(GtkWidget *entry) +{ + gtk_dialog_set_response_sensitive( + GTK_DIALOG(gtk_widget_get_toplevel(entry)), GTK_RESPONSE_OK, + strlen(gtk_entry_get_text(GTK_ENTRY(entry))) ? TRUE : FALSE); +} + +static GtkWidget *menu_item_manual_charset; +static GtkWidget *init_menu_item_manual_charset(gchar *manual_charset) +{ + static GtkLabel *label; + gchar *str; + + if (other_codeset_title == NULL) + other_codeset_title = _("Other Codeset"); + + str = manual_charset + ? g_strdup_printf("%s (%s)", other_codeset_title, manual_charset) + : g_strdup_printf("%s...", other_codeset_title); + + if (!menu_item_manual_charset) { + menu_item_manual_charset = gtk_menu_item_new_with_label(str); + label = GTK_LABEL(gtk_bin_get_child(GTK_BIN(menu_item_manual_charset))); + } else +// gtk_label_set_text(GTK_LABEL(GTK_BIN(menu_item_manual_charset)->child), str); + gtk_label_set_text(label, str); + g_free(str); + + return menu_item_manual_charset; +} + +static gboolean get_manual_charset(GtkOptionMenu *option_menu, FileInfo *selected_fi) +{ + GtkWidget *dialog; + GtkWidget *vbox; + GtkWidget *label; + GtkWidget *entry; + GError *err = NULL; + gchar *str; + + dialog = gtk_dialog_new_with_buttons(other_codeset_title, + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(option_menu))), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OK, GTK_RESPONSE_OK, + NULL); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); + + vbox = gtk_vbox_new(FALSE, 0); + gtk_container_set_border_width(GTK_CONTAINER(vbox), 8); + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), vbox, FALSE, FALSE, 0); + + label = gtk_label_new_with_mnemonic(_("Code_set:")); + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); + + entry = gtk_entry_new(); + gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), entry); + gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, FALSE, 5); + + gtk_dialog_set_response_sensitive(GTK_DIALOG(dialog), GTK_RESPONSE_OK, FALSE); + g_signal_connect_after(G_OBJECT(entry), "changed", + G_CALLBACK(toggle_sensitivity), NULL); + if (selected_fi->charset_flag) + gtk_entry_set_text(GTK_ENTRY(entry), selected_fi->charset); + + gtk_widget_show_all(vbox); + + if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { + g_convert("TEST", -1, "UTF-8", gtk_entry_get_text(GTK_ENTRY(entry)), NULL, NULL, &err); + if (err) { + g_error_free(err); + gtk_widget_hide(dialog); + str = g_strdup_printf(_("'%s' is not supported"), gtk_entry_get_text(GTK_ENTRY(entry))); + run_dialog_message(gtk_widget_get_toplevel(GTK_WIDGET(option_menu)), + GTK_MESSAGE_ERROR, str); + g_free(str); + } else { + g_free(selected_fi->charset); + selected_fi->charset = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry))); + selected_fi->charset_flag = TRUE; + gtk_widget_destroy(dialog); + + init_menu_item_manual_charset(selected_fi->charset_flag + ? selected_fi->charset : NULL); + + return TRUE; + } + } + gtk_widget_destroy(dialog); + + return FALSE; +} + +gboolean charset_menu_init_flag; + +static void cb_select_charset(GtkOptionMenu *option_menu, FileInfo *selected_fi) +{ + CharsetTable *ctable; + static guint index_history = 0, prev_history; + + prev_history = index_history; + index_history = gtk_option_menu_get_history(option_menu); + if (!charset_menu_init_flag) { + ctable = get_charset_table(); + if (index_history < ctable->num + mode) { + if (selected_fi->charset) + g_free(selected_fi->charset); + if (index_history == 0 && mode == OPEN) + selected_fi->charset = NULL; + else { + selected_fi->charset = + g_strdup(ctable->charset[index_history - mode]); + } + } else + if (!get_manual_charset(option_menu, selected_fi)) { + index_history = prev_history; + gtk_option_menu_set_history(option_menu, index_history); + } + } +} + +static GtkWidget *create_charset_menu(FileInfo *selected_fi) +{ + GtkWidget *option_menu; + GtkWidget *menu; + GtkWidget *menu_item; + CharsetTable *ctable; + guint i; + + option_menu = gtk_option_menu_new(); + menu = gtk_menu_new(); + + if (mode == OPEN) { + menu_item = gtk_menu_item_new_with_label(_("Auto-Detect")); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + gtk_widget_show(menu_item); // <- required for width adjustment + } + ctable = get_charset_table(); + for (i = 0; i < ctable->num; i++) { + menu_item = gtk_menu_item_new_with_label(ctable->str[i]); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + gtk_widget_show(menu_item); // <- required for width adjustment + } + menu_item_manual_charset = NULL; + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + init_menu_item_manual_charset(selected_fi->charset_flag + ? selected_fi->charset : NULL)); + gtk_widget_show(menu_item_manual_charset); // <- required for width adjustment + + charset_menu_init_flag = TRUE; + g_signal_connect(G_OBJECT(option_menu), "changed", + G_CALLBACK(cb_select_charset), selected_fi); + gtk_option_menu_set_menu(GTK_OPTION_MENU(option_menu), menu); + i = 0; + if (selected_fi->charset) { + do { + if (g_strcasecmp(selected_fi->charset, ctable->charset[i]) == 0) + break; + i++; + } while (i < ctable->num); + if (mode == OPEN && selected_fi->charset_flag == FALSE) { + g_free(selected_fi->charset); + selected_fi->charset = NULL; + } else if (i == ctable->num && selected_fi->charset_flag == FALSE) { + init_menu_item_manual_charset(selected_fi->charset); + } + i += mode; + } + if (mode == SAVE || selected_fi->charset_flag) + gtk_option_menu_set_history(GTK_OPTION_MENU(option_menu), i); + charset_menu_init_flag = FALSE; + + return option_menu; +} + +static GtkWidget *create_file_selector(FileInfo *selected_fi) +{ + GtkWidget *selector; + GtkWidget *align; + GtkWidget *table; + GtkWidget *label; + GtkWidget *option_menu_charset; + GtkWidget *option_menu_lineend; + const gchar *title; + + title = mode ? _("Open") : _("Save As"); + + selector = gtk_file_chooser_dialog_new(title, NULL, + mode ? GTK_FILE_CHOOSER_ACTION_OPEN : GTK_FILE_CHOOSER_ACTION_SAVE, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + mode ? GTK_STOCK_OPEN : GTK_STOCK_SAVE, GTK_RESPONSE_OK, + NULL); + gtk_dialog_set_default_response(GTK_DIALOG(selector), GTK_RESPONSE_OK); + +// align = gtk_alignment_new(0.5, 0, 0, 0); + align = gtk_alignment_new(1, 0, 0, 0); + gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(selector), align); + table = gtk_table_new(2, 2, FALSE); + gtk_container_add(GTK_CONTAINER(align), table); + option_menu_charset = create_charset_menu(selected_fi); + label = gtk_label_new_with_mnemonic(_("C_haracter Coding:")); + gtk_label_set_mnemonic_widget(GTK_LABEL(label), option_menu_charset); + gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); +// gtk_table_set_row_spacings(GTK_TABLE(table), 5); + gtk_table_set_col_spacing(GTK_TABLE(table), 0, 8); + gtk_table_attach_defaults(GTK_TABLE(table), option_menu_charset, 1, 2, 0, 1); + if (mode == SAVE) { + option_menu_lineend = create_lineend_menu(selected_fi); + gtk_table_attach_defaults(GTK_TABLE(table), option_menu_lineend, 2, 3, 0, 1); + } + gtk_widget_show_all(align); + + if (selected_fi->filename) + gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(selector), selected_fi->filename); + + return selector; +} + +FileInfo *get_fileinfo_from_selector(FileInfo *fi, gint requested_mode) +{ + FileInfo *selected_fi; + GtkWidget *selector; + gchar *basename, *str; + gint res, len; + + /* init values */ + mode = requested_mode; + selected_fi = g_malloc(sizeof(FileInfo)); + selected_fi->filename = + fi->filename ? g_strdup(fi->filename) : NULL; + selected_fi->charset = + fi->charset ? g_strdup(fi->charset) : NULL; + selected_fi->charset_flag = fi->charset_flag; + selected_fi->lineend = fi->lineend; + + selector = create_file_selector(selected_fi); + gtk_window_set_transient_for(GTK_WINDOW(selector), + GTK_WINDOW(pub->mw->window)); + + do { + res = gtk_dialog_run(GTK_DIALOG(selector)); + if (res == GTK_RESPONSE_OK) { + if (selected_fi->filename) + g_free(selected_fi->filename); + selected_fi->filename = + gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(selector)); + if (g_file_test(selected_fi->filename, G_FILE_TEST_IS_DIR)) { + len = strlen(selected_fi->filename); + if (len < 1 || selected_fi->filename[len - 1] != G_DIR_SEPARATOR) + str = g_strconcat(selected_fi->filename, G_DIR_SEPARATOR_S, NULL); + else + str = g_strdup(selected_fi->filename); + gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(selector), str); + g_free(str); + continue; + } + if ((mode == SAVE) && g_file_test(selected_fi->filename, G_FILE_TEST_EXISTS)) { + basename = g_path_get_basename(selected_fi->filename); + str = g_strdup_printf(_("'%s' already exists. Overwrite?"), basename); + g_free(basename); + res = run_dialog_message_question(selector, str); + g_free(str); + switch (res) { + case GTK_RESPONSE_NO: + continue; + case GTK_RESPONSE_YES: + res = GTK_RESPONSE_OK; + } + } + } + gtk_widget_hide(selector); + } while (GTK_WIDGET_VISIBLE(selector)); + + if (res != GTK_RESPONSE_OK) { + if (selected_fi->charset) + g_free(selected_fi->charset); + selected_fi = NULL; + g_free(selected_fi); + } + + gtk_widget_destroy(selector); + + return selected_fi; +} diff --git a/src/selector.h b/src/selector.h new file mode 100644 index 0000000..cd7ac8f --- /dev/null +++ b/src/selector.h @@ -0,0 +1,33 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _SELECTOR_H +#define _SELECTOR_H + +#include "file.h" + +/* Dialog Mode */ +enum { + SAVE = 0, + OPEN +}; + +FileInfo *get_fileinfo_from_selector(FileInfo *fi, gint mode); + +#endif /* _SELECTOR_H */ diff --git a/src/undo.c b/src/undo.c new file mode 100644 index 0000000..194d79b --- /dev/null +++ b/src/undo.c @@ -0,0 +1,383 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include "view.h" +#include "undo.h" + +#define DV(x) + +//"GTK_TEXT_VIEW(view)->overwrite_mode" can get overwrite_mode state + +typedef struct { + gchar command; + gint start; + gint end; + gboolean seq; // sequency flag + gchar *str; +} UndoInfo; + +enum { + INS = 0, + BS, + DEL +}; + +static GtkWidget *undo_w = NULL; +static GtkWidget *redo_w = NULL; +static GList *undo_list = NULL; +static GList *redo_list = NULL; +static GString *undo_gstr; +static UndoInfo *ui_tmp; +static guint modified_step; +static guint prev_keyval; +static gboolean seq_reserve = FALSE; + +static void undo_flush_temporal_buffer(GtkTextBuffer *buffer); + +static GList *undo_clear_info_list(GList *info_list) +{ + while (g_list_length(info_list)) { + g_free(((UndoInfo *)info_list->data)->str); + g_free(info_list->data); + info_list = g_list_delete_link(info_list, info_list); + } + return info_list; +} + +static void undo_append_undo_info(GtkTextBuffer *buffer, gchar command, gint start, gint end, gchar *str) +{ + UndoInfo *ui = g_malloc(sizeof(UndoInfo)); + + ui->command = command; + ui->start = start; + ui->end = end; +// ui->seq = FALSE; + ui->seq = seq_reserve; + ui->str = str; + + seq_reserve = FALSE; + + undo_list = g_list_append(undo_list, ui); +DV(g_print("undo_cb: %d %s (%d-%d)\n", command, str, start, end)); +} + +static void undo_create_undo_info(GtkTextBuffer *buffer, gchar command, gint start, gint end) +{ + GtkTextIter start_iter, end_iter; + gboolean seq_flag = FALSE; + gchar *str; + gint keyval = get_current_keyval(); + + gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, start); + gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, end); + str = gtk_text_buffer_get_text(buffer, &start_iter, &end_iter, FALSE); + + if (undo_gstr->len) { + if ((end - start == 1) && (command == ui_tmp->command)) { + switch (keyval) { + case GDK_BackSpace: + if (end == ui_tmp->start) + seq_flag = TRUE; + break; + case GDK_Delete: + if (start == ui_tmp->start) + seq_flag = TRUE; + break; + case GDK_Tab: + case GDK_space: + if (start == ui_tmp->end) + seq_flag = TRUE; + break; + default: + if (start == ui_tmp->end) + if (keyval && keyval < 0xF000) + switch (prev_keyval) { + case GDK_Return: + case GDK_Tab: + case GDK_space: + break; + default: + seq_flag = TRUE; + } + } + } + if (seq_flag) { + switch (command) { + case BS: + undo_gstr = g_string_prepend(undo_gstr, str); + ui_tmp->start--; + break; + default: + undo_gstr = g_string_append(undo_gstr, str); + ui_tmp->end++; + } + redo_list = undo_clear_info_list(redo_list); + prev_keyval = keyval; + gtk_widget_set_sensitive(undo_w, TRUE); + gtk_widget_set_sensitive(redo_w, FALSE); + return; + } + undo_append_undo_info(buffer, ui_tmp->command, ui_tmp->start, ui_tmp->end, g_strdup(undo_gstr->str)); + undo_gstr = g_string_erase(undo_gstr, 0, -1); + } + + if (!keyval && prev_keyval) + undo_set_sequency(TRUE); + + if (end - start == 1 && + ((keyval && keyval < 0xF000) || + keyval == GDK_BackSpace || keyval == GDK_Delete || keyval == GDK_Tab)) { + ui_tmp->command = command; + ui_tmp->start = start; + ui_tmp->end = end; + undo_gstr = g_string_erase(undo_gstr, 0, -1); + g_string_append(undo_gstr, str); + } else + undo_append_undo_info(buffer, command, start, end, g_strdup(str)); + + redo_list = undo_clear_info_list(redo_list); + prev_keyval = keyval; + clear_current_keyval(); +// keyevent_setval(0); + gtk_widget_set_sensitive(undo_w, TRUE); + gtk_widget_set_sensitive(redo_w, FALSE); +} + +static void cb_insert_text(GtkTextBuffer *buffer, GtkTextIter *iter, gchar *str) +{ + gint start, end; + +DV( g_print("insert-text\n")); + end = gtk_text_iter_get_offset(iter); + start = end - g_utf8_strlen(str, -1); + + undo_create_undo_info(buffer, INS, start, end); +} + +static void cb_delete_range(GtkTextBuffer *buffer, GtkTextIter *start_iter, GtkTextIter *end_iter) +{ + gint start, end; + gchar command; + +DV( g_print("delete-range\n")); + start = gtk_text_iter_get_offset(start_iter); + end = gtk_text_iter_get_offset(end_iter); + + if (get_current_keyval() == GDK_BackSpace) + command = BS; + else + command = DEL; + undo_create_undo_info(buffer, command, start, end); +} + +void undo_reset_modified_step(GtkTextBuffer *buffer) +{ + undo_flush_temporal_buffer(buffer); + modified_step = g_list_length(undo_list); +DV(g_print("undo_reset_modified_step: Reseted modified_step by %d\n", modified_step)); +} + +static void undo_check_modified_step(GtkTextBuffer *buffer) +{ + gboolean flag; + + flag = (modified_step == g_list_length(undo_list)); +//g_print("%d - %d = %d\n", modified_step, g_list_length(undo_list), flag); + if (gtk_text_buffer_get_modified(buffer) == flag) + gtk_text_buffer_set_modified(buffer, !flag); +//g_print("change!\n");} +} +/* +static void undo_check_modified_step(GtkTextBuffer *buffer) +{ + if (modified_step == g_list_length(undo_list)) + gtk_text_buffer_set_modified(buffer, FALSE); +} +*//* // ????? "modified-changed" signal isn't emitted properly... +#include "window.h" +static void undo_check_modified_step(GtkTextBuffer *buffer) +{ + if (modified_step == g_list_length(undo_list)) { + gtk_text_buffer_set_modified(buffer, FALSE); + set_main_window_title(); + } +} +*/ +static void cb_begin_user_action(GtkTextBuffer *buffer) +{ + g_signal_handlers_unblock_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_insert_text), NULL); + g_signal_handlers_unblock_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_delete_range), NULL); +DV(g_print("begin-user-action(unblock_func)")); +DV(g_print(": keyval = 0x%X\n", get_current_keyval())); +} + +static void cb_end_user_action(GtkTextBuffer *buffer) +{ + g_signal_handlers_block_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_insert_text), NULL); + g_signal_handlers_block_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_delete_range), NULL); +DV(g_print("end-user-action(block_func)\n")); +} + +void undo_clear_all(GtkTextBuffer *buffer) +{ + undo_list = undo_clear_info_list(undo_list); + redo_list = undo_clear_info_list(redo_list); + undo_reset_modified_step(buffer); + gtk_widget_set_sensitive(undo_w, FALSE); + gtk_widget_set_sensitive(redo_w, FALSE); + + ui_tmp->command = INS; + undo_gstr = g_string_erase(undo_gstr, 0, -1); + prev_keyval = 0; +} + +void undo_init(GtkWidget *view, GtkWidget *undo_button, GtkWidget *redo_button) +{ + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + + undo_w = undo_button; + redo_w = redo_button; + + g_signal_connect_after(G_OBJECT(buffer), "insert-text", + G_CALLBACK(cb_insert_text), NULL); + g_signal_connect(G_OBJECT(buffer), "delete-range", + G_CALLBACK(cb_delete_range), NULL); + g_signal_connect_after(G_OBJECT(buffer), "begin-user-action", + G_CALLBACK(cb_begin_user_action), NULL); + g_signal_connect(G_OBJECT(buffer), "end-user-action", + G_CALLBACK(cb_end_user_action), NULL); + cb_end_user_action(buffer); + + ui_tmp = g_malloc(sizeof(UndoInfo)); + undo_gstr = g_string_new(""); + + undo_clear_all(buffer); +} + +void undo_set_sequency(gboolean seq) +{ + if (g_list_length(undo_list)) + ((UndoInfo *)g_list_last(undo_list)->data)->seq = seq; +DV(g_print("\n", seq)); +} + +void undo_set_sequency_reserve(void) +{ + seq_reserve = TRUE; +} + +static void undo_flush_temporal_buffer(GtkTextBuffer *buffer) +{ + if (undo_gstr->len) { + undo_append_undo_info(buffer, ui_tmp->command, + ui_tmp->start, ui_tmp->end, g_strdup(undo_gstr->str)); + undo_gstr = g_string_erase(undo_gstr, 0, -1); + } +} + +gboolean undo_undo_real(GtkTextBuffer *buffer) +{ + GtkTextIter start_iter, end_iter; + UndoInfo *ui; + + undo_flush_temporal_buffer(buffer); + if (g_list_length(undo_list)) { +// undo_block_signal(buffer); + ui = g_list_last(undo_list)->data; + gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, ui->start); + switch (ui->command) { + case INS: + gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, ui->end); + gtk_text_buffer_delete(buffer, &start_iter, &end_iter); + break; + default: + gtk_text_buffer_insert(buffer, &start_iter, ui->str, -1); + } + redo_list = g_list_append(redo_list, ui); + undo_list = g_list_delete_link(undo_list, g_list_last(undo_list)); +DV(g_print("cb_edit_undo: undo left = %d, redo left = %d\n", +g_list_length(undo_list), g_list_length(redo_list))); +// undo_unblock_signal(buffer); + if (g_list_length(undo_list)) { + if (((UndoInfo *)g_list_last(undo_list)->data)->seq) + return TRUE; + } else + gtk_widget_set_sensitive(undo_w, FALSE); + gtk_widget_set_sensitive(redo_w, TRUE); + if (ui->command == DEL) + gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, ui->start); + gtk_text_buffer_place_cursor(buffer, &start_iter); + scroll_to_cursor(buffer, 0.05); + } + undo_check_modified_step(buffer); + return FALSE; +} + +gboolean undo_redo_real(GtkTextBuffer *buffer) +{ + GtkTextIter start_iter, end_iter; + UndoInfo *ri; + + if (g_list_length(redo_list)) { +// undo_block_signal(buffer); + ri = g_list_last(redo_list)->data; + gtk_text_buffer_get_iter_at_offset(buffer, &start_iter, ri->start); + switch (ri->command) { + case INS: + gtk_text_buffer_insert(buffer, &start_iter, ri->str, -1); + break; + default: + gtk_text_buffer_get_iter_at_offset(buffer, &end_iter, ri->end); + gtk_text_buffer_delete(buffer, &start_iter, &end_iter); + } + undo_list = g_list_append(undo_list, ri); + redo_list = g_list_delete_link(redo_list, g_list_last(redo_list)); +DV(g_print("cb_edit_redo: undo left = %d, redo left = %d\n", +g_list_length(undo_list), g_list_length(redo_list))); +// undo_unblock_signal(buffer); + if (ri->seq) { + undo_set_sequency(TRUE); + return TRUE; + } + if (!g_list_length(redo_list)) + gtk_widget_set_sensitive(redo_w, FALSE); + gtk_widget_set_sensitive(undo_w, TRUE); + gtk_text_buffer_place_cursor(buffer, &start_iter); + scroll_to_cursor(buffer, 0.05); + } + undo_check_modified_step(buffer); + return FALSE; +} + +void undo_undo(GtkTextBuffer *buffer) +{ + while (undo_undo_real(buffer)) {}; +} + +void undo_redo(GtkTextBuffer *buffer) +{ + while (undo_redo_real(buffer)) {}; +} diff --git a/src/undo.h b/src/undo.h new file mode 100644 index 0000000..831b88d --- /dev/null +++ b/src/undo.h @@ -0,0 +1,31 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _UNDO_H +#define _UNDO_H + +void undo_reset_modified_step(GtkTextBuffer *buffer); +void undo_clear_all(GtkTextBuffer *buffer); +void undo_init(GtkWidget *view, GtkWidget *undo_button, GtkWidget *redo_button); +void undo_set_sequency(gboolean seq); +void undo_set_sequency_reserve(void); +void undo_undo(GtkTextBuffer *buffer); +void undo_redo(GtkTextBuffer *buffer); + +#endif /* _UNDO_H */ diff --git a/src/utils.c b/src/utils.c new file mode 100644 index 0000000..cd25800 --- /dev/null +++ b/src/utils.c @@ -0,0 +1,102 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include +#include +#include +#include +#include +#include + +#define STDIN_DELAY_MICROSECONDS 100000 +#define GEDIT_STDIN_BUFSIZE 1024 + +// imported from gedit +#ifdef G_OS_UNIX +gchar *gedit_utils_get_stdin (void) +{ + GString * file_contents; + gchar *tmp_buf = NULL; + guint buffer_length; +// GnomeVFSResult res; + fd_set rfds; + struct timeval tv; + + FD_ZERO (&rfds); + FD_SET (0, &rfds); + + // wait for 1/4 of a second + tv.tv_sec = 0; + tv.tv_usec = STDIN_DELAY_MICROSECONDS; + + if (select (1, &rfds, NULL, NULL, &tv) != 1) + return NULL; + + tmp_buf = g_new0 (gchar, GEDIT_STDIN_BUFSIZE + 1); + g_return_val_if_fail (tmp_buf != NULL, FALSE); + + file_contents = g_string_new (NULL); + + while (feof (stdin) == 0) + { + buffer_length = fread (tmp_buf, 1, GEDIT_STDIN_BUFSIZE, stdin); + tmp_buf [buffer_length] = '\0'; + g_string_append (file_contents, tmp_buf); + + if (ferror (stdin) != 0) + { +// res = gnome_vfs_result_from_errno (); + + g_free (tmp_buf); + g_string_free (file_contents, TRUE); + return NULL; + } + } + + fclose (stdin); + + return g_string_free (file_contents, FALSE); +} +#endif + +GtkWidget *create_button_with_stock_image(const gchar *text, const gchar *stock_id) +{ + GtkWidget *button; + GtkWidget *hbox; + GtkWidget *image; + GtkWidget *label; + GtkWidget *align; + + hbox = gtk_hbox_new(FALSE, 2); + + image = gtk_image_new_from_stock(stock_id, GTK_ICON_SIZE_BUTTON); + gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0); + + label = gtk_label_new_with_mnemonic(text); + gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 0); + + align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); + gtk_container_add(GTK_CONTAINER(align), hbox); + + button = gtk_button_new(); + gtk_container_add(GTK_CONTAINER(button), align); + gtk_widget_show_all(button); + + return button; +} diff --git a/src/utils.h b/src/utils.h new file mode 100644 index 0000000..864200a --- /dev/null +++ b/src/utils.h @@ -0,0 +1,28 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _UTILS_H +#define _UTILS_H + +#ifdef G_OS_UNIX +gchar *gedit_utils_get_stdin(void); +#endif +GtkWidget *create_button_with_stock_image(const gchar *text, const gchar *stock_id); + +#endif /* _UTILS_H */ diff --git a/src/view.c b/src/view.c new file mode 100644 index 0000000..4978145 --- /dev/null +++ b/src/view.c @@ -0,0 +1,371 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +#include +#include + +static gint keyval; +static gboolean view_scroll_flag = FALSE; + +gint get_current_keyval(void) +{ + return keyval; +} + +void clear_current_keyval(void) +{ + keyval = 0; +} +/* +gboolean scroll_to_cursor(GtkTextBuffer *buffer, gdouble within_margin) +{ + GtkTextIter iter; + +// gtk_text_buffer_get_start_iter(buffer, &iter); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, + gtk_text_buffer_get_insert(buffer)); + return gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(pub->mw->view), + &iter, within_margin, FALSE, 0.5, 0.5); +} +*/ +void scroll_to_cursor(GtkTextBuffer *buffer, gdouble within_margin) +{ + gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(pub->mw->view), + gtk_text_buffer_get_insert(buffer), + within_margin, FALSE, 0, 0); +} + +gint check_text_modification(void) +{ + gchar *basename, *str; + gint res; + + if (gtk_text_buffer_get_modified(pub->mw->buffer)) { + basename = get_file_basename(pub->fi->filename, FALSE); + str = g_strdup_printf(_("Save changes to '%s'?"), basename); + g_free(basename); + res = run_dialog_message_question(pub->mw->window, str); + g_free(str); + switch (res) { + case GTK_RESPONSE_NO: + return 0; + case GTK_RESPONSE_YES: + if (!on_file_save()) + return 0; + } + return -1; + } + + return 0; +} + +#if 0 +static gint check_preedit(GtkWidget *view) +{ + gint cursor_pos; + + gtk_im_context_get_preedit_string( + GTK_TEXT_VIEW(view)->im_context, NULL, NULL, &cursor_pos); + + return cursor_pos; +} +#endif + +static gboolean check_selection_bound(GtkTextBuffer *buffer) +{ + GtkTextIter start, end; + gchar *str, *p; + + if (gtk_text_buffer_get_selection_bounds(buffer, &start, &end)) { + str = gtk_text_iter_get_text(&start, &end); + p = strchr(str, '\n'); + g_free(str); + if (p) + return TRUE; + } + + return FALSE; +} + +static gboolean cb_key_press_event(GtkWidget *view, GdkEventKey *event) +{ + GtkTextBuffer *buffer; + GtkTextMark *mark; + GtkTextIter iter; + GdkRectangle prev_rect; + +#if 0 + if (check_preedit(view)) + return FALSE; +#endif + + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + mark = gtk_text_buffer_get_insert(buffer); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_view_get_iter_location(GTK_TEXT_VIEW(view), &iter, &prev_rect); + + keyval = 0; +//g_print("key-press-event: 0x%X\n", event->keyval); + switch (event->keyval) { + case GDK_Up: // Try [Shift]+[Down]. it works bad. + case GDK_Down: + if (gtk_text_view_move_mark_onscreen(GTK_TEXT_VIEW(view), mark)) { + GdkRectangle iter_rect; + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_view_get_iter_location(GTK_TEXT_VIEW(view), &iter, &iter_rect); + if (iter_rect.y < prev_rect.y) { + gtk_text_view_get_line_at_y(GTK_TEXT_VIEW(view), &iter, + iter_rect.y - iter_rect.height, NULL); + gtk_text_buffer_move_mark(buffer, mark, &iter); + } + if (!(event->state & GDK_SHIFT_MASK)) { + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_buffer_place_cursor(buffer, &iter); + } + return TRUE; + } + break; + case GDK_Page_Up: + case GDK_Page_Down: + if (gtk_text_view_move_mark_onscreen(GTK_TEXT_VIEW(view), mark)) { + GdkRectangle visible_rect, iter_rect; + gint pos = 0; + gtk_text_view_get_visible_rect(GTK_TEXT_VIEW(view), &visible_rect); + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_view_get_iter_location(GTK_TEXT_VIEW(view), &iter, &iter_rect); + if (iter_rect.y < prev_rect.y) + pos = 1; + if (event->keyval == GDK_Page_Up) + gtk_text_view_get_line_at_y(GTK_TEXT_VIEW(view), &iter, + iter_rect.y - visible_rect.height + iter_rect.height, NULL); + else + gtk_text_view_get_line_at_y(GTK_TEXT_VIEW(view), &iter, + iter_rect.y + visible_rect.height - iter_rect.height, NULL); + gtk_text_buffer_move_mark(buffer, mark, &iter); + gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(view), + mark, 0, TRUE, 0, pos); + if (!(event->state & GDK_SHIFT_MASK)) { + gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark); + gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)), &iter); + } + return TRUE; + } + break; + case GDK_Return: + if (indent_get_state()) { + indent_real(view); + return TRUE; + } + break; + case GDK_Tab: + if (event->state & GDK_CONTROL_MASK) { + indent_toggle_tab_width(view); + return TRUE; + } + case GDK_ISO_Left_Tab: + if (event->state & GDK_SHIFT_MASK) + indent_multi_line_unindent(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view))); + else if (!check_selection_bound(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)))) + break; + else + indent_multi_line_indent(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view))); + return TRUE; + } + keyval = event->keyval; + if ((event->state & GDK_CONTROL_MASK) + || (event->keyval == GDK_Control_L) + || (event->keyval == GDK_Control_R)) { + keyval = keyval + 0x10000; +//g_print("=================================================\n"); + } + + return FALSE; +} + +static gboolean cb_button_press_event(GtkWidget *view, GdkEventButton *event) +{ + GtkTextIter iter, start, end; + gint x, y; + + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + + if ((event->button) == 3 && (event->type == GDK_BUTTON_PRESS)) { + gtk_text_view_window_to_buffer_coords(GTK_TEXT_VIEW(view), + gtk_text_view_get_window_type(GTK_TEXT_VIEW(view), event->window), + (gint)event->x, (gint)event->y, &x, &y); + gtk_text_view_get_iter_at_location(GTK_TEXT_VIEW(view), &iter, x, y); + gtk_text_buffer_get_selection_bounds(buffer, &start, &end); + if (!gtk_text_iter_in_range(&iter, &start, &end)) + gtk_text_buffer_place_cursor(buffer, &iter); + } + + return FALSE; +} + +static void cb_modified_changed(GtkTextBuffer *buffer, GtkWidget *view) +{ + gboolean modified_flag, exist_flag = FALSE; + gchar *filename, *title; + + modified_flag = gtk_text_buffer_get_modified(buffer); + filename = get_file_basename(pub->fi->filename, TRUE); + if (modified_flag) + title = g_strconcat("*", filename, NULL); + else { + title = g_strdup(filename); + undo_reset_modified_step(buffer); + } + g_free(filename); + gtk_window_set_title(GTK_WINDOW(gtk_widget_get_toplevel(view)), title); + g_free(title); + if (pub->fi->filename) + exist_flag = g_file_test( + g_filename_to_utf8(pub->fi->filename, -1, NULL, NULL, NULL), + G_FILE_TEST_EXISTS); + menu_sensitivity_from_modified_flag(modified_flag || !exist_flag); +} + +void force_call_cb_modified_changed(GtkWidget *view) +{ + cb_modified_changed(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)), view); +} + +void force_block_cb_modified_changed(GtkWidget *view) +{ + g_signal_handlers_block_by_func(G_OBJECT(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view))), + G_CALLBACK(cb_modified_changed), view); +} + +void force_unblock_cb_modified_changed(GtkWidget *view) +{ + g_signal_handlers_unblock_by_func(G_OBJECT(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view))), + G_CALLBACK(cb_modified_changed), view); +} +/* +static void cb_mark_set(GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextMark *mark) +{ + if (gtk_text_mark_get_name(mark)) +{g_print(gtk_text_mark_get_name(mark)); +}else g_print("|"); + menu_sensitivity_from_selection_bound( + gtk_text_buffer_get_selection_bounds(buffer, NULL, NULL)); +} +*/ +static void cb_mark_changed(GtkTextBuffer *buffer) +{ + menu_sensitivity_from_selection_bound( + gtk_text_buffer_get_selection_bounds(buffer, NULL, NULL)); +} + +static void cb_focus_event(GtkWidget *view, GdkEventFocus *event) +{ + if (!gtk_text_buffer_get_selection_bounds(gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)), NULL, NULL)) + gtk_text_mark_set_visible( + gtk_text_buffer_get_selection_bound( + gtk_text_view_get_buffer(GTK_TEXT_VIEW(view))), !event->in); + if (event->in) + menu_sensitivity_from_clipboard(); +} +/* +static void cb_begin_user_action(GtkTextBuffer *buffer, GtkWidget *view) +{ + g_signal_handlers_unblock_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_modified_changed), view); +// g_print("begin-user-action\n"); +} + +static void cb_end_user_action(GtkTextBuffer *buffer, GtkWidget *view) +{ + g_signal_handlers_block_by_func(G_OBJECT(buffer), + G_CALLBACK(cb_modified_changed), view); + gtk_text_view_scroll_mark_onscreen( // TODO: require? + GTK_TEXT_VIEW(view), + gtk_text_buffer_get_insert(buffer)); +// g_print("end-user-action\n"); +} +*//* +static void cb_something(GtkTextBuffer *buffer, gchar *data) +{ + g_print("%s\n", data); +} +*/ +void set_view_scroll(void) +{ + view_scroll_flag = TRUE; +} + +static void cb_end_user_action(GtkTextBuffer *buffer, GtkWidget *view) +{ + if (view_scroll_flag) { + gtk_text_view_scroll_mark_onscreen( // TODO: require? + GTK_TEXT_VIEW(view), + gtk_text_buffer_get_insert(buffer)); + view_scroll_flag = FALSE; + } +} + +GtkWidget *create_text_view(void) +{ + GtkWidget *view; + GtkTextBuffer *buffer; + + view = gtk_text_view_new(); + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + +// gtk_text_view_set_left_margin(GTK_TEXT_VIEW(view), 1); +// gtk_text_view_set_right_margin(GTK_TEXT_VIEW(view), 1); + + g_signal_connect(G_OBJECT(view), "key-press-event", + G_CALLBACK(cb_key_press_event), NULL); + g_signal_connect(G_OBJECT(view), "button-press-event", + G_CALLBACK(cb_button_press_event), NULL); + g_signal_connect_after(G_OBJECT(view), "cut-clipboard", + G_CALLBACK(menu_sensitivity_from_clipboard), NULL); + g_signal_connect_after(G_OBJECT(view), "copy-clipboard", + G_CALLBACK(menu_sensitivity_from_clipboard), NULL); + g_signal_connect_after(G_OBJECT(view), "paste-clipboard", + G_CALLBACK(set_view_scroll), + gtk_text_buffer_get_insert(buffer)); +/* g_signal_connect_after(G_OBJECT(view), "paste-clipboard", + G_CALLBACK(gtk_text_view_scroll_mark_onscreen), + gtk_text_buffer_get_insert(buffer));*/ + g_signal_connect_after(G_OBJECT(view), "focus-in-event", + G_CALLBACK(cb_focus_event), NULL); + g_signal_connect_after(G_OBJECT(view), "focus-out-event", + G_CALLBACK(cb_focus_event), NULL); + + g_signal_connect(G_OBJECT(buffer), "mark-set", + G_CALLBACK(cb_mark_changed), NULL); + g_signal_connect(G_OBJECT(buffer), "mark-deleted", + G_CALLBACK(cb_mark_changed), NULL); + g_signal_connect(G_OBJECT(buffer), "modified-changed", + G_CALLBACK(cb_modified_changed), view); + g_signal_connect_after(G_OBJECT(buffer), "end-user-action", + G_CALLBACK(cb_end_user_action), view); +/* g_signal_connect(G_OBJECT(buffer), "begin-user-action", + G_CALLBACK(cb_begin_user_action), view); + g_signal_connect_after(G_OBJECT(buffer), "end-user-action", + G_CALLBACK(cb_end_user_action), view); + cb_end_user_action(buffer, view); +*/ + linenum_init(view); + + return view; +} diff --git a/src/view.h b/src/view.h new file mode 100644 index 0000000..57fd9e3 --- /dev/null +++ b/src/view.h @@ -0,0 +1,33 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _VIEW_H +#define _VIEW_H + +gint get_current_keyval(void); +void clear_current_keyval(void); +void scroll_to_cursor(GtkTextBuffer *buffer, gdouble within_margin); +void force_call_cb_modified_changed(GtkWidget *view); +void force_block_cb_modified_changed(GtkWidget *view); +void force_unblock_cb_modified_changed(GtkWidget *view); +void set_view_scroll(void); +gint check_text_modification(void); +GtkWidget *create_text_view(void); + +#endif /* _VIEW_H */ diff --git a/src/window.c b/src/window.c new file mode 100644 index 0000000..d64bce7 --- /dev/null +++ b/src/window.c @@ -0,0 +1,89 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "l3afpad.h" +/* +static void cb_scroll_event(GtkAdjustment *adj, GtkWidget *view) +{ + gtk_text_view_place_cursor_onscreen(GTK_TEXT_VIEW(view)); +} +*/ +MainWin *create_main_window(void) +{ + GtkWidget *window; + GtkWidget *vbox; + GtkWidget *menubar; + GtkWidget *sw; + GtkWidget *view; +// gint size; +// GtkAdjustment *hadj, *vadj; + + MainWin *mw = g_malloc(sizeof(MainWin)); + + window = gtk_window_new(GTK_WINDOW_TOPLEVEL); +// gtk_window_set_title(GTK_WINDOW(window), PACKAGE_NAME); + gtk_widget_set_name(window, PACKAGE_NAME); + + gtk_window_set_default_icon_name(PACKAGE); + + g_signal_connect(G_OBJECT(window), "delete-event", + G_CALLBACK(on_file_quit), NULL); + g_signal_connect_after(G_OBJECT(window), "delete-event", + G_CALLBACK(gtk_widget_hide_on_delete), NULL); + + vbox = gtk_vbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(window), vbox); + + menubar = create_menu_bar(window); + gtk_box_pack_start(GTK_BOX(vbox), gtk_item_factory_get_widget(GTK_UI_MANAGER(menubar), "/M"), FALSE, FALSE, 0); + + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), + GTK_SHADOW_IN); + gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); + + view = create_text_view(); + gtk_container_add(GTK_CONTAINER(sw), view); +/* + hadj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(sw)); + vadj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)); + g_signal_connect_after(G_OBJECT(hadj), "value-changed", + G_CALLBACK(cb_scroll_event), view); + g_signal_connect_after(G_OBJECT(vadj), "value-changed", + G_CALLBACK(cb_scroll_event), view); +*/ + mw->window = window; + mw->menubar = menubar; + mw->view = view; + mw->buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + + return mw; +} + +void set_main_window_title(void) +{ + gchar *title; + + title = get_file_basename(pub->fi->filename, TRUE); + gtk_window_set_title(GTK_WINDOW(pub->mw->window), title); + g_free(title); +} + diff --git a/src/window.h b/src/window.h new file mode 100644 index 0000000..39224c2 --- /dev/null +++ b/src/window.h @@ -0,0 +1,33 @@ +/* + * L3afpad - GTK+ based simple text editor + * Copyright (C) 2004-2005 Tarot Osuji + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _WINDOW_H +#define _WINDOW_H + +typedef struct { + GtkWidget *window; + GtkWidget *menubar; + GtkWidget *view; + GtkTextBuffer *buffer; +} MainWin; + +MainWin *create_main_window(void); +void set_main_window_title(void); + +#endif /* _WINDOW_H */