diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-05-25 14:15:29 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2025-09-25 12:14:56 +0900 |
| commit | e09aff21f81165479e531aa78670447680b70559 (patch) | |
| tree | 68e431a89aeedc74060808012a392ee002f95bce /debian | |
| parent | 5e806f0b9db5f5681705e1e2ce2ead7f06ae581f (diff) | |
| download | extra-dependencies-feat/restructuring.tar.gz extra-dependencies-feat/restructuring.zip | |
Restructuring: pinentry-tqtfeat/restructuring
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian')
198 files changed, 0 insertions, 89908 deletions
diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/AUTHORS b/debian/pinentry-tqt/pinentry-tqt-1.2.1/AUTHORS deleted file mode 100644 index 36bf40bc..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/AUTHORS +++ /dev/null @@ -1,48 +0,0 @@ -Program: Pinentry -Homepage: https://gnupg.org/software/pinentry/ -Download: https://gnupg.org/ftp/gcrypt/pinentry/ -Repository: git://git.gnupg.org/pinentry.git -Bug reports: https://bugs.gnupg.org -Security related bug reports: <security@gnupg.org> -License: GPLv2 - -Pinentry is free software. See the files COPYING for copying conditions. -License copyright years may be listed using range notation, e.g., -2000-2016, indicating that every year in the range, inclusive, is a -copyrightable year that would otherwise be listed individually. - -List of Copyright holders -========================= - -Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> -Copyright (C) 2001-2004, 2007-2008, 2010, 2015-2017, 2021 g10 Code GmbH -Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) -Copyright (C) 2004 by Albrecht Dreß <albrecht.dress@arcor.de> -Copyright (C) 2007 Ingo Klöcker -Copyright (C) 2014 Serge Voilokov -Copyright (C) 2015 Daiki Ueno -Copyright (C) 2015 Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Copyright (C) 2016 Intevation GmbH -Copyright (C) 2016 Anatoly madRat L. Berenblit - - -Authors -------- - -Robert Bihlmeyer <robbe@orcus.priv.at> -Werner Koch, g10 Code GmbH <wk@gnupg.org> -Steffen Hansen, Klarälvdalens Datakonsult AB - <steffen@klaralvdalens-datakonsult.se> -Marcus Brinkmann, g10 Code GmbH <marcus@g10code.com> -Timo Schulz, g10 Code GmbH -Neal Walfied, g10 Code GmbH <neal@gnu.org> -Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - -License -======== - -The optional TQt pinentry (found in the directory tqt/) is distributed -under the GNU General Public License, version 2 (GPLv2only). All -other parts of Pinentry are distributed under the GNU General Public -License, version 2 or later (GPLv2+). See the file COPYING for details. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/COPYING b/debian/pinentry-tqt/pinentry-tqt-1.2.1/COPYING deleted file mode 100644 index c7aea189..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/COPYING +++ /dev/null @@ -1,280 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog deleted file mode 100644 index 4f1a0172..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog +++ /dev/null @@ -1,2998 +0,0 @@ -2022-08-24 Werner Koch <wk@gnupg.org> - - Release 1.2.1. - + commit 338961541fa9416937092d6e7720246b3cd7465a - - -2022-08-12 Andre Heinecke <aheinecke@gnupg.org> - - qt: Use Dialogs foregroundwindow code in confirm. - + commit 835b690cbd857eb699f24745ee13371b4d379683 - * qt/pinentryconfirm.cpp (PinentryConfirm): Minimize and raise on - start. - (showEvent): Do not call raiseWindow. - -2022-08-05 Ingo Klöcker <dev@ingo-kloecker.de> - - qt4: Add recipe for container for testing build for Qt4. - + commit 0cb17ea14e533655e17c9daff1058a211ff9087e - * docker: New. - - qt4: Make it compile with Qt 4.8.7 and without C++11. - + commit 825819b754f50b79e238efc8c9613653315872bb - * qt4/main.cpp (qt_cmd_handler): Replace nullptr with NULL. - * qt4/pinentrydialog.cpp (PinEntryDialog::generatePin): Replace auto with - type name. - * qt4/pinlineedit.cpp (PinLineEdit::keyPressEvent): Replace - Qt::Key::Key_Backspace with Qt::Key_Backspace. - - qt,qt4: Separate build of pinentry with Qt5 and Qt4. - + commit 08a7391fc024530fa619fabbd16f900ad42108e6 - * Makefile.am (pinentry_qt4): New. - (SUBDIRS): Add pinentry_qt4. - * configure.ac: Add arg pinentry-qt4. Check for Qt4 libraries. - Substitute variables PINENTRY_QT4_CFLAGS, PINENTRY_QT4_LIBS, - PINENTRY_QT4_LDFLAGS, MOC4. - (BUILD_PINENTRY_QT4): New conditional. - (PINENTRY_QT4): New define. - * m4/qt.m4: Remove check for Qt4 libraries. - * m4/qt4.m4: New. - * qt4/Makefile.am: Check for BUILD_PINENTRY_QT4 instead of - BUILD_PINENTRY_QT. - (bin_PROGRAMS): Change pinentry-qt to pinentry-qt4. - (AM_CXXFLAGS): Change PINENTRY_QT_CFLAGS to PINENTRY_QT4_CFLAGS. - (pinentry_qt_LDADD): Renamed to pinentry_qt4_LDADD. - (pinentry_qt4_LDADD): Change PINENTRY_QT_LIBS to PINENTRY_QT4_LIBS. - (pinentry_qt_LDFLAGS): Renamed to pinentry_qt4_LDFLAGS. - (pinentry_qt4_LDFLAGS): Change PINENTRY_QT_LDFLAGS to - PINENTRY_QT4_LDFLAGS. - (pinentry_qt_SOURCES): Renamed to pinentry_qt4_SOURCES. - (nodist_pinentry_qt_SOURCES): Renamed to nodist_pinentry_qt4_SOURCES. - (.h.moc): Change MOC to MOC4. - - qt4: Add old copy of source code of pinentry-qt for building with Qt4. - + commit 70388f18958c5df7a45911e0fade23d19acb38e8 - * qt4: New. - -2022-07-21 NIIBE Yutaka <gniibe@fsij.org> - - Fix for modern Autoconf. - + commit 34709975debde7afc0927f30c8541c40af0cc481 - * m4/curses.m4: Use AS_HELP_STRING. Use AC_LINK_IFELSE. - * m4/qt.m4: Use AS_HELP_STRING. - - build: Update config.guess, config.sub, and config.rpath. - + commit e1cdfc733757b9cc801b628185f1404494d5000c - * build-aux/config.guess: Update from upstream. - * build-aux/config.sub: Ditto. - * build-aux/config.rpath: Update from gettext 0.21. - - build: Fix for internal secmem. - + commit 55353112cdc7a9fb84ad5d6d430e218ae81710b4 - * acinclude.m4 (GNUPG_CHECK_TYPEDEF): Remove. - (GNUPG_CHECK_MLOCK): Update from libgcrypt. - * configure.ac: Use AC_CHECK_TYPES for byte, ulong, and u64. - * secmem/secmem.c: Use HAVE_U64. - - build: Update gpg-error.m4. - + commit 4f26b1fa994c8d013fc7516e16e2f1488212e0e7 - * m4/gpg-error.m4: Update from libgpg-error. - -2022-06-01 NIIBE Yutaka <gniibe@fsij.org> - - Remove old code which makes sure NUL-termination of strings. - + commit 523a4f2d5d1c37df5ea7922f9545823afb3cb762 - * gnome3/pinentry-gnome3.c (create_prompt): Remove putting 0. - * gtk+-2/pinentry-gtk-2.c (changed_text_handler): Ditto. - * pinentry/pinentry.c (get_cmdline, pinentry_get_title): Ditto. - (my_strusage, write_status_error, cmd_getinfo): Ditto. - * w32/main.c (w32_strerror): Ditto. - - Remove USE_CAPABILITIES. - + commit 0d3be7b81eb1fea6b51144d2381eaa318a63e761 - * configure.ac: Remove --with-libcap. - * curses/Makefile.am, efl/Makefile.am: Remove LIBCAP. - * emacs/Makefile.am, fltk/Makefile.am: Ditto. - * gnome3/Makefile.am, gtk+-2/Makefile.am: Ditto. - * qt/Makefile.am, tqt/Makefile.am: Ditto. - * tty/Makefile.am: Ditto. - - secmem: Remove use of cap_set_proc. - + commit 88cad4621be36fa70596abb803252b844d1b5d42 - * secmem/secmem.c (lock_pool): Clean up. - -2022-06-01 Jakub Jelen <jjelen@redhat.com> - - pinentry: Remove dead code. - + commit 96771ae57e86756a2f079202cf069a1ce6cc4357 - * pinentry/pinentry.c (pinentry_get_title): Remove needless check for - null on static array - - pinentry: Terminate the buffer in the right place. - + commit cd753c8560cde013981466c7298e0376e27b6364 - * pinentry/pinentry.c (get_pid_name_for_uid): Terminate the buffer in - the right place. - - secmem: Do not pass negative values to strerr. - + commit c2e7cc560bdbcdaa9861ae8d37f28be5b342a64d - secmem/secmem.c (lock_pool): Pass the correct variable to strerr - -2022-05-25 NIIBE Yutaka <gniibe@fsij.org> - - Mark with ASSUAN_CONFIDENTIAL flag. - + commit c405add93a77f332273fa844bba36dade3f6422b - * pinentry/pinentry.c (cmd_getpin): Call assuan_begin_confidential - and assuan_end_confidential. - -2022-05-12 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Update the cursor position when reformatting the text. - + commit 555cd94a2b2bb294a658a1c6ff9574f8a4ff3186 - * qt/pinlineedit.cpp (PinLineEdit::textEdited): Update cursor position - after reformatting the text. - -2022-03-24 NIIBE Yutaka <gniibe@fsij.org> - - w32,curses: Supply simple replacement for nl_langinfo. - + commit 41884436bec05997ffe21e93bcee604e53b9d120 - * pinentry/pinentry-curses.c [HAVE_W32_SYSTEM] (nl_langinfo): New. - - curses: Move pinentry_utf8_to_local/pinentry_local_to_utf8. - + commit 4612fd45f56963abf6052ef44a3575a1f98bf08a - * pinentry/pinentry-curses.c (pinentry_utf8_to_local): Now here. - (pinentry_local_to_utf8, lc_ctype_unknown_warning): Likewise. - * pinentry/pinentry.c: Moved to pinentry-curses.c. - (pinentry_get_pgmname): New. - - build,w32: Fix build on Windows. - + commit 9a8a38d28d36cf49b057fcd730de878acbd5fae3 - * Makefile.am: Add EXEEXT. - * secmem/secmem.c [HAVE_MMAP] (pool_is_mmapped): Only enabled with - HAVE_MMAP. - (init_pool): The variable PGSIZE is only used with HAVE_MMAP. - -2022-03-02 Ingo Klöcker <dev@ingo-kloecker.de> - - build: Do not list the same files thrice in qt/Makefile.am. - + commit 5531e1c682382f42ef8f0545596a4fd3635e8484 - * qt/Makefile.am (CLEANFILES, nodist_pinentry_qt_SOURCES): Set to - $(BUILT_SOURCES). - - qt: Make text label in pinentry message box focusable. - + commit 42af54bece51f3c4c70eab0b2f67a03cc8951dff - * qt/main.cpp (qt_cmd_handler): Set text format of message box to - PlainText. Set text interaction flags of message box to - TextSelectableByMouse. - * qt/qt/pinentryconfirm.h (class PinentryConfirm): Derive from - QAccessible::ActivationObserver interface; add d'tor; override - focusNextPrevChild method of QMessageBox and accessibilityActiveChanged - method of QAccessible::ActivationObserver interface. - * qt/pinentryconfirm.cpp (messageBoxLabel): New. - (PinentryConfirm::PinentryConfirm): Register as activation observer. - (PinentryConfirm::~PinentryConfirm): New. - (PinentryConfirm::focusNextPrevChild): New. - (PinentryConfirm::accessibilityActiveChanged): New. - - qt: Extract function for selecting the text of a QLabel. - + commit b6370f87d247cfeb4d4161a248fa91661d08af37 - * qt/accessibility.h, qt/accessibility.cpp (selectLabelText): New. - * qt/pinentrydialog.cpp (TextLabel::focusInEvent): Use new function. - - qt: Modernize code. - + commit e7bcc0894e3a9e7cf5ae460af0269033c5b421cd - * qt/pinentryconfirm.h, qt/pinentryconfirm.cpp - (PinentryConfirm::PinentryConfirm): Remove timeout argument. Add flags - argument. Rename argument desc to text. - (PinentryConfirm::setTimeout, PinentryConfirm::timeout): New. - (PinentryConfirm::showEvent): Mark as override. - (class PinentryConfirm): Hold field _timer by value instead of by - pointer. Initialize _timed_out in-class. Use Q_SLOTS instead of slots. - * qt/pinentryconfirm.cpp (PinentryConfirm::PinentryConfirm): - Use QTimer::callOnTimeout() for setting the timeout handler. Do not - start the timer. - (PinentryConfirm::showEvent): Make timer a single-shot timer and start it. - * qt/main.cpp (qt_cmd_handler): Set timeout with new setter. - - qt: Fix reaction to Escape key and close button of window. - + commit 4435e9fa206f29b2fbc45e24b85c5604c4eefdbd - * qt/pinentryconfirm.cpp (PinentryConfirm::showEvent): Call the - overridden method of the direct super class. - - qt: Use better icon for signalling an error. - + commit 774e8a72cd1e10f6e81592fe8e47c13c3167cd77 - * qt/icons/data-error.svg: New. - * qt/icons/Makefile.am, qt/pinentryrc.qrc: Add new file. - * qt/pinentrydialog.h, qt/pinentrydialog.cpp (icon): Rename to - applicationIconPixmap. Change optional parameter to QIcon. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog, - PinEntryDialog::setDescription): Adjust to renaming of icon(). - (PinEntryDialog::setError): Use new icon as overlay for application icon. - * qt/main.cpp (qt_cmd_handler): Adjust to renaming of icon(). - -2022-03-02 Andre Heinecke <aheinecke@gnupg.org> - - qt: Add Makefile.am for icons subdir. - + commit 62efdca5e5cc354e53bbf4d39ca84031a9706086 - * qt/icons/Makefile.am: New. - -2022-03-01 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Modernize code: Use in-class initializers for all members. - + commit 09e0111f02853c210b2106410eedf62734c1ec35 - * qt/pinentrydialog.h (class PinEntryDialog): Use in-class initializers - for all POD members. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Remove - superfluous member initializers. Flag argument 'name' as unused. Remove - superfluous initialization by assignment of _timed_out and _timer. - - qt: Modernize code: Use type-safe, new-style connects. - + commit d63355949f27787b131c34c8213666ea75a738ce - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Use new-style - connects. - - qt: Fix giving focus to repeat field after Enter in first field. - + commit 8671cc814ca0c148bdfbd67816e211aa27462ca1 - * qt/pinentrydialog.h, qt/pinentrydialog.cpp - (PinEntryDialog::keyPressEvent): New. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Remove - connection to QLineEdit::returnPressed signal. - (PinEntryDialog::focusChanged): Remove code changing the default property - of the Ok button. - - qt: Fix compiler warning. - + commit 3157e27ebbd62a08a813d4f8e2dac7051e3b1059 - * qt/pinentrydialog.h (class PinEntryDialog): Mark showEvent as override. - - qt: Allow text of all labels to be selected with the mouse. - + commit c75350edce1b0580caacbe8a30d8e52885ae6366 - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Set text - interaction flags of all text labels to TextSelectableByMouse. - (PinEntryDialog::accessibilityActiveChanged): Keep ClickFocus in focus - policy of labels. - - qt: Do not set an empty tool tip. - + commit e19dc862774e30206cb55662214273d068d9dc89 - qt/pinentrydialog.cpp (PinEntryDialog::setConstraintsOptions): Check - if options.longHint is empty. - - qt: Ensure visual feedback when a text label gets focus. - + commit 09f92e7123c22fb7354ad26a67b404f3cb4028a4 - qt/pinentrydialog.cpp (class TextLabel): New. - qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Set text format - of all text labels to PlainText. Change all text labels that shall be - able to receive focus from QLabel to TextLabel. - (PinEntryDialog::setFormattedPassphrase): Set text format of - mFormattedPassphraseHint to RichText. - - qt: Make text labels focusable if accessibility is active. - + commit 50ad2196d3f62a2fe078e4554b34e75b423374ee - qt/pinentrydialog.h (class PinEntryDialog): Derive from - QAccessible::ActivationObserver interface; add d'tor; override - accessibilityActiveChanged function of QAccessible::ActivationObserver - interface. - qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Register the - dialog as activation observer. - (PinEntryDialog::~PinEntryDialog): New. - (PinEntryDialog::accessibilityActiveChanged): New. - - qt: Create all widgets in tab order. - + commit dd9f765258230cad6704afb4fab6c3deb4a8de56 - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - _have_quality_bar with member initializer; rework setup of UI - -2022-02-10 Andre Heinecke <aheinecke@gnupg.org> - - qt: Embed icons to avoid theme searches. - + commit 7d5c123f802abce11c711d57e8796d58d6ff1a16 - * m4/qt.m4: Check for RCC tool - * qt/qrc_pinentry.cpp: Remove not used file. - * qt/document-encrypt.png: Move to icons subfolder - * qt/icons/*.svg: New. - * qt/main.cpp: Use new path for window icon. - * qt/pinentryrc.qrc: Real ressource file. - * qt/pinentrydialog.cpp: Use embedded icons. - -2022-01-19 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - avoid typo. - + commit 8b07ddf3460acd613db66f4c1230636da6ea191b - - -2022-01-17 Andre Heinecke <aheinecke@gnupg.org> - - qt: Install translator and translations. - + commit 8f239a2b133cae8ca9c1876c732d4e00d06c7d26 - * qt/qti18n.cpp: New. Based on KDE framework ki18n. - -2021-12-22 NIIBE Yutaka <gniibe@fsij.org> - - build: Fix configure.ac for newer autoconf/automake. - + commit ac338b99fd63ddfa8a7b6ae07933cfda6b108162 - * configure.ac (AC_CONFIG_HEADERS): Use it, instead of obsolete - AM_CONFIG_HEADER. - (AC_HEADER_STDC): Remove. - -2021-10-15 NIIBE Yutaka <gniibe@fsij.org> - - curses: Fix the previous commit. - + commit b713f31c5b042ff9d7b10c64bbc7ab02e195fbc9 - - -2021-10-13 NIIBE Yutaka <gniibe@fsij.org> - David Stes <stes@telenet.be> - - curses: Specify fg/bg when an extention of Ncurses is not available. - + commit d937ccfe4445394f0ca0da24fe46429a29ae48ce - * pinentry/pinentry-curses.c (dialog_run): Support original Curses. - -2021-09-30 NIIBE Yutaka <gniibe@fsij.org> - - curses: Handle an error at curses initialization. - + commit d22c49140b86880bbea2bb55542297984792b40a - * pinentry/pinentry-curses.c (dialog_run): Detect an error of newterm. - -2021-09-14 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Support building with Qt 5.9. - + commit c68d80e23a860a06e7b22b6c0d72aed5d049faef - * qt/pinlineedit.cpp (class PinLineEdit::Private): Add field q. - (PinLineEdit::Private::Private): New. - (PinLineEdit::Private::copyToClipboard): Remove obsolete parameter. - Use new field q instead. - (PinLineEdit::Private::selectionEnd): New. - (PinLineEdit::PinLineEdit): Pass this to Private. - (PinLineEdit::setFormattedPassphrase): Use new selectionEnd. - (PinLineEdit::copy): Call copyToClipboard without parameter. - -2021-08-25 Werner Koch <wk@gnupg.org> - - Release 1.2.0. - + commit aaf5d44f26e39f57bb47ae09dd3d575fcc51d9f5 - - -2021-08-18 Werner Koch <wk@gnupg.org> - - Accept percent escaped formatted-passphrase-hint option. - + commit 008fb9337a52730b5533c6c3ddc93128f8c5395b - * pinentry/pinentry.c (option_handler): Unescape - formatted_passphrase_hint. - -2021-08-18 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Change group size for passphrase formatting to 5. - + commit 5a6d70cf7d7bdd42505400bb1838c56812a22e56 - * qt/pinlineedit.cpp (static const int FormattedPassphraseGroupSize): - Set to 5. - -2021-08-16 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Make sure the message box is centered on top of the pinentry. - + commit d285c2cb1f61df77427967ea96c1df02adcae8df - * qt/pinentrydialog.cpp (PinEntryDialog::checkConstraints): Set - parent of message box. - -2021-08-12 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Make pinentry compile again with QT_NO_ACCESSIBILITY. - + commit 141b5776a90675877bdf63c17946170a7b20e5c6 - * qt/accessibility.cpp, qt/accessibility.h: New. - * qt/Makefile.am (pinentry_qt_SOURCES): Add new files. - * qt/main.cpp (qt_cmd_handler): Use new Accessibility helpers. - * qt/pinentryconfirm.cpp (PinentryConfirm::PinentryConfirm): Use new - Accessibility helpers. - * qt/pinentrydialog.cpp (PinEntryDialog::setDescription, - PinEntryDialog::setError, PinEntryDialog::setOkText, - PinEntryDialog::setCancelText, PinEntryDialog::setQualityBar, - PinEntryDialog::setGenpinLabel, PinEntryDialog::setCapsLockHint, - PinEntryDialog::setConstraintsOptions): Use new Accessibility helpers. - (PinEntryDialog::textChanged, PinEntryDialog::checkCapsLock): Guard - code using accessibility features with #ifndef QT_NO_ACCESSIBILITY. - - qt: Always make passphrase visible after generating it. - + commit e0b4e552638ed0d18a166a1337d9caa32744520e - * qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Trigger - visibility action or check visibility checkbox. - - qt: Prevent possible crash when generating pin. - + commit 146fc0444b1fd30b85bac1f97607a9691164faa0 - * qt/pinentrydialog.cpp (PinEntryDialog::toggleVisibility): Check - visibility action for nullptr. - - qt: Change calculation of end of selection when enabling formatting. - + commit 1349fb7bcb5c84f3e0474ae209c5a058c12ff6e9 - * qt/pinlineedit.cpp (PinLineEdit::Private::formattedSelection): - Do not include trailing separator in selection. - - qt: Fix calculation of end of selection when disabling formatting. - + commit 1ae88d75321898901a692df95799a3c7e7b2f038 - * qt/pinlineedit.cpp (PinLineEdit::Private::unformattedSelection): - Fix calculation. - - qt: Remove checkbox for passphrase formatting. - + commit 06190adba5ac544bce77c4e5af75b44896850145 - * qt/main.cpp (qt_cmd_handler): Pass changed formatted passphrase - options to the dialog. - * qt/pinentrydialog.h (PinEntryDialog): Add field mFormatPassphrase. - Remove field mFormattedPassphraseCB. - (enum PinEntryDialog::FormattedPassphraseMode): Remove. - (struct PinEntryDialog::FormattedPassphraseOptions): Remove fields - mode, label, tooltip. Add field formatPassphrase. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - mFormatPassphrase. - (PinEntryDialog::setFormattedPassphrase): Set mFormatPassphrase. - Update widgets. - (PinEntryDialog::toggleFormattedPassphrase): Use mFormatPassphrase - instead of state of removed checkbox. - - Make passphrase formatting a simple flag. - + commit c42c6371fcf8ff2e856fa6059261617644e32a57 - * pinentry/pinentry.h (struct pinentry): Remove fields - formatted_passphrase_label, formatted_passphrase_tt. - * pinentry/pinentry.c (pinentry_reset): Remove free'ing of removed - fields. - (option_handler): Treat option "formatted-passphrase" as simple flag. - Remove options "formatted-passphrase-label", "formatted-passphrase-tt". - -2021-08-11 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Add missing header files to sources. - + commit 990afda6a9a1633297882da4f9c255b60a1cc338 - * qt/Makefile.am (pinentry_qt_SOURCES): Add header files. - - qt: Add logging category. - + commit 3086964f103d19b035f8df95114905a82fb4eb89 - * qt/pinentry_debug.cpp, qt/pinentry_debug.h: New. - * qt/Makefile.am (pinentry_qt_SOURCES): Add new files. - * qt/main.cpp (main): Use logging category for debug messages. - - qt: Fix crash when setting repeat error. - + commit d71d890ec23e718f339dc5a3f141a3f04a38e020 - * qt/pinentrydialog.cpp (PinEntryDialog::setRepeatErrorText): Check - for nullptr. - - qt: Change type and title of "Passwords do not match" notification. - + commit b8f1d2cc4202b4a76b199c356f2957df8acc37f5 - * qt/pinentrydialog.cpp (PinEntryDialog::onAccept): Make notification - an "information". Use repeat error text as title. - - qt: Avoid HTML markup in accessible descriptions and names. - + commit 639725b68b8a57fdad610fbe570029f151b138cb - * qt/pinentrydialog.cpp (PinEntryDialog::setFormattedPassphrase, - PinEntryDialog::setConstraintsOptions): - Set accessible descriptions and accessible names without HTML markup. - - qt: Select generated password explicitly after giving focus to input. - + commit 70b14b29d53291245dd72281e2b94a43f5834328 - qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Select text in - input field. - -2021-08-10 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Make the generate password action accessible. - + commit 42c0d3ee935de67b5a261b1bd0fa62b1b519cbd4 - * qt/pinentrydialog.h (PinEntryDialog): Remove unused field mGenerateTT. - Remove field mGenerateActionEdit. Add field mGenerateButton. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - new field. Set up new push button. - (PinEntryDialog::setGenpinLabel): Set accessible name and update - visibility of new push button. - (PinEntryDialog::setGenpinLabel): Set tooltip of new push button. - (PinEntryDialog::setGenpinLabel): Update visibility of new push button. - (PinEntryDialog::generatePin): Focus password input field. - -2021-08-09 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Improve accessibility when entering new password. - + commit 8acf47ea46a6c2aa1fc5254b81c6cf57ad506b9c - * qt/pinentrydialog.h (PinEntryDialog): Change type of field - mRepeatError from QString to QLabel*. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - mRepeatError. Add widget for "entered passwords do not match" - error. Do not make the Ok button the default button. Connect to - returnPressed signal of (first) password input field. - (PinEntryDialog::focusChanged): Update default state of Ok button. - (PinEntryDialog::textChanged): Remove code disabling the Ok button - and setting a tooltip. - (PinEntryDialog::setRepeatErrorText): Set text of "entered passwords - do not match" widget. - (PinEntryDialog::onAccept): Show error if entered passwords do not - match. - -2021-08-06 Andre Heinecke <aheinecke@gnupg.org> - - qt: Mask caps lock toggle bit on windows. - + commit e5d4738a76b44c4732ddb57b7a3f3e25001ef006 - * qt/capslock_win.cpp (capsLockState): Mask toggle bit. - -2021-08-02 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Try harder to find out whether we are running in a GUI session. - + commit 956ee260f541790e0ecf01feb9d91f8f1617aa0e - * qt/main.cpp (main): Check more environment variables on Unix systems. - - Fix typo. - + commit 0735afa87e90c160bd3092605598c204b7dc38c3 - - - qt: Improve message shown if passphrase does not satisfy constraints. - + commit fefd730651b6881aba374c548ff253517063747a - qt/pinentrydialog.cpp (PinEntryDialog::checkConstraints): Use - property-based API of QMessageBox. - - qt: Ensure that malloced strings are free'd. - + commit 6191d4f06c8b46232e7d1bb3e12e3a3736fa6582 - * qt/main.cpp (qt_cmd_handler): Use unique_malloced_ptr for malloced - strings. - * qt/pinentrydialog.cpp (PinEntryDialog::generatePin, - PinEntryDialog::checkConstraints): Use unique_malloced_ptr for malloced - strings. - * qt/util.h: New. - - qt: Cancel timeout on more user interactions. - + commit f622321df5bbaedef882c3451307ff1727c4cd2d - * qt/pinentrydialog.h, qt/pinentrydialog.cpp - (PinentryDialog::cancelTimeout): New. - * qt/pinentrydialog.cpp (PinEntryDialog::onBackspace): Cancel timeout. - (PinEntryDialog::updateQuality, PinEntryDialog::textChanged): Cancel - timeout in PinEntryDialog::textChanged instead of - PinEntryDialog::updateQuality. - (PinEntryDialog::onAccept): Cancel timeout. - -2021-07-28 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Check passphrase constraints before accepting passphrase. - + commit b0969ef692ac729c3e3d9d8d5f34579f2116438a - * qt/main.cpp (qt_cmd_handler): Pass constraints options to the dialog. - * qt/pinentrydialog.h (PinEntryDialog): Add struct ConstraintsOptions. - Add enum PassphraseCheckResult. Add fields mEnforceConstraints, - mConstraintsHint, mConstraintsErrorTitle. - * qt/pinentrydialog.h, qt/pinentrydialog.cpp - (PinEntryDialog::setConstraintsOptions, PinEntryDialog::onAccept, - PinEntryDialog::checkConstraints): New. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - new fields. Call onAccept() on click on Ok. Add widget for constraints - hint. - (PinEntryDialog::checkCapsLock): Constify variable. - - Add support for passphrase constraints options and checkpin inquiry. - + commit 8f5d4532fbd6e3ed460386bdcda2cdac066a0556 - * pinentry/pinentry.h (struct pinentry): Add fields constraints_enforce, - constraints_hint_short, constraints_hint_long, constraints_error_title. - * pinentry/pinentry.h, pinentry/pinentry.c (pinentry_inq_checkpin): - New. - * pinentry/pinentry.c (pinentry_reset): Take care of the new fields. - (do_unescape_inplace): New. - (option_handler): New options "constraints-enforce", - "constraints-hint-short", "constraints-hint-long", - "constraints-error-title". - -2021-07-26 Ingo Klöcker <dev@ingo-kloecker.de> - - Mention Caps Lock warning in NEWS file. - + commit 134f75516d9511d7012e7dd3567e45b00ce4cb9a - - - qt: Add support for Caps Lock hint on Wayland. - + commit 3e803ebf640e73d9fb485fbb8b69b845a80fc695 - * configure.ac: Check for KF5WaylandClient. Add "-fpic" to CFLAGS. - Define PINENTRY_QT_WAYLAND if pinentry-qt should use KF5WaylandClient. - * qt/Makefile.am (BUILT_SOURCES, CLEANFILES, nodist_pinentry_qt_SOURCES): - Add capslock.moc. - (pinentry_qt_SOURCES): Add capslock.cpp. - * qt/capslock.cpp: New. - * qt/capslock.h (class CapsLockWatcher): New. - * qt/capslock_p.h: New. - * qt/capslock_unix.cpp (watchingWayland): New static. - (capsLockState): Log hint for using CapsLockWatcher on Wayland. - (CapsLockWatcher::Private::*): New. - * qt/pinentrydialog.cpp: Include config.h. - (PinEntryDialog::PinEntryDialog): Set up CapsLockWatcher. - - qt: Differentiate unknown Caps Lock state from off state. - + commit a074c90c78a6dfed3b7d8f32434bcf9f9f2b56dc - * qt/capslock.h (enum class LockState): New. - * qt/capslock.h, qt/capslock_unix.cpp, qt/capslock_win.cpp - (capsLockIsOn, capsLockState): Rename former to latter. Change return - type to LockState. - * qt/capslock_unix.cpp (capsLockState): Remove check for qApp. - * qt/pinentrydialog.cpp (checkCapsLock): Adapt to changed function name - and return type of capsLockIsOn/capsLockState. - -2021-07-22 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Fix showing of pinentry window on Wayland. - + commit 9dd46926f8d50cca059bbf5ea7aa003b9199a05f - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Skip the - minimize+raise trick on Wayland. - -2021-07-21 Ingo Klöcker <dev@ingo-kloecker.de> - - qt: Show hint if Caps Lock is on. - + commit 78e4284e8d93502f301cf0c2eab384094680d444 - * configure.ac: Check for libX11. Define PINENTRY_QT_X11 if pinentry-qt - should use x11. - * m4/qt.m4: Check for Qt5X11Extras if libX11 is available. - * qt/Makefile.am (pinentry_qt_platform_SOURCES): New. - (pinentry_qt_SOURCES): Add pinentry_qt_platform_SOURCES. - * qt/capslock.h, qt/capslock_unix.cpp, qt/capslock_win.cpp: New. - * qt/main.cpp (qt_cmd_handler): Pass caps lock hint to the dialog. - * qt/pinentrydialog.cpp, qt/pinentrydialog.h - (PinEntryDialog::setCapsLockHint, PinEntryDialog::keyReleaseEvent, - PinEntryDialog::checkCapsLock): New. - * qt/pinentrydialog.h (PinEntryDialog): Use Q_SLOTS instead of slots. - Add field mCapsLockHint. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - new field. Add new widgets to GUI. Connect to applicationStateChanged() - signal. Call checkCapsLock(). - - Add support for Caps Lock hint. - + commit 672260f15bf88f7aadc88e5ed2717ed22abc510e - * pinentry/pinentry.h (struct pinentry): Add field 'default_capshint'. - * pinentry/pinentry.cpp (pinentry_reset): Take care of this field. - (option_handler): New option "default-capshint". - -2021-07-15 Ingo Klöcker <dev@ingo-kloecker.de> - - Fix Assuan commands mentioned in comments. - + commit 621500c872585b60d2b31e2ce529c916b2f1d64c - pinentry/pinentry.h (struct pinentry): Fix comments. - - qt: Keep selection when enabling/disabling passphrase formatting. - + commit d875dba1cf87623d0d1240465cd43c660956eb2a - * qt/pinlineedit.cpp (struct Selection): New. - (PinLineEdit::Private::formattedSelection, - PinLineEdit::Private::formattedSelection): New. - (PinLineEdit::setFormattedPassphrase): Restore adjusted selection after - setting formatted/unformatted passphrase. - - qt: Enable formatted passphrase after generating passphrase. - + commit 64695a5e6f7bf59a1c161a60805dcfe5f3e5d720 - * qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Enable formatted - passphrase option. - - qt: Select passphrase after generation. - + commit 5a5a4de1a32ebfc6364aedfe00702eee9374d63e - qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Select text in - input field. - - qt: Enable passphrase generation. - + commit 742462d8a4d124936650901fe57b928a6518957c - qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Set icon for - generate action to a valid icon. - - qt: Show hint if passphrase is shown and formatting is enabled. - + commit 85b180f1b0148a07d51d244deb1a1245c9008cc3 - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - new fields. - (PinEntryDialog::PinEntryDialog): Add new widgets to GUI. - (PinEntryDialog::setFormattedPassphrase): Set text of the hint. - (PinEntryDialog::toggleFormattedPassphrase): Show/hide hint and spacer - as needed. - * qt/pinentrydialog.h (PinEntryDialog): Add fields - mFormattedPassphraseHint, mFormattedPassphraseHintSpacer. - - qt: Copy passphrase without separators to clipboard. - + commit 8ad23d6f18cecf4fd0ba1f357a1845c36c9abc97 - * qt/pinlineedit.cpp, qt/pinlineedit.h (PinLineEdit::copy, - PinLineEdit::cut): New. - * qt/pinlineedit.cpp (PinLineEdit::Private::copyToClipboard): New. - (PinLineEdit::keyPressEvent): Handle more key sequences. - - qt: Support passphrase formatting. - + commit de70241567773a96195882002ce916e54a3639c1 - * qt/main.cpp (qt_cmd_handler): Pass formatted passphrase options to - the dialog. - * qt/pinentrydialog.cpp, qt/pinentrydialog.h - (PinEntryDialog::setFormattedPassphrase, - PinEntryDialog::toggleFormattedPassphrase): New. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize - new field. Construct widgets in the order they appear on the screen. - Add widget for enabling passphrase formatting. - (PinEntryDialog::setPin, PinEntryDialog::generatePin): Use - PinLineEdit::setPin() instead of setText(). - (PinEntryDialog::pin, PinEntryDialog::textChanged, - PinEntryDialog::repeatedPin): Use PinLineEdit::pin() instead of text(). - (PinEntryDialog::toggleVisibility): Call toggleFormattedPassphrase(). - * qt/pinentrydialog.h (enum PinEntryDialog::FormattedPassphraseMode, - struct PinEntryDialog::FormattedPassphraseOptions): New. - * qt/pinentrydialog.h (PinEntryDialog): Change type of field mRepeat. - Add field mFormattedPassphraseCB. - * qt/pinlineedit.cpp, qt/pinlineedit.h (PinLineEdit::~PinLineEdit, - PinLineEdit::setPin, PinLineEdit::pin, - PinLineEdit::setFormattedPassphrase, PinLineEdit::textEdited, - class PinLineEdit::Private): New. - * qt/pinlineedit.cpp: Add static constants FormattedPassphraseGroupSize, - FormattedPassphraseSeparator. - (PinLineEdit::PinLineEdit): Initialize new field. Connect textEdited - signal. - * qt/pinlineedit.h (PinLineEdit::PinLineEdit): Add explicit specifier. - Make argument optional. - (PinLineEdit::keyPressEvent): Add override specifier. - (PinLineEdit): Make inherited QLineEdit::setText and QLineEdit::text - private. Add field d. - - Add support for formatted passphrase options. - + commit deb97f3eb65f64ccabffee74c037a3dca81a3f49 - * pinentry/pinentry.h (struct pinentry): Add fields - formatted_passphrase, formatted_passphrase_label, - formatted_passphrase_tt, formatted_passphrase_hint. - * pinentry/pinentry.c (pinentry_reset): Free the fields. - (option_handler): Add options "formatted-passphrase", - "formatted-passphrase-label", "formatted-passphrase-tt", - "formatted-passphrase-hint". - -2021-04-16 NIIBE Yutaka <gniibe@fsij.org> - Jakub Jelen <jjelen@redhat.com> - - tty: Fix error return paths and its resource leaks. - + commit 7f7fd8bcfd74919091cc318b27b8617a9ef2ac82 - * tty/pinentry-tty.c (tty_cmd_handler): Only call do_touch_file - on successful interaction. Fix closing file. - -2021-04-15 NIIBE Yutaka <gniibe@fsij.org> - - build: Update m4/gpg-error.m4. - + commit 6b697bd3e9f859cea338936894079241f2e15ffc - * m4/gpg-error.m4: Update from libgpg-error. - - Let autogen.sh create the VERSION file. - + commit 1c0c177fa5aee63bc2c12ba2074a337555254d99 - * autogen.sh: Update from Libgpg-error - * configure.ac: Use autogen.sh --find-version. - * Makefile.am (dist-hook): Do not create VERSION. - (EXTRA_DIST): Add VERSION. - * autogen.rc: Remove obsolete use of --with-gpg-error-prefix and - --with-libassuan-prefix, which is not needed any more. - -2021-04-14 Jakub Jelen <jjelen@redhat.com> - - core,emacs,tty,curses: Fix memory leaks, invalid accese, and mistake. - + commit a87d9e8f89f946a733c756c72bf5ec41e0a738b8 - * pinentry/pinentry-curses.c (dialog_create): Free NEW. - [HAVE_NCURSESW] (dialog_run): Free OLD_CTYPE on error. - * pinentry/pinentry.c (pinentry_inq_genpin): Free VALUE on error. - * tty/pinentry-tty.c (tty_cmd_handler): Don't access closed FDs. - * pinentry/pinentry-emacs.c (set_labels): Fix for ->default_cancel. - -2021-02-23 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - qt: Honor the --disable-rpath option. - + commit 6e8ad3150566d16a20cb3b54267191bcb0c14208 - * m4/qt.m4: Do not set rpath if --disable-rpath has been specified - at configure time. - -2021-02-19 Ingo Klöcker <dev@ingo-kloecker.de> - - build: Make EFL libraries optional unless EFL is explicitly wanted. - + commit d09e7de3df65b22ae2e606e5c9e32dda260c8bef - * configure.ac: Build pinentry-efl if EFL libraries are found. If EFL - libraries are not found, then warn or error out depending on whether EFL - is explicitly requested or not. - -2021-02-18 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - build: Simplfy use of pkg-config when testing for EFL. - + commit 19a18ba5fee049aac87b5114763095aaeb42430f - * configure.ac: use standard PKG_CONFIG macros when testing for EFL - libraries. - - GnuPG-Bug-Id: T5308 - -2021-02-16 Bertrand Jacquin <bertrand@jacquin.bzh> - - efl: Convert pinentry description to markup. - + commit d6a3a048f172cf79869d1a0c0bc1e1c659e5dab7 - * efl/pinentry-efl.c (create_window): Convert all UI strings to markup - text. - -2021-02-13 Bertrand Jacquin <bertrand@jacquin.bzh> - - efl: Ensure pinentry window is activated. - + commit 8fcbc9f40102d083db7a4acff2445e546ff5ec8b - * efl/pinentry-efl.c (create_window): Call elm_win_activate. - -2021-01-26 Andre Heinecke <aheinecke@gnupg.org> - - qt: Fix build against Qt4. - + commit 2859eddfb0c935d3f9eb9ccc1b42c121621123e9 - * qt/main.cpp: Ifdef out QWindow usage. - * qt/pinentrydialog.cpp: Only call the raiseWindow delayed when - using Qt5. - -2021-01-18 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - build: Fix make dist with newer Automake. - + commit b3e83681119e74a7a084310cd1ab14170cb549d5 - * qt/Makefile.am: Make sure .moc files are only built if needed. - * tqt/Makefile.am: Likewise. - -2020-12-21 NIIBE Yutaka <gniibe@fsij.org> - - gtk+-2: Avoid use of deprecated API. - + commit de1829f81f31df37912198dda4a0c31c75a79c01 - * gtk+-2/pinentry-gtk-2.c (create_window): Use - gtk_widget_set_can_default. - -2020-11-20 Andre Heinecke <aheinecke@gnupg.org> - - qt: Disable generate button for now. - + commit 749529cac2b050586518d8de145a55901d6158cd - * qt/pinentrydialog.cpp: Disable generate until we make it - prettier. - -2020-11-18 NIIBE Yutaka <gniibe@fsij.org> - - build: Update to newer autoconf constructs. - + commit 5c83f6314e3fe6cb78d92e353263ac519821c927 - * configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE. - Use AS_HELP_STRING instead of AC_HELP_STRING. - * m4/gpg-error.m4: Update from libgpg-error. - * m4/libassuan.m4: Update from libassuan. - -2020-11-06 Andre Heinecke <aheinecke@gnupg.org> - - qt: Improve focus and frontness. - + commit a421ae8c4d2a0ce182e099e634e49ccdad454627 - * qt/pinentrydialog.cpp (raiseWindow): Use QtWindowsWindowFunctions - to get a more agressive bring to frontness. - (PinEntryDialog::PinEntryDialog): Start minimized. - - qt: Fix crash when generate icon was not found. - + commit cd2e69bfcf2630d7a61c4499b49c21790a1821d1 - * qt/pinentrydialog.cpp (PinEntryDialog::setGenpinLabel) - (PinEntryDialog::setGenpinTT): Check for NULL. - - qt: Silence deprecation warning. - + commit e4f1681550b1c42c062bc0e209947f13351cf02c - * qt/pinentrydialog.cpp (PinEntryDialog::setDescription): QString::null - is deprecated. - - qt: Add genpin suppport. - + commit 340e3ef6f4fc1136bc38691745aeb651cbf263a1 - * pinentry/pinentry.c (pinentry_inq_genpin): New. Based on - inq_quality. - (cmd_setgenpin_tt, cmd_setgenpin_label): New string helpers. - (register_commands): Register stringhelper commands. - * pinentry/pinentry.h (struct pinentry): Add new variables for - label and tooltips. - * qt/main.cpp (qt_cmd_handler): Set up labels. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Add - generate action if label is provided. - (PinEntryDialog::setGenpinLabel): New. - (PinEntryDialog::setGenpinTT): New. - (PinEntryDialog::textChanged): Hide generate action if text - is entered. - (PinEntryDialog::generatePin): Inquire generate. - (PinEntryDialog::toggleVisibility): Allow calls from other - senders. - -2020-05-08 Andre Heinecke <aheinecke@gnupg.org> - - curses: Fix build with ncurses 6.2. - + commit ae584040d14a4d7d6eed8be77844126130ef0118 - * pinentry/pinentry-curses.c (curses_cmd_handler): Use - renamed variable. - * pinentry/pinentry.c (pinentry_reset, pinentry_parse_opts) - (option_handler, cmd_getinfo) Use renamed variable. - * pinentry/pinentry.h (struct pinentry): Rename ttytype to - ttytype_l. - -2020-01-10 David Faure <faure@kde.org> - - qt: Add rpath so the Qt libs are found at runtime. - + commit 971d1365ab16279bb33312583c320008e391f26e - * configure.ac: Add PINENTRY_QT_LDFLAGS variable. - * m4/qt.m4: Check qt libdir and add it to LDFLAGS. - * qt/Makefile.am: Use PINENTRY_QT_LDFLAGS. - -2019-12-05 NIIBE Yutaka <gniibe@fsij.org> - - build: Require newer GTK+2 (>= 2.12.0). - + commit 099b79fc2d6638598b94161e1162a55af8a95531 - * configure.ac: Check gtk+-2.0 >= 2.12.0. - - gtk: Remove support of old GTK+2 (< 2.12.0). - + commit edbd0d61b35fe7408cb879c0bd81daf42accb5ed - * gtk+-2/pinentry-gtk-2.c (tooltips): Remove - (create_window): Remove use of tooltips, but use - gtk_widget_set_tooltip_text. - -2019-11-14 Werner Koch <wk@gnupg.org> - - core: Allow to query info about the emacn integration. - + commit 02a4f2fa0d8c8a63e72b9b9924b2817bfacce09a - * pinentry/pinentry-emacs.c (pinentry_emacs_status): New. - * pinentry/pinentry.c (cmd_getinfo): Add emacs info getinfo. - - emacs: Handle options before trying to conenct to emacs. - + commit f4b896ab75ba6536e78c56d377ad5ab6ff69b944 - * emacs/pinentry-emacs.c (main): Parse options first. - -2019-07-25 Andre Heinecke <aheinecke@gnupg.org> - - qt: Fix use of dangling pointer in QApplication. - + commit 0e2e53c8987d6f236aaef515eb005e8e86397fbc - * qt/main.cpp (main): Use a new variable for argc that stays - valid. - -2019-07-10 NIIBE Yutaka <gniibe@fsij.org> - - curses: Fix more. - + commit dad35d65f05eb1c15589a7e4755dcae6aed2d6cf - * pinentry/pinentry-curses.c (dialog_create): Reverting was not - enough. Correctly check with the character at len - 1. - -2019-07-09 NIIBE Yutaka <gniibe@fsij.org> - - curses: Fix handling of newline in description. - + commit a03f3920714830b1f09b48f41be5a0aa8177f11a - * pinentry/pinentry-curses.c (collect_line): LEN including the - newline/null character. - (dialog_create): Fix the caluculation. - - curses: Fix width calculation. - + commit 67a7cfa12d1525097d9822124c9bd05207204a60 - * pinentry/pinentry-curses.c (collect_line): Fix caluculation - where skipping the first character and adding 1 column. - - curses: Fix calculation of columns for CJK text. - + commit 9298cca67742df946efb9ba268a04904339454f1 - * pinentry/pinentry-curses.c (STRWIDTH): New. - (collect_line): Let return value for columns width. - LEN minus one. - (dialog_create): Calculate for the columns with STRWIDTH. - -2019-06-27 NIIBE Yutaka <gniibe@fsij.org> - - tty: Confirmation is not by line edit mode. - + commit f6e84ce0a34c5314999ac9af2f1d360c157b1ed5 - * tty/pinentry-tty.c (terminal_setup): Support single char mode. - - tty: Support line editing by system. - + commit 531b92300c58aee665b55d1dffa7ffb4027cba20 - * tty/pinentry-tty.c (terminal_setup): Not cbreak, but only no echo. - (confirm, read_password): Don't do editing here. - [HAVE_DOSISH_SYSTEM] (confirm, read_password): Return - GPG_ERR_FULLY_CANCELED when EINTR and it's not timed out. - (tty_cmd_handler): Call sigaction for SIGINT. - - Exit the loop on an error with GPG_ERR_FULLY_CANCELED. - + commit b176a8ac0dcd682549084cbf02876a550226d722 - * pinentry/pinentry.c (cmd_getpin, cmd_confirm): Set - ASSUAN_FORCE_CLOSE flag when GPG_ERR_FULLY_CANCELED. - - tty: Factor out terminal setup into tty_cmd_handler. - + commit 89add7b733138d7fe86d348be57873936cab3112 - * tty/pinentry-tty.c (terminal_save, terminal_restore): New. - (terminal_setup): Rename from cbreak. - (confirm, read_password): Don't touch terminal setting here. - (tty_cmd_handler): Do terminal setting/restore here. - -2019-06-10 Ineiev <ineiev@gnu.org> - - tty: Show supplied message when using default. - + commit 95743b2cd7361aab10c5eb4f430928d09ce9c214 - * tty/pinentry-tty.c (fputs_highlighted): New function. - (button): Display the supplied text when falling back to default; the - default text is shown in braces and provides the accelerator. - -2019-05-13 NIIBE Yutaka <gniibe@fsij.org> - - build: Update m4/iconv.m4. - + commit 42c32e08d5a428627e5f74e0ab2bf4102e511b40 - * m4/iconv.m4: Update from gettext 0.20.1. - -2019-04-17 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - gnome3: correctly detect when no GNOME screenlock exists. - + commit f74c4673e6b60508012c14f7574dbc3215345210 - * gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): skip - G_IO_ERROR_IS_DIRECTORY responses, not G_IO_ERROR_TIMED_OUT responses - from dbus. - -2019-04-17 Zephaniah E. Loss-Cutler-Hull <zephaniah@gmail.com> - - gnome3: Use the default dbus timeout when checking for screenlock. - + commit 65d2c6d5911ab04b19f953153d01116198cc4cb8 - * gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): use default dbus - timeout instead of 0ms. - -2019-03-04 NIIBE Yutaka <gniibe@fsij.org> - - Update gpg-error.m4 and libassuan.m4 from corresponding repos. - + commit 6ddcc92cf6e9a904a5c98982709edeb42034843d - * m4/gpg-error.m4: Update. - * m4/libassuan.m4: Update. - -2019-02-10 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - build: Add --disable-doc option. - + commit 8f8d907f53b2749642ee273e2cec28f7d68f26ff - * configure.ac (BUILD_DOC): Add new am_conditional. - * Makefile.am: Skip doc subdir if BUILD_DOC is not set. - -2019-02-10 Damien Goutte-Gattat <dgouttegattat@incenp.org> - Michael Bäuerle - - fltk: Handle '_' in button labels as keyboard shortcuts. - + commit 21f0883059c84de7145d402877cd178fcfed44e3 - * fltk/main.cxx (convert_accel_utf8): New method. - (fltk_cmd_handler): Calls previous method to escape button labels. - -2019-02-10 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - fltk: Fix formatting escapes. - + commit a60e4f8142159b3e2df10d8d725b9680be5b4616 - * fltk/main.cxx (fltk_cmd_handler): Fix calls to fl_message() - and fl_choice() functions. - -2018-08-22 Damien Goutte-Gattat via Gnupg-devel <gnupg-devel@gnupg.org> - - Disallow echo disabling when prompting for a PIN. - + commit d0eaec8ef60be9b4d1aa5993c11d261a35202a2e - * gtk+-2/pinentry-gtk-2.c (create_window): Do not setup - the backspace handler when prompting for a PIN. - callback only when not prompting for a PIN. - * qt/pinentrydialog.h (_got_input): Rename field to - _disable_echo_allowed. - * qt/pinentrydialog.cpp (PinEntryDialog::setPrompt): Disallow - echo disabling when prompting for a PIN. - * tqt/pinentrydialog.h (_got_input): Rename field to - _disable_echo_allowed. - * tqt/pinentrydialog.cpp (PinEntryDialog::setPrompt): Disallow - echo disabling when prompting for a PIN. - -2018-08-15 Damien Goutte-Gattat via Gnupg-devel <gnupg-devel@gnupg.org> - - tqt: Disable echoing if backspace is pressed first. - + commit 0fb3392f61569cb93e52c81465bc8e4636bca3b7 - * tqt/secqlineedit.h (backspacePressed): New signal. - * tqt/secqinternal.cpp (SecTQLineEdit::backspace): Emit new signal. - * tqt/pinentrydialog.h (_got_input): New member field. - (onBackspace): New slot. - * tqt/pinentrydialog.cpp (onBackspace): New slot. - (PinEntryDialog::updateQuality): Prevent echo disabling as soon as - the text has been edited. - - qt: Disable echoing if backspace is pressed first. - + commit a75786a11666a080cae67f6e386163fcf93ff233 - * qt/pinlineedit.h: New file. - * qt/pinlineedit.cpp: New file. - * qt/Makefile.am: Add new source files. - * qt/pinentrydialog.cpp (PinEntryDialog): New member _got_input; - Type of _edit member changed to PinLineEdit. - (PinEntryDialog::onBackspace): New slot. - - gtk: Disable echoing if backspace is pressed first. - + commit 4b06bc6009011a84e5e8d4da2f01659f35e5a2d5 - * gtk+-2/pinentry-gtk-2.c (backspace_handler): New callback. - (create_window): Attach previous callback to "backspace" signal. - - curses: Disable echoing if backspace is pressed first. - + commit fd22facabd784586f72eeecc72830620a534929c - * pinentry/pinentry-curses.c (struct dialog): New fields got_input, - no_echo. - (dialog_input): Disable echoing and display instead "[no echo]" if - the backspace key is pressed first. - -2018-06-13 Werner Koch <wk@gnupg.org> - - core: Add info about tty mode etc to 'getinfo ttyinfo' - + commit 779b8e6df7d2678d40bc61ba9e9ff35324a40d03 - * configure.ac: Check for 'stat'. - * pinentry/pinentry.c: Include types.h and stat.h. - (device_stat_string): New. - (cmd_getinfo): Print more info. - -2018-05-29 William L. Thomson Jr <wlt@o-sinc.com> - - efl: Add an EFL-based pinentry. - + commit 948105b7a34ec9a9e5479d376b7c86bafee50a01 - * NEWS: Update. - * Makefile.am: Add new efl subdirectory. - * configure.ac: Add --enable-pinentry-efl option. - * efl/Makefile.am: New file. - * efl/pinentry-efl.c: New file. - -2018-03-05 Andre Heinecke <aheinecke@intevation.de> - - qt: Try again to fix Windows Window Management. - + commit fa817f00363cdc305728ece6139d76361c77f361 - * qt/pinentrydialog.cpp (raiseWindow): Activate Window and - disable windows hacks. - (PinEntryDialog::PinEntryDialog): Delay setFocus after the - event loop returns. - -2018-03-01 Andre Heinecke <aheinecke@intevation.de> - - qt: Renable Windows Foreground Window hacks. - + commit 141fd941a58f70692cb6244f011e54b005d2195c - * qt/main.cpp, qt/pinentryconfirm.cpp: Use raiseWindow again. - * qt/pinentrydialog.cpp: Renable Foreground Window hacks. - -2018-02-28 Andre Heinecke <aheinecke@intevation.de> - - qt: Clean up foreground window code. - + commit 84d473f5c323a3001374b0db736af9be4e3478a3 - * qt/main.cpp (ForeignWidget): Remove. This did nothing - with Qt 5. - (setup_foreground_window): New helper to set parent and - window flags. - (qt_cmd_handler): Use setup_foreground_window. - * qt/pinentrydialog.cpp: Disable Windows API hacks. - -2018-02-06 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - tqt: use UTF-8 instead of ISO-8859-1. - + commit 822c66815b5072281563fc4faa055493d20d660d - - -2017-12-03 Werner Koch <wk@gnupg.org> - - Release 1.1.0. - + commit 02df3d26b986c8f2850eeba47efcb3aca9d5dbcb - - -2017-11-22 Damien Goutte-Gattat <dgouttegattat@incenp.org> - "deloptes" <deloptes@gmail.com> - - tqt: Add a TQt-based pinentry. - + commit 985e5cad6f60de8e60d8ae410cffcd7e2d84f3a2 - * NEWS: Update. - * Makefile.am: Add new tqt subdirectory. - * configure.ac: Add --enable-pinentry-tqt option. - * tqt/Makefile.am: New file. - * tqt/main.cpp: New file. - * tqt/pinentrydialog.cpp: New file. - * tqt/pinentrydialog.h: New file. - * tqt/secqinternal.cpp: New file. - * tqt/secqinternal_p.h: New file. - * tqt/secqlineedit.cpp: New file. - * tqt/secqlineedit.h: New file. - * tqt/secqstring.cpp: New file. - * tqt/secqstring.h: New file. - -2017-11-21 Werner Koch <wk@gnupg.org> - - w32: Allow building for Windows again. - + commit 8ea3a6c3f8e72ebece2af9b1b05ea1da4865a786 - * pinentry/pinentry.c [W32]: Do not include utsname.h - (WITH_UTF8_CONVERSION): New macro. - (lc_ctype_unknown_warning): Move that var to the top and define only - if needed. - (pinentry_utf8_to_local, pinentry_local_to_utf8): Simplyfy by using - the new macro. - (get_cmdline) [W32]: Do not build. - (get_pid_name_for_uid) [W32]: Do not build. - (pinentry_get_title) [W32]: Do not use the new utsname code. - (option_handler) <debug-wait>: Ignore for any Windows version. - -2017-11-20 Werner Koch <wk@gnupg.org> - - Add SPDX-License-Identifier to most files. - + commit 622f876784239c9524a598e6486181bcd0ee64b2 - - - Add copyright info for AUTHORS. - + commit 738ab548f13cc032f01ca5da1f8dc3ea221b209d - - -2017-11-16 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - fltk: Fix compilation and distcheck errors. - + commit 89ae5378d1cc54be0825bcfa3ea567b1caa4a247 - * fltk/Makefile.am (AM_CXXFLAGS): Add -std=c++11 flag. - (pinentry_fltk_SOURCES): Add header files. - (EXTRA_DIST): Add icon files. - * .gitignore: Ignore autoconf-generated files in fltk/. - -2017-10-19 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - core: Expect (and verify) a uid on "owner" option. - + commit 6aafa61b199ab9091d6c9e190129f2ead2a647c7 - * pinentry/pinentry.h (struct pinentry): Add field 'owner_uid'. - * pinentry/pinentry.c (pinentry_reset): Handle this new field. - (get_pid_name_for_uid): New. Atomic check for the base process name - contingent on process ownership. - (pinentry_get_title): Only scan for full commandline if the process - actually belongs to the claimed uid. - (option_handler): Option "owner" now expects "pid/uid hostname". - -2017-10-12 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - core: Only scan for the command line if probably on the same host. - + commit 1f5b351531205214e9513a0aed170660dc822ceb - * pinentry/pinentry.c (pinentry_get_title): Check the current hostname - and make sure it matches. If it does not, do not bother looking for - the command line. - - core: Clean up command line extraction. - + commit 242b658289488696d371c639c1da631712bd774c - * pinentry/pinentry.c (get_cmdline): Avoid trailing space, and return - NULL when no bytes were read from /proc. - - tty: correct comments. - + commit d7c54372512fbbd77709a3ea913b902061e5d45d - * tty/Makefile.am, tty/pinentry-tty.c: comments were copy/pasted from - pinentry-curses; correcting them. - -2017-08-23 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - gtk: Really always set the window as transient. - + commit 2b1fb2f30a94a967dacec298e3c7d8a80b4c3194 - * gtk+-2/pinentry-gtk-2.c (make_transient): Set the window as - transient even if we do not grab the keyboard. - -2017-08-23 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de> - - core: Supress compiler warnings. - + commit 858bde1fbbc5e14f2d6410da05869188bdc36ee3 - * pinentry/password-cache.c (password_cache_save, password_cache_lookup, - password_cache_clear) [!HAVE_LIBSECRET]: Suppress unused parameter - warnings. - -2017-08-04 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - gtk: Disable tooltips in keyboard-grabbing mode. - + commit 1590b664d88be8386a4664c2994b685187d1eb25 - * gtk+-2:/pinentry-gtk-2.c (show_hide_button): Do not show the - tooltip if we attempt to grab the keyboard. - (create_window): Likewise. - -2017-07-12 Daiki Ueno <ueno@gnu.org> - - doc: Make Emacs frontend description more accurate. - + commit ebfa54e6044420ae12a090cdef9df7e7b0d961d2 - * doc/pinentry.texi (Front ends): Remove false assertions on - insecurity of Emacs, and mention allow-emacs-pinentry option of - gpg-agent. - -2017-07-12 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de> - - core: Disable "save passphrase" checkbox without secret service. - + commit e57bcb7a2acff3a61a342d24e6a55407bf736631 - * pinentry/password-cache.c (password_cache_lookup): New argument - FATAL_ERROR. Set it on fatal error. - * pinentry/password-cache.h (password_cache_lookup): New argument - FATAL_ERROR in declaration. - * pinentry/pinentry.c (cmd_getpin): On fatal error, disallow - external password store. - * NEWS: Update. - -2017-07-11 Alon Bar-Lev <alon.barlev@gmail.com> - - Use pkg-config consistently. - + commit 6053cb4f3873897acf5d899bc6f02046d0748a0f - * configure.ac: Invoke PKG_PROG_PKG_CONFIG. Consistently use - PKG_CHECK_MODULES for GTK+2.0, Gnome 3 and libsecret. - * gnome3/Makefile.am (AM_CPPFLAGS, LDADD): Adjust Gnome 3 flags. - * gtk+-2/Makefile.am (AM_CPPFLAGS, LDADD): Adjust Gtk+2.0 flags. - -2017-07-11 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de> - - curses: Add option to beep or flash terminal on dialog. - + commit 1dba96fafa123f3631c0a50bb01835306c23b903 - * pinentry/pinentry-curses.c (dialog_run): Beep or flash terminal. - * pinentry/pinentry.c (pinentry_reset): Reset ttyalert option. - (pinentry_parse_opts): Parse option ttyalert. - (option_handler): Handle option ttyalert. - * pinentry/pinentry.h (struct pinentry): New option ttyalert. - -2017-07-05 Damien Goutte-Gattat <dgouttegattat@incenp.org> - - gtk: Always set the window as transient. - + commit f69dadc6ccea7672869436291ab5c1f58d545466 - * gtk+-2/pinentry-gtk-2.c (create_window): Setup the make_transient - callback whether we ask for a passphrase or not. - -2017-05-03 Andre Heinecke <aheinecke@intevation.de> - - qt: Improve width of pinentryconfirm. - + commit 4101806bf73caf25c8ce4e455b154901da1fe788 - * qt/pinentryconfirm.cpp (PinentryConfirm::showEvent): Add spacer - item for text width. - - qt: Fix build with Qt4. - + commit 8bf41fe086438de9fa223ccf4162ed9d98e54646 - * qt/main.cpp (main): Don't use Q_NULLPTR. - -2017-03-08 Justus Winter <justus@gnupg.org> - - fltk: Remove commented-out code. - + commit 5c3f796798d655b5583257f9dfc81ae9c1427fb3 - * fltk/main.cxx: Remove commented-out code. - - fltk: Fix warning. - + commit 2b2bbc9f67115baf518514281d3911b727b1caf9 - * fltk/main.cxx (fltk_cmd_handler): Use a 'std::unique_ptr' instead of - a deprecated 'std::auto_ptr'. - -2017-03-08 Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com> - - fltk: Add a FLTK-based pinentry. - + commit 6c45eed62214b44fcc11e642b19df7b6ca0da0bd - * NEWS: Update. - * Makefile.am: Add new subdirectory. - * configure.ac: Add configuration for FLTK. - * fltk/Makefile.am: New file. - * fltk/encrypt.xpm: Likewise. - * fltk/icon.xpm: Likewise. - * fltk/main.cxx: Likewise. - * fltk/passwindow.cxx: Likewise. - * fltk/passwindow.h: Likewise. - * fltk/pinwindow.cxx: Likewise. - * fltk/pinwindow.h: Likewise. - * fltk/qualitypasswindow.cxx: Likewise. - * fltk/qualitypasswindow.h: Likewise. - -2017-02-13 Andre Heinecke <aheinecke@intevation.de> - - qt: Fix pinentry-curses fallback for qt5. - + commit cd7b35e8ff106993b9ce98ea99a5210d637f3452 - * qt/main.cpp (main): Initialize QApplication later. - -2017-02-03 Werner Koch <wk@gnupg.org> - - core: Show the command line in the titlebar. - + commit e467a000f87e87582f5838964b6f1e0a960d4445 - * pinentry/pinentry.c (get_cmdline): New. - (pinentry_get_title): Add the cmdline to the title. - - Use a shared function to construct the title. - + commit 36d32fbdedb07b285d01871b3ee66400c81681d3 - * pinentry/pinentry.c (pinentry_get_title): New. - * qt/main.cpp (qt_cmd_handler): Use that function for the title. - * tty/pinentry-tty.c (confirm, password): Ditto. - * gnome3/pinentry-gnome3.c (create_prompt): Ditto. - * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. - * pinentry/pinentry-emacs.c (set_labels): Ditto. - - gtk: Unless SETTITLE is used show the pid in the titlebar. - + commit c0d60e130b9bbd21801c8e71e80ab7c36f4ad6bd - * gtk+-2/pinentry-gtk-2.c (create_window): Display the pid as title. - - core: New Assuan option "owner". - + commit 61cde37b3e6a41bd24476d3c285288c12da0ed60 - * pinentry/pinentry.h (struct pinentry): Add fields 'owner_pid' and - 'owner_host'. - * pinentry/pinentry.c (pinentry_reset): Take care of these fields. - (option_handler): New option "owner". - - curses: Do not return OK on error. - + commit ce745a292192b01203ba5f557205a6f000bff953 - * pinentry/pinentry.c (cmd_confirm): Take care not to return OK if the - RESULT is negative. - * pinentry/pinentry-curses.c (dialog_create): Amend error reporting by - setting specific_err_loc. - (dialog_run): Use new var confirm_mode for clearness. In confirm mode - return Cancel instead of error. This is how the gtk Pinentry does it. - - core: New command getinfo/ttyinfo. - + commit cd45d74d07512f8ec8d2b3306a1804457dd12964 - * pinentry/pinentry.c (remember_display): New var. - (pinentry_have_display): Peek at --display. - (pinentry_parse_opts): Set pinentry.display. - (cmd_getinfo): Add sub-command "ttyinfo". - -2017-02-03 Werner Koch <wk@gnupg.org> - Vincent Lefevre <vincent@vinc17.net> - - gtk2: Fix a problem with fvwm. - + commit b0e0bdeac5d40ca645afc9017778b39a26303523 - * gtk+-2/pinentry-gtk-2.c (grab_pointer): Take care of - GDK_GRAB_ALREADY_GRABBED. - -2017-01-16 Justus Winter <justus@g10code.com> - - gnome3: Use the program name as default title. - + commit 8e3aa3204e74e8d7a7538e0d0f04e555f140131b - * gnome3/pinentry-gnome3.c (create_prompt): If no title is requested, - use the program name as the default title. This mimics what the GTK+2 - variant does (although the GTK+2 pinentry seems to use - basename(argv[0])). - -2017-01-13 NIIBE Yutaka <gniibe@fsij.org> - - gnome3: Fix CONFIRM condition. - + commit c725fdd260b0c2291660ff954e6b2250006ec08f - * gnome3/pinentry-gnome3.c (gnome3_cmd_handler): No buffer for PIN means - it's not passphrase input but confirmation dialog. - -2016-12-19 Raphael Kubo da Costa <rakuco@FreeBSD.org> - - Qt: Make sure extended grep is used with '|'. - + commit 1acb06aac3dd08f573d7c2e3be75226346e61ed2 - * m4/qt.m4: Use grep -E when using the alternation character. - -2016-12-01 Werner Koch <wk@gnupg.org> - - Fix linkage problem in tty and emacs pinentries. - + commit c5c7bee68730c9f66a27f9bb0d023480623a2bfb - * emacs/pinentry-emacs.c (curses_cmd_handler): Remove var. - * tty/pinentry-tty.c (curses_cmd_handler): Remove var. - * pinentry/pinentry.c (flavor_flag): New local var. - (pinentry_set_flavor_flag): New function. - (cmd_getinfo): Use FLAVOR_FLAG for the "flavor" sub-command. - * gnome3/pinentry-gnome3.c (main): Call pinentry_set_flavor_flag. - * gtk+-2/pinentry-gtk-2.c (main): Ditto. - * pinentry/pinentry-emacs.c (initial_emacs_cmd_handler): Ditto. - * qt/main.cpp (main): Ditto. - -2016-11-22 Werner Koch <wk@gnupg.org> - - Create SWDB entry during make distcheck. - + commit d015020b56dc11848d638d8a0f22c11971f896ea - * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Build emacs flavor. - (distcheck-hook): New. - - Release 1.0.0. - + commit 5eb55801a70148111a78a7ffd8ee459790f1aafe - - - emacs: Add curses handler stub. - + commit d126036671e7dd631babc118cb4113f723f15748 - * emacs/pinentry-emacs.c (curses_cmd_handler): New stub. - -2016-11-08 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - gnome3: Tighten up error messages when GNOME screensaver is absent. - + commit cf8885fd5a61654a164f470fa3e7095b8e424258 - * gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): clean up error - messages when GNOME screensaver is absent or misbehaving. - -2016-11-07 Werner Koch <wk@gnupg.org> - - Add fail-safe string termination for snprintf. - + commit 8f51108a17d0080c33fae182f1e4b9259f10a9e5 - * gtk+-2/pinentry-gtk-2.c (changed_text_handler): Make sure an - snprintf buffer is always ternminated. - * pinentry/pinentry.c (my_strusage): Ditto. - (write_status_error): Ditto. - (cmd_getinfo): Ditto. - * w32/main.c (w32_strerror): Ditto. - -2016-11-07 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - gnome3: Avoid risk of uinitialized memory access. - + commit 15a6fd9f1ee0e3bc62daf143546f5186ce947700 - * gnome3/pinentry-gnome3.c (_propagate_g_error_to_pinentry): Ensure - that pinentry->specific_err_info is null-terminated. - - tty: Declare dummy curses_cmd_handler. - + commit e4e3a9cc88704dcffac660d0b92fd1ed8abecc11 - * tty/pinentry-tty.c: Declare a dummy handler for the - curses_cmd_handler for fallback. - - gnome3: Fall back to curses if screensaver is locked. - + commit e353f4d1ac31e58f46eeba29279adf809dfb96a9 - * gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): New Function. - Returns true only if we can talk to a GNOME screensaver over D-Bus and - it assures us that it is locked. - (main): If GNOME screensaver is locked, fall back to curses. - -2016-11-05 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - gnome3: Test if Gcr System Prompter is available at startup. - + commit 2e17565fd9cb94afe840050780d28db75e5c4053 - * gnome3/pinentry-gnome3.c (gcr_system_prompt_available): New. Tests - whether it is possible to create a GcrSystemPrompt. - (main): Use gcr_system_prompt_available() to decide whether to fall - back to curses or not. - - build: Avoid unnecessary dependency on gtk+-2 for GNOME3 development. - + commit b945576fe906ffcd5bcc50b4322ef2f34d8fb89f - * configure.ac: There is no reason to reject building the GNOME3 - pinentry if GTK+-2 development libraries are not present. GNOME3 does - not require GTK+-2. - -2016-11-05 Werner Koch <wk@gnupg.org> - - gnome3: Avoid using gnome and gcr symbol namespace. - + commit 799116010a57aec9a86c5529388111d54aff3c55 - * gnome3/pinentry-gnome3.c (struct _gnome3_run): Rename to - pe_gnome3_run_s. - (_gcr_prompt_password_done): Rename to pe_gcr_prompt_password_done. - (_gcr_prompt_confirm_done): Rename to pe_gcr_prompt_confirm_done. - (_gcr_timeout_done): Rename to pe_gcr_timeout_done. - -2016-11-05 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - gnome3: Honor timeout. - + commit f7b99ff5f7f78db45350308bf409ea4a9e94f161 - * gnome3/pinentry-gnome3.c (create_prompt): Use timeout to determine - how long to wait for Gcr to provide a system prompt before giving up. - (_gcr_timeout_done): New. Record that a timeout has elapsed. - (gnome3_cmd_handler): Set up a timeout before launching the prompt, - and tear it down afterward. - (_gcr_prompt_password_done): Report timeout differently from normal - cancellation. - (_gcr_prompt_confirm_done): Report timeout differently from normal - cancellation. - - gnome3: Convert password/confirmation to asynchronous model. - + commit d0fe54d592a8d2be6fc82b26290a644bb3629214 - * gnome3/pinentry-gnome3.c (gnome3_cmd_handler): Convert main part of - password or confirmation fetching into asynchronous code by moving - completion into... - (_gcr_prompt_password_done): ... here and... - (_gcr_prompt_confirm_done): ... here. - - qt: Report timeout. - + commit 102832a2c1f3ffa432e2a169791611bb3ca13a04 - * qt/pinentryconfirm.h (PinentryConfirm): Add _timed_out, timedOut(). - * qt/pinentrydialog.h (PinentryDialog): Add _timed_out, timedOut(). - * qt/pinentryconfirm.cpp (slotTimeout): Record elapsed timeout. - (PinentryConfirm): Initialize _timed_out to false. - (timedOut): New. Returns value of _timed_out. - * qt/pinentryDialog.cpp (slotTimeout): Record elapsed timeout. - (PinentryDialog): Initialize _timed_out to false. - (timedOut): New. Returns value of _timed_out. - * qt/main.cpp (qt_cmd_handler): Report if canceled due to timeout. - - curses: Report timeout. - + commit 784c4e0a3acace39a4a632bf443c794752297d54 - * pinentry/pinentry-curses.c (dialog_run): Report if canceled due to - timeout. - - gtk2: Report timeout. - + commit 93b4454f4fe4d97dd89efccd64dbdd02bd002f77 - * gtk+-2/pinentry-gtk-2.c (create_window): Send pointer to pinentry - into timeout_cb. - (timeout_cb): Report if canceled due to timeout. - - tty: Report timeout. - + commit 3be5b4fabaabf86f085b0b5303a1312abb7d0617 - * tty/pinentry-tty.c (confirm): Report if canceled due to timeout. - (password): Report if canceled due to timeout. - - gnome3: Propagate GError messages to pinentry. - + commit 19c2110557d0504c1b406bde24e86cb5eb552fc7 - * gnome3/pinentry-gnome3.c (_propagate_g_error_to_pinentry): New. Send - GError messages back out to pinentry error reporting. - (create_prompt): Use _propagate_g_error_to_pinentry on error. - (gnome3_cmd_handler): Use _propagate_g_error_to_pinentry on error. - - gnome3: Set parent window. - + commit 96e3c5fcf210e971fe1ba66b9127ad51144fcc49 - * gnome3/pinentry-gnome3.c (create_prompt): Tell Gcr about the caller - window, if we know it. - -2016-11-05 Werner Koch <wk@gnupg.org> - - core: Add command getinfo/flavor. - + commit 553af04cf9c103c2e2cd5085b0d5fb647a608d51 - * pinentry/pinentry.c: Inlcude pinentry-curses.h. - (cmd_getinfo): Add sub-command "flavor" - -2016-11-03 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - Convert to UTF-8. - + commit 7b0a822460eb6f4bf28f85f38c64a86bb8f80d3d - - -2016-10-11 Daiki Ueno <ueno@gnu.org> - - core: Don't report error on setting option 'allow-emacs-pinentry'. - + commit a383ddeb76463ddcf5aca2fb38847ea3158c42a7 - Previously "OPTION allow-emacs-pinentry" returned an error if the Emacs - pinentry is not compiled in. Since it is merely an option, it would - make more sense to just return OK. - -2016-10-04 Werner Koch <wk@gnupg.org> - - gnome3: Drop unnecessary use of gtk. - + commit 65d8e0ec19795d9ec60d7f37f1511f65135cfd84 - * configure.ac: pinentry-gnome3 only needs gcr-base, not gcr. - * gnome3/pinentry-gnome3.c (main): Instead of testing whether GTK can - be loaded, check for DBUS_SESSION_BUS_ADDRESS. - (create_prompt): Use fprintf (stderr, ...) instead of g_warning (...), - to align with the rest of pinentry.c. - - core: Add a way to print ERROR status lines. - + commit 777650b9b021342ba887543396c67f9148218caf - * pinentry/pinentry.h (struct pinentry): New fields SPECIFIC_ERR_LOC - and SPECIFIC_ERR_INFO. - * pinentry/pinentry.c (pinentry_reset): Free the new field. - (write_status_error): New. - (cmd_getpin): Use new fields. - (cmd_confirm): Ditto. - * gnome3/pinentry-gnome3.c (create_prompt): Set error for failed - GCR_PROMPT. - -2016-10-03 Ineiev <ineiev@gnu.org> - - tty: Provide default text for "notok". - + commit db3b2bf0c7ae4d3d0fbeecfe6a9a77ea4ed0f84e - * tty/pinentry-tty.c (confirm): Provide default text for "notok". - - tty: Fix underscore processing in accelerators. - + commit f0ae2986708614bce9070eec77309e838c403db7 - * tty/pinentry-tty.c (button): Fix underscore processing in - accelerators. - - tty: Refactor usage of tolower. - + commit aa969a09a1225f8fb683ba8d0c3ccc099dd8d1d3 - * tty/pinentry-tty.c (button): Apply tolower to the result. - * tty/pinentry-tty.c (confirm): Compare lowercased character instead of - converting them every time. - -2016-09-01 Werner Koch <wk@gnupg.org> - - curses: Return better error codes for bad ttynames. - + commit 4c5ae72d481ffd24ff93accee0b42e9b264285f2 - * pinentry/pinentry-curses.c (dialog_create): Return better error - codes. - -2016-08-18 Andre Heinecke <aheinecke@intevation.de> - - Qt: Add SetWindowPos based foreground hack for Win. - + commit c032ea2dcb4ac3ce970e62eae88fd24bec822f9c - * qt/pinentrydialog.cpp(raiseWindow): Add another fallback for - our foreground window hacks. - -2016-08-12 Andre Heinecke <aheinecke@intevation.de> - - Qt: Disable automatic wrap for desc and errors. - + commit 300755c1a10eec1f8bccd4182ed15c569473982c - * qt/pinentrydialog.cpp (PinEntryDialog): Disable WordWrap. - -2016-08-12 Kristian Fiskerstrand <kf@sumptuouscapital.com> - - Qt: Append -std=c++11 if building against Qt 5.7. - + commit fa97de673bd36758ae4ce151923435318f7c8877 - * m4/qt.m4: Append -std=c++11 to CFLAGS if building against Qt 5.7 - -2016-08-04 Ben Kibbey <bjk@luxsci.net> - - Fix ncurses build. - + commit 2227f67af53f38d3d7f97760f2553d2c9ed05969 - * pinentry/Makefile.am: Add NCURSES_CFLAGS. - -2016-08-02 Justus Winter <justus@g10code.com> - - gtk2: Also grab the pointer. - + commit 2f1f1f06c1885d2f5a30ea734359613609be0743 - * gtk+-2/pinentry-gtk-2.c (grab_pointer): New function. - (ungrab_keyboard): Rename to 'ungrab_inputs' and also release the - pointer grab. - (create_window): Also grab the pointer. - -2016-08-01 Justus Winter <justus@g10code.com> - - gtk2: Be more persistent trying to grab the keyboard. - + commit ad390f29df34ef73f2393a8ad97cbe2d60af31e7 - We seem to get the 'visibility-notify' event before X is willing to - let us grab the keyboard, insisting that the target window is not - viewable (sic). - - * gtk+-2/pinentry-gtk-2.c (grab_keyboard): Retry grabbing the - keyboard. - - gtk2: Print keyboard grabbing errors. - + commit fe5bb475da08cb46242825d5abe5b4d27e6086e3 - * gtk+-2/pinentry-gtk-2.c (grab_strerror): New function. - (grab_keyboard): Use the new function to print the error. - - gtk2: Avoid possible format string troubles. - + commit abf4f9924412c7afb6ce6c08eeda81b4c5365ab5 - * gtk+-2/pinentry-gtk-2.c (confirm_unhiding): Do not use message as - format string. - -2016-04-25 Andre Heinecke <aheinecke@intevation.de> - - Qt: Only use one line action for visibility. - + commit ed066c261594de69c3c2aeaac98aeaf74bbb5f9e - * qt/pinentrydialog.cpp (PinEntryDialog::toggleVisibility): Toggle - both lines in repeat mode. - (PinEntryDialog::PinEntryDialog): Remove repeat line action. - - Qt: Move qualitybar below repeat. - + commit d580304566b5b1c4e7c97c060d7a7b8c0b810ae3 - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Move - quality bar below repeat. - - Qt: Do not take icon from theme. - + commit 1532b60dcc5a45a74195cfbc20225006d027e7fa - * qt/main.cpp (main): Revert changes to take icon from theme. - -2016-04-15 Andre Heinecke <aheinecke@intevation.de> - - Qt: Change qualitybar position back to below. - + commit e925e8955b0a82f1a0e3c697704007c503a5f8b7 - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Change - position back to below the entry. Fix label alignment. - - gtk2: Add a button to show/hide the passphrase. - + commit f4b5049c68a79d5e4faba06447db5440936cefeb - * gtk+-2/pinentry-gtk-2.c (HIG_TINY): New. - (confirm_unhiding): New. - (show_hide_button_toggled): New. - (create_show_hide_button): New. - (create_window): Add a show/hide button. - -2016-04-14 Andre Heinecke <aheinecke@intevation.de> - - Revert "GTK: Add visibility toggle button" - + commit 3a10a0beddc059ce4b0d75bacf6d7f4e3148fcff - This reverts commit 71b51e02cf20174ba7144765e985f7e889eaa429. - - GTK: Add visibility toggle button. - + commit 71b51e02cf20174ba7144765e985f7e889eaa429 - * gtk+-2/pinentry-gtk-2.c (create_window): Create checkbox. - (show_passphrase_toggled): New. Do the toggling. - - Qt: Restrict list of icon themes to try. - + commit 287d40e879f767dbcb3d19b3629b872c08d39cf4 - * qt/main.cpp (main): Only search in select icon themes. - - Qt: Add actions to make passphrase visible. - + commit 49a7ac5209aa54f3b91209acc899463e8097f808 - * qt/main.cpp (qt_cmd_handler): Support visibility tooltips. - * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): - Add a checkbox or line actions. - (PinEntryDialog::checkRepeat): Renabed to textChanged. - (PinEntryDialog::toggleVisibility): New. Toggle echo mode. - * qt/pinentrydialog.h: Update accordingly. - - Add support for visibility string options. - + commit 15685a9c1471eb01066e0bbdb7d6b929a8fcc314 - * doc/pinentry.texi: Note new values. - * pinentry/pinentry.c (pinentry): Add default_cf_visi, - default_tt_visi and default_tt_hide. - (option_handler): Parse new values. - * pinentry/pinentry.h (pinentry_t): Add new values. - - Qt: Implement repeat and improve grabbing. - + commit 04115b3289dcc9b02044f88c08580618c055a571 - The keyboard is now only grabbed if an edit has input focus. - - * qt/main.cpp (qt_cmd_handler): Parse repeat values. Set repeat_okay. - * qt/pinentrydialog.cpp (PinentryDialog::PinentryDialog): Update - layout. Add repeat label and edit. Connect focusChanged. - (PinEntryDialog::hideEvent): Remove grabbing hack. - (PinEntryDialog::focusChanged): New. Properly handle grabbing. - (PinEntryDialog::checkRepeat): New. Enable Ok if repeat matches. - (PinEntryDialog::repeatedPin): New. Getter for repeated pin. - (PinEntryDialog::setRepeatErrorText): Setter for error. - * qt/pinentrydialog.h: Update accordingly. - - Qt: Respect icon themes and only fallback to own. - + commit c6b43bd147186deee84dcccbc14f5763db67a0f3 - * m4/qt.m4: Raise version requirement. - * qt/main.cpp (main): Use QIcon::fromTheme to get the icon. - - Qt: Unify coding style and encoding. - + commit 8d801fe2c74041f2f8c563785ed7cba73f47500e - * qt/main.cpp, qt/pinentryconfirm.cpp, qt/pinentryconfirm.h, - qt/pinentrydialog.cpp, qt/pinentrydialog.h: Use KDE coding style. - Encode as UTF-8. - -2016-03-04 Andre Heinecke <aheinecke@intevation.de> - - Qt: Fix Windows foreground window hacks for Qt5. - + commit 30aa1046afe9a745c918fc1311c1f598c91bf913 - * qt/pinentrydialog.cpp: Use Q_OS_WIN instead of Q_WS_WIN - (SetForegroundWindowEx): Handle new Wid type with casts. - -2016-02-15 Stef Walter <stefw@redhat.com> - - pinentry: Use stderr to print failures in password-cache.c. - + commit 2f5bfa071ab5eaf86f64404bff448ca29cd0bdb6 - Otherwise this interferes with the assuan protocol expected - on stdout. - -2016-01-05 Andre Heinecke <aheinecke@intevation.de> - - Qt: Fix use after free in quality calculation. - + commit 954da56c2325c3a5ca628cfc2e3086c1e146a390 - * qt/pinentrydialog.cpp (PinEntryDialog::updateQuality): Keep UTF8 - byte array alive after conversion. - -2015-12-07 Werner Koch <wk@gnupg.org> - - Release 0.9.7. - + commit 97b6ea59de0ca33323aa204eb47d45fd412a8ff2 - - -2015-12-01 Werner Koch <wk@gnupg.org> - - Remove unused code. - + commit bd3781f92bb0989bfbc33a89fe1f6db3c89cdf31 - * secmem/util.c (lower_privs, raise_privs): Remove commented - functions. - -2015-11-27 Neal H. Walfield <neal@gnu.org> - - tty: Fix formatting. - + commit 999162e7c38d4b8c76270e7b6790417fd6439ef3 - * tty/pinentry-tty.c (password): Remove trailing space. - -2015-11-18 Neal H. Walfield <neal@gnu.org> - - tty: Flush output. Show an error if an invalid option is selected. - + commit f238a58772b7d51362ca7d819e1648a64ff50d57 - * tty/pinentry-tty.c (confirm): Flush the output after printing the - prompt. Echo what the user typed. If the user's selection is - invalid, indicate as much. - -2015-10-22 Dirk Mueller <dirk@dmllr.de> - - Qt: Do not use temporary reference to utf8 pin. - + commit f143d216eff4eac3f05a85640b9f91431aec5588 - * qt/main.cpp (qt_cmd_handler): Keep utf8 pin byte array. - -2015-10-02 Andre Heinecke <aheinecke@intevation.de> - - Qt: Fix assignment of have_qt5_libs variable. - + commit 48ab8cdccff4eefec4d8fa2e23b933c2277bc30c - * m4/qt.m4 (FIND_QT): Remove spaces in variable assignment. - - Qt: Fix quoting of have_qt5_libs init in FIND_QT. - + commit e9d063e2371540ad9c1d7a727c44f9dcc1e9e400 - * m4/qt.m4 (FIND_QT): Quote initialization of have_qt5_libs var. - -2015-09-25 Andre Heinecke <aheinecke@intevation.de> - - Add option to disable looking for qt5. - + commit 08ec9556c8a384ea7bb5d42d3f6aab6c2f6a8786 - * m4/qt.m4 (FIND_QT): Add --disable-pinentry-qt5 option to - disable qt5 support even if it is available. - -2015-09-16 Werner Koch <wk@gnupg.org> - - Add option "invisible-char". - + commit 9cc13bbd6954928f8a7dae022728c13415816a67 - * pinentry/pinentry.h (struct pinentry): Add field invisible_char. - * pinentry/pinentry.c (pinentry_reset): Restore that. - (option_handler): Add option "invisible-char". - * gtk+-2/pinentry-gtk-2.c (create_window): Set the invisible char if - given. - -2015-09-10 Werner Koch <wk@gnupg.org> - - Release 0.9.6. - + commit 192ee8ad5bd9c4950d749cf9bb1efd9369836257 - - -2015-08-24 Neal H. Walfield <neal@gnu.org> - - tty: When reading the password, print any supplied error message. - + commit bfd4cf3bee8c9e4a3af825c95694b8af098b1cb2 - * tty/pinentry-tty.c (password): Print any supplied error message. - - tty: Refactor the code for printing error messages. - + commit 7e91e5f71c86c3899c7f256d7ae9d872e692dd28 - * tty/pinentry-tty.c (dump_error_text): New function to display error - messages. - (confirm): Use it. - (password): Likewise. - -2015-08-18 Andre Heinecke <aheinecke@intevation.de> - - Clarify comment about fds in pinentry_loop2. - + commit 13e09800a997845906bfb10ac3379bad00e6e63d - * pinentry/pinentry.h (pinetry_loop2): Clarify comment. - - Qt: Make it possible to build qt5 variant static. - + commit 11886c530de3b0a7c4dcd932c5c23762f3ccc4b0 - * qt/main.cpp: Import static platform plugins when necessary. - - Respect SYSROOT variable when looking for assuan. - + commit 8d73d2a55a0043202c08beaed9972343b1021327 - * m4/libassuan.m4: Respect SYSROOT Variable. - - Fix pinentry for Windows. - + commit 78afb80e5742f8542f21537307c6f39c05c1a7f3 - * pinentry/pinentry.c (pinentry_loop2): Use assuan_fdopen for pipe fds. - * pinentry/pinentry.h (pinentry_loop2): Mention this in the comment. - -2015-08-11 Neal H. Walfield <neal@gnu.org> - - tty: Correctly implement the repeat passphrase functionality. - + commit 1532bf3fa57f624c80ea1e9f958d88fedc377e68 - * tty/pinentry-tty.c (password): If the user repeated the passphrase - and they matched, then set PINENTRY->REPEAT_OKAY. - - tty: Fix buffer resizing bug. - + commit ffd37b673b3cbe05fac037ac02c1424a76772b3f - * tty/pinentry-tty.c (read_password): Fix buffer resizing bug. - -2015-07-28 Andre Heinecke <aheinecke@intevation.de> - - Qt4: Rename to pinentry-qt and add Qt5 Support. - + commit abb59f50abf698ff1e56490fb39bcc98c26ab44b - * qt4: Moved to qt. - * Makefile.am: Change qt4 suffix to qt. - * m4/qt.m4: Remove old qt lookup functions. - (FIND_QT): New. Use pkg-config to find either Qt5 or Qt4 - * configure.ac: Change qt4 suffix to qt. Use new FIND_QT function. - * qt/Makefile.am: Change qt4 suffix to qt. Use new FLAGS / LIBS. - * qt/pinentrydialog.cpp, qt/qrc_pinentry.cpp: Fix whitespace. - * .gitignore: Change qt4 paths to qt. - * README: Update accordingly. - * autogen.rc: Change qt4 to qt. - * qt/main.cpp (qt_cmd_handler, main): Change qt4 to qt. - -2015-07-28 Neal H. Walfield <neal@gnu.org> - - doc: Describe the frontends and their security implications. - + commit 43f975bf0348663dc8b01737dee5b15244ef7ee8 - * doc/pinentry.texi: Describe the frontends and their security - implications. - -2015-07-28 Andre Heinecke <aheinecke@intevation.de> - - qt4: Replace the custom, secure entry widget with the standard widget. - + commit a4694dcda0fe27852be20db3017f9313adf361a3 - * configure.ac: Remove enable-pinentry-qt4-clipboard option. - * qt4/qsecurelineedit.cpp, qt4/qsecurelineedit.h, - qt4/qsecurelineedit_p.h, qt4/secstring.cpp, - qt4/secstring.h: Removed. - * qt4/Makefile.am: Update accordingly. - * qt4/main.cpp (qt_cmd_handler): Use QString instead of secqstring. - * qt4/pinentrydialog.cpp (PinentryDialog::PinentryDialog), - (PinEntryDialog::error, PinEntryDialog::pin), - (PinEntryDialog::updateQuality): Use QLineEdit and QString - instead of secmem variants. - * qt4/pinentrydialog.cpp (PinentryDialog::PinentryDialog): - Set echo mode to password. - * qt4/pinentrydialog.h: Update accordingly. - -2015-07-26 Neal H. Walfield <neal@gnu.org> - - gtk2: Use gtk_widget_get_window instead of accessing the struct. - + commit d70a106d71dbcaf90e2246ed8e72c14d9c2cf266 - * gtk+-2/pinentry-gtk-2.c (make_transient): Don't directly access the - window field of WIN. Use gtk_widget_get_window instead. - (grab_keyboard): Likewise. - (ungrab_keyboard): Likewise. - - gtk2: Use newer tooltips functions, if available. - + commit c9c3576b5e2e3139fd9f6af3426b5f5e727deadd - * gtk+-2/pinentry-gtk-2.c (tooltips): Don't declare for Gtk+ >=2.12.0. - (create_window): Gtk+ >=2.12.0, use gtk_widget_set_tooltip_text - instead of gtk_tooltips_set_tip. - - Don't build the emacs pinentry program by default. - + commit 676b1ac38d0c1db754492b6817bbc6195dcef300 - - - gtk2: Replace the custom, secure entry widget with the standard widget. - + commit f9db93786cbdbc0f5f6edf0ae996ec405931decf - * gtk+-2/Makefile.am (pinentry_gtk_2_SOURCES): Remove gtksecentry.c, - gtksecentry.h and gseal-gtk-compat.h. - * gtk+-2/gseal-gtk-compat.h: Remove file. - * gtk+-2/gtksecentry.c: Remove file. - * gtk+-2/gtksecentry.h: Remove file. - * gtk+-2/pinentry-gtk-2.c: Don't include "gtksecentry.h". - (button_clicked): Use gtk_entry_get_text instead of - gtk_secure_entry_get_text. - (changed_text_handler): Use gtk_entry_get_text instead of - gtk_secure_entry_get_text and use gtk_entry_set_text instead of - gtk_secure_entry_set_text. - (create_window): Use gtk_entry_new instead of gtk_secure_entry_new. - Disable text visibility on ENTRY and REPEAT_ENTRY. - (main): Don't override the memory allocation functions. - - gtk2: Simplify focus / default entry management. - + commit ae74440c8a3469e1e69882cd26a742d41f28e37b - * gtk+-2/pinentry-gtk-2.c (create_window): Don't have ENTRY or - REPEAT_ENTRY explicitly grab the focus. The default is fine. Don't - add the GDK_ENTER_NOTIFY_MASK and GDK_LEAVE_NOTIFY_MASK events to - QUALITYBAR. Only set GTK_CAN_DEFAULT on the ok button. In pin entry - mode, make the ok button the default. - - gtk2: Have enter in the text entry, send the focus to the repeat entry. - + commit af3de269bc0f56058eefcd46bce1b03d9466d1b4 - * gtk+-2/pinentry-gtk-2.c (enter_callback): Rename anentry to - next_widget. If NEXT_WIDGET is not NULL, send the focus to it. - Otherwise, call button_clicked. - (create_window): Initialize repeat_entry to NULL. When connecting the - enter_callback entry to REPEAT_ENTRY, set the user data paramter to - NULL. Connect the entry_callback entry to ENTRY after initializing - REPEAT_ENTRY (if applicable) and set the user data parameter to - REPEAT_ENTRY. - - gtk2: Simplify: combine confirm_button_clicked and button_clicked. - + commit 5dfb7f5662917c9d2f8a4772045074544bd4d472 - * gtk+-2/pinentry-gtk-2.c (confirm_mode): New global static. - (confirm_button_clicked): Fold this function... - (button_clicked): ... into this one. Update all callers. - (create_window): Remove argument confirm_mode. - (gtk_cmd_handler): Set confirm_mode. - -2015-07-01 Werner Koch <wk@gnupg.org> - - Release 0.9.5. - + commit 404943e465beeb34d71039f64f2b7e214d2d9368 - - - w32: Adjust for use of standard libassuan. - + commit 380757782373c2069c182550d9093f995bea2f13 - * autogen.rc: Add gpg-error and libassuan prefix options. - * w32/Makefile.am (AM_CPPFLAGS): Use COMMON_FLAGS. - (pinentry_w32_LDADD): Use COMMON_LIBS. - - Distribute files in m4/ - + commit 11cd8aff6e1720d4a37c92fb6d4cf2613eb17a10 - - -2015-06-24 Gergely Imreh <imrehg@gmail.com> - - curses: remove hard-wired ncursesw include path. - + commit f0db3192463cccf4541820de36d985629c4df6ee - * pinentry/pinentry-curses.c: pkg-config finds the correct include - paths so should not hard-wire the path for the ncursesw header file. - -2015-06-23 Neal H. Walfield <neal@gnu.org> - - emacs: Don't link against ../assuan/libassuan.a. - + commit 266f1c9e3542627b1cbd191141af4e6f76f706fe - * emacs/Makefile.am (LDADD): Don't link against ../assuan/libassuan.a. - We now use the system libassuan. - - curses: Recognize ASCII DEL as backspace. - + commit 6ce1d0c0d4106c359eee65d7cf27d522d3f8b72a - * pinentry/pinentry-curses.c (dialog_input): Recognize ASCII DEL as - backspace. - -2015-06-17 Daiki Ueno <ueno@gnu.org> - - Add inside-Emacs mode to GUI pinentry programs. - + commit 3ef5d07873ab917e66c299521e85cff12fbbf40c - * configure.ac: Add --enable-pinentry-emacs and - --enable-inside-emacs option. - (BUILD_LIBPINENTRY_EMACS): New conditional. - (BUILD_PINENTRY_EMACS): New conditional. - (INSIDE_EMACS): New conditional. - * Makefile.am (pinentry_emacs): New. - (SUBDIRS): Add "emacs" subdir if PINENTRY_EMACS is set. - - * pinentry/pinentry-emacs.h: New file. - * pinentry/pinentry-emacs.c: New file. - * pinentry/Makefile.am: New file. - * pinentry/pinentry.c (option_handler): Handle the allow-emacs-prompt - Assuan option. - - * emacs/pinentry-emacs.c: New file. - * emacs/Makefile.am: New file. - -2015-06-16 Neal H. Walfield <neal@gnu.org> - - If we fail to initialize gtk, fallback to the curses frontend. - + commit 34f3cdbf5aa0b7b8647a3bcedef7e1a51746b5ed - * gnome3/pinentry-gnome3.c (main): Use gtk_init_check instead of - gtk_init. If it fails, fallback to the curses frontend. - - Fix comment for pinentry_cmd_handler_t. - + commit 34539f97a6ddc552295b5cb64676eee9dab5bd30 - * pinentry/pinentry.h (pinentry_cmd_handler_t): Fix comment. - - Describe default-prompt in the implementation section of the manual. - + commit 56fe7ef451ee473407b7dc604e3d73a6a5771c5d - * doc/pinentry.texi (Implementation Details): Describe default-prompt. - - Remove internal mini-libassuan implementation and link to libassuan. - + commit 302903f76b8d62b1e07219a203f7219cb3aff7d8 - * assuan/ChangeLog-old: Remove file. - * assuan/Makefile.am: Remove file. - * assuan/README.1st: Remove file. - * assuan/assuan-buffer.c: Remove file. - * assuan/assuan-defs.h: Remove file. - * assuan/assuan-handler.c: Remove file. - * assuan/assuan-listen.c: Remove file. - * assuan/assuan-pipe-server.c: Remove file. - * assuan/assuan-util.c: Remove file. - * assuan/assuan.h: Remove file. - * assuan/mkerrors: Remove file. - - * configure.ac: Check for libgpg-error and libassuan. - (COMMON_CFLAGS): Add $GPG_ERROR_CFLAGS and $LIBASSUAN_CFLAGS. - (COMMAND_LIBS): Add $GPG_ERROR_LIBS and $LIBASSUAN_LIBS. - (GPG_ERR_ENABLE_GETTEXT_MACROS): Define this macro. - (GPG_ERR_ENABLE_ERRNO_MACROS): Likewise. - (GNUPG_LIBASSUAN_VERSION): Likewise. - (AC_CONFIG_FILES): Don't generate assuan/Makefile. - (config.h): Define GPG_ERR_SOURCE_DEFAULT. - * Makefile.am (SUBDIRS): Remove assuan. - * curses/Makefile.am (LDADD): Remove ../assuan/libassuan.a. - * gnome3/Makefile.am (AM_CPPFLAGS): Remove -I$(top_srcdir)/assuan. - (LDADD): Remove ../assuan/libassuan.a. - * gtk+-2/Makefile.am (LDADD): Remove ../assuan/libassuan.a. - * pinentry/Makefile.am: Remove -I$(top_srcdir)/assuan. - * qt4/Makefile.am (AM_CPPFLAGS): Remove -I$(top_srcdir)/assuan. - (pinentry_qt4_LDADD): Remove $(top_builddir)/assuan/libassuan.a. - * tty/Makefile.am (LDADD): Remove ../assuan/libassuan.a. - - * gnome3/pinentry-gnome3.c: Include <assuan.h>, not "assuan.h". - Replace ASSUAN_General_Error, etc. with gpg_error or - gpg_error_from_syserror. - * pinentry/pinentry-curses.c: Likewise. - * pinentry/pinentry.c: Likewise. - (pinentry_assuan_reset_handler): Change return type to gpg_error_t. - Change type of argument CTX from ASSUAN_CONTEXT to assuan_context_t. - Return 0. - (pinentry_inq_quality): Change variable CTX's type from ASSUAN_CONTEXT - to assuan_context_t. - (assuan_malloc_hooks): New variable. - (pinentry_init): Call gpgrt_check_version. Change use of - assuan_set_malloc_hooks to match libassuan's semantics. - (option_handler): Return a gpg_error_t, not an int. Replace use of - ASSUAN_Out_Of_Core, etc. with gpg_error or gpg_error_from_syserror. - (cmd_setdesc): Return a gpg_error_t, not an int. Change argument - CTX's type from ASSUAN_CONTEXT to assuan_context_t. Replace use of - ASSUAN_Out_Of_Core, etc. with gpg_error or gpg_error_from_syserror. - GPG_ERR_ENOMEM), etc. - (cmd_setprompt): Likewise. - (cmd_setkeyinfo): Likewise. - (cmd_setrepeat): Likewise. - (cmd_setrepeaterror): Likewise. - (cmd_seterror): Likewise. - (cmd_setok): Likewise. - (cmd_setnotok): Likewise. - (cmd_setcancel): Likewise. - (cmd_settimeout): Likewise. - (cmd_settitle): Likewise. - (cmd_setqualitybar): Likewise. - (cmd_setqualitybar_tt): Likewise. - (cmd_getpin): Likewise. - (cmd_confirm): Likewise. - (cmd_message): Likewise. - (cmd_getinfo): Likewise. - (cmd_clear_passphrase): Likewise. - (register_commands): Likewise. Change use of assuan_register_command - to match libassuan's semantics. - (pinentry_loop2): Change variable RC's type from int to gpg_error_t. - Change variable CTX's type from ASSUAN_CONTEXT to assuan_context_t. - Use assuan_new to initialize CTX. Change use of - assuan_init_pipe_server to match libassuan's semantics. Replace use - of assuan_strerror with gpg_strerror. Call assuan_release instead of - assuan_deinit_server. - -2015-06-16 Andre Heinecke <aheinecke@intevation.de> - - Qt4: Fix GCC compile warnings. - + commit 5026d0b9ac08d8366c82beec6c4425fb7f7b11e5 - * qt4/qsecurelineedit.cpp (QSecureLineEdit::sizeHint), - (QSecureLineEdit::minimumSizeHint): Remove unused Q_D macros. - (QSecureLineEdit::setCursorPosition, QSecureLineEditPrivate::setText), - (QSecureLineEditPrivate::hasAcceptableInput): Explicitly cast length to int. - (QSecureLineEditPrivate::maskString): Use unsigned type for strIndex. - (QSecureLineEditPrivate::maskString): Remove uneccesary casts. - * qt4/secstring.cpp (toUtf8): Remove unused variable. - -2015-06-07 Neal H. Walfield <neal@gnu.org> - - gnome3: Actually respect the user's choice of using a password manager. - + commit 444598586d0abf70d5a27d2aafcd6c14989621db - * gnome3/pinentry-gnome3.c (create_prompt) [HAVE_LIBSECRET]: Only show - the libsecret prompt in this case. - (gnome3_cmd_handler) [HAVE_LIBSECRET]: Set PE->MAY_CACHE_PASSWORD - according to the user's choice. - -2015-06-05 Werner Koch <wk@gnupg.org> - - Release 0.9.4. - + commit 29d7c5ffda648e61431b42964e773c13f77bf501 - - -2015-06-05 Neal H. Walfield <neal@gnu.org> - - secmem: When clearing memory, don't clear beyond the end of the buffer. - + commit 554250b56ae00d590d05b1c5af7892314f0e72d8 - * secmem/secmem.c (secmem_malloc): Only clear the user memory; don't - clear beyond the end of the buffer. - -2015-06-04 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - Make pinentry_setbufferlen always return the pin buffer. - + commit c29c5657fd77e212799715c23806a0cb6e1cfd47 - * pinentry/pinentry.c (pinentry_setbufferlen): When the pin buffer is - already large enough, return the buffer instead of NULL. - -2015-06-02 Werner Koch <wk@gnupg.org> - - Fixed compiler warnings - mostly unused parameter. - + commit ee23924390a45700b35ab37a75278cfeb965b8c8 - - - Add more GCC warnings flags. - + commit f74e40465f979749af6df5b9ea325324a428a669 - * configure.ac: Add GCC specific -W flags. - -2015-06-02 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - use g_debug(format, ...) safely. - + commit 87e6811f2d1e72c501d14670ad911245a41c0828 - * pinentry/password-cache.c (password_cache_clear): use g_debug safely - in case error->message is malformed. - -2015-06-01 Werner Koch <wk@gnupg.org> - - Release 0.9.3. - + commit 9f98bbfa7f05f1c7e02443bc8d0bd74a61eb39bc - - -2015-05-31 Stanislav Ochotnicky <sochotnicky@redhat.com> - - Fix qt4 pinentry window created in the background. - + commit eab03a469d82018e53380f26390594f47bb4c5c8 - This is probably just a workaround. Proper fix is being investigated. - See: - https://bugzilla.redhat.com/show_bug.cgi?id=589532 - http://stackoverflow.com/questions/2788518/calling-activatewindow-on-qdia - -2015-05-20 Werner Koch <wk@gnupg.org> - - Improve configure log messages for ncurses/ncursesw. - + commit 55ea554b2020b1e7b0996bd9f7bb38c8af2b03f3 - * m4/pkg.m4: Print the moule name not the variable name. - - Allow building without ncursesw and other minor fixes. - + commit 0c1af8e9af59d01936924c91c5d2d45133923d6d - * pinentry/password-cache.c (password_cache_clear): s/debug/g_debug/. - * pinentry/pinentry-curses.c (dialog_input): Actually bail out. - (dialog_run) [!HAVE_NCURSESW]: Define alt. - -2015-05-19 Neal H. Walfield <neal@gnu.org> - - gtk+-2: Make sure the save-passphrase-externally checkbox is not checked. - + commit 54dd881a9a733074bafee4062f8591f4fe69cad5 - * gtk+-2/pinentry-gtk-2.c (create_window): Make sure the check button - to save the passphrase externally is not checked by default. - - Provide an Assuan command to clear a cached password. - + commit 72b653d8088ce508ab688c68d88c363832d50eb7 - * pinentry/password-cache.c (password_cache_clear): New function. - * pinentry/password-cache.h (password_cache_clear): New declaration. - * pinentry/pinentry.c (cmd_getinfo): New function. - (register_commands): Have the Assuan command "CLEARPASSPHRASE" call - it. - - If there is an error message, show it and don't read from the cache. - + commit 516e01049e9829020b40ddbcf387d4c5c05b1c3f - * pinentry/pinentry.c (cmd_getpin): If PINENTRY.ERROR is not NULL, - don't read the password from the cache. - -2015-05-18 Neal H. Walfield <neal@gnu.org> - - curses: When creating the button text, respect underscores. - + commit 6fdcad6a1f91bc769b03d2cb32f0b8001ed3ae19 - * pinentry/pinentry-curses.c (MAKE_BUTTON): When creating the button - text, respect underscores. - - curses: Make control-l repaint the screen. - + commit cade1ae102d5f4972f68b5bef0003f1ad1b3bde3 - * pinentry/pinentry-curses.c (dialog_input): Make control-l repaint - the screen. - - curses: Make control-h an alias for backspace. - + commit 85646e9c08875214f6888df507c6f9ceb463a000 - * pinentry/pinentry-curses.c (dialog_input): Add control-h an alias - for backspace. - - When checking for ncurses, first try using PKG_CHECK_MODULES. - + commit 25e77c0fd10e9a1d26c31c0a8ec1917b51da5cd2 - * m4/curses.m4: When checking for ncurses, first try using - PKG_CHECK_MODULES. - - Purge dead code enabled by ENABLE_ENHANCED. - + commit e89c36a6546515c2a19645356d8f80dd459f2075 - - -2015-05-16 Neal H. Walfield <neal@gnu.org> - - gtk+-2: If gtk fails to initialize, fallback to the curses backend. - + commit edd9a884604ff76e63d238504ede9b118655c55b - * gtk+-2/pinentry-gtk-2.c (main): Use gtk_init_check instead of - gtk_init. If gtk_init_check fails, fallback to the curses backend. - - curses: Handle control-u, control-w and alt-backspace. - + commit d3c52a144b5b23d0d841a99a310090dcafe2074b - * pinentry/pinentry-curses.c (dialog_input): Take additional argument, - alt. Update callers. If passed control-u, erase the whole line. If - passed alt-backspace or control-w, erase any white space the the - previous word. - (dialog_run): Detect when alt is pressed. - - secmem: Clear the buffer before returning it from secmem_malloc. - + commit 1d3583a2562e83496ac515276e9bd63a7f1abbc7 - * secmem/secmem.c (secmem_malloc): In case wipememory2 gets optimized - away in secmem_free, clear the buffer before returning it. - - curses: NUL terminate the pin entry buffer. - + commit 97a47ee99e14e0c8c6a2c3c5eec0434e6eac77e0 - * pinentry/pinentry-curses.c (dialog_run): NUL terminate the pin entry - buffer. - - curses: Make sure the pin entry buffer is larger enough. - + commit c33073eb40ee4bb6e079605dbf2f343de50390d7 - * pinentry/pinentry-curses.c (dialog_input): Make sure the pin entry - buffer is large enough. - - curses: Avoid aliasing the pin buffer. - + commit c7736745f5683b820ebbd11e30ddb425748c16ab - * pinentry/pinentry-curses.c (struct dialog): Remove field pin. Add - field pinentry. - (dialog_create): Don't set DIALOG->PIN to PINENTRY->PIN. Set - DIALOG->PINENTRY to PINENTRY and access PIN via - DIALOG->PINENTRY->PIN. Update other users. - - gtk+-2: When the dialog is destroyed, remove any pending timers. - + commit 88772ddaac96303a63c97a45c26144d93a942798 - * gtk+-2/pinentry-gtk-2.c (timeout_source): New variable. - (timeout_cb): Set it to 0. - (create_window): When setting up the timeout, save the source - identifier in TIMEOUT_SOURCE. - (gtk_cmd_handler): If TIMEOUT_SOURCE is not 0, remove the timeout. - - curses: If an error occurs while reading input, cancel the operation. - + commit f3cb78985c3c7f96401a06a73412fb704c5efaab - * pinentry/pinentry-curses.c (dialog_run) [! HAVE_DOSISH_SYSTEM]: If - an error occurs while reading input, cancel the operation. - - tty: ok takes precedence over default-ok. Likewise for cancel. - + commit ae3352566994623d54723283e887bc5f74766e1c - * tty/pinentry-tty.c (confirm): When creating the ok button, - pinentry->ok takes precedence over pinentry->default-ok. Likewise for - pinentry->cancel and pinentry->default_cancel. - - Don't use a static initializer to initialize PINENTRY. - + commit de3241ae0bc9072cfef204ea638171a3a95380a3 - * pinentry/pinentry.c (pinentry): Don't use a static initializer. - (pinentry_reset): Initialize PINENTRY here. - (pinentry_parse_opts): Call pinentry_reset here. - (pinentry_assuan_reset_handler): New function. - (pinentry_loop2): Register it as the assuan reset handler. - - Don't emit the LC_CTYPE-not-set warning more than once. - + commit 9fdb05554b5fc9c6f6621d606ccf21c038c7b6cb - * pinentry/pinentry.c (lc_ctype_unknown_warning): New variable. - (pinentry_utf8_to_local): Only emit the LC_CTYPE warning if - lc_ctype_unknown_warning is not set. After emitted such a warning, - set lc_ctype_unknown_warning. - (pinentry_local_to_utf8): Likewise. - - curses: Use default-ok and default-cancel if set. - + commit 222866894993041ceaca3ca4ef33373ab78bfdff - * pinentry/pinentry-curses.c (default_notok): New macro. - (MAKE_BUTTON): Also check if default variant is set. - - curses: Don't show the notok button in pin entry mode. - + commit 3d97b18ba928677550a8f7eaa938551aad42dacf - * pinentry/pinentry-curses.c (dialog_create): Don't show the notok - button in pin entry mode. - -2015-05-16 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - Avoid implicit declaration of function addnwstr. - + commit 21e83f422667e431c1283b9ae3356fded3523e50 - * pinentry/pinentry-curses.c [HAVE_NCURSESW]: Include <ncursesw/curses.h>. - [! HAVE_NCURSESW]: Only include <curses.h> in this case. - -2015-05-13 Neal H. Walfield <neal@gnu.org> - - tty: Handle the case where the user needs to repeat the passphrase. - + commit 4549998627ee04e74f8d1c94aef55e3ed17f14d9 - * tty/pinentry-tty.c: Include "memory.h". - (read_password): Break into two functions: read_password and password. - (read_password): Just read the password from the terminal and return - it in secure memory (or NULL if the user canceled the entry or there - was an error). - (password): Improve output. Handle the repeat passphrase case (i.e., - when pinentry->repeat_passphrase is set). - * tty/Makefile.am (AM_CPPFLAGS): Add "-I$(top_srcdir)/secmem". - - Add a new helper function, pinentry_setbuffer_use. - + commit c68a6854aadaf8c271648f369f14b4943e684ecf - * pinentry/pinentry.c (pinentry_setbuffer_use): New function. - * pinentry/pinentry.h (pinentry_setbuffer_use): New declaration. - - tty: Always call do_touch_file if we (potentially) touched the screen. - + commit 960317ec86c06bc737e1ff3c1b571dc8f4194763 - * tty/pinentry-tty.c (tty_cmd_handler): Always call do_touch_file. - - tty: Improve confirmation mode functionality. - + commit dd0307be51587a9a7866981ce00eed474bee6e14 - * tty/pinentry-tty.c: Include <ctype.h>. - (UNDERLINE_START): Define. - (ALERT_START): Define. - (NORMAL_RESTORE): Define. - (button): New function. - (confirm): Rewrite to include all confirmation mode functionality. - (tty_cmd_handler): Don't include any confirmation mode functionality. - Just call confirm. - - Fix linking order to work when linked with --as-needed. - + commit 496235af8dfd373b54e5610f86bf1cada175ac23 - * curses/Makefile.am (LDADD): Add $(COMMON_LIBS) after all of the - local objects and object archives. - * gnome3/Makefile.am (LDADD): Likewise. - * gtk+-2/Makefile.am (LDADD): Likewise. - * qt4/Makefile.am (pinentry_qt4_LDADD): Likewise. - * tty/Makefile.am (LDADD): Likewise. - - Don't interpret the handler's return value as the passphrase's length. - + commit 3062742b945f95d72001896f8ba5468b9e63aa9b - * pinentry/pinentry.c (cmd_getpin): Don't interpret the return value - as the passphrase length. Use strlen instead. - - Make the management of pinentry.pin more explicit. - + commit bdd81974633f8e31d582b62999ef9b004bc3b95e - * pinentry/pinentry.c: Include <assert.h>. - (pinentry): Set pin_len to 0. - (pinentry_setbufferlen): If len is less than 2048, set it to 2048. - Add an assertion. - (pinentry_setbuffer_clear): New function that releases the pin buffer. - (pinentry_setbuffer_init): New function that initializes the pin - buffer. - (cmd_getpin): Use pinentry_setbuffer_init and pinentry_setbuffer_clear - instead of manual memory management. - (cmd_confirm): Use pinentry_setbuffer_clear instead of manual memory - management. - - Better document struct pinentry. - + commit ae7dfae00df81a683adf0292a52b63632491319e - * pinentry/pinentry.h (struct pinentry): Better document the various - fields. - -2015-05-12 Neal H. Walfield <neal@gnu.org> - - Fix some documentation details. - + commit 2582cb9eb23ca287520caa04a12f83f10c268f71 - * doc/pinentry.texi: Fix some details. - - Add a GNOME3 pinentry based on gcr. - + commit be87785005d256b7f3dacc607ba5ea0a14de8593 - * configure.ac (--enable-pinentry-gnome3): Option to enable the GNOME3 - pinentry. - (pinentry_gnome_3): Set to yes if enabled and gcr-3 and gcr-base-3 gcr - is available. - (GNOME3CFLAGS): Define and AC_SUBST. - (GNOME3LIBS): Define and AC_SUBST. - (GCR_API_SUBJECT_TO_CHANGE): Define. - (BUILD_PINENTRY_GNOME_3): Define. - * Makefile.am (pinentry_gnome_3): Define. - (SUBDIRS): Add ${pinentry_gnome_3}. - * gnome3/Makefile.am: New file. - * gnome3/pinentry-gnome3.c: New file. - - Add new chapter to documentation describing implementation details. - + commit 14b95bd6d92ba699c3d263ac1f9140973d8c9156 - * doc/pinentry.texi: Add new chapter describing some implementation - details. - - Simplify code. - + commit 831782b3b625ca81624fae0ee184da0d2fc46d96 - * pinentry/pinentry.c (cmd_confirm): Don't use nested ternary - expressions. - - Implement cmd_confirm in terms of cmd_message. - + commit 29236f84aca64be72c97a9b5513457a4e45afbc6 - * pinentry/pinentry.c (cmd_confirm): Implement cmd_confirm in terms of - cmd_message. - - Fix memory allocation in pinentry_setbufferlen. - + commit aa04dac66f2ee949e8789a3c91090b01646f2e57 - * pinentry/pinentry.c (pinentry_setbufferlen): Set PIN->PIN to a - buffer that is LEN bytes large, not 2 * PIN->PIN_LENGTH. - -2015-05-11 Werner Koch <wk@gnupg.org> - - Release 0.9.2. - + commit 8e52ddc874838ad512ed76cdc1c34057da328fba - - - Return better error codes. - + commit 726c00514be4a0c2831dd775e306f7d5243bab8b - * assuan/assuan.h (ASSUAN_Too_Short): New - (ASSUAN_ENOENT, ASSUAN_ENOTTY): New. - * pinentry/pinentry-curses.c: Include assuan.h. - (dialog_create, dialog_run): Set specific error codes. - * pinentry/pinentry.h (struct pinentry): Add field specific_err. - * pinentry/pinentry.c (cmd_getpin): Return specific_err. - (cmd_confirm, cmd_message): Ditto. - - curses: Reset tty state on failed dialog creation. - + commit d7f2081fdd605b0d0789bcb6984decfea3777f23 - * pinentry/pinentry-curses.c (dialog_run): Cleanup on dialog_create - error. - - gtk: Use a description string from gpg-agent for libsecret. - + commit 319e1a32e3ab67cb0624c0586d7519c16c76d43b - * pinentry/pinentry.h (struct pinentry): Add field default_pwmngr. - * pinentry/pinentry.c (option_handler): Set it. - * gtk+-2/pinentry-gtk-2.c (create_window) [HAVE_LIBSECRET]: Use new - string. - - gtk: Silence compiler warning. - + commit 3d02645d757e573e4628a1caf2e36bb92d523e77 - - -2015-05-07 Neal H. Walfield <neal@gnu.org> - - Don't use asprintf. - + commit 1a8af55b76d8235ce891f44808064e7f846e193c - * pinentry/password-cache.c (keygrip_to_label): Don't use asprintf. - - Improve documentation. - + commit 09203147bef487c9a85f55f8cc96d265197b0bf5 - * doc/pinentry.texi: Improve description of SETKEYINFO's format. - - Minor documentation cleanups. - + commit 3a8daef81c49dc3c04b6703a0384381cb43eb91b - - - Add support for saving the passphrase with libsecret. - + commit c6eaa7bf8300f524de41956a339ca0ed3af4656e - * configure.ac (COMMON_CFLAGS): New variable. AC_SUBST it. - (COMMON_LIBS): Likewise. AC_SUBST it. - (LIBSECRET_CFLAGS): Likewise. - (LIBSECRET_LIBS): Likewise. - (--enable-libsecret): Add option to enable support for libsecret. If - enabled, check for its presense. - * pinentry/password-cache.h: New field. - * pinentry/password-cache.c: New field. - * pinentry/pinentry.h (struct pinentry): Add fields pin_from_cache, - allow_external_password_cache, tried_password_cache, keyinfo, and - may_cache_password. - * pinentry/pinentry.c: Include "password-cache.h". - (pinentry): Initialize new fields. - (option_handler): Handle the "allow-external-password-cache" option. - (cmd_setkeyinfo): Implement it. - (cmd_getpin): Read the password from the cache, if appropriate. Save - it to the cache, if appropriate. - * pinentry/Makefile.am (AM_CPPFLAGS): Add $(COMMON_CFLAGS). - (LDADD): Add $(COMMON_LIBS). - (libpinentry_a_SOURCES): Add password-cache.h - password-cache.c. - * gtk+-2/pinentry-gtk-2.c (may_save_passphrase_toggled): New function. - (create_window): Take additional parameter, the pinentry's context. - Update callers. - [HAVE_LIBSECRET]: Show a checkbox asking whether the passphrase should - be saved. - * gtk+-2/Makefile.am (AM_CPPFLAGS): Add $(COMMON_CFLAGS). - (LDADD): Add $(COMMON_LIBS). - * curses/Makefile.am (AM_CPPFLAGS): Add $(COMMON_CFLAGS). - (LDADD): Add $(COMMON_LIBS). - * tty/Makefile.am (AM_CPPFLAGS): Add $(COMMON_CFLAGS). - (LDADD): Add $(COMMON_LIBS). - * doc/pinentry.texi (Protocol): Update documentation. Describe the - protocol and provide some justification. - -2015-05-07 Werner Koch <wk@gnupg.org> - - w32: Do not build gtk pinentry by default. - + commit aa98f25ddcc3c36035f18249443cec15d16e8fa5 - * autogen.rc: Remove obsolete options. - -2015-05-07 Neal H. Walfield <neal@gnu.org> - - Align secmem_realloc behavior with realloc's. - + commit aaec7c7c50adfb51510962a14c0fa2179a34a01e - * secmem/secmem.c (secmem_realloc): If passed a NULL pointer, then - call secmem_malloc instead of crashing. - -2015-05-05 Werner Koch <wk@gnupg.org> - - w32: Minor changes to the dialog. - + commit cbecc6d38a86f8fa7c052efab7649be07b5df334 - * w32/main.c (set_bitmap): New. - (dlg_proc): Show error prompt in red. - * w32/pinentry-w32.rc: Add icons and chnage dialog. - * w32/logo-128.bmp: New. - * w32/logo-32.bmp: New. - * w32/logo-48.bmp: New. - * w32/logo-64.bmp: New. - * w32/logo-96.bmp: New. - - pinentry-tty: Fix problem with zero length prompt. - + commit a616bd9dec00e068185b6b37a35ced4ec12ac5a7 - * tty/pinentry-tty.c (read_password): Use default prompt also for an - empty prompt argument. - -2015-05-01 Neal H. Walfield <neal@gnu.org> - - Improve documentation. - + commit 8b802cf928d199d9c09080f71a7dd1eb397f414a - Improve documentation: clean up wording and add some minor - improvements to the content. - - Improve comment. - + commit b9d529557b368548d6a55ae6c2df66ece7023e5f - * tty/pinentry-tty.c (tty_cmd_handler): Add comment. - - When reading the pin, correctly handle backspace. - + commit 189ab07e94dc2d4103c1edf00e15e0156df89297 - * tty/pinentry-tty.c (read_password): Handle backspace. - - Improve prompt for pin. - + commit c7099565524010b86891fc14b723fc722509d4bb - * tty/pinentry-tty.c (read_password): Improve prompt for pin. - -2015-05-01 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - - fix small memory leak in pinentry-curses. - + commit 03e4207f11e228a4c079af991f82507539793bae - * pinentry/pinentry-curses.c: free internally allocated local string. - - pinentry-tty: make confirm actions work. - + commit 21d28d114259da9cb555ee612e053e6e68f37fd3 - * tty/pinentry-tty.c: treat the situation where no PIN is requested - and one_button is not set as a confirmation prompt. - - pinentry-tty: fix segfault on MESSAGE or CONFIRM. - + commit 93bd60a3ca91581a1cf8e754c4fb51e54c9e7ce9 - * tty/pinentry-tty.c: avoid prompting for a PIN when one was not asked - for. - - pinentry-tty: handle designated tty outside of read_password. - + commit b4bf75f24f1126a8ba8f8c1c025103c2dcee0710 - * tty/pinentry-tty.c: reorganize, wrapping read_password in tty - open/close. - -2015-04-16 Yuri D'Elia <wavexx@users.sourceforge.net> - - gtk: Make Escape key work. - + commit 9d2d8b6bfaf2d5b07e7fb5be7188516e4158ed98 - * gtk+-2/pinentry-gtk-2.c: Include gdk/gdkkeysyms.h. - (enter_callback): Pass confirm_value_t to button_clicked. - (confirm_button_clicked): Use confirm_value_t cast. - (cancel_callback): New. - (create_window): Add accelerator for the Escape key. - -2015-04-14 Werner Koch <wk@gnupg.org> - - Add stub command SETKEYINFO. - + commit 2bffbbff09177afb75ad667d949eed2a8cb846ea - * pinentry/pinentry.c (cmd_setkeyinfo): New. - (register_commands): Addd command. - -2015-03-18 Werner Koch <wk@gnupg.org> - - Release 0.9.1. - + commit 0b2d5e435445e3b9f8dffcf2240a95313c3ce335 - - - Fix build problems on AIX. - + commit 1cfcf9dadb73bccc52b7ece47616d621d9cbe044 - * pinentry/pinentry.c: Do not include getopt.h. - * pinentry/pinentry-curses.c (dialog_run): Call use_default_colors - only with ncurses. - - Update to automake 1.14. - + commit 2c56b16a18713786a7e66e408967f91388a008cb - - -2015-03-17 Werner Koch <wk@gnupg.org> - - Get rid of getopt_long and improve --help output. - + commit 2f7b275b2b5d31df48f02ab2913ba3ff2e74b7a4 - * pinentry/argparse.c, pinentry/argparse.h: New. Taken from GnuPG - master. - * pinentry/Makefile.am (libpinentry_a_SOURCES): Add them. - * pinentry/pinentry.c: Include argparse.h. - (usage): Remove. - (my_strusage): New. - (pinentry_parse_opts): Rewrite. Do not return a value. Change call - callers. - - Use CH type instead of wchar_t for curses. - + commit 8fa3ca90bfbaa84314443fab9865742b78eb85a9 - * pinentry/pinentry-curses.c (collect_line): Change second arg to CH. - * pinentry/pinentry.c (pinentry_utf8_to_local): Make args const. - -2014-12-15 Andre Heinecke <aheinecke@intevation.de> - - qt4: Improve moc handling. - + commit bb423620fca82159e60ab25de3c608a0243088b0 - * configure.ac: Disable pinentry-qt4 or exit if moc not found. - * m4/qt.m4: Look for and prefer moc-qt4. - * qt4/Makefile.am: Add moc files to nodist and clean them. - - doc: Update gpl.texi to match version from gcrypt. - + commit c911657710893643558f91ec497fac2831d91040 - * doc/gpl.texi: Use version from gcrypt. - -2014-12-09 Vicente Olivert Riera <Vincent.Riera@imgtec.com> - - pinentry-qt4: make the accessibility part optional. - + commit 484465338ea6f5f12eb1341ca0ef84aa79224ed4 - Check if the Qt libraries have support for QT Accessibility before using - it. Otherwise it will raise error like these one: - - main.cpp: In function 'int qt_cmd_handler(pinentry_t)': - main.cpp:220:51: error: 'class QAbstractButton' has no member named - 'setAccessibleDescription' - -2014-10-26 Werner Koch <wk@gnupg.org> - - Release 0.9.0. - + commit 8943bc86d6cf8295d0ec4382480d886b1f2ec062 - - - gtk: Aboid segv for opaste keys. - + commit 821dc21a241a27cc381c7d65be690e3858e2ddc6 - * gtk+-2/gtksecentry.c (gtk_secure_entry_class_init): Disable paste - key bindings. - - Remove support form QT3 and GTK+-1. - + commit f2ed42297528f2a126d189c6181d3105ceecca22 - * configure.ac: Remove old qt and gtk+-1 support. - * Makefile.am: Ditto. - -2014-10-26 Stanislav Ochotnicky <sochotnicky@redhat.com> - - Check if we are on tty before initializing curses. - + commit 3803fd15942f2f25108e400be6cd6faef791c8f7 - * pinentry/pinentry-curses.c (dialog_run): Check stant stdin and stout - are connected to ttys. - -2014-10-26 Werner Koch <wk@gnupg.org> - - gtk: Allow pasting using the mouse. - + commit 4f4af9056d1c100aa53363f019253160cd8d9ff0 - * gtk+-2/gtksecentry.h (_GtkSecureEntry): Add fields insert_pos, - real_changed, cand change_count. - (_GtkSecureEntryClass): Add field paste_clipboard. - * gtk+-2/gtksecentry.c (PASTE_CLIPBOARD): New. - (gtk_secure_entry_class_init): Set paste_clipboard and create - paste-clipboard signal. - (gtk_secure_entry_button_press): Call gtk_secure_entry_pase. - (begin_change, end_change, emit_changed): New. - (gtk_secure_entry_real_insert_text): Use emit_changed. - (gtk_secure_entry_real_delete_text): Ditto. - (paste_received, gtk_secure_entry_paste) - (gtk_secure_entry_paste_clipboard): New. - -2014-10-24 Werner Koch <wk@gnupg.org> - - gtk+-2: Make current focus visible again. - + commit 2ef788fb5dce2e49fa925264802388f4c002cd31 - * gtk+-2/pinentry-gtk-2.c (grab_keyboard): Return false - (ungrab_keyboard): Ditto. - - gtk+-2: Implement the SETREPEAT command. - + commit e483abb883f65719ce8008a211f49b8d207ee4af - * gtk+-2/pinentry-gtk-2.c (repeat_entry, error_label): New. - (button_clicked): Implement repeat check. - (changed_text_handler): Clear repeat field. - (create_window): Add repeat entry. - - Add commands to allow implementing a "repeat passphrase" field. - + commit 9f78f0709d9ba60677129c179f7f0ef835c51c1d - * pinentry/pinentry.c (cmd_setrepeat): New. - (cmd_setrepeaterror): New. - (register_commands): Add new commands. - (cmd_getpin): Print "PIN_REPEATED" status. - -2014-09-18 Werner Koch <wk@gnupg.org> - - Release 0.8.4. - + commit f610ea6248b5a77739d2e16052b8ddd78f95394e - - - Add missing build support files and move them to build-aux. - + commit f21dcb8083905efef8e82e1bf91dd01457af81d1 - - - Use generic autogen.sh script. - + commit 549479d69363ca1ef5e7c676517e2327b8baadea - * autogen.rc: New. - * autogen.sh: New. Take from GnuPG. - * Makefile.am (EXTRA_DIST): Add autogen.rc. - (DISTCHECK_CONFIGURE_FLAGS): Disable qt4. - -2014-08-12 Werner Koch <wk@gnupg.org> - - common: Fix compiler warning. - + commit 888591602fc359e2c1baaa49d92825e050426956 - * pinentry/pinentry.c (pinentry_utf8_to_local): Use cast for iconv arg. - (pinentry_local_to_utf8): Ditto. - - New pinentry-tty version for dumb terminals. - + commit 12369b15c65fa64eef9dbc5e475b407e338641c7 - * Makefile.am: Add pinentry-tty. - * NEWS: Add news about pinentry-tty. - * README: Update. - * configure.ac: Add support for this pinentry. - * tty/Makefile.am: New. - * tty/pinentry-tty.c: New. - -2014-08-06 Andre Heinecke <aheinecke@intevation.de> - - Check for MOC also if pinentry-qt is disabled. - + commit 52cf95c4fd97dc38856e72aa3e42a135d010df06 - * configure.ac: Call QT_PATH_MOC if pinentry_qt4 is not no. - - Add fallbacks for SetForegroundWindow. - + commit f4d14ffcf2e04b1938c00a0ef1504e0e932631fd - If that foreground window fails pinentry-qt now tries to - attach to the current foreground process and then tries - to set the foreground window again. If that fails it also - calls ShowWindow as a last resort. - - * qt4/pinentrydialog.cpp (raiseWindow): Add fallbacks in - case SetForegroundWindow fails. - - Use raiseWindow also for confirm dialogs. - + commit 47476d2f288a22c29567ae2c179ce0472db4257e - This should fix the case that the dialog opened - in the foreground but a warning / confirm dialog - opened in the background. - - * qt4/pinentryconfirm.cpp, qt4/pinentryconfirm.h (showEvent): - New overwrite base class method to call raiseWindow. - * NEWS: Mention this. - -2014-07-30 Andre Heinecke <aheinecke@intevation.de> - - Set some accessibility information. - + commit 41d046022e912c76cb424c906064745e732f01f3 - * qt4/main.cpp (qt_cmd_handler): Build buttons with accessibile - Description. - * qt4/pinentrydialog.cpp (setDescription, setError, setOkText) - (setCancelText, setQualityBar): Set an accessible description. - * qt4/pinentryconfirm.cpp (PinentryConfirm): Set message - box contents also as accessible values. - * NEWS: Mention it and the copy/paste change from last year. - -2013-07-15 Andre Heinecke <aheinecke@intevation.de> - - Lower paste length limit to 300. - + commit 556d305b970ed60ef1dc2718fcafbf3bea6b7fea - This should be more then enough and avoids possible problems - with libassuan cmd line lenght or percent escaping etc. - - * qt4/qsecurelineedit.cpp (insert): Lower paste limit - - Limit paste length to 1023 characters. - + commit 9b154c9f87abd3ea5df4b763c958e538b19d0904 - * qt4/qsecurelineedit.cpp (insert): Check for a maximum - length before allocation the secmem string. - - Fix contextmenu support for pasting. - + commit 4d56651dd4ab2568f8adc7e4448bb1239dbdbfb0 - MOC ignores preprocessor definitions so we can not conditionally - declare SLOTS. So we now move the ifdefs in the definition and - always declare the SLOTS. - - * qt4/qsecurelinedit.cpp (cut, copy, paste): Do nothing if - QT_NO_CLIPBOARD is defined. - * qt4/qsecurelinedit.h: Always declare cut, copy and paste slots - - Remove check for RTL extensions. - + commit d4feabe153b096db896dfe25bd1bf763d23123d7 - Our code does nothing RTL specific there anyway. And the - qt_use_rtl_extensions symbol has been removed. - - * qt4/qsecurelinedit.cpp: Remove check for RTL extensions. - -2013-07-12 Werner Koch <wk@gnupg.org> - - Fix for commit fb38be9 to allow for "make distcheck". - + commit 54b9b92c13a496a33868501dec893bc8d82b1a8d - * qt4/Makefile.am: Make correct use of BUILT_SOURCES. - -2013-05-29 Andre Heinecke <aheinecke@intevation.de> - - Add pinentry-qt4-clipboard option. - + commit 0b3a8568e14b994a8d1f4c1cb42aed4959dfc811 - Enabling this option will make it possible to paste a - passphrase into pinentry-qt4. This defeats the secmem - mechanism but drastically increases usability for some - users. - - * configure.ac: New option pinentry-qt4-clipboard. - * qt4/qsecurelineedit.cpp, qt4/qsecurelineedit.h: Activate - clipboard and context menu if PINENTRY_QT4_CLIPBOARD is defined. - - Remove qt4 moc files and add moc to buildsystem. - + commit fb38be960e837bb5854aa65bf8cbf9cbf535631e - This is neccessary to conditionally enable signals/slots - at build time. - - * qt4/Makefile.am: Moc files automatically. - * qt4/pinentryconfirm.moc, qt4/pinentrydialog.moc, - qsecurelineedit.moc: Removed. - -2013-04-26 Werner Koch <wk@gnupg.org> - - Release 0.8.3. - + commit ce7f2e69fa78d9afac96efc3009513b203668b4b - - -2013-04-26 Andre Heinecke <aheinecke@intevation.de> - - Switch to i686-w64-mingw32 as default Windows toolchain. - + commit a421efcb91b80a37f58ae35687dc33db08a04b3d - * autogen.sh <build-w32>: Insert i686-w64-mingw32. - * configure.ac: Pretty print final info. - - Fix declaration of lock_set_foreground_window for pinnetry-w32. - + commit 369e774ab835ecf23da267cf55f9ecf8ae8c5585 - * w32/main.c (lock_set_foreground_window): Remove WINUSERAPI - qualifier. - - Fix ressource compilation of pinentry-w32. - + commit 18b0d8849e51b6203b3f1dbc1cc1cc71e52f78b6 - * w32/pinentry-w32.rc: Include windows.h - -2013-02-16 Ben Kibbey <bjk@luxsci.net> - - Curses build fix for DOS'ish systems. - + commit 462f00dfc6636fbfe2e453c1b820d919ec1d0c99 - - -2013-02-14 Ben Kibbey <bjk@luxsci.net> - - Document the --timeout and SETTIMEOUT feature. - + commit 31467f7c2cd748d6f822ccf627a2ce8870fb09c6 - - - Add timeout support to the Gtk+2 pinentry. - + commit 8ce6e0c9cecd91d7b1dfe8bcc9942803c13c7afb - * gtk+-2/pinentry-gtk-2.c (create_window): Add timer. - (timeout_cb): New. - - Add timeout support to the curses pinentry. - + commit e3bed4f087304ac126e247053fc82a593bec31b6 - * pinentry/pinentry-curses.c (dialog_run): Set the window input to - non-blocking. - (catchsig): New. - (main): Catch SIGALRM and set the timeout. - -2013-01-06 Ben Kibbey <bjk@luxsci.net> - - Fix initializing the timeout timer. - + commit d33537aef0358313cbcf1d010b227d93f3430900 - When timeout == 0 a segfault would occur. - -2012-08-08 Werner Koch <wk@gnupg.org> - - Release 0.8.2. - + commit ffc59acd0188006b9c90d03b59fe93dc7e12fe51 - - - Distribute only bzip2 tarballs. - + commit 94f356b2615a8cd2c5ce608b9f08a5fde3d02b26 - * Makefile.am (AUTOMAKE_OPTIONS): New. - - qt4: Update all moc files to Qt version 4.8.2. - + commit 7cbe87800fa8f84d7868da507010999cbc314beb - - - Update config.guess and config.sub. - + commit b3016d72478a57dd1132721a324b1a09ca23fed2 - * config.guess, config.sub: Update to version 2012-07-31 from gnulib. - - Change build system to auto-generate the ChangeLog. - + commit 826ca44db0d29bae54de8b5d4c0d67a3f22430ee - * build-aux/gitlog-to-changelog: New script. Taken from GnuPG. - * build-aux/git-log-fix: New file. - * build-aux/git-log-footer: New file. - * doc/HACKING: Describe the ChangeLog policy - * ChangeLog: New file. - * Makefile.am (EXTRA_DIST): Add new files. - (gen-ChangeLog): New. - (dist-hook): Run gen-ChangeLog. - - Rename existing ChangeLog files to ChangeLog-old. - - Switch to an automagic beta numbering scheme. - + commit 19fae1e8652410712d52f1d926fb9bb40a506787 - * configure.ac: Add all the required m4 magic. - -2012-08-08 Werner Koch <wk@gnupg.org> - - NB: Changes done before August 8, 2012 are described in per - directory files named ChangeLog-old. See doc/HACKING for - details. - - ----- - Copyright (C) 2002, 2003, 2010, 2012 g10 Code GmbH - - Copying and distribution of this file and/or the original GIT - commit log messages, with or without modification, are - permitted provided the copyright notice and this notice are - preserved. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog-old b/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog-old deleted file mode 100644 index 02a8010a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog-old +++ /dev/null @@ -1,2175 +0,0 @@ -2012-08-08 Werner Koch <wk@gnupg.org> - - NB: ChangeLog files are no longer manually maintained. Starting - on August 8, 2012 we put change information only in the GIT commit - log, and generate a top-level ChangeLog file from logs at "make - dist". See doc/HACKING for details. - -2011-08-10 Werner Koch <wk@g10code.com> - - * configure.ac: Change bug report address to the BTS. Fix - autoconf warnings. - -2011-06-28 Werner Koch <wk@g10code.com> - - * gtk+-2/gtksecentry.c (PROP_EDITING_CANCELED): New. - (gtk_secure_entry_class_init, gtk_secure_entry_set_property) - (gtk_secure_entry_get_property): Implement as dummy it to get rid - of a runtime warning. - -2010-12-16 Werner Koch <wk@g10code.com> - - Release 0.8.1. - - * doc/pinentry.texi: Remove the custom font setting for underscores. - - Update to automake 1.10. - - * missing, config.guess, config.sub: Update from GnuPG. - - * w32/main.c (debugfp): Define to stderr. - (raise_sip) [!W32CE]: Make it a dummy function. - - * qt4/pinentrydialog.cpp (raiseWindow): Use SetForegroundWindow - API directly. - (SetForegroundWindowEx): Comment out. - -2010-10-19 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.c (pinentry_have_display): Also detect - --display=DISPID. - -2010-10-12 Werner Koch <wk@g10code.com> - - * qt/main.cpp (escape_accel): New. Adapt from from qt4/. - (qt_cmd_handler): Implement default-ok and default-cancel. Escape - accelerators. - -2010-09-30 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.h (struct pinentry): Add CLOSE_BUTTON. - * pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message): Send - BUTTON_INFO. - * gtk+-2/pinentry-gtk-2.c (delete_event): Set close_button. - -2010-09-22 Werner Koch <wk@g10code.com> - - * gtk+-2/pinentry-gtk-2.c (create_window): Make use of - default_cancel and default_ok. - -2010-08-19 Werner Koch <wk@g10code.com> - - * gtk+-2/Makefile.am (pinentry_gtk_2_SOURCES): Add gseal-gtk-compat.h. - - * configure.ac (AH_TOP, AH_BOTTOM): New. Define - GPG_ERR_ENABLE_ERRNO_MACROS. - -2010-06-08 Marc Mutz <marc.mutz@kdab.com> (wk) - - * qt4/pinentrydialog.cpp (PinEntryDialog): Add WindowStaysOnTopHint. - - * qt/pinentrydialog.cpp (PinEntryDialog): Add WStyle_StaysOnTop. - -2010-05-12 Guido Günther <agx@sigxcpu.org> (wk) - - * gtk+-2/gtksecentry.c: Make -DSEAL safe. - * gtk+-2/gseal-gtk-compat.h: New. - * gtk+-2/gtksecentry.h: Include new header. - -2010-05-07 Werner Koch <wk@g10code.com> - - * gtk+-2/pinentry-gtk-2.c (create_window): Keep the window above - and make sure it has the focus. Fixes bug#1162. - -2010-05-03 Werner Koch <wk@g10code.com> - - * gtk+-2/pinentry-gtk-2.c (create_window): Use - visibility-notify-event instead of map-event. Suggested by Ed - Marten. - -2010-04-26 Werner Koch <wk@g10code.com> - - * gtk+-2/pinentry-gtk-2.c (grab_failed): New. - (grab_keyboard): s/g_error/g_critical/. Set GRAB_FAILED. - (gtk_cmd_handler): Return Cancel if a grab failed. - -2010-04-20 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.c: Move include config.h to top! - -2010-04-19 Werner Koch <wk@g10code.com> - - * gtk+-2/gtksecentry.c (gtk_secure_entry_delete_cb) - (gtk_secure_entry_toggle_overwrite, activate_cb) - (unichar_chosen_func): Comment out these unused functions. - (secentry_malloc): Fix format string error. - -2010-04-19 Stanislav Ochotnicky <sochotnicky@redhat.com> (wk) - - * gtk+-2/pinentry-gtk-2.c (ungrab_keyboard): Fix segv when using - option -g. - -2010-04-16 Marcus Brinkmann <marcus@g10code.de> - - * secmem/util.c: Fix inverted test. - -2010-04-12 Werner Koch <wk@g10code.com> - - * w32/main.c (dlg_proc): Act on VK_RETURN. - - * w32/pinentry-w32.rc: Include config.h. Add basic support for - small screens as used with WindowsCE. - - * w32/Makefile.am (pinentry-w32.o): Add -I.. to the command. - -2010-04-08 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.c [W32CE]: Do not include errno.h and - locale.h. - (pinentry_have_display) [W32CE]: Do not use getenv. - (pinentry_parse_opts) [W32CE]: No error diagnostics due to missing - errno. - (sleep) [W32CE]: New. - (option_handler) [W32CE]: Ignore option --debug-wait. - (getpid) [W32CE]: New. - (pinentry_loop): Use STDIN_FILENO and STDOUT_FILENO. - (pinentry_loop): Factor code out to ... - (pinentry_loop2): New. - * w32/main.c (w32_strerror) [W32CE]: Do not use FormatMessage. - (main) [W32CE]: Do not use LockSetForegroundWindow. - (set_dlg_item_text): Use wchar_t for static string. - * secmem/util.c [W32CE]: Do not include errno.h. - (xwrite) [W32CE]: Shortcut EINTR loop. - -2010-04-07 Werner Koch <wk@g10code.com> - - * autogen.sh: Modernized. - -2010-03-03 Werner Koch <wk@g10code.com> - - Release 0.8.0. - -2010-03-02 Werner Koch <wk@g10code.com> - - * qt4/main.cpp (from_utf8): Add extra braces for clarity. - (main): Copy the fixed --display string. - -2010-02-25 Marc Mutz <marc@kdab.com> (wk) - - * qt4/main.cpp (from_utf8): don't throw InvalidUtf8(); for now, - fall back to QString::fromLocal8Bit() - -2010-02-22 Marc Mutz <marc@kdab.com> (wk) - - * qt4/main.cpp (InvalidUtf8): New exception class. - (from_utf8): wrapper around QString::fromUtf8 throwing - InvalidUtf8. - (qt_cmd_handler): Use from_utf8 instead of QString::fromUtf8. - (qt_cmd_handler_ex): New wrapper around qt_cmd_handler. - (pinentry_cmd_handler): Use qt_cmd_handler_ex. - - * qt4/main.cpp (qt_cmd_handler): Also handle accels in - SET{OK,NOTOK,CANCEL} string. - -2010-02-19 Marc Mutz <marc@kdab.com> (wk) - - * qt4/main.cpp (qt_cmd_handler), qt4/pinentrydialog.cpp - (PinentryDialog::PinEntryDialog): Use the button icons that come - with Qt. - - * qt4/pinentry_qrc, qt4/qrc_pinentry.cpp: New. - * qt4/gtk-cancel.png, qt4/gtk-ok.png: Removed. - * qt4/Makefile.am (EXTRA_DIST): Remove the GTK icons, add - pinentry.qrc. - (pinentry_qt4_SOURCES): add qrc_pinentry.cpp. - - * qt4/main.cpp (qt_cmd_handler): Remove i18n support again. - - * qt4/pinentrydialog.cpp (PinentryDialog::PinentryDialog): - set PIN entry field as buddy of its prompt - - * qt4/main.cpp (escape_accel): New. - (qt_cmd_handler): use it on default_cancel, default_ok, prompt. - - * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp - (PinEntryDialog::PinEntryDialog): don't use a nested vbox layout. - - * qt4/pinentrydialog.h: replace include file with forward decl. - * qt4/pinentrydialog.cpp: add include file here. - - * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp - (PinentryDialog::keyPressEvent()): Removed. - - * qt/4pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): use - QLayout::SetFixedSize instead of rolling our own solution. - * qt4/pinentrydialog.h: (PinentryDialog::setFixedSize): Removed. - * qt4/pinentrydialog.moc: Re-created. - - * qt4/main.cpp: (qt_cmd_handler) make Cancel the default button - for CONFIRM - - * qt4/main.cpp: (qt_cmd_handler) implement the confirm/message - logic correctly - - * qt4/pinentrydialog.h (accepted, rejected): Removed; already - provided by base class. - * qt4/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Use - QDialog::{accepted,rejected}. - * qt4/pinentrydialog.moc: Re-created. - - * qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: Make compatible - with newer Qt version. - -2010-02-19 Werner Koch <wk@g10code.com> - - * gtk+-2/pinentry-gtk-2.c (create_window): Allow mnemonics in - button labels. - - * pinentry/pinentry.h (struct pinentry): Add default_prompt. - * pinentry/pinentry.c (option_handler): Support "default-prompt". - (cmd_getpin): Use it. - (noprefix_strdup): Remove; should be done by caller. - -2010-02-17 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.h (struct pinentry): Add default_ok and - default_cancel. - * pinentry/pinentry.c (noprefix_strdup): New. - (option_handler): Support "default-ok" and "default-cancel". - (strcpy_escaped): Change second arg from unsigend char to char. - -2010-02-16 Werner Koch <wk@g10code.com> - - * qt4/document-encrypt.png, qt4/gtk-cancel.png, qt4/gtk-ok.png: New. - * qt4/Makefile.am (EXTRA_DIST): Add them. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - Also attributed to Marc Mutz <marc@kdab.com>. - - * qt4/main.cpp, qt/pinentrydialog.cpp: If the style says so, - set (GTK) icons on OK and Cancel buttons. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - * qt4/main.cpp: Use an explicit QMessageBox instead of the - 'information' convenience method. We do this for two reasons: - 1. So we can set our own icon (icon()). 2. So we can call our - raiseWindow() function on it. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> - - * qt4/main.cpp: Use title. Use Qt translation of "OK" and "Cancel" - - * qt4/pinentrydialog.cpp: Don't show the question-mark icon in the - window title. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp: Use the - document-encrypt icon instead of the - QMessageBox::{Information,Critical} ones. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - Also attributed to Marc Mutz <marc@kdab.com>. - - * qt4/pinentrydialog.cpp: Properly show/hide optional widgets. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> - - * qt4/pinentrydialog.cpp: Set text color or error label to red. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - Also attributed to Marc Mutz <marc@kdab.com>. - - * qt4/pinentrydialog.cpp: Gather scattered layouting code, use a - single gridlayout for all, and use QDialogButtonBox. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - * qt4/pinentrydialog.cpp: Call SetForegroundWindow on showEvent() - and set a fixed size on the dialog. - - * qt4/main.cpp: Set document-encrypt as the window icon. - -2010-02-15 Marc Mutz <marc@kdab.com> (wk) - - * qt4/main.cpp: Load the correct Qt translation file based on - either lc_messages or the current locale. - - * qt4/main.cpp: Use pinentry_t->parent_wid also for message-box - case. - - * qt4/main.cpp: Properly delete the QApplication. - -2010-02-15 Christoph Schleifenbaum <christoph@kdab.com> (wk) - - * qt4/main.cpp: Remove guard clause with impossible condition. - - * qt4/main.cpp: Respect pinentry_t->title. - - * qt4/main.cpp: Include config.h. - -2009-12-16 Marcus Brinkmann <marcus@g10code.de> - - * gtk+-2/gtksecentry.c: Don't translate properties. - Patch by Guido Guenther <agx@sigxcpu.org>. - -2009-12-02 Werner Koch <wk@g10code.com> - - * secmem/util.c: Re-indent function names. - (TEMP_FAILURE_RETRY): Remove because it is non-portable. - (xwrite): Open code the EINTR retry. - * pinentry/pinentry-curses.c (dialog_run): Replace '\e' by a - standard escape. Reported by Wyllys Ingersoll. - -2009-08-10 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.c [!ENABLE_ENHANCED]: Remove option enhanced. - * pinentry/pinentry.h (struct pinentry) [!ENABLE_ENHANCED]: Remove - member enhanced. - * gtk+-2/pinentry-gtk-2.c: New macro. - (button_clicked, create_window) [!ENABLE_ENHANCED]: Disable code. - * gtk/pinentry-gtk.c (button_clicked, create_window): Likewise. - * doc/pinentry.texi (Using pinentry): Comment out enhanced option. - -2009-07-10 Till Adam <till@kdab.com> - - * qt4/pinentrydialog.cpp (PinEntryDialog): Redesign the dialog to - be prettier. - -2009-06-19 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Post-release changes. - - Release version 0.7.6. - - * configure.ac: Bump version. - -2009-01-29 Bernhard Reiter <bernhard@intevation.de> - - * doc/pinentry.texi (Using pinentry): Fix typo. - -2009-04-24 Guido Guenther <agx@sigxcpu.org> - - * gtk+-2/gtksecentry.c (gtk_secure_entry_class_init): Don't - install "gtk-entry-select-on-focus" settings property since it - clashes with the one from GtkEntry. - (gtk_secure_entry_grab_focus): Create a temporary GtkEntry widget - to read that value instead. Allows to have GtkEntry and - GtkSecureEntry in the same process. - -2009-06-19 Marcus Brinkmann <marcus@g10code.de> - - Suggested by Simon McVittie: - * gtk+-2/gtksecentry.c (g_malloc, g_realloc, g_free): Renamed to - secentry_malloc, secentry_realloc. - (g_malloc0): Removed. - (GMALLOC_SIZE): Move to ... - * gtk+-2/gtksecentry.h (GMALLOC_SIZE): ... here. - (secentry_malloc, secentry_realloc, secentry_free): New prototypes. - * gtk+-2/pinentry-gtk-2.c (main): Set memory allocation vtable. - -2009-05-04 Till Adam <till@kdab.net> - - * qt4/main.cpp (qt_cmd_handler): Use WId instead of HWND. - -2009-04-14 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.h (struct pinentry): New member NOTOK. - Rename member USER_CLOSED to CANCELED. - * pinentry/pinentry.c: Add initializer for NOTOK. - (register_commands): Add SETNOTOK. - * pinentry/pinentry-curses.c (STRING_NOTOK): New macro. - (dialog_pos_t): New value DIALOG_POS_NOTOK. - (struct dialog): New members notok, notok_x, notok_y. - (dialog_create): Implement NOTOK. - (dialog_switch_pos): Likewise. - (dialog_run): Likewise. - * gtk+-2/pinentry-gtk-2.c: Rename confirm_yes to confirm_value. - (confirm_value_t): New type. Use it for confirm_value. - (window_closed): Remove. - (confirm_button_clicked): Set confirm_value. - (create_window): Implement NOTOK. - (gtk_cmd_handler): Implement cancel behaviour a bit differently. - -2009-04-09 Marcus Brinkmann <marcus@g10code.de> - - * qt4/qsecurelineedit.h (QSecureLineEdit): Don't export. - -2009-04-06 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Portability fixes. - -2009-04-03 Marcus Brinkmann <marcus@g10code.de> - - * qt4/Makefile.am (pinentry_qt4_SOURCES): Add qsecurelineedit_p.h. - - * secmem/Makefile.am (libsecmem_a_SOURCES): Add secmem++.h. - * qt4/Makefile.am (pinentry_qt4_SOURCES): Add pinentrydialog.moc - and qsecurelineedit. - - * configure.ac: Incorporate revision number in version string. - -2009-04-02 Till Adam <till@kdab.net> - - * qt4/qsecurelineedit.moc, qt4/main.cpp, qt4/pinentrydialog.moc, - qt4/qsecurelineedit.cpp, qt4/pinentrydialog.cpp, - qt4/pinentrydialog.h: Implement quality bar and grabbing. - - * qt4/pinentrydialog.cpp (PinEntryDialog): Enable word wrapping. - -2009-04-03 Marcus Brinkmann <marcus@g10code.de> - - * qt4/main.cpp (qt_cmd_handler): Cast window handle ID. - -2009-03-19 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.h (struct pinentry): Add field user_closed. - * pinentry/pinentry.c (cmd_getpin, cmd_confirm, cmd_message): - Reset this field. - (cmd_confirm): Return cancel if the user closed the window. - * gtk+-2/pinentry-gtk-2.c (window_closed): New. - (gtk_cmd_handler, delete_event): Set it. - -2009-02-19 Marcus Brinkmann <marcus@g10code.de> - - * secmem/secmem++.h: New file. - * qt4/Makefile.am, qt4/main.cpp, qt4/pinentrydialog.cpp, - qt4/pinentrydialog.h: Changes to use secure memory. - * qt4/pinentrydialog.moc, qt4/qsecurelineedit.moc: New files. - * qt4/qsecurelineedit.cpp, qt4/qsecurelineedit.h, - qt4/qsecurelineedit_p.h, qt4/secstring.h, qt4/secstring.cpp: New - files. - Submitted by Marc Mutz <marc@kdab.net>. - -2008-12-08 Werner Koch <wk@g10code.com> - - * qt/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8. - * qt4/main.cpp (qt_cmd_handler) <!want_pass>: Translate from utf8. - -2008-11-12 Ludovic Rousseau <ludovic.rousseau@gmail.com> (wk) - - * pinentry/pinentry.h (struct pinentry): Add field TITLE. - * pinentry/pinentry.c (cmd_settitle): New. - (register_commands): Add command SETTITLE. - * gtk+-2/pinentry-gtk-2.c (create_window): Set the title. - -2008-10-17 Werner Koch <wk@g10code.com> - - * secmem/memory.h: Add C++ extern declaration. - - * secmem/secmem.c (secmem_get_max_size): New. - -2008-07-25 Marcus Brinkmann <marcus@ulysses.g10code.com> - - * qt4/Makefile.am (DISTCLEANFILES): Rename to CLEANFILES. - (BUILD_SOURCES): New. - -2008-07-25 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Prefer pinentry gtk2 over gtk. Now also choose - qt4 (after qt and before w32 native). - * README: Document Qt. - -2008-07-24 Marcus Brinkmann <marcus@g10code.de> - - * qt4/pinentrydialog.h, qt4/pinentrydialog.cpp, qt4/main.cpp, - qt4/Makefile.am: New files. - * configure.ac: Add check for Qt4. - (AC_CONFIG_FILES): Add qt4/Makefile.am. - * Makefile.am (pinentry_qt4): New variable. - (SUBDIRS): Add ${pinentry_qt4}. - -2008-07-23 Werner Koch <wk@g10code.com> - - * secmem/secmem.c (secmem_init): Fix apostrophe in error - message. Reported by Petr Uzel. - -2008-05-05 Marcus Brinkmann <marcus@ulysses.g10code.com> - - * gtk+-2/gtksecentry.c (GMALLOC_SIZE): New symbol. - (g_malloc, g_malloc0, g_realloc): Use GMALLOC_SIZE instead of - gulong for size attribute. - -2008-03-03 Marcus Brinkmann <marcus@g10code.de> - - * gtk+-2/pinentry-gtk-2.c (create_window): Install realize callback. - (ungrab_keyboard): Unmake dialog transient. - (make_transient): New function. - Submitted by Joachim Breitner. - -2008-02-15 Werner Koch <wk@g10code.com> - - Release 0.7.4. - -2008-02-14 Werner Koch <wk@g10code.com> - - * configure.ac: Check for -Wno-pointer-sign. - - * pinentry/pinentry.c (cmd_getinfo): New. - (register_commands): Register it. - -2008-01-02 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Use PKG_CONFIG instead of PKGCONFIG and - pkg-config. Use AC_PATH_PROG instead of AC_CHECK_PROG. - - * Makefile.am (install-exec-local): Add exe extension to link. - -2007-11-29 Marcus Brinkmann <marcus@g10code.de> - - Released 0.7.4. - -2007-11-19 Werner Koch <wk@g10code.com> - - * doc/pinentry.texi (Protocol): Typo fixes by Bernhard Herzog. - Describe SETQUALITYBAR_TT. - -2007-11-19 Bernhard Herzog <bernhard.herzog@intevation.de> (wk) - - * qt/pinentrydialog.cpp (PinEntryDialog): Fixed crash - -2007-11-19 Werner Koch <wk@g10code.com> - - * gtk+-2/pinentry-gtk-2.c (create_window): Use again map-event and - unmap-event as this works on my setup far more reliable than - expose-event/no-expose-event. - - * gtk+-2/gtksecentry.c (get_cursor_time): s/time/blinktime/ t - avoid shadowing warning. - - * pinentry/pinentry.h (struct pinentry): Change QUALITY_BAR to a - char ptr. - (struct pinentry): Add QUALITY_BAR_TT. - * pinentry/pinentry.c (cmd_setqualitybar): Allow to set a label text. - (cmd_setqualitybar_tt): New. - * gtk+-2/pinentry-gtk-2.c (create_window): Take label and tooltip - from global. - * qt/pinentrydialog.h (setQualityBar, setQualityBarTT) - (_quality_bar_label): New. - * qt/pinentrydialog.cpp (setQualityBar, setQualityBarTT): New. - (PinEntryDialog): Remove setting of tooltip. - - * qt/main.cpp (qt_cmd_handler): Propagate quality bar label and tootip. - -2007-11-19 Bernhard Herzog <bernhard.herzog@intevation.de> (wk) - - * qt/pinentrydialog.cpp (PinEntryDialog): Move the quality bar - below the text entry and align them properly. Show a tooltip. - * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. Don't let it - change its height. - (QUALITYBAR_EMPTY_TEXT): New. - -2007-09-18 Werner Koch <wk@g10code.com> - - * qt/secqlineedit.h (SecQLineEdit): New signal textModified. - * qt/secqlineedit.cpp (finishChange): Emit it. - * qt/pinentrydialog.cpp (setPinentryInfo): New. - (PinEntryDialog): Add arg ENABLE_QUALITY_BAR. - * qt/pinentrydialog.h (setPinentryInfo): New. - (PinEntryDialog): Add arg ENABLE_QUALITY_BAR. - - * pinentry/pinentry.h (struct pinentry): Add member QUALITY_BAR - and CTX_ASSUAN. - * pinentry/pinentry.c (cmd_setqualitybar): New. - (copy_and_escape): New. - (pinentry_inq_quality): New. - -2007-07-09 Werner Koch <wk@g10code.com> - - * doc/pinentry.texi: Fixed direntry syntax. - - * configure.ac: Add --without-libcap. From the Gentoo patch archive. - - * gtk+-2/pinentry-gtk-2.c (create_window): Use expose-event - instead of map-event. From Alon Bar-Lev. - -2007-07-06 Werner Koch <wk@g10code.com> - - Released 0.7.3. - - * config.sub, config.guess: Updated from current Savannah CVS. - -2007-06-27 Werner Koch <wk@g10code.com> - - * w32/main.c: Revamped the SetFocus stuff. It is all not that easy. - -2007-06-26 Werner Koch <wk@g10code.com> - - * w32/Makefile.am (pinentry_w32_LDFLAGS): Add -mconsole again. - - * w32/main.c (dlg_proc): Set focus. - (resize_button): New. No code yet. - (dlg_proc): Call it for the buttons. - (w32_cmd_handler): Restore old foreground window. - -2007-06-20 Werner Koch <wk@g10code.com> - - * w32/Makefile.am (pinentry_w32_LDFLAGS): Remove -mconsole. - - * w32/main.c (wchar_to_utf8): New. - (ok_button_clicked): Use it. - (utf8_to_wchar): New. - (set_dlg_item_text): New. - (dlg_proc): Use new function so that we are able to correctly - display all prompts. - (main): Load LockSetForegroundWindow. - (dlg_proc): Call LockSetForegroundWindow via its fnc ptr. - (center_window): New. Taken from GPGol. - (dlg_proc): Call it. - (w32_cmd_handler): Revamped the confirm mode. - -2007-06-18 Werner Koch <wk@g10code.com> - - * w32/main.c (dlg_proc): Call LockSetForegroundWindow. - - * Makefile.am (signed-dist, %.sig): Remove. - - * autogen.sh: Modernized. - -2007-05-10 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.h (pinentry_color_t): New type. - (struct pinentry): New members COLOR_FG, COLOR_FG_BRIGHT, - COLOR_BG, COLOR_SO. - * pinentry/pinentry.c (pinentry_parse_opts): Support new option --colors. - (parse_color): New function. - * pinentry/pinentry-curses.c (USE_COLORS): New macro. - (pinentry_color): New static variable. - (dialog_create): Redo color management. - - * pinentry/pinentry-curses.c (dialog_create): Re-add calculation - of cancel button position. Adjust calculation of OK button - position if it is the only one used. - -2007-04-13 Marcus Brinkmann <marcus@g10code.de> - - * qt/secqlineedit.h (SecQLineEdit::contextMenuEvent, - SecQLineEdit::createPopupMenu): Remove prototype. - * qt/secqlineedit.cpp (SecQLineEdit::contextMenuEvent, - SecQLineEdit::createPopupMenu): Remove implementation. - Submitted by Tobias Koenig <tokoe@kde.org>. - -2007-02-14 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.h (struct pinentry): Add TOUCH_FILE. - * pinentry/pinentry.c (option_handler): New option "touch-file". - (pinentry_have_display): Ignore an empty DISPLAY. - * pinentry/pinentry-curses.c (do_touch_file): New. - (curses_cmd_handler): Call it. - * configure.ac: Check for utime.h. - -2007-01-24 Werner Koch <wk@g10code.com> - - * pinentry/pinentry.c (cmd_message): New. - (cmd_confirm): New command option --one-button. - (cmd_getpin): Zeroise ONE_BUTTON. - * pinentry/pinentry.h (struct pinentry): Add field ONE_BUTTON. - * gtk/pinentry-gtk.c (create_window): Take care of new option. - * gtk+-2/pinentry-gtk-2.c (create_window): Ditto. - * pinentry/pinentry-curses.c (dialog_create): Ditto. - (dialog_create, dialog_switch_pos): Allow CANCEL to be optional. - -2006-07-29 Marcus Brinkmann <marcus@g10code.de> - - * secmem/secmem.c (init_pool): Close FD after establishing the - mapping. - -2005-09-28 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac (PINENTRY_GTK): Error out if iconv is not found but - needed. - - * config.rpath: New file from gettext. Needed by iconv.m4. - -2005-07-11 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry-curses.c (dialog_switch_pos): Set the cursor - state to invisible before moving around. Move the cursor to the - beginning of the dialog buttons for accessibility. - -2005-06-16 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry-curses.c (dialog_run): Only convert pin if a - pin actually exists. - -2005-01-27 Werner Koch <wk@g10code.com> - - Released 0.7.2. - - * gtk+-2/Makefile.am: Removed padlock-keyhole.xpm. - - * configure.ac: Use AC_GNU_SOURCE instead of the custom define. - Prefer gtk2 pinentry over qt. - -2005-01-21 Marcus Brinkmann <marcus@g10code.de> - - * doc/pinentry.texi: Fix spelling errors. - Submitted by Ville Skyttä. - -2004-12-23 Werner Koch <wk@g10code.com> - - * w32/pinentry-w32.rc: Remove the default texts for description, - prompt and error. Make it system modal. Enlarge the description - field. - -2004-12-22 Timo Schulz <twoaday@g10code.com> - - * w32/main.c: Remove all helper functions and use a callback - to set the dialog items directly. - (dlg_proc): Set 'result' to -1 to indicate cancel. - (ok_button_clicked): Adjusted. Set 'result' to the len of - the PIN to indicate success. - -2004-12-22 Werner Koch <wk@g10code.com> - - * w32/main.c: Simplified. - * w32/dialog.h, w32/dialog.c, w32/controller.h, w32/controller.c: - Removed - - * w32/resource.h, w32/pinentry-w32.rc, w32/main.c, w32/dialog.h - * w32/dialog.c, w32/controller.h, w32/controller.c - * w32/Makefile.am: New. Based on Timo's work. - - Update to automake 1.9. - - * autogen.sh (configure_ac): Add --build-w32 option. - * Makefile.am: Support for the W32 pinentry. - * configure.ac: Ditto. Reformatted some error messages. - Define the usual conditionals for W32. - Check for a couple of more usually required headers. - - * pinentry/pinentry.h (sleep) [W32]: New. - - * pinentry/pinentry.c: Include langinfo.h only if available. - (pinentry_loop) [DOSISH]: Don't do uid check. - - * secmem/util.c [DOSISH]: Disable UID stuff. - -2004-09-27 Marcus Brinkmann <marcus@g10code.de> - - * acinclude.m4 (IU_LIB_NCURSES, IU_LIB_CURSES, IU_LIB_TERMCAP): - Moved to m4/curses.m4. - (AM_ICONV): Moved to m4/iconv.m4. - (AM_PATH_GLIB): Moved to m4/glib.m4. - (QT_FIND_FILE, QT_PATH_MOC, QT_PATH_X, QT_PRINT_PROGRAM, - QT_CHECK_VERSION, QT_PATH_1_3, QT_PATH, QT_CHECK_COMPILER_FLAG, - QT_REMOVE_FORBIDDEN, QT_VALIDIFY_CXXFLAGS, QT_CHECK_COMPILERS, - QT_CHECK_RPATH, QT_CHECK_LIBPTHREAD, QT_CHECK_PTHREAD_OPTION, - QT_CHECK_THREADING): Move to m4/qt.m4. - -2004-09-21 Marcus Brinkmann <marcus@g10code.de> - - * qt/Makefile.am (pinentry_qt_LDFLAGS): Add $(QT_RPATH). - Requested by Leo Savernik <l.savernik@aon.at>. - -2004-09-02 Marcus Brinkmann <marcus@g10code.de> - - * gtk+-2/padlock-keyhole.xpm: File removed. - * gtk+-2/pinentry-gtk-2.c (create_window): Use stock icon. - * gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c: Fix copyright notice. - - Submitted by Albrecht Dress albrecht.dress@arcor.de. - -2004-08-17 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Invoke AC_PROG_LN_S. - (PINENTRY_DEFAULT): New variable. Substitute it. Fail if no - default can be determined. - * Makefile.am (install-exec-local): Install pinentry default link. - - * configure.ac: Check for Gtk+-2. - * gtk+-2: New directory with gtk+-2 pinentry. - * gtk+-2/Makefile.am, gtk+-2/gtksecentry.h, gtk+-2/gtksecentry.c, - gtk+-2/pinentry-gtk-2.c, gtk+-2/padlock-keyhole.xpm: New files. - * Makefile.am (pinentry_gtk_2): New variable. - (SUBDIRS): Add pinentry_gtk_2. - - Submitted by Albrecht Dress albrecht.dress@arcor.de. - -2004-08-04 Werner Koch <wk@g10code.de> - - * pinentry/pinentry.c (usage): Print help to stdout. - -2004-07-30 Moritz Schulte <moritz@g10code.com> - - * qt/Makefile.am (ncurses_include): Removed - -I$(top_srcdir)/pinentry ... - (AM_CPPFLAGS): ... added: -I$(top_srcdir)/pinentry. Thanks to - Peter Eisentraut. - - * pinentry/pinentry.c (pinentry_utf8_to_local): Declare INPUT - const. - (pinentry_local_to_utf8): Likewise. - (pinentry_utf8_to_local, pinentry_local_to_utf8): Compile only, if - either Curses or GTK+ support is enabled. - * configure.ac: Do also check for libiconv when the GTK+ version - of pinentry is to be build. Define PINENTRY_CURSES, PINENTRY_GTK, - PINENTRY_QT depending on which versions of pinentry should be - build. - -2004-05-21 Marcus Brinkmann <marcus@g10code.de> - - * acinclude.m4 (QT_CHECK_DIRECT): Removed. - (QT_PATH_1_3): Do never invoke QT_CHECK_DIRECT. - -2004-04-21 Werner Koch <wk@gnupg.org> - - Released 0.7.1. - -2004-04-20 Werner Koch <wk@gnupg.org> - - * secmem/secmem.c [!ORIGINAL_GPG_VERSION]: Include util.h for some - typedefs and protos. - (secmem_free, secmem_term): Use wipememory2 instead of memset. - - * autogen.sh (configure_ac): Fixed version check (s/==/=/). - -2004-04-02 Thomas Schwinge <schwinge@nic-nac-project.de> - - * autogen.sh: Added ACLOCAL_FLAGS. - -2004-02-23 Marcus Brinkmann <marcus@g10code.de> - - * qt/main.cpp: Include "pinentry.h", not <pinentry.h>. - -2004-01-30 Werner Koch <wk@gnupg.org> - - * configure.ac (fopencookie): Remove that test. - -2004-01-28 Moritz Schulte <mo@g10code.com> - - * gtk/gtksecentry.c: - (gtk_secure_entry_key_press): Treat GDK_KP_Enter just like - GDK_Return. - -2004-01-18 Marcus Brinkmann <marcus@g10code.de> - - * qt/secqstring.cpp: Do not include "private/qunicodetables_p.h". - (isRightToLeft): De-optimize direction query. - - * qt/secqinternal_p.h, qt/secqinternal.cpp: New files. - * qt/Makefile.am (pinentry_qt_SOURCES): Add secqinternal_p.h - and secqinternal.cpp. - (EXTRA_DIST): Add README.SecQ. - * qt/secqlineedit.cpp: Include "secqinternal_p.h". - (drawContents): Use SecQSharedDoubleBuffer. - -2004-01-02 Werner Koch <wk@gnupg.org> - - * configure.ac: Early check for a c++ compiler. - -2003-12-23 Werner Koch <wk@gnupg.org> - - Released 0.7.0. - - Added Manifest files to all directories. - -2003-12-22 Werner Koch <wk@gnupg.org> - - * qt/main.cpp: Include errno.h. - (main): Translate the --display option to -display, so that the Qt - init code can grasp it. - - * doc/ChangeLog: Removed and merged with this file. - * doc/pinentry.texi: Cleaned up. - * doc/fdl.texi: Removed. - - * pinentry/pinentry.h (struct pinentry): Added LOCALE_ERR. - * gtk/pinentry-gtk.c (button_clicked): Set the LOCAE_ERR flag. - * pinentry/pinentry-curses.c (dialog_run): Ditto. - * pinentry/pinentry.c (cmd_getpin, cmd_confirm): Check this flag. - (pinentry_local_to_utf8): Release the correct buffer in the error - case. Print diagnostics. - (pinentry_utf8_to_local): Print diagnostics. - (pinentry_parse_opts): Make short options work. - (pinentry_utf8_to_local): Pass nl_langinfo to iconv_open. - - * gtk/pinentry-gtk.c (button_clicked): Use the right value as - input for the conversion. - - * pinentry/pinentry.c: New variable THIS_PGMNAME. - (pinentry_init): Add arg PGMNAME and store it. Use it at all - marked placed instead of the constant "pinentry". - (usage): Use it here too. - * curses/pinentry-curses.c (main): Call pinentry_init with our name. - * qt/main.cpp (main): Ditto. - * gtk/pinentry-gtk.c (main): Ditto. - - * configure.ac: Check for mmap. - - * secmem/util.h (wipememory2,wipememory,wipe): New. - * secmem/util.c (wipe): Removed. - * secmem/util.c (lower_privs, raise_privs): Commented out. - - * pinentry/pinentry.c (pinentry_loop): Add paranoia check for - dropped privs. - - * secmem/secmem.c (lock_pool): Cleanup syntax of cpp directives. - - * gtk/pinentry-gtk.c (main): Print package name in the version line. - * curses/pinentry-curses.c (main): Ditto. - * qt/main.cpp (main): Ditto. Fixed typo. - - * gtk/pinentry-gtk.c: Include memory.h. - -2003-12-20 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.h (struct pinentry): New member PARENT_WID. - * pinentry/pinentry.c (pinentry): Add new member here. - (usage): Add --parent-wid. - (pinentry_parse_opts): Add case for "parent-wid". - (option_handler): Same here. - -2003-12-19 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.c (cmd_setcancel): Use strcpy_escaped. - (cmd_setok): Likewise. - (cmd_setprompt): Likewise. - (pinentry_utf8_to_local): Don't use - nl_langinfo, but just lc_ctype directly. - * pinentry/pinentry.c (cmd_getpin): Do not convert passphrase to - UTF-8 here. - * gtk/pinentry-gtk.c (button_clicked): Convert passphrase to UTF8 - here. - * pinentry/pinentry-curses.c (dialog_run): Likewise. - -2003-12-14 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.c (pinentry_init): Register secmem_term as - atexit function. Set assuan malloc hooks to secmem. - (pinentry_parse_opts): Add break statement to silence gcc warning. - * pinentry/pinentry.c (cmd_getpin): If canceled, release and clear - PINENTRY->pin nevertheless. - - * acinclude.m4 (qt_incdirs): Add /usr/include/qt3. - * qt/Makefile.am (pinentry_qt_SOURCES): Remove cppmemory.h, - cppmemory.cpp, pinentrycontroller.h, pinentrycontroller.cpp. - (nodist_pinentry_qt_SOURCES): Remove pinentrycontroller.moc.cpp. - (libcurses): Move ../pinentry/libpinentry.a from here to ... - (pinentry_qt_LDADD): ... here. Change order a bit to make it - work. - * qt/cppmemory.h, qt/cppmemory.cpp, qt/pinentrycontroller.h, - qt/pinentrycontroller.cpp: Files removed. - * qt/secqstring.h, qt/secqstring.cpp, secqlineedit.h, - secqlineedit.cpp: New files. - * qt/Makefile.am (pinentry_qt_SOURCES): Add secqstring.h, - secqstring.cpp, secqlineedit.h, and secqlineedit.cpp. - (nodist_pinentry_qt_SOURCES): Add secqlineedit.moc.cpp. - * qt/main.cpp: Do not include "memory.h" or "secmem-util.h", nor - <new> or "pinentrycontroller.h". Include <qapplication.h>, - <qmessagebox.h>, <qwidget.h> and "secqstring.h". Always include - <pinentry.h>. - [USE_KDE]: Remove all instances. - (curses_main): Function removed. - (my_new_handler): Likewise. - (qt_main): Likewise. - (qt_cmd_handler): New function. - (pinentry_cmd_handler): Define always (to qt_cmd_handler). - (main): Rewritten. - * qt/pinentrydialog.cpp: Do not include <qlineedit.h>, but - "secqlineedit.h". - (PinEntryDialog::PinEntryDialog): Make _edit a SecQLineEdit - object. Connect accepted SIGNAL to accept SLOT, and rejected - SIGNAL to reject SLOT. - (PinEntryDialog::setText): Make argument SecQString rather than - QString. - (PinEntryDialog::text): Likewise for return value. - * qt/pinentrydialog.h: Declare SecQString and SecQLineEdit classes. - (class PinEntryDialog): Disable property text (for now). Adjust - argument of setText and return value of text, as well as type of - _edit. - -2003-12-09 Werner Koch <wk@gnupg.org> - - * README.CVS: New. - * Makefile.am (EXTRA_DIST): Add README.CVS - (ACLOCAL_AMFLAGS): New. - * configure.ac: Added min_automake_versions. - * autogen.sh: Revamped. - -2003-04-23 Steffen Hansen <steffen@klaralvdalens-datakonsult.se> - - * configure.ac: Version 0.6.10-cvs - -2003-04-23 Steffen Hansen <steffen@klaralvdalens-datakonsult.se> - - * configure.ac: Version 0.6.9 - * qt/Makefile.am: Added moc files to DISTCLEANFILES - * qt/pinentrycontroller.cpp: Don't spew assuan debug stuff out on stderr. - -2003-03-26 Steffen Hansen <steffen@klaralvdalens-datakonsult.se> - - * qt/cppmemory.cpp, qt/main.cpp: Only override array allocation - operators. This should take care of the reported memory-problems - and even make pinentry-qt use a bit less memory. - -2003-02-15 Steffen Hansen <steffen@klaralvdalens-datakonsult.se> - - * qt/pinentrydialog.h, qt/pinentrydialog.cpp: Added icons - for error/non-error messages. - -2003-02-07 Marcus Brinkmann <marcus@g10code.de> - - Released 0.6.8. - -2003-02-04 Steffen Hansen <steffen@klaralvdalens-datakonsult.se> - - * qt/main.cpp: Work around '--display' option. This fixes - the pinentry-qt problem reported by several people lately. - -2003-01-24 Werner Koch <wk@gnupg.org> - - * autogen.sh: Print a hint to use maintainer mode. - -2002-12-24 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry-curses.c (collect_line): New function. - (COPY_OUT, MAKE_BUTTON): New macros. - (dialog_create): Rewrite the initializing code and the description - calculation routine with word wrapping. - -2002-11-20 Werner Koch <wk@gnupg.org> - - Released 0.6.7. - - * pinentry/pinentry-curses.c (dialog_create): Better truncate - lines than to go into an infinite loop. We need to implement word - wrap. - (dialog_run): Add DIALOG_POS_NONE to switch so prevent a warning. - -2002-11-12 Werner Koch <wk@gnupg.org> - - * config.sub, config.guess: Updated from ftp.gnu.org/gnu/config - to version 2002-11-08. - -2002-11-09 Werner Koch <wk@gnupg.org> - - Released 0.6.6. - -2002-11-08 Werner Koch <wk@gnupg.org> - - * pinentry/pinentry-curses.c (convert_utf8_string): Renamed to - * pinentry/pinentry.c (pinentry_utf8_to_local): this. Changed - callers. - (pinentry_local_to_utf8): New. - (cmd_getpin): Convert result back to UTF-8. - * gtk/pinentry-gtk.c (create_utf8_label): New. - (create_window): Use it here to set the prompts. - -2002-11-06 Werner Koch <wk@gnupg.org> - - * pinentry/pinentry-curses.c (dialog_run): Fixed retrun value tests - for fopen. - -2002-11-05 Werner Koch <wk@gnupg.org> - - * secmem/util.c (init_uids): Make it a prototype. - - * gtk/pinentry-gtk.c (enter_callback): Changed argument name to - avoid shadowing warning. - (create_window): Removed unused variable I. - (ok): Not used, commented. - - * pinentry/pinentry.c: Include headers for getpid and sleep - prototypes. - - * secmem/util.h: Correctly declare functions taking no args. - - * gtk/pinentry-gtk.c: Move gtk headers to the top to avoid - compiler warnings about shadowing index etc. - - * curses/pinentry-curses.c: Include stdio.h for the printf prototype. - - * pinentry/pinentry-curses.c (dialog_switch_pos): Return a value. - - * pinentry/pinentry.c (pinentry_have_display): New. - (pinentry_setbufferlen): Must return a value. Fixed documentation. - (usage): Print a question mark as a substitue for the program name. - - * gtk/pinentry-gtk.c (main): use it here instead of getenv(). - * qt/main.cpp (main): Ditto. - -2002-10-11 Werner Koch <wk@gnupg.org> - - * configure.ac, Makefile.am: Added doc/ and tests for makeinfo - - * doc/pinentry.texi, doc/Makefile.am: New. - * doc/gpl.texi, doc/fdl.texi: Added these standard files. - -2002-09-30 Werner Koch <wk@gnupg.org> - - Released 0.6.5. - - * qt/pinentrycontroller.cpp (optionHandler): Make sure that a - value is returned. - * configure.ac: Use -Wall also for C++. - -2002-08-19 Steffen Hansen <steffen@hrhansen.dk> - - * Relased 0.6.4. - -2002-08-11 Steffen Hansen <steffen@hrhansen.dk> - - * Adapted pinentry-qt to new CONFIRM spec. - -2002-06-26 Werner Koch <wk@gnupg.org> - - Release 0.6.3. - -2002-05-24 Werner Koch <wk@gnupg.org> - - * AUTHORS: Added Marcus - * README: Fixed spelling of Quintuple-Agent. - -2002-05-13 Marcus Brinkmann <marcus@g10code.de> - - Released 0.6.2. - - * configure.ac: Set version number to 0.6.2. - * NEWS: Add information for 0.6.2. - * README: Update for release. - -2002-05-09 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Add option --enable-fallback-curses and bind it to - the ncurses check. Add automake conditional - BUILD_LIBPINENTRY_CURSES and FALLBACK_CURSES. Add preprocessor - symbol FALLBACK_CURSES. - - * curses/Makefile.am (AM_CPPFLAGS): Add $(NCURSES_INCLUDE). - (LDADD): Add ../pinentry/libpinentry-curses.a. - * curses/pinentry-curses.c: Include "pinentry-curses.h". - Moved most of the meat to ... - * pinentry/pinentry-curses.c: ... here. New file. Make all - functions and global variables static. - (dialog_cmd_handler): Rename to ... - (curses_cmd_handler): ... this. - * pinentry/pinentry-curses.h: New file. - * pinentry/Makefile.am (noinst_LIBRARIES) - [BUILD_LIBPINENTRY_CURSES]: Add libpinentry-curses.a. - (libpinentry_curses_a_SOURCES): New target. - - * gtk/Makefile.am (INCLUDES): Moved all to ... - (AM_CPPFLAGS): ... here. - [CURSES_FALLBACK]: Define ncurses_include and libcurses. - (AM_CPPFLAGS): Add $(ncurses_include). - (LDADD): Add $(libcurses). - * gtk/pinentry-gtk.c: Rename TIMEOUT to TIME_OUT to avoid conflict - with curses.h. - [CURSES_FALLBACK]: Include "pinentry-curses.h". - (button_clicked): Likewise. - (create_window): Likewise. - (cmd_handler): Renamed to ... - (gtk_cmd_handler): ... this. - (pinentry_cmd_handler): Set to gtk_cmd_handler. - (main) [CURSES_FALLBACK]: Initialize GTK+ only if environment - variable DISPLAY is set, otherwise fall back to curses dialog. - - * pinentry/pinentry.h: Protect against multiple inclusion. - -2002-05-09 Marcus Brinkmann <marcus@g10code.de> - - * curses/pinentry-curses.c (dialog_create): Allow multi-line error - texts. - - * pinentry/pinentry.c (cmd_seterror): Call strcpy_escaped, rather - than strcpy, to allow percent-escaping the error text. - -2002-04-25 Steffen Hansen <steffen@hrhansen.dk> - - * pinentry-qt: Use ok and cancel value if - provided. - -2002-04-25 Marcus Brinkmann <marcus@g10code.de> - - * gtk/pinentry-gtk.c (create_window): Use ok and cancel value if - provided. - -2002-04-25 Marcus Brinkmann <marcus@g10code.de> - - * qt/pinentrycontroller.h: New members _ok and _cancel. - * qt/pinentrycontroller.cpp (registerCommands): Add SETOK and SETCANCEL. - (assuanOk): New method. - (assuanCancel): Likewise. - -2002-04-25 Marcus Brinkmann <marcus@g10code.de> - - * curses/pinentry-curses.c (dialog_create): Grok the new ok and - cancel members to set the pbutton texts, rather than parsing the - prompt in the confirm case. - - * pinentry/pinentry.h (struct pinentry): Add new members ok and cancel. - * pinentry/pinentry.c (register_commands): Add new commands SETOK - and SETCANCEL to set button texts. - (struct pinentry pinentry): Add initializers for new members. - (cmd_setok): New function. - (cmd_setcancel): Likewise. - -2002-04-24 Marcus Brinkmann <marcus@g10code.de> - - * curses/pinentry-curses.c (dialog_create): Add '<' and '>' around - the user provided button texts. Replace sizeof by strlen to fix - size calculation of ok and cancel button. - -2002-04-23 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.h (struct pinentry): New variables lc_ctype - and lc_messages. - * pinentry/pinentry.c (usage): New options --lc-ctype and - --lc-messages. - (pinentry_parse_opts): Likewise. - (option_handler): Likewise. - (struct pinentry pinentry): New initializers for new members. - - * curses/pinentry-curses.c (convert_utf8_string): New function. - (struct dialog): New members ok and cancel. - (dialog_create): New variables ERR, DESCRIPTION, ERROR, PROMPT, - OK, and CANCEL. Initialize them with the localised versions of - the pinentry strings. If in confirm mode, split up the prompt at - '|' and use the values as button texts. Use localised strings. - (dialog_switch_pos): Use localised strings. - (dialog_run): Free dialog strings. - - * acinclude.m4 (AM_ICONV): New check from gettext. - * configure.ac: Run AM_ICONV if curses pinentry is build. - Don't check for inttypes.h, don't check size of unsigned int or - unsigned long. - (LIBCAP): Move check to interface independent part. - -2002-04-21 Steffen Hansen <steffen@hrhansen.dk> - - * Removed X11 dependency and use Qt for grabbing the keyboard. - * Clear the lineedit before asking the user for the PIN. - -2002-04-12 Steffen Hansen <steffen@hrhansen.dk> - - * Enable pinentry-qt if Qt is found - -2002-04-06 Marcus Brinkmann <marcus@g10code.de> - - * qt: New directory. - * qt/Makefile.am, qt/cppmemory.cpp, qt/main.cpp, - pinentrycontroller.cpp, qt/pinentrycontroller.h, - qt/pinentrydialog.cpp, qt/pinentrydialog.h: New file, copied from - kde/. - * kde: Directory removed. - * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp, - kde/pinentry.desktop, kde/pinentrycontroller.cpp, - kde/pinentrycontroller.h, kde/pinentrydialog.cpp, - kde/pinentrydialog.h: Files removed. - * acinclude.m4: Removed the KE checks and completely overhauled - the Qt checks, putting all Qt checks in their own namespace QT_, - and make it declare QT_-prefixed variables for linking and - compilation. - * configure.ac: Use the new Qt checks instead the KDE checks. - Replace "kde" with "qt" everywhere. - * Makefile.am: Replace "kde" with "qt" everywhere. - -2002-04-06 Marcus Brinkmann <marcus@g10code.de> - - * acinclude.m4: Reworked the Qt and KDE checks, cutting out a lot - of dead and not-so-dead wood. Gave all KDE checks proper names. - * configure.ac: Use the new names for the KDE checks. - -2002-04-06 Marcus Brinkmann <marcus@g10code.de> - - * kde/Makefile.am (EXTRA_DIST): Remove variable. - (install-data-local): Remove target. - (uninstall-local): Likewise. - -2002-04-05 Marcus Brinkmann <marcus@g10code.de> - - Released 0.6.0. - - * configure.ac: Set version number to 0.6. - * NEWS: Add information for 0.6.0. - * secmem/Makefile.am (libsecmem_a_SOURCES): Replace secmem.h with memory. - * kde/Makefile.am (pinentry_kde_SOURCES): Move - pinentrydialog.moc.cpp and pinentrycontroller.moc.cpp to ... - (nodist_pinentry_kde_SOURCES): ... this new target. - -2002-04-05 Marcus Brinkmann <marcus@g10code.de> - - * acinclude.m4: A lot of new checks more or less straight from KDE's - admin/acinclude.m4.in. - * configure.ac (AC_CANONICAL_HOST): Call that macro. - (AC_CHECK_COMPILERS, AC_PATH_KDE): Call those macros if KDE - pinentry is enabled. - * kde/Makefile.am (CXXFLAGS, XXX_PREFIX, XXX_KDE_DEFINES, LIB_QT, - LIB_KDECORE, LIB_KDEUI, KDE_RPATH, MOC, kde_appsdir): Variables removed. - (AM_CPPFLAGS): Replace XXX_KDE_DEFINES by all_includes. - (pinentry_kde_LDFLAGS): Add all_libraries. - * README: Document that automatic check is not possible for KDE. - -2002-04-05 Marcus Brinkmann <marcus@g10code.de> - - * curses/pinentry-curses.c (dialog_run): Add handling for TAB key. - (dialog_create): New variable description_x. Calculate dimension - of multi-line description correctly. - -2002-04-04 Marcus Brinkmann <marcus@g10code.de> - - * pinentry/pinentry.h (struct pinentry): New members DISPLAY, - TTYNAME and TTYTYPE. - * pinentry/pinentry.c (pinentry): Likewise. - * pinentry/pinentry.c: Include <string.h>. - (usage): Add new options --display, - --ttyname and --ttytype. - (option_handler): Likewise. - (pinentry_parse_opts): Likewise. - - * curses/pinentry-curses.c (dialog_cmd_handler): Use - PINENTRY->ttyname and PINENTRY->ttytype. - -2002-03-30 Marcus Brinkmann <marcus@g10code.de> - - * acinclude.m4: Add AM_PATH_GLIB and AM_PATH_GTK. - -2002-03-29 Marcus Brinkmann <marcus@g10code.de> - - * configure.ac: Choose a more appropriate AC_CONFIG_SRCDIR. - -2002-03-29 Marcus Brinkmann <marcus@g10code.de> - - * kde/Makefile.am (pinentry_kde_LDADD): Link with $(LIBCAP). - * gtk/Makefile.am (install-exec-local): Moved to ... - * Makefile.am (install-exec-local): ... here. - -2002-03-29 Marcus Brinkmann <marcus@g10code.de> - - * kde/Makefile.am (kde_appsdir): New variable. - * kde/Makefile.am (install-data-local): Use DESTDIR. - (uninstall-local): Likewise. - -2002-03-29 Marcus Brinkmann <marcus@g10code.de> - - Merge of the gpinentry and curses pinentry program into the - pinentry distribution. For this, the structure of the repository - has been thoroughly overhauled. Some of the changes: - * secmem: New directory with secure memory allocation code. - * pinentry: New directory with pinentry support library. - * curses: New directory with curses frontend. - * gtk: New directory with GTK+ frontend. - * kde: New directory with only the core of the old kpinentry program. - * admin: Directory removed. - * po: Directory removed. - * kpinentry: Directory removed. - * doc: Directory removed. - * jnlib: Directory removed.x - - The changes in more detail: - * AUTHORS: Add authors of other pinentry frontends. - * ChangeLog: Add the one from gpinentry. - * Makefile.am: Completely rewritten. - * README: Add content. - * TODO: Add content. - * NEWS: New file from gpinentry. - * THANKS: New file from gpinentry. - * acinclude.m4: New file. - * configure.ac: New file which configures for all frontends. - * curses/Makefile.am, curses/pinentry-curses.c: New files for - curses frontend. - * gtk/Makefile.am, gtk/gtksecentry.c, gtk/gtksecentry.h, - gtk/pinentry-gtk.c: New files, modified from gpinentry, for GTK+ - frontend. - * kde/Makefile.am, kde/cppmemory.cpp, kde/main.cpp, - kde/pinentry.desktop, kde/pinentrycontroller.cpp, - kde/pinentrycontroller.h, kde/pinentrydialog.cpp, - kde/pinentrydialog.h: New files, modified from kpinentry, for KDE - frontend. - * pinentry/Makefile.am, pinentry/pinentry.c, pinentry/pinentry.h: - New files containing pinentry support library, partly factored out - from gpinentry. - * secmem/Makefile.am, secmem/memory.h, secmem/secmem-util.h, - secmem/secmem.c, secmem/util.c, secmem/util.h: New files - containing secure memory allocation code common to all pinentry - frontends. - * Makefile.dist, acconfig.h, configure.files, configure.in.in: - Files removed in favor of new configure.ac. - * pinentry.lsm: Removed file never used. - * stamp-h.in: Removed generated file. - * admin/ChangeLog, admin/Makefile.common, admin/acinclude.m4.in, - admin/am_edit, admin/am_edit.py, admin/conf.change.pl, - admin/config.guess, admin/config.pl, admin/config.sub, - admin/configure.in.min, admin/debianrules, admin/depcomp, - admin/install-sh, admin/libtool.m4.in, admin/ltcf-c.sh, - admin/ltcf-cxx.sh, admin/ltcf-gcj.sh, admin/ltconfig, - admin/ltmain.sh, admin/missing, admin/mkinstalldirs, admin/ylwrap: - Removed KDE build suite in favor of configure.ac. - * doc/Makefile.am, doc/en/Makefile.am, doc/en/index.docbook: - Removed files never used. - * jnlib/ChangeLog, jnlib/Makefile.am, jnlib/argparse.c, - jnlib/argparse.h jnlib/dotlock.c, jnlib/dotlock.h, - jnlib/libjnlib-config.h, jnlib/logging.c, jnlib/logging.h, - jnlib/mischelp.h, jnlib/stringhelp.c, jnlib/stringhelp.h, - jnlib/strlist.c, jnlib/strlist.h, jnlib/types.h, jnlib/xmalloc.c, - jnlib/xmalloc.h: Removed files no longer used. - * kpinentry/Makefile.am, kpinentry/cppmemory.cpp, - kpinentry/cppmemory.h, kpinentry/i18n.h, kpinentry/main.cpp, - kpinentry/memory.h, kpinentry/pinentry.desktop, - kpinentry/pinentrycontroller.cpp, kpinentry/pinentrycontroller.h, - kpinentry/pinentrydialog.cpp, kpinentry/pinentrydialog.h, - kpinentry/secmem.cpp, kpinentry/util.cpp, kpinentry/util.h: - Removed files in favor of new files in kde/. - * po/Makefile.am, po/pinentry.pot: Removed files never used. - - * autogen.sh: New file. - -2002-03-04 Werner Koch <wk@gnupg.org> - - * gpinentry.c (enter_callback): New - (create_window): Connect it to the entry field. - -2002-02-18 Werner Koch <wk@gnupg.org> - - Released 0.5.1. - - * gpinentry.c (create_window): Add CONFIRM_MODE. - (cmd_confirm): Implemented. - - * assuan/: Updated from NewPG. - -2002-01-20 Werner Koch <wk@gnupg.org> - - * gpinentry.c (option_handler): New to allow changing of the grab - status. - (grab_keyboard): Shortcut this when global grab is not set. - -2002-01-04 Werner Koch <wk@gnupg.org> - - Released 0.5.0. - - * configure.ac: Bumbed version - - * util.h (xtoi_1, xtoi_2): New. - * gpinentry.c (strcpy_escaped): New - (cmd_setdesc, cmd_seterror): Use it here to allo multiline texts. - - * gpinentry: Removed debugging outbut - (create_window): Tweaked layout. - -2001-12-07 Werner Koch <wk@gnupg.org> - - New package gpinentry based on quintuple-agent. - - Removed all stuff except for the basic configuration stuff and - what is needed to build gpinentry. Also removed i18n support. - * gpinentry.c: Renamed from secret-query.c - -2001-02-12 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 1.0.0 released. Woo-hoo! - - * configure.in, NEWS: Bumped version. - -2001-02-04 Robert Bihlmeyer <robbe@orcus.priv.at> - - * agent.c (make_tmpdir): Honor $TMPDIR. - - (agent): Would exit on every minor problem. Now, we just close the - offending connection. - Ignore SIGPIPE, so that EPIPE will close connection. - -2001-01-11 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secmem.c: Move one include statement so that the thing compiles. - - * secret-query.c (main): Minor source cosmetics. - -2000-11-16 Robert Bihlmeyer <robbe@orcus.priv.at> - - * gtksecentry.c (gtk_secure_entry_insert_text): Secured a couple - of memory (de)allocations that were missed. Thanks to John Steele - <jhs28@eng.cam.ac.uk> for spotting these. - -2000-11-10 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Thoughts: Removed in favor of new TODO. - - * README: Remove content and refer to doc/manual.info instead. - - * agent.c (do_get): Would burn badly on a premature exit of the - query program (which would occur routinely if you selected /cancel/). - -2000-10-25 Robert Bihlmeyer <robbe@orcus.priv.at> - - * memory.h: Include sys/types.h for size_t. - -2000-10-08 Robert Bihlmeyer <robbe@orcus.priv.at> - - * README: Removed apology about missing documentation. - Updated paragraph about Linux capability patch. - Typo & Refill. - -2000-10-03 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 0.9 released. - - * Makefile.am (EXTRA_DIST): Distribute BUGS (the file, that is). - - * configure.in, NEWS: Bumped version. - - * Makefile.am, configure.in: Add debian subdir. - - * README: Recommend GTK+. - Update list of checked platforms. - -2000-10-02 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c (ok): Simplify. - Put empty line between headers and secret. - (usage): Document '--help' and '--version'. - - * agent.c (do_get): Use enhanced secret-query output to fill in - options. - -2000-10-01 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c (main): Clarify error. - - * client.c (query_options): New global variable. - (main): New option '--query-options' to pass options to the query - program. - (xgetpass): Use it. - - * agent.c (main): New option '--query-options' to pass options to - the query program. - (do_get): Use 'query_options'. - - * acconfig.h, configure.in: Add QUERY_PROGRAM definition. - * client.c: Remove here. - * agent.c (do_get): Use it here, too. - - * secret-query.c (main): New option '--no-global-grab' introduced, - that prevents keyboard grabbing unless the window has focus. - -2000-09-11 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c (usage): Add two missing pieces of "\n\". - - * agent.c (main): --nofork is now the default, and the option is - deprecated. New option --fork added to turn forking on again. - Close stdout (and stderr unless debugging) even when not forking, - so that normal usage inside eval is still possible. - (agent): Exit gracefully on HUP, so that logging out now kills the - agent. - - * README (Contact Information): Old URL - duh! - (Using Secret Agent): We no longer fork per default. - - * Makefile.am (lib/libutil.a): New target, allows targets that not - automatically recurse (but still depend on libutil.a) to succeed. - -2000-07-20 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c (usage): New function. - (main): Parse options: debug, enhanced, help, version. - Turn on locale support. - If enhanced, insert widgets to ask for timeout and insurance. - (ok): If enhanced, print more information on exit. - (grab_keyboard): Die if grab was unsuccessful. - -2000-05-31 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 0.8 released. - - * configure.in, NEWS: Bumped version. - - * Makefile.am (SUBDIRS): Include doc. - - * configure.in, acconfig.h: Check for ssize_t. - Check for vsnprintf(), strdup(). - Generate doc/Makefile. - - * apgp.c, agpg.c, agentlib.c, util.c: Include more stuff. - - * agent.c (do_get): Use asprintf() instead of snprintf() so we - don't need to roll our own for yet another function. - Fix some includes. - - * acinclude.m4: gettext macros copied from automake and fixed. - -2000-05-30 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in, Makefile.am: Properly include doc subdir. - -2000-05-29 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in, acconfig.h: Add test for XMESSAGE path. - - * client.c (main): Decode command from string to integer code - first, then evaluate that in ifs. - - * secret-ask.c: New file, external ask-for-confirmation utility. - - * configure.in, Makefile.am: Add secret-ask to programs being - built when GTK is available. Rename QUERY to more descriptive - GTK_PROGRAMS. - - * agent.c (do_get): If GTK is available, try executing secret-ask - first. - Only put the comment into the insure-question if there is a - comment. - (main): --csh was missing from usage message. - -2000-04-23 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c (constrain_size): Lower window max_width to - accommodate bugs in GTK and Scwm. - - * agent.c (main): Set x_enabled if X appears to be available. - Use it to selectively make FLAGS_INSURE supported. - (do_get): Use it instead of testing at every call. - (do_put): Requests containing unsupported flags fail. - (forget_old_stuff): Would not set next_deadline correctly. - (do_get): Implement FLAGS_INSURE. - - * client.c (main): "list" format changed so that comment is to the - far right. Display the deadline as proper date/time, too. - -1999-11-11 Robert Bihlmeyer <robbe@orcus.priv.at> - - * agent.c (next_deadline): New global variable, holds time when - next secret has to be killed. - (store): Keep it up-to-date. - (forget_old_stuff): New function, reaps secrets ready to kill, - keeps next_deadline updated. - (agent): Use it on all secrets, whenever a deadline is active. - -1999-11-08 Robert Bihlmeyer <robbe@orcus.priv.at> - - * agent.h (request_put): Add flags, deadline. Increase REQUEST_MAGIC. - (reply_get): Ditto, and increase REPLY_MAGIC. - * agent.c (store): Store flags, deadline in reply. - (do_put): Hand flags, deadline from request on to store(). - (do_get): Store on-demand queried secrets without deadline or - special flags, for now. - (agent): Do not ignore obsolete clients, return an error reply. - * agentlib.c (agent_put): Add flags, deadline arguments, and copy - them into the request. - * agentlib.h (agent_put): Update prototype. -* * client.c (main): Added --time-to-live (-t) and --insure (-i) - options, influencing PUT's deadline and flags, respectively. - (main): Change list format to include new attributes. - -1999-11-05 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: <getopt.h> check had redundant definition. - * acconfig.h: Remove here, too. - - * configure.in: Check for <inttypes.h>. If not found, check for - unsigned {int, long} sizes. - * agent.h: Either include <inttypes.h>, or try to define uint32_t - yourself. - Need to include "config.h". - -1999-11-04 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Makefile.am (signed-dist): New rule, generates sig for dist. - (%.sig): New rule, for detached signatures in general. - - * configure.in: Check for ulong. - * acconfig.h: Document it. - * secmem.c: Unconditionally defining it is no longer necessary - here. But do include <sys/types.h> in all cases. - - * 0.7 released. - - * secmem.c: ulong is not defined on all systems. - - * agent.h: <inttypes.h> should define `uint32_t' as per Unix98, so - we use that. - -1999-11-02 Robert Bihlmeyer <robbe@orcus.priv.at> - - * agent.h: Augmented requests and replies with magic numbers. - Data structures heavily commented. - All structures and enums typedef'd. - * agent.c: Adapted. - (store): Set magic number in stored reply. - (do_put): Set magic number in reply. - (do_delete): Ditto. - (do_list): Ditto. - (agent): Check magic number in request. - * agentlib.c: Adapted. - (send_request): Set magic number in request. Check it in reply. - * agentlib.h: Adapted. - * agpg.c: Adapted. - * apgp.c: Adapted. - * client.c: Adapted. - -1999-10-31 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secmem.c: Instead of defining ulong directly, include - <sys/types.h> - - * secret-query.c (constrain_size): New function, puts constrains - on size of toplevel window. - (grab_keyboard): Removed protection against multiple calls. - (ungrab_keyboard): New function, cancelling a keyboard grab. - (main): Hang `grab_keyboard' onto map-event which makes it - actually work, hang `ungrab_keyboard' onto unmap-event. - Hang `constrain_size' onto size-request. - - * secmem.c: ulong was undefined on some systems. - -1999-10-19 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Makefile.am (install-exec-local): Ignore setcap errors. - - * apgp.c: New program, based on agpg.c, but for pgp2.6. - * Makefile.am (bin_PROGRAMS, apgp_SOURCES): Added it. - - * agpg.c (GPG): New constant. - (find_id, main): Use it throughout. - (find_id): Forgot to pclose on success. - - * secret-query.c (main): Don't expand anything. - Use a button box for the buttons. - Prompt label can be overridden from the commandline. - * agent.c (do_get): Make spawned secret-query show the id. - * client.c (xgetpass): Pass prompt to secret-query. - (main): Include id in xgetpass prompt. - -1999-10-14 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: setcap must be searched outside the usual user - PATH, too. - * Makefile.am (install-exec-local): Set cap_ipc_lock permitted on - installed binaries, if possible. - - * agent.c (xdup2): New function, dup2 with error handling. - (move_fd): New function, moves fds. - (store): New function, abstracted out from do_put. - (do_put): Use it. - (do_get): If secret was not found, and DISPLAY is set, try to - query the user about it. If successful, store it. - (main): Route standard file descriptors to /dev/null rather than - just closing them. The latter would confuse children. - -1999-10-13 Robert Bihlmeyer <robbe@orcus.priv.at> - - * gtksecentry.c, gtksecentry.h: New files, being slightly modified - versions of GTK+'s gtkentry.[ch], spiffed up to use secure memory. - * secret-query.c (ok, unselect, main): Replace GtkEntry with - GtkSecureEntry. - (main): Initialize secure memory. - * Makefile.am (secret_query_SOURCES): Added gtksecentry.[ch]. - - * README (Security): New chapter. - - * configure.in, acconfig.h: Check for POSIX capabilities, and the - setcap program. - * Makefile.am: Link LIBCAP to those binaries using secmem.c. - - * util.h: Include <sys/types.h> for size_t. - -1999-09-21 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secmem.c: Synced with gnupg-1.0 (top new feature: capabilities). - (log_fatal): New function, logs to stderr, and dies. - -1999-09-08 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secmem.c (log_info): New function, logs to stderr. - - * agent.c (agent): select() expects the number of fds, not the - highest fd. So remember that number. - - * agent.c (agent): Don't use FD_SETSIZE, which is not defined on - all systems. Remember the number of the highest descriptor - instead. - - * configure.in: Replace getline() instead of getdelim() because - this is the function we really need. Still check for getdelim(), - though - there are systems out there where this is provided, but - getline() is not. - -1999-09-01 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 0.6 released. - - * configure.in: Bump version. - - * NEWS: Updated. - -1999-08-31 Robert Bihlmeyer <robbe@orcus.priv.at> - - * util.c (init_uids, lower_privs, raise_privs, drop_privs): New - functions, for setuid binaries, extracted from agent.c. - * util.h: Add prototypes for them. - * agpg.c (main): Use them. - * client.c (main): Ditto. - * agent.c (main): Ditto. Removed code that did the same. - Unconditionally include "asprintf.h" (it protects itself now). - -1999-08-25 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Makefile.am (SUBDIRS): Process . before test so that "make - check" always builds all in . first. - -1999-08-21 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c: Include "config.h". - - * agent.h (reply_list_entry, reply_list): New reply structures. - * agent.c (send_list_entry): New function. - (do_list): First send number of entries, then each entry via - send_list_entry(). - * agentlib.c (agent_list): Read entries returned by LIST request. - * client.c (main): Output all entries returned by agent_list(). - - * agentlib.c (agent_put): Don't construct PUT request in insecure - stack space. - -1999-08-20 Robert Bihlmeyer <robbe@orcus.priv.at> - - * NEWS: Bump patchlevel. - - * configure.in: Bump patchlevel. - Check for missing setenv(). - -1999-08-09 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: Check for strsignal(). - - * client-test: Obsoleted by test/client. - - * Makefile.am (SUBDIRS): New subdirectory. - * configure.in (AC_OUTPUT): Add here, too. - - * 0.5 released. - - * README: Explain why secret-client will not output secrets to a - tty, and mention the cat-trick. - - * agent.c (main): If seteuid is not available, don't use it and - issue a warning if running setuid. - - * configure.in: Run together two REPLACE_FUNCS. - Check for seteuid. - - * client-test: Mask out insecure memory warnings. - - * agentlib.c (send_request): Let the calling functions reserve - space for the reply, but offer a simple way for simple requests. - (agent_get): Allocate secure memory. - - * agent.c (main): Moved secmem_init() after the fork, since that - seemingly munlock's all pages. - Drop privileges just in case somebody wants to install this - suid-root. - Flush stdout. - - * agpg.c (find_id): Would reorder arguments. - Initialize opt_version. - (main): Initialize secure memory. - - * Makefile.am (agpg_SOURCES): Link with secure memory module. - - * client.c (usage): Fixed another program name reference. - -1999-08-06 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: Conditionally define HAVE_GTK. - * acconfig.h: Add here too. - - * client.c (xgetpass): Use "secret-query" only if it was built. - (main): Don't output secret (GET command) to ttys. - - * agpg.c (find_id): Also print own version if "--version" is given. - (main): Check agent_init() errors. - Print error if exec fails. - - * agent.c (main): Added an option to produce csh-compatible - output. - - * agent.c, client.c: Forgot the terminating NULL in long options. - Fixed the program names in usage and version output. - - * agent.c (create_socket): AF_UNIX and PF_UNIX are Unix98, so - that's what we use. AF_LOCAL, PF_LOCAL removed. - * agentlib.c (agent_init): Ditto. - -1999-08-05 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 0.4 released. - - * configure.in: Bumped version. - Check for missing getdelim. - - * cgpg: Removed, obsoleted by agpg. - * Makefile.am: Here, too. - - * agpg.c (find_id): New function. - (main): Use it. - - * Makefile.am (INCLUDES): Put GTK_FLAGS and GLIB_FLAGS here. It - is the easiest way for sources needing it, and it won't hurt those - that don't. - (agent.o): Explicit command removed accordingly. - -1999-08-04 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: Need double quoting in nested AC_MSG_WARN. - - * client.c (xgetpass): If no tty is available, but a DISPLAY is, - fork off "secure-query" to read the secret. - Put the fgets into a loop that keeps reading until all of the - secret is read. - - * client-test: Unset DISPLAY, so that "secret-query" is never used. - -1999-08-03 Robert Bihlmeyer <robbe@orcus.priv.at> - - * agpg.c: New file, first cut at a C version of the gpg wrapper, - written in a hurry (20 keys waiting to be signed, and a growling - stomach). - * Makefile.am: Add it to built programs. - (LDADD): New default. - (secret_client_LDADD): Removed, since it was identical to default. - -1999-08-01 Robert Bihlmeyer <robbe@orcus.priv.at> - - * secret-query.c: New program, queries the user for a password. - * Makefile.am (bin_PROGRAMS): Added it. - * configure.in: Check for GTK+, build "secret-query" only when - that is available. - - * cgpg: Extra argument for ID is no longer necessary. cgpg will - scan the gpg args for switches that affect user-id, and determine - the right key itself. Per convention, the key-id is used by "GET". - - * configure.in: The project name is now "secret-agent". - - * Makefile.am: "agent" & "client" renamed to "secret-agent" & - "secret-client", respectively. - * client-test: Adapt to new names. - - * Thoughts: Removed discussion of other names. - Added indication of which things already work. - - * agent.c (make_tmpdir): Removed occurrence of "gpg-agent." - - * README: First proper version. - - * client-test: Context diffs are more portable then unified diffs. - - * agent.c, agent.h, agentlib.c, agentlib.h, client.c, memory.h, - util.c, util.h: Banner updated to new name. - -1999-07-29 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: Check for missing asprintf. - Check if -lsocket is needed. - - * secmem.c (secmem_dump_stats): Replace usage of ulong. - - * Makefile.am (INCLUDES): Add the lib subdirectory to include search. - - * agent.c: Forgot to include <string.h>. - Include RYO asprintf header if this function is missing. - For the sake of compatibility, provide a definition for AF_LOCAL, - PF_LOCAL, if missing. - * agentlib.c: Ditto. - -1999-07-28 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Makefile.am (client_SOURCES): Add "secmem.c", "memory.h". - - * client.c (xgetpass): Use secmem_malloc() instead of RYO. - (main): Init and shutdown secmem. - -1999-07-27 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Makefile.am (agent_SOURCES): Add "secmem.c", "i18n.h", "memory.h". - (client_SOURCES): Add "i18n.h". - - * client.c (main): Exit on agent_init() failure. - - * agent.c (main): Init secmem. - Make --debug switch cumulative. - (cleanup): Shutdown secmem. - (do_put): Use secmem for storage of secrets. - (do_delete): Use secmem_free(). Since this wipes the memory on its - own, wipe() is superflous now. - (agent): Use secmem for inbound requests. - (delete_secret): New function, takes part of do_delete's - functionality. - (do_put): Use it to remove old versions stored under the same id. - (do_delete): Use it to delete secrets. - - * memory.h: New file. - - * secmem.c: New file, snarfed from GnuPG and modified slightly. - - * acinclude.m4: New file. - * configure.in: (ALL_LINGUAS): Expanded list of available - languages. Most of them only have a few translations from gpg, - tough ... - getopt_long test was commented out for debugging, - and left such. Fixed. - Check for mlock. - * acconfig.h: Comment HAVE_BROKEN_MLOCK. - - * cgpg: A space was missing. - - * i18n.h: New file, centralizing the gettext macro defs. - - * agent.c (BLIND): New macro, that blinds out a secret if debug - level is too low. - (do_put): Use it. - (do_get): Use it. - Include i18n.h. - - * agentlib.c: Include i18n.h - - * client.c (usage): New function. - Usage-message made gettext-friendly. - (xgetpass): Use perror() instead of fprintf(). - (main): Use it. - Make comment an optional argument of PUT. - Include i18n.h. - -1999-07-26 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Makefile.am (client_LDADD): Add lib/libutil.a for portability. - (agent_LDADD): Ditto. - (SUBDIRS): Add lib directory. - (bin_SCRIPTS): New with cgpg, so it gets installed, too. - - * configure.in: Add lib/Makefile to output. - -1999-07-24 Robert Bihlmeyer <robbe@orcus.priv.at> - - * cgpg: New file. - * Makefile.am (EXTRA_DIST): Added it. - - * agent.c: Moved inclusion of config.h before inclusion of - libintl.h since the latter needs HAVE_LC_MESSAGE. - * client.c: Ditto. - * clientlib.c: Ditto. - - * client-test: Update for new client semantics. - - * client.c (check_status): Use debugmsg(). Do nothing if not - debugging. - (xgetpass): New function, getpass replacement that uses mlock'ed - memory. - (main): PUT now asks for the secret rather then getting it from - the commandline. - GET prints only the secret to stdout. - - * configure.in: Rearranged. - Check for socklen_t. - * acconfig.h: Added a definition for it. - - * client.c: Include packaged getopt.h if the system doesn't provide - one. - * agent.c: Ditto. - (create_socket): Replace AF_FILE, PF_FILE with AF_LOCAL, PF_LOCAL - for portability. - * agentlib.c (agent_init): Ditto. - Explicitly cast addr to a sockaddr pointer. - - * Makefile.am (client_LDADD): Added @INTLLIBS@. - (agent_LDADD): Ditto. - -1999-07-19 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in: Check for getopt.h and getopt_long. - * acconfig.h (HAVE_GETOPT_H): New define. - * lib/getopt.c, lib/getopt1.c, lib/getopt.h: Added. - -1999-07-18 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 0.2 released. - - * NEWS: Updated. - - * Makefile.am (agent.o): Mentioning the source explicitly does not - work for srcdir!=builddir. - - * client.c (main): Function arguments are not always evaluated in - order, so drop the neat ++optind in favor of optind+1, optind+2, - etc. - - * configure.in: Upped version. - -1999-06-28 Robert Bihlmeyer <robbe@orcus.priv.at> - - * util.h: Added multi-inclusion guard. - - * agent.c Include "util.h". - (main): Forgot to exit at end. - (do_delete): Assume that value is a string and wipe it accordingly. - - * configure.in (--enable-debug): New switch. - - * agent.h (status_t): Added STATUS_COMM_ERR code. - Added multi-inclusion guard. - - * client.c (main): Abstracted out most functionality into a - function library, namely: - * agentlib.c: New file. - * agentlib.h: New file. - * Makefile.am (client_SOURCES): Added agentlib.c, agentlib.h. - - * Makefile.am (INCLUDES): GLIB_CFLAGS moved again, this time to - the agent.o target. - -1999-06-15 Robert Bihlmeyer <robbe@orcus.priv.at> - - * 0.1 released. - - * Makefile.am (agent_CFLAGS): Removed - did not work. - (INCLUDES): Moved the GLIB stuff here. - -1999-06-14 Robert Bihlmeyer <robbe@orcus.priv.at> - - * configure.in (ALL_LINGUAS): Added `de'. - - * agent.c (do_get): Added more debugmsgs. - (do_put): Wouldn't allocate enough for `value'. - (main): New option "--nofork" prevents forking. - Use macros for the std filedescriptor numbers. - Only close stderr if not debugging. - (main): Make Usage string gettext-friendly. - - * client-test (cleanup): New function. - Call it on shell exit. - (client): New function. - Use it instead of calling client binary directly. - diff client output with expected one in GET testcases. - -1999-06-13 Robert Bihlmeyer <robbe@orcus.priv.at> - - * agent.c (failed_reply): New constant. - (do_list): Use it. - (do_put): The hash key was overwritten - strdup it. - Construct a GET reply and save that in the hash. - (do_get): Just send the preconstructed reply if the id is present, - and failed_reply otherwise. - (do_delete): Actually free the hashed stuff. - - * client.c: Exit with error if agent returned STATUS_FAIL. - - * Makefile.am (EXTRA_DIST): Added autogen.sh, Thoughts, - client-test. - (TESTS): Added client-test. - (AUTOMAKE_OPTIONS): Added gnits. - - - Copyright 2002, 2003, 2010 g10 Code GmbH - - This file is free software; as a special exception the author gives - unlimited permission to copy and/or distribute it, with or without - modifications, as long as this notice is preserved. - - This file 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. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/INSTALL b/debian/pinentry-tqt/pinentry-tqt-1.2.1/INSTALL deleted file mode 100644 index 8b82ade0..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/INSTALL +++ /dev/null @@ -1,291 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008 Free Software Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -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. - - 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. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. 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. - - 6. Often, you can also type `make uninstall' to remove the installed - files again. - -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 `..'. - - 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'. - - 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. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -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" - -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 `<wchar.h>' 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" - -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/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.am deleted file mode 100644 index bbe6ee3e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.am +++ /dev/null @@ -1,147 +0,0 @@ -# Makefile.am -# Copyright (C) 2002, 2012, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -ACLOCAL_AMFLAGS = -I m4 -DISTCHECK_CONFIGURE_FLAGS = --disable-pinentry-qt --enable-pinentry-emacs - -GITLOG_TO_CHANGELOG=gitlog-to-changelog - -EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old VERSION \ - build-aux/gitlog-to-changelog \ - build-aux/git-log-fix build-aux/git-log-footer - -if BUILD_PINENTRY_CURSES -pinentry_curses = curses -else -pinentry_curses = -endif - -if BUILD_PINENTRY_TTY -pinentry_tty = tty -else -pinentry_tty = -endif - -if BUILD_PINENTRY_EMACS -pinentry_emacs = emacs -else -pinentry_emacs = -endif - -if BUILD_PINENTRY_GTK_2 -pinentry_gtk_2 = gtk+-2 -else -pinentry_gtk_2 = -endif - -if BUILD_PINENTRY_GNOME_3 -pinentry_gnome_3 = gnome3 -else -pinentry_gnome_3 = -endif - -if BUILD_PINENTRY_QT -pinentry_qt = qt -else -pinentry_qt = -endif - -if BUILD_PINENTRY_QT4 -pinentry_qt4 = qt4 -else -pinentry_qt4 = -endif - -if BUILD_PINENTRY_TQT -pinentry_tqt = tqt -else -pinentry_tqt = -endif - -if BUILD_PINENTRY_W32 -pinentry_w32 = w32 -else -pinentry_w32 = -endif - -if BUILD_PINENTRY_FLTK -pinentry_fltk = fltk -else -pinentry_fltk = -endif - -if BUILD_PINENTRY_EFL -pinentry_efl = efl -else -pinentry_efl = -endif - -if BUILD_DOC -doc = doc -else -doc = -endif - -SUBDIRS = m4 secmem pinentry ${pinentry_curses} ${pinentry_tty} \ - ${pinentry_emacs} ${pinentry_gtk_2} ${pinentry_gnome_3} \ - ${pinentry_qt} ${pinentry_qt4} ${pinentry_tqt} ${pinentry_w32} \ - ${pinentry_fltk} ${pinentry_efl} ${doc} - - -install-exec-local: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - echo " $(SETCAP) cap_ipc_lock+p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(SETCAP) cap_ipc_lock+p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'` || true; \ - done - - (cd $(DESTDIR)$(bindir); \ - rm -f pinentry$(EXEEXT); \ - $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry$(EXEEXT)) - -dist-hook: gen-ChangeLog - -distcheck-hook: - set -e; ( \ - pref="#+macro: pinentry_" ;\ - reldate="$$(date -u +%Y-%m-%d)" ;\ - echo "$${pref}ver $(PACKAGE_VERSION)" ;\ - echo "$${pref}date $${reldate}" ;\ - list='$(DIST_ARCHIVES)'; for i in $$list; do \ - case "$$i" in *.tar.bz2) \ - echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\ - echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\ - echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\ - esac;\ - done ) | tee $(distdir).swdb - - -gen_start_date = 2012-08-08T00:00:00 -.PHONY: gen-ChangeLog -gen-ChangeLog: - if test -d $(top_srcdir)/.git; then \ - (cd $(top_srcdir) && \ - $(GITLOG_TO_CHANGELOG) --append-dot --tear-off \ - --amend=build-aux/git-log-fix \ - --since=$(gen_start_date) ) > $(distdir)/cl-t; \ - cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\ - rm -f $(distdir)/ChangeLog; \ - mv $(distdir)/cl-t $(distdir)/ChangeLog; \ - fi diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.in deleted file mode 100644 index 5e0ddb80..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.in +++ /dev/null @@ -1,961 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am -# Copyright (C) 2002, 2012, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir distdir-am dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ - config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = m4 secmem pinentry curses tty emacs gtk+-2 gnome3 qt \ - qt4 tqt w32 fltk efl doc -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.rpath \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/missing AUTHORS COPYING ChangeLog \ - INSTALL NEWS README THANKS TODO build-aux/compile \ - build-aux/config.guess build-aux/config.rpath \ - build-aux/config.sub build-aux/depcomp build-aux/install-sh \ - build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex \ - depcomp install-sh missing mkinstalldirs -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_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" -GZIP_ENV = --best -DIST_ARCHIVES = $(distdir).tar.bz2 -DIST_TARGETS = dist-bzip2 -# Exists only to be overridden by the user if desired. -AM_DISTCHECK_DVI_TARGET = dvi -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = gitlog-to-changelog -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -ACLOCAL_AMFLAGS = -I m4 -DISTCHECK_CONFIGURE_FLAGS = --disable-pinentry-qt --enable-pinentry-emacs -EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old VERSION \ - build-aux/gitlog-to-changelog \ - build-aux/git-log-fix build-aux/git-log-footer - -@BUILD_PINENTRY_CURSES_FALSE@pinentry_curses = -@BUILD_PINENTRY_CURSES_TRUE@pinentry_curses = curses -@BUILD_PINENTRY_TTY_FALSE@pinentry_tty = -@BUILD_PINENTRY_TTY_TRUE@pinentry_tty = tty -@BUILD_PINENTRY_EMACS_FALSE@pinentry_emacs = -@BUILD_PINENTRY_EMACS_TRUE@pinentry_emacs = emacs -@BUILD_PINENTRY_GTK_2_FALSE@pinentry_gtk_2 = -@BUILD_PINENTRY_GTK_2_TRUE@pinentry_gtk_2 = gtk+-2 -@BUILD_PINENTRY_GNOME_3_FALSE@pinentry_gnome_3 = -@BUILD_PINENTRY_GNOME_3_TRUE@pinentry_gnome_3 = gnome3 -@BUILD_PINENTRY_QT_FALSE@pinentry_qt = -@BUILD_PINENTRY_QT_TRUE@pinentry_qt = qt -@BUILD_PINENTRY_QT4_FALSE@pinentry_qt4 = -@BUILD_PINENTRY_QT4_TRUE@pinentry_qt4 = qt4 -@BUILD_PINENTRY_TQT_FALSE@pinentry_tqt = -@BUILD_PINENTRY_TQT_TRUE@pinentry_tqt = tqt -@BUILD_PINENTRY_W32_FALSE@pinentry_w32 = -@BUILD_PINENTRY_W32_TRUE@pinentry_w32 = w32 -@BUILD_PINENTRY_FLTK_FALSE@pinentry_fltk = -@BUILD_PINENTRY_FLTK_TRUE@pinentry_fltk = fltk -@BUILD_PINENTRY_EFL_FALSE@pinentry_efl = -@BUILD_PINENTRY_EFL_TRUE@pinentry_efl = efl -@BUILD_DOC_FALSE@doc = -@BUILD_DOC_TRUE@doc = doc -SUBDIRS = m4 secmem pinentry ${pinentry_curses} ${pinentry_tty} \ - ${pinentry_emacs} ${pinentry_gtk_2} ${pinentry_gnome_3} \ - ${pinentry_qt} ${pinentry_qt4} ${pinentry_tqt} ${pinentry_w32} \ - ${pinentry_fltk} ${pinentry_efl} ${doc} - -gen_start_date = 2012-08-08T00:00:00 -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ - $(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 -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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - ($(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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -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) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz - $(am__post_remove_distdir) -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-zstd: distdir - tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_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*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - *.tar.zst*) \ - zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(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-$$$$/" \ - && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ - && $(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__post_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: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { 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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-exec-local - -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: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ - dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ - dist-zip dist-zstd 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-exec-local \ - 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-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -install-exec-local: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - echo " $(SETCAP) cap_ipc_lock+p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ - $(SETCAP) cap_ipc_lock+p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'` || true; \ - done - - (cd $(DESTDIR)$(bindir); \ - rm -f pinentry$(EXEEXT); \ - $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry$(EXEEXT)) - -dist-hook: gen-ChangeLog - -distcheck-hook: - set -e; ( \ - pref="#+macro: pinentry_" ;\ - reldate="$$(date -u +%Y-%m-%d)" ;\ - echo "$${pref}ver $(PACKAGE_VERSION)" ;\ - echo "$${pref}date $${reldate}" ;\ - list='$(DIST_ARCHIVES)'; for i in $$list; do \ - case "$$i" in *.tar.bz2) \ - echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\ - echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\ - echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\ - esac;\ - done ) | tee $(distdir).swdb -.PHONY: gen-ChangeLog -gen-ChangeLog: - if test -d $(top_srcdir)/.git; then \ - (cd $(top_srcdir) && \ - $(GITLOG_TO_CHANGELOG) --append-dot --tear-off \ - --amend=build-aux/git-log-fix \ - --since=$(gen_start_date) ) > $(distdir)/cl-t; \ - cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\ - rm -f $(distdir)/ChangeLog; \ - mv $(distdir)/cl-t $(distdir)/ChangeLog; \ - fi - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/NEWS b/debian/pinentry-tqt/pinentry-tqt-1.2.1/NEWS deleted file mode 100644 index c080b34e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/NEWS +++ /dev/null @@ -1,439 +0,0 @@ -Noteworthy changes in version 1.2.1 (2022-08-24) ------------------------------------------------- - - * qt: Support building with Qt 5.9. [T5592] - - * curses: Handle an error at curses initialization. [T5623] - - * curses: Specify fg/bg when an extention of Ncurses is not available. - [T5631] - - * qt: Fix translation of context menu entries. [T5786] - - * qt: Further improve the accessibility. [T5863] - - * qt: Fix moving focus to second input field when pressing Enter in - first input field. [T5866] - - * qt: Update the cursor position when reformatting the text. [T5972] - - * qt: Use foreground raising code also with the confirm prompt. - [T6134] - - * Make the legacy qt4 version build again. [T5569] - - * Make sure an entered PIN is always cleared from memory. [T5977] - - * Build fixes for Windows. [T5893] - - -Noteworthy changes in version 1.2.0 (2021-08-25) ------------------------------------------------- - - * qt: Show a warning if Caps Lock is on on Windows, X11 (requires - libX11 and Qt5X11Extras), and Wayland (requires KF5WaylandClient). - [T4950] - - * qt: Support password formatting. This makes generated passwords - easier to transcript. [T5517] - - * qt: Fix showing of pinentry window on Wayland. [T5528] - - * qt: Check passphrase constraints before accepting passphrase if - passphrase constraints are requested to be enforced. [T5532] - - * qt: Improve detection of running in a GUI session. [T3659] - - * qt: Improve accessibility when entering new password. [T5543] - - Release-info: https://dev.gnupg.org/T5566 - - -Noteworthy changes in version 1.1.1 (2021-01-21) ------------------------------------------------- - - * A EFL-based pinentry has been contributed. - - * Disable echoing in backspace key is pressed first - (GTK, Qt, TQt, and ncurses pinentries). - - * Support line editing in TTY pinentry. - - * Remove support for old GTK+2 (< 2.12.0). - - * Various minor fixes. - - -Noteworthy changes in version 1.1.0 (2017-12-03) ------------------------------------------------- - - * A FLTK1.3-based pinentry has been contributed. - - * A TQt3-based pinentry has been contributed. - - * New option --ttyalert for pinentry-curses to alert the user. - - * Don't show "save passphrase" checkbox if secret service is - unavailable. - - * The GTK Pinentry shows on Linux some information anout the process - which invoked the Pinentry. - - * The GTK Pinentry does not anymore show tooltips when keyboard - grabbing is enabled. - - * Fixed various minor problems. - - -Noteworthy changes in version 1.0.0 (2016-11-22) ------------------------------------------------- - - * Qt pinentry now supports repeat mode in one dialog. - - * Qt and GTK pinentries now make it possible to show the entered - value. - - * Qt pinentry now only grabs the keyboard if an entry field is - focused. - - * Fixed foreground handling in pinentry-qt if compiled with Qt5 for - Windows. - - * Fixed potential crash in Qt qualitybar calculation. - - * GTK keyboard grabbing is now a bit more robust. The cursor is - changed to a big dot as a visual indication that a pinentry has - popped up and is waiting for input. - - * The GNOME pinentry now falls back to curses if it can't use the - GCR system prompter or a screenlock is active. - - * Fixed error output for cached passwords. - - * A show/hide passphrase button or checkbox is now available with - some pinentry flavors. - - * Improved diagnostics and error codes. - - -Noteworthy changes in version 0.9.7 (2015-12-07) ------------------------------------------------- - - * Fix regressions in the Qt pinentry. - - * Fix minor problems pinnetyr-tty. - - * New option --invisible-char. - - -Noteworthy changes in version 0.9.6 (2015-09-10) ------------------------------------------------- - - * Many improvements for the dump tty pinentry. - - * Use the standard GTK+-2 text entry widget instead of our outdated - and back-then-it-was-more-secure text widget. - - * Use the standard Qt text widget. - - * Allow for building a static Qt variant. - - * Fix regression in w32 pinentry. - - -Noteworthy changes in version 0.9.5 (2015-07-01) ------------------------------------------------- - - * Replaced the internal Assuan and gpg-error code by the standard - libassuan and libgpg-error libraries. - - * Add a new Emacs pinentry and use as fallback for GUI programs. - - * gnome3: The use-password-manager checkbox does now work. - - * Gtk: Improved fallback to curses feature. - - * curses: Recognize DEL as backspace. - - -Noteworthy changes in version 0.9.4 (2015-06-05) ------------------------------------------------- - - * Fix regression in GTK+ and curses pinentries. - - -Noteworthy changes in version 0.9.3 (2015-06-01) ------------------------------------------------- - - * Improved documentation - - * New pinentry-gnome3 - - * More improvements for pinentry-tty. - - * Fixes for pinentry-curses including support for Ctrl-W, Ctrl-U, - Ctrl-H, Ctrl-L, and Alt-Backspace - - * New Assuan command to request clearing an external cache. - - * Fixed problems linking to ncursesw. - - * All kind of other minor fixes. - - -Noteworthy changes in version 0.9.2 (2015-05-11) ------------------------------------------------- - - * Support for saving the passphrase with libsecret. - - * Escape key works in the Gtk+ pinentry. - - * Improvements for pinentry-tty. - - * Minor cleanups for the native Windows pinentry. - - -Noteworthy changes in version 0.9.1 (2015-03-18) ------------------------------------------------- - - * Fixed build problems for systems without ncurses. - - * Reworked the option parser to allow building on systems without - getopt_long. - - * Fixed Qt4 build problems. - - -Noteworthy changes in version 0.9.0 (2014-10-26) ------------------------------------------------- - - * New command SETREPEAT. Currently only supported for Gtk+-2. - - * Gtk+-2: Pasting using the mouse is now supported. - - * curses: Check that it is actually connected to a tty. - - * Removed the old qt-3 and gtk+-1 pinentries. - - -Noteworthy changes in version 0.8.4 (2014-09-18) ------------------------------------------------- - - * New pinentry-tty version for dumb terminals. - - * Qt4: New option to enable pasting the passphrase from clipboard - - * Qt4: Improved accessiblity - - * Qt4: Raise confirm message windows into foreground - - * Qt4 (Windows): Improve the way pinentry-qt raises itself in the - foreground. - - * Improved the build system. - - -Noteworthy changes in version 0.8.3 (2013-04-26) ------------------------------------------------- - - * Build fixes for newer mingw32 toolchains. - - * Add SETTIMEOUT command for the gtk+-2 pinentry. - - -Noteworthy changes in version 0.8.2 (2012-08-08) ------------------------------------------------- - - * New SETTIMEOUT command for the qt4 pinentry. - - * Wide character support for the curses pinentry. - - * Various bug fixes. - - -Noteworthy changes in version 0.8.1 (2010-12-16) ------------------------------------------------- - - * The W32 pinentry now supports WindowsCE. - - * The GTK pinentry now always sticks to the top and properly grabs - the keyboard. - - * The protocol options default-cancel and default-ok now work for the - pinentry-gtk2 and pinentry-qt (that is QT3). - - -Noteworthy changes in version 0.8.0 (2010-03-03) ------------------------------------------------- - - * Beautified the qt4 pinentry - - * Minor enhancements. - - -Noteworthy changes in version 0.7.6 (2009-06-19) ------------------------------------------------- - - * Make Gtk+-2 pinentry transient to the root window. - - * Add Qt4 pinentry. - - * Add native W32 pinentry. - - * Fix utf-8 problem in Qt pinentries. - - * Return GPG_ERR_CANCELED if during a "CONFIRM" command the user - closed the window. - - * Add quality bar. - -Noteworthy changes in version 0.7.5 (2008-02-15) ------------------------------------------------- - - * Fix cross compilation for Gtk+-2 pinentry. - - * New Assuan command GETINFO with subcommands "version" and "pid". - - -Noteworthy changes in version 0.7.4 (2007-11-29) ------------------------------------------------- - - * Pinentry-gtk-2 and pinentry-qt now support a simple passphrase - quality indicator. - - -Noteworthy changes in version 0.7.3 (2007-07-06) ------------------------------------------------- - - * New command MESSAGE and --one-button compatibility option to - CONFIRM. - - * New Assuan option touch-file to set a file which will be touched - after ncurses does not need the display anymore. - - * New option --colors=FG,BG,SO to set the colors for the curses - pinentry. - - * Pinentry-w32 does now basically work. It needs some finishing - though. For example the buttons should resize themself according - to the size of the text. - - -Noteworthy changes in version 0.7.2 (2005-01-27) ------------------------------------------------- - - * Remove bug in configure script that would use installed version of - Qt even if another path was explicitely specified with QTDIR. - - * Honor the rpath setting for Qt. - - * Add GTK+-2 pinentry. - - * Install a symbolic link under the name "pinentry" that defaults to - pinentry-gtk, pinentry-qt, pinentry-gtk-2, or pinentry-curses, in - that order. - - -Noteworthy changes in version 0.7.1 (2004-04-21) ------------------------------------------------- - - * Removed unneeded Assuan cruft. - - * Fixes for *BSD. - - -Noteworthy changes in version 0.7.0 (2003-12-23) ------------------------------------------------- - - * Make UTF8 description (prompt, error message, button texts) work. - - * Make sure that secmem_term is called before program termination. - - * Make assuan in Gtk and Curses pinentry use secure memory for - storage. - - * Fixed a bug that would occur if a canceled GETPIN was immediately - followed by a CONFIRM. - - * Disabled undo/redo in Qt pinentry. - - * Print diagnostics for locale problems and return a new error code - in that case. - - -Noteworthy changes in version 0.6.8 (2003-02-07) ------------------------------------------------- - - * Bug fix in pinentry-qt. - -Noteworthy changes in version 0.6.7 (2002-11-20) ------------------------------------------------- - - * Workaround for a bug in the curses version which led to an infinite - loop. - -Noteworthy changes in version 0.6.6 (2002-11-09) ------------------------------------------------- - - * Fixed handling of DISPLAY and --display for the sake of the curses - fallback. - - * UTF-8 conversion does now work for the GTK+ and CURSES version. - - -Noteworthy changes in version 0.6.5 (2002-09-30) ------------------------------------------------- - - * Handle Assuan options in the qt version. - -Noteworthy changes in version 0.6.4 (2002-08-19) ------------------------------------------------- - - * Handle CONFIRM command in the qt version. - -Noteworthy changes in version 0.6.3 (2002-06-26) ------------------------------------------------- - - * Minor bug fixes to the qt version. - -Noteworthy changes in version 0.6.2 (2002-05-13) ------------------------------------------------- - - * Error texts can now be percent-escaped. - - * The Curses pinentry supports multi-line error texts. - - * The GTK+ and Qt pinentry can fall back to curses if no display is - available. - -Noteworthy changes in version 0.6.1 (2002-04-25) ------------------------------------------------- - - * The Curses pinentry supports user-provided button texts via the - new SETOK and SETCANCEL commands. - - * The Curses pinentry supports setting the desired character set - locale with --lc-ctype and correctly translates the UTF-8 strings - into that. - -Noteworthy changes in version 0.6.0 (2002-04-05) ------------------------------------------------- - - * Merged all pinentry frontends into a single module. - - * There is now a Curses frontend. - - * The curses pinentry supports --ttyname and --ttytype options to - set the desired input/output terminal and its type. - -Noteworthy changes in version 0.5.1 (2002-02-18) ------------------------------------------------- - - * CONFIRM command works - -Noteworthy changes in version 0.5.0 (2002-01-04) ------------------------------------------------- - - * Window layout is somewhat nicer - - * percent escape sequences do now work for SETDESC and SETERROR diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/README b/debian/pinentry-tqt/pinentry-tqt-1.2.1/README deleted file mode 100644 index d946ff37..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/README +++ /dev/null @@ -1,71 +0,0 @@ -PINEntry ---------- - -This is a collection of PIN or passphrase entry dialogs which -utilize the Assuan protocol as specified in the Libassuan manual. - -There are programs for different toolkits available. For all GUIs it -is automatically detected which modules can be built, but it can also -be requested explicitly. - -GUI OPTION DEPENDENCIES --------------------------------------------------------------------------- -GTK+ V2.0 --enable-pinentry-gtk2 Gimp Toolkit Library, Version 2.0 - eg. libgtk-x11-2.0 and libglib-2.0 -GNOME --enable-pinentry-gnome GNOME -Qt --enable-pinentry-qt Qt (> 4.4.0) -TQt --enable-pinentry-tqt Trinity Qt -Enlightenment --enable-pinentry-efl EFL (>= 1.18) -FLTK --enable-pinentry-fltk Fast Light Toolkit (>= 1.3) -Curses --enable-pinentry-curses Curses library, for example ncurses -TTY --enable-pinentry-tty Simple TTY version, no dependencies - -The GTK+, GNOME, and Qt pinentries can fall back to curses mode. The -option to enable this is --enable-fallback-curses, but this is also -detected automatically in the same way --enable-pinentry-curses is. -The fallback to curses also works if --disable-pinentry-curses is -specified. So to disable linking to curses completely you have to -pass --disable-fallback-curses to the configure script as well. - -Examples: -* To only build the GTK+ pinentry with curses support: -./configure --enable-pinentry-gtk2 --enable-fallback-curses \ - --disable-pinentry-curses --disable-pinentry-qt - -* To build the Qt pinentry, and the other pinentries if they are - supported: -./configure --enable-pinentry-qt - -* To build everything that is supported (complete auto-detection): -./configure - -Some of the code is taken from Robert Bihlmeyer's Quintuple-Agent. -For security reasons, all internationalization has been removed. The -client is expected to tell the PIN entry the text strings to be -displayed. - - -Curses Pinentry ---------------- - -The curses pinentry supports colors if the terminal does. The colors -can be specified by the --colors=FG,BG,SO option, which sets the -foreground, background and standout colors respectively. The standout -color is used for error messages. Colors can be named by any of -"black", "red", "green", "yellow", "blue", "magenta", "cyan" and -"white". The foreground and standout color can be prefixed by -"bright-", "bright", "bold-" and "bold", and any of these prefixes has -the same effect of making the color bolder or brighter. Two special -color names are defined as well: "default" chooses the default color, -and "none" disables use of colors. The name "none" is only meaningful -for the standout color and in this case a reversed effect is used for -error messages. For the other colors, disabling colors means the same -as using the defaults. The default colors are as follows: - - Foreground: Terminal default - Background: Terminal default - Standout: Bright red - -Note that color support is limited by the capabilities of the display -terminal. Some color combinations can be very difficult to read, and -please know that colors are perceived differently by different people. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/README.GIT b/debian/pinentry-tqt/pinentry-tqt-1.2.1/README.GIT deleted file mode 100644 index ee2c6383..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/README.GIT +++ /dev/null @@ -1,49 +0,0 @@ -If you are building from GIT, run the script - -./autogen.sh - -first, to make sure that you have all the necessary maintainer tools -are installed and to build the actual configuration files. If you -have just checked out from GIT, you should add the option "--force" to -autogen.sh so that meta data is noticed by autom4te.cache. Then run - -./configure --enable-maintainer-mode - -followed by the usual make. - -If autogen.sh complains about insufficient versions of the required -tools, or the tools are not installed, you may use environment -variables to override the default tool names: - - AUTOMAKE_SUFFIX is used as a suffix for all tools from the automake - package. For example - AUTOMAKE_SUFFIX="-1.7" ./autogen.sh - uses "automake-1.7" and "aclocal-1.7. - AUTOMAKE_PREFIX is used as a prefix for all tools from the automake - page and may be combined with AUTOMAKE_SUFFIX. e.g.: - AUTOMAKE_PREFIX=/usr/foo/bin ./autogen.sh - uses "automake" and "aclocal" in the /usr/foo/bin - directory. - AUTOCONF_SUFFIX is used as a suffix for all tools from the automake - package - AUTOCONF_PREFIX is used as a prefix for all tools from the automake - package - GETTEXT_SUFFIX is used as a suffix for all tools from the gettext - package - GETTEXT_PREFIX is used as a prefix for all tools from the gettext - package - -It is also possible to use the variable name AUTOMAKE, AUTOCONF, -ACLOCAL, AUTOHEADER, GETTEXT and MSGMERGE to directly specify the name -of the programs to run. It is however better to use the suffix and -prefix forms as described above because that does not require -knowledge about the actual tools used by autogen.sh. - - -Please don't use autopoint, libtoolize or autoreconf unless you are -the current maintainer and want to update the standard configuration -files. All those files should be in GIT and only updated manually -if the maintainer decides that newer versions are required. The -maintainer should also make sure that the required version of automake -et al. are properly indicated at the top of configure.ac and take care -to copy the files and not merely use symlinks. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/THANKS b/debian/pinentry-tqt/pinentry-tqt-1.2.1/THANKS deleted file mode 100644 index 90fce79b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/THANKS +++ /dev/null @@ -1,7 +0,0 @@ -Alon Bar-Lev alon.barlev@gmail.com -Albrecht Dress albrecht.dress@arcor.de -Alexander Zangerl az at snafu.priv.at -Michael Nottebrock michaelnottebrock at gmx.net -Peter Eisentraut peter_e@gmx.net -Tobias Koenig tokoe@kde.org -Ed Marten edman007x at mac com diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/TODO b/debian/pinentry-tqt/pinentry-tqt-1.2.1/TODO deleted file mode 100644 index e287c4c9..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/TODO +++ /dev/null @@ -1,24 +0,0 @@ -* The DISPLAY setting should be honoured by the pinentry applications - using XFree86. This implies reconfiguring the underlying toolkit, - is this always possible? - (This is not so important, as pinentry is always restarted.) - -* The Qt and curses PIN entry should support enhanced mode (when it is - implemented in gpg-agent). We need to agree on a protocol to use - anyway. - -* The Qt pinentry uses QT's private QTextLayout. - -* Set the max length of password globally (dynamically in protocol?). - -* A heartbeat status message should be sent every few seconds, so that - the gpg-agent is better able to cope with jammed pinentries. - -* The gtk+-2 pinentry needs auditing. - -* Implement the one_button feature in Qt. - -* The format of the Assuan protocol description should be changed to - the one used by GnuPG. - -* The SETTITLE command is only implemented for GTK+-2 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/VERSION b/debian/pinentry-tqt/pinentry-tqt-1.2.1/VERSION deleted file mode 100644 index 6085e946..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.2.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/acinclude.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/acinclude.m4 deleted file mode 100644 index 20e64bce..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/acinclude.m4 +++ /dev/null @@ -1,109 +0,0 @@ -dnl Autoconf macros used by PINENTRY -dnl -dnl Copyright (C) 2002, 2022 g10 Code GmbH -dnl -dnl -###################################################################### -# Check whether mlock is broken (hpux 10.20 raises a SIGBUS if mlock -# is not called from uid 0 (not tested whether uid 0 works) -# For DECs Tru64 we have also to check whether mlock is in librt -# mlock is there a macro using memlk() -###################################################################### -dnl GNUPG_CHECK_MLOCK -dnl -define(GNUPG_CHECK_MLOCK, - [ AC_CHECK_FUNCS(mlock) - if test "$ac_cv_func_mlock" = "no"; then - AC_CHECK_HEADERS(sys/mman.h) - if test "$ac_cv_header_sys_mman_h" = "yes"; then - # Add librt to LIBS: - AC_CHECK_LIB(rt, memlk) - AC_CACHE_CHECK([whether mlock is in sys/mman.h], - gnupg_cv_mlock_is_in_sys_mman, - [AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[ - #include <assert.h> - #ifdef HAVE_SYS_MMAN_H - #include <sys/mman.h> - #endif - ]], [[ -int i; - -/* glibc 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_mlock) || defined (__stub___mlock) -choke me -#else -mlock(&i, 4); -#endif -; return 0; - ]])], - gnupg_cv_mlock_is_in_sys_mman=yes, - gnupg_cv_mlock_is_in_sys_mman=no)]) - if test "$gnupg_cv_mlock_is_in_sys_mman" = "yes"; then - AC_DEFINE(HAVE_MLOCK,1, - [Defined if the system supports an mlock() call]) - fi - fi - fi - if test "$ac_cv_func_mlock" = "yes"; then - AC_CHECK_FUNCS(sysconf getpagesize) - AC_MSG_CHECKING(whether mlock is broken) - AC_CACHE_VAL(gnupg_cv_have_broken_mlock, - AC_RUN_IFELSE([AC_LANG_SOURCE([[ -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> -#include <sys/mman.h> -#include <sys/types.h> -#include <fcntl.h> - -int main() -{ - char *pool; - int err; - long int pgsize; - -#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) - pgsize = sysconf (_SC_PAGESIZE); -#elif defined (HAVE_GETPAGESIZE) - pgsize = getpagesize(); -#else - pgsize = -1; -#endif - - if (pgsize == -1) - pgsize = 4096; - - pool = malloc( 4096 + pgsize ); - if( !pool ) - return 2; - pool += (pgsize - ((size_t)pool % pgsize)); - - err = mlock( pool, 4096 ); - if( !err || errno == EPERM || errno == EAGAIN) - return 0; /* okay */ - - return 1; /* hmmm */ -} - ]])], - gnupg_cv_have_broken_mlock="no", - gnupg_cv_have_broken_mlock="yes", - gnupg_cv_have_broken_mlock="assume-no" - ) - ) - if test "$gnupg_cv_have_broken_mlock" = "yes"; then - AC_DEFINE(HAVE_BROKEN_MLOCK,1, - [Defined if the mlock() call does not work]) - AC_MSG_RESULT(yes) - else - if test "$gnupg_cv_have_broken_mlock" = "no"; then - AC_MSG_RESULT(no) - else - AC_MSG_RESULT(assuming no) - fi - fi - fi - ]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/aclocal.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/aclocal.m4 deleted file mode 100644 index 056ae0e3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/aclocal.m4 +++ /dev/null @@ -1,2299 +0,0 @@ -# generated automatically by aclocal 1.16.3 -*- Autoconf -*- - -# Copyright (C) 1996-2020 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_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -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'.])]) - -# lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, 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 Subroutines of libtool.m4, -dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid -dnl collision with libtool.m4. - -dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - acl_cv_prog_gnu_ld=yes - ;; -*) - acl_cv_prog_gnu_ld=no - ;; -esac]) -with_gnu_ld=$acl_cv_prog_gnu_ld -]) - -dnl From libtool-2.4. Sets the variable LD. -AC_DEFUN([AC_LIB_PROG_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld [default=no]])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - 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 - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$acl_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT([$LD]) -else - AC_MSG_RESULT([no]) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) - -# lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2016 Free Software Foundation, 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 From Bruno Haible. - -AC_PREREQ([2.54]) - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[m4_translit([$1],[./+-], [____])]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - popdef([NAME]) - popdef([Name]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. The missing-message -dnl defaults to 'no' and may contain additional hints for the user. -dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} -dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[m4_translit([$1],[./+-], [____])]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, - dnl because these -l options might require -L options that are present in - dnl LIBS. -l options benefit only from the -L options listed before it. - dnl Otherwise, add it to the front of LIBS, because it may be a static - dnl library that depends on another static library that is present in LIBS. - dnl Static libraries benefit only from the static libraries listed after - dnl it. - case " $LIB[]NAME" in - *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; - *) LIBS="$LIB[]NAME $LIBS" ;; - esac - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[$3]], [[$4]])], - [ac_cv_lib[]Name=yes], - [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - LIB[]NAME[]_PREFIX= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - popdef([NAME]) - popdef([Name]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl acl_libext, -dnl acl_shlibext, -dnl acl_libname_spec, -dnl acl_library_names_spec, -dnl acl_hardcode_libdir_flag_spec, -dnl acl_hardcode_libdir_separator, -dnl acl_hardcode_direct, -dnl acl_hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been - dnl computed. So it has to be reset here. - HAVE_LIB[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) - -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, 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 From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>. - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) - -# Copyright (C) 2002-2020 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.16' -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.16.3], [], - [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.16.3])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-2020 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], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2020 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_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$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-2020 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. - - -# 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", "OBJC", "OBJCXX", "UPC", or "GJC". -# 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 - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" 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". - rm -rf conftest.dir - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2020 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_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf 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. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - AS_CASE([$CONFIG_FILES], - [*\'*], [eval set x "$CONFIG_FILES"], - [*], [set x $CONFIG_FILES]) - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`AS_DIRNAME(["$am_mf"])` - am_filepart=`AS_BASENAME(["$am_mf"])` - AM_RUN_LOG([cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles]) || am_rc=$? - done - if test $am_rc -ne 0; then - AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE="gmake" (or whatever is - necessary). You can also try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking).]) - fi - AS_UNSET([am_dirpart]) - AS_UNSET([am_filepart]) - AS_UNSET([am_mf]) - AS_UNSET([am_rc]) - rm -f conftest-deps.mk -} -])# _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. -# This creates each '.Po' and '.Plo' makefile fragment that we'll 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" MAKE="${MAKE-make}"])]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2020 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 macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# 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.65])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], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -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], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [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([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). 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])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro 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 - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <https://www.gnu.org/software/coreutils/>. - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) - -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-2020 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+set}" != 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-2020 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. - -# 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])]) - -# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- -# From Jim Meyering - -# Copyright (C) 1996-2020 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_MAINTAINER_MODE([DEFAULT-MODE]) -# ---------------------------------- -# Control maintainer-specific portions of Makefiles. -# Default is to disable them, unless 'enable' is passed literally. -# For symmetry, 'disable' may be passed as well. Anyway, the user -# can override the default with the --enable/--disable switch. -AC_DEFUN([AM_MAINTAINER_MODE], -[m4_case(m4_default([$1], [disable]), - [enable], [m4_define([am_maintainer_other], [disable])], - [disable], [m4_define([am_maintainer_other], [enable])], - [m4_define([am_maintainer_other], [enable]) - m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])]) -AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) - dnl maintainer-mode's default is 'disable' unless 'enable' is passed - AC_ARG_ENABLE([maintainer-mode], - [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode], - am_maintainer_other[ make rules and dependencies not useful - (and sometimes confusing) to the casual installer])], - [USE_MAINTAINER_MODE=$enableval], - [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes])) - AC_MSG_RESULT([$USE_MAINTAINER_MODE]) - AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes]) - MAINT=$MAINTAINER_MODE_TRUE - AC_SUBST([MAINT])dnl -] -) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2020 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_MAKE_INCLUDE() -# ----------------- -# Check whether make has an 'include' directive that can support all -# the idioms we need for our automatic dependency tracking code. -AC_DEFUN([AM_MAKE_INCLUDE], -[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) - AS_CASE([$?:`cat confinc.out 2>/dev/null`], - ['0:this is the am__doit target'], - [AS_CASE([$s], - [BSD], [am__include='.include' am__quote='"'], - [am__include='include' am__quote=''])]) - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -AC_MSG_RESULT([${_am_result}]) -AC_SUBST([am__include])]) -AC_SUBST([am__quote])]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2020 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_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 is modern enough. -# If it is, 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 - MISSING="\${SHELL} '$am_aux_dir/missing'" -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2020 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_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])]) - -# Copyright (C) 1999-2020 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_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != 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 -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2020 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_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2020 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_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# 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 ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - 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 - 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 - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - 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]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2020 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_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2020 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-2020 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_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-2020 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_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. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - 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 <conftest.tar]) - AM_RUN_LOG([cat conftest.dir/file]) - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/curses.m4]) -m4_include([m4/gpg-error.m4]) -m4_include([m4/iconv.m4]) -m4_include([m4/libassuan.m4]) -m4_include([m4/pkg.m4]) -m4_include([m4/qt.m4]) -m4_include([m4/qt4.m4]) -m4_include([acinclude.m4]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.rc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.rc deleted file mode 100644 index 46a5f44f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.rc +++ /dev/null @@ -1,25 +0,0 @@ -# autogen.sh configuration for Pinentry -*- sh -*- - -#version_parts=3 - -case "$myhost:$myhostsub" in - w32:ce) - extraoptions="--disable-pinentry-gtk2 --disable-pinentry-qt" - ;; - w32:) - extraoptions="" - ;; -esac - -case "$myhost" in - w32) - configure_opts=" - --with-libiconv-prefix=@SYSROOT@ - PKG_CONFIG_LIBDIR=@SYSROOT@/lib/pkgconfig - " - ;; -esac - -extra_aclocal_flags= - -final_info="./configure --enable-maintainer-mode && make" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.sh deleted file mode 100755 index 8f33ece8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.sh +++ /dev/null @@ -1,513 +0,0 @@ -#! /bin/sh -# autogen.sh -# Copyright (C) 2003, 2014, 2017, 2018 g10 Code GmbH -# -# This file is free software; as a special exception the author 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. -# -# This is a generic script to create the configure script and handle cross -# build environments. It requires the presence of a autogen.rc file to -# configure it for the respective package. It is maintained as part of -# GnuPG and source copied by other packages. -# -# Version: 2018-07-10 - -configure_ac="configure.ac" - -cvtver () { - awk 'NR==1 {split($NF,A,".");X=1000000*A[1]+1000*A[2]+A[3];print X;exit 0}' -} - -check_version () { - if [ $(( `("$1" --version || echo "0") | cvtver` >= $2 )) = 1 ]; then - return 0 - fi - echo "**Error**: "\`$1\'" not installed or too old." >&2 - echo ' Version '$3' or newer is required.' >&2 - [ -n "$4" ] && echo ' Note that this is part of '\`$4\''.' >&2 - DIE="yes" - return 1 -} - -fatal () { - echo "autogen.sh:" "$*" >&2 - DIE=yes -} - -info () { - if [ -z "${SILENT}" ]; then - echo "autogen.sh:" "$*" >&2 - fi -} - -die_p () { - if [ "$DIE" = "yes" ]; then - echo "autogen.sh: Stop." >&2 - exit 1 - fi -} - -replace_sysroot () { - configure_opts=$(echo $configure_opts | sed "s#@SYSROOT@#${w32root}#g") - extraoptions=$(echo $extraoptions | sed "s#@SYSROOT@#${w32root}#g") -} - -# Allow to override the default tool names -AUTOCONF=${AUTOCONF_PREFIX}${AUTOCONF:-autoconf}${AUTOCONF_SUFFIX} -AUTOHEADER=${AUTOCONF_PREFIX}${AUTOHEADER:-autoheader}${AUTOCONF_SUFFIX} - -AUTOMAKE=${AUTOMAKE_PREFIX}${AUTOMAKE:-automake}${AUTOMAKE_SUFFIX} -ACLOCAL=${AUTOMAKE_PREFIX}${ACLOCAL:-aclocal}${AUTOMAKE_SUFFIX} - -GETTEXT=${GETTEXT_PREFIX}${GETTEXT:-gettext}${GETTEXT_SUFFIX} -MSGMERGE=${GETTEXT_PREFIX}${MSGMERGE:-msgmerge}${GETTEXT_SUFFIX} - -DIE=no -FORCE= -SILENT= -PRINT_HOST=no -PRINT_BUILD=no -tmp=$(dirname "$0") -tsdir=$(cd "${tmp}"; pwd) - -if [ -n "${AUTOGEN_SH_SILENT}" ]; then - SILENT=" --silent" -fi -if test x"$1" = x"--help"; then - echo "usage: ./autogen.sh [OPTIONS] [ARGS]" - echo " Options:" - echo " --silent Silent operation" - echo " --force Pass --force to autoconf" - echo " --find-version Helper for configure.ac" - echo " --git-build Run all commands to build from a Git" - echo " --print-host Print only the host triplet" - echo " --print-build Print only the build platform triplet" - echo " --build-TYPE Configure to cross build for TYPE" - echo "" - echo " ARGS are passed to configure in --build-TYPE mode." - echo " Configuration for this script is expected in autogen.rc" - exit 0 -fi -if test x"$1" = x"--silent"; then - SILENT=" --silent" - shift -fi -if test x"$1" = x"--force"; then - FORCE=" --force" - shift -fi -if test x"$1" = x"--print-host"; then - PRINT_HOST=yes - shift -fi -if test x"$1" = x"--print-build"; then - PRINT_BUILD=yes - shift -fi - - -# Reject unsafe characters in $HOME, $tsdir and cwd. We consider spaces -# as unsafe because it is too easy to get scripts wrong in this regard. -am_lf=' -' -case `pwd` in - *[\;\\\"\#\$\&\'\`$am_lf\ \ ]*) - fatal "unsafe working directory name" ;; -esac -case $tsdir in - *[\;\\\"\#\$\&\'\`$am_lf\ \ ]*) - fatal "unsafe source directory: \`$tsdir'" ;; -esac -case $HOME in - *[\;\\\"\#\$\&\'\`$am_lf\ \ ]*) - fatal "unsafe home directory: \`$HOME'" ;; -esac -die_p - - -# List of variables sourced from autogen.rc. The strings '@SYSROOT@' in -# these variables are replaced by the actual system root. -configure_opts= -extraoptions= -# List of optional variables sourced from autogen.rc and ~/.gnupg-autogen.rc -w32_toolprefixes= -w32_extraoptions= -w32ce_toolprefixes= -w32ce_extraoptions= -w64_toolprefixes= -w64_extraoptions= -amd64_toolprefixes= -# End list of optional variables sourced from ~/.gnupg-autogen.rc -# What follows are variables which are sourced but default to -# environment variables or lacking them hardcoded values. -#w32root= -#w32ce_root= -#w64root= -#amd64root= - -# Convenience option to use certain configure options for some hosts. -myhost="" -myhostsub="" -case "$1" in - --find-version) - myhost="find-version" - SILENT=" --silent" - shift - ;; - --git-build) - myhost="git-build" - shift - ;; - --build-w32) - myhost="w32" - shift - ;; - --build-w32ce) - myhost="w32" - myhostsub="ce" - shift - ;; - --build-w64) - myhost="w32" - myhostsub="64" - shift - ;; - --build-amd64) - myhost="amd64" - shift - ;; - --build*) - fatal "**Error**: invalid build option $1" - shift - ;; - *) - ;; -esac -die_p - - -# **** GIT BUILD **** -# This is a helper to build from git. -if [ "$myhost" = "git-build" ]; then - tmp="$(pwd)" - cd "$tsdir" || fatal "error cd-ing to $tsdir" - ./autogen.sh || fatal "error running ./autogen.sh" - cd "$tmp" || fatal "error cd-ing back to $tmp" - die_p - "$tsdir"/configure || fatal "error running $tsdir/configure" - die_p - make || fatal "error running make" - die_p - make check || fatal "error running make check" - die_p - exit 0 -fi -# **** end GIT BUILD **** - - -# Source our configuration -if [ -f "${tsdir}/autogen.rc" ]; then - . "${tsdir}/autogen.rc" -fi - -# Source optional site specific configuration -if [ -f "$HOME/.gnupg-autogen.rc" ]; then - info "sourcing extra definitions from $HOME/.gnupg-autogen.rc" - . "$HOME/.gnupg-autogen.rc" -fi - - -# **** FIND VERSION **** -# This is a helper for the configure.ac M4 magic -# Called -# ./autogen.sh --find-version PACKAGE MAJOR MINOR [MICRO] -# returns a complete version string with automatic beta numbering. -if [ "$myhost" = "find-version" ]; then - package="$1" - major="$2" - minor="$3" - micro="$4" - - if [ -z "$package" -o -z "$major" -o -z "$minor" ]; then - echo "usage: ./autogen.sh --find-version PACKAGE MAJOR MINOR [MICRO]" >&2 - exit 1 - fi - - if [ -z "$micro" ]; then - matchstr1="$package-$major.[0-9]*" - matchstr2="$package-$major-base" - vers="$major.$minor" - else - matchstr1="$package-$major.$minor.[0-9]*" - matchstr2="$package-$major.$minor-base" - vers="$major.$minor.$micro" - fi - - beta=no - if [ -e .git ]; then - ingit=yes - tmp=$(git describe --match "${matchstr1}" --long 2>/dev/null) - tmp=$(echo "$tmp" | sed s/^"$package"//) - if [ -n "$tmp" ]; then - tmp=$(echo "$tmp" | sed s/^"$package"// \ - | awk -F- '$3!=0 && $3 !~ /^beta/ {print"-beta"$3}') - else - tmp=$(git describe --match "${matchstr2}" --long 2>/dev/null \ - | awk -F- '$4!=0{print"-beta"$4}') - fi - [ -n "$tmp" ] && beta=yes - rev=$(git rev-parse --short HEAD | tr -d '\n\r') - rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) - else - ingit=no - beta=yes - tmp="-unknown" - rev="0000000" - rvd="0" - fi - - echo "$package-$vers$tmp:$beta:$ingit:$vers$tmp:$vers:$tmp:$rev:$rvd:" - exit 0 -fi -# **** end FIND VERSION **** - - -if [ ! -f "$tsdir/build-aux/config.guess" ]; then - fatal "$tsdir/build-aux/config.guess not found" - exit 1 -fi -build=`$tsdir/build-aux/config.guess` -if [ $PRINT_BUILD = yes ]; then - echo "$build" - exit 0 -fi - - - -# ****************** -# W32 build script -# ****************** -if [ "$myhost" = "w32" ]; then - case $myhostsub in - ce) - w32root="$w32ce_root" - [ -z "$w32root" ] && w32root="$HOME/w32ce_root" - toolprefixes="$w32ce_toolprefixes arm-mingw32ce" - extraoptions="$extraoptions $w32ce_extraoptions" - ;; - 64) - w32root="$w64root" - [ -z "$w32root" ] && w32root="$HOME/w64root" - toolprefixes="$w64_toolprefixes x86_64-w64-mingw32" - extraoptions="$extraoptions $w64_extraoptions" - ;; - *) - [ -z "$w32root" ] && w32root="$HOME/w32root" - toolprefixes="$w32_toolprefixes i686-w64-mingw32 i586-mingw32msvc" - toolprefixes="$toolprefixes i386-mingw32msvc mingw32" - extraoptions="$extraoptions $w32_extraoptions" - ;; - esac - info "Using $w32root as standard install directory" - replace_sysroot - - # Locate the cross compiler - crossbindir= - for host in $toolprefixes; do - if ${host}-gcc --version >/dev/null 2>&1 ; then - crossbindir=/usr/${host}/bin - conf_CC="CC=${host}-gcc" - break; - fi - done - if [ -z "$crossbindir" ]; then - fatal "cross compiler kit not installed" - if [ -z "$myhostsub" ]; then - info "Under Debian GNU/Linux, you may install it using" - info " apt-get install mingw32 mingw32-runtime mingw32-binutils" - fi - die_p - fi - if [ $PRINT_HOST = yes ]; then - echo "$host" - exit 0 - fi - - if [ -f "$tsdir/config.log" ]; then - if ! head $tsdir/config.log | grep "$host" >/dev/null; then - fatal "Please run a 'make distclean' first" - die_p - fi - fi - - $tsdir/configure --enable-maintainer-mode ${SILENT} \ - --prefix=${w32root} \ - --host=${host} --build=${build} SYSROOT=${w32root} \ - PKG_CONFIG_LIBDIR=${w32root}/lib/pkgconfig \ - ${configure_opts} ${extraoptions} "$@" - rc=$? - exit $rc -fi -# ***** end W32 build script ******* - -# ***** AMD64 cross build script ******* -# Used to cross-compile for AMD64 (for testing) -if [ "$myhost" = "amd64" ]; then - [ -z "$amd64root" ] && amd64root="$HOME/amd64root" - info "Using $amd64root as standard install directory" - replace_sysroot - - toolprefixes="$amd64_toolprefixes x86_64-linux-gnu amd64-linux-gnu" - - # Locate the cross compiler - crossbindir= - for host in $toolprefixes ; do - if ${host}-gcc --version >/dev/null 2>&1 ; then - crossbindir=/usr/${host}/bin - conf_CC="CC=${host}-gcc" - break; - fi - done - if [ -z "$crossbindir" ]; then - echo "Cross compiler kit not installed" >&2 - echo "Stop." >&2 - exit 1 - fi - if [ $PRINT_HOST = yes ]; then - echo "$host" - exit 0 - fi - - if [ -f "$tsdir/config.log" ]; then - if ! head $tsdir/config.log | grep "$host" >/dev/null; then - echo "Please run a 'make distclean' first" >&2 - exit 1 - fi - fi - - $tsdir/configure --enable-maintainer-mode ${SILENT} \ - --prefix=${amd64root} \ - --host=${host} --build=${build} \ - ${configure_opts} ${extraoptions} "$@" - rc=$? - exit $rc -fi -# ***** end AMD64 cross build script ******* - - -# Grep the required versions from configure.ac -autoconf_vers=`sed -n '/^AC_PREREQ(/ { -s/^.*(\(.*\))/\1/p -q -}' ${configure_ac}` -autoconf_vers_num=`echo "$autoconf_vers" | cvtver` - -automake_vers=`sed -n '/^min_automake_version=/ { -s/^.*="\(.*\)"/\1/p -q -}' ${configure_ac}` -automake_vers_num=`echo "$automake_vers" | cvtver` - -if [ -d "${tsdir}/po" ]; then - gettext_vers=`sed -n '/^AM_GNU_GETTEXT_VERSION(/ { -s/^.*\[\(.*\)])/\1/p -q -}' ${configure_ac}` - gettext_vers_num=`echo "$gettext_vers" | cvtver` -else - gettext_vers="n/a" -fi - -if [ -z "$autoconf_vers" -o -z "$automake_vers" -o -z "$gettext_vers" ] -then - echo "**Error**: version information not found in "\`${configure_ac}\'"." >&2 - exit 1 -fi - - -if check_version $AUTOCONF $autoconf_vers_num $autoconf_vers ; then - check_version $AUTOHEADER $autoconf_vers_num $autoconf_vers autoconf -fi -if check_version $AUTOMAKE $automake_vers_num $automake_vers; then - check_version $ACLOCAL $automake_vers_num $autoconf_vers automake -fi -if [ "$gettext_vers" != "n/a" ]; then - if check_version $GETTEXT $gettext_vers_num $gettext_vers; then - check_version $MSGMERGE $gettext_vers_num $gettext_vers gettext - fi -fi - -if [ "$DIE" = "yes" ]; then - cat <<EOF - -Note that you may use alternative versions of the tools by setting -the corresponding environment variables; see README.GIT for details. - -EOF - die_p -fi - -# Check the git setup. -if [ -d .git ]; then - CP="cp -p" - # If we have a GNU cp we can add -v - if cp --version >/dev/null 2>/dev/null; then - [ -z "${SILENT}" ] && CP="$CP -v" - fi - if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then - [ -z "${SILENT}" ] && cat <<EOF -*** Activating trailing whitespace git pre-commit hook. *** - For more information see this thread: - https://mail.gnome.org/archives/desktop-devel-list/2009-May/msg00084.html - To deactivate this pre-commit hook again move .git/hooks/pre-commit - and .git/hooks/pre-commit.sample out of the way. -EOF - $CP .git/hooks/pre-commit.sample .git/hooks/pre-commit - chmod +x .git/hooks/pre-commit - fi - - if [ "$gettext_vers" != "n/a" ]; then - tmp=$(git config --get filter.cleanpo.clean) - if [ "$tmp" != \ - "awk '/^\"POT-Creation-Date:/&&!s{s=1;next};!/^#: /{print}'" ] - then - info "*** Adding GIT filter.cleanpo.clean configuration." - git config --add filter.cleanpo.clean \ - "awk '/^\"POT-Creation-Date:/&&!s{s=1;next};!/^#: /{print}'" - fi - fi - if [ -f build-aux/git-hooks/commit-msg -a ! -f .git/hooks/commit-msg ] ; then - [ -z "${SILENT}" ] && cat <<EOF -*** Activating commit log message check hook. *** -EOF - $CP build-aux/git-hooks/commit-msg .git/hooks/commit-msg - chmod +x .git/hooks/commit-msg - if [ x"${display_name}" != x ]; then - git config format.subjectPrefix "PATCH ${display_name}" - git config sendemail.to "${patches_to}" - fi - fi -fi - -aclocal_flags="-I m4" -if [ -n "${extra_aclocal_flags}" ]; then - aclocal_flags="${aclocal_flags} ${extra_aclocal_flags}" -fi -if [ -n "${ACLOCAL_FLAGS}" ]; then - aclocal_flags="${aclocal_flags} ${ACLOCAL_FLAGS}" -fi -info "Running $ACLOCAL ${aclocal_flags} ..." -$ACLOCAL ${aclocal_flags} -info "Running autoheader..." -$AUTOHEADER -info "Running automake --gnu ..." -$AUTOMAKE --gnu; -info "Running autoconf${FORCE} ..." -$AUTOCONF${FORCE} - -info "You may now run:${am_lf} ${final_info}" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/compile b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/compile deleted file mode 100755 index 52f8f943..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# Written by Tom Tromey <tromey@cygnus.com>. -# -# 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, see <https://www.gnu.org/licenses/>. - -# 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 <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - 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'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -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 <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -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 's|^.*[\\/]||; s|^[a-zA-Z]:||; 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 - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || 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-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.guess b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.guess deleted file mode 100755 index 7f76b622..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.guess +++ /dev/null @@ -1,1754 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2022 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2022-01-09' - -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# -# 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 Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess -# -# Please send patches to <config-patches@gnu.org>. - - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Options: - -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 <config-patches@gnu.org>." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2022 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 - -# Just in case it came from the environment. -GUESS= - -# 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. - -tmp= -# shellcheck disable=SC2172 -trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 - -set_cc_for_build() { - # prevent multiple calls if $tmp is already set - test "$tmp" && return 0 - : "${TMPDIR=/tmp}" - # shellcheck disable=SC2039,SC3028 - { 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" 2>/dev/null) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } - dummy=$tmp/dummy - case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in - ,,) echo "int x;" > "$dummy.c" - for driver in cc gcc c89 c99 ; do - if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then - CC_FOR_BUILD=$driver - 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 -} - -# 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 ; 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 - -case $UNAME_SYSTEM in -Linux|GNU|GNU/*) - LIBC=unknown - - set_cc_for_build - cat <<-EOF > "$dummy.c" - #include <features.h> - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #elif defined(__GLIBC__) - LIBC=gnu - #else - #include <stdarg.h> - /* First heuristic to detect musl libc. */ - #ifdef __DEFINED_va_list - LIBC=musl - #endif - #endif - EOF - cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - eval "$cc_set_libc" - - # Second heuristic to detect musl libc. - if [ "$LIBC" = unknown ] && - command -v ldd >/dev/null && - ldd --version 2>&1 | grep -q ^musl; then - LIBC=musl - fi - - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - if [ "$LIBC" = unknown ]; then - LIBC=gnu - fi - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ - echo unknown)` - case $UNAME_MACHINE_ARCH in - aarch64eb) machine=aarch64_be-unknown ;; - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-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) and ABI. - case $UNAME_MACHINE_ARCH in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - 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 - # Determine ABI tags. - case $UNAME_MACHINE_ARCH in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` - ;; - 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/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - GUESS=$machine-${os}${release}${abi-} - ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE - ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE - ;; - *:SecBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE - ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE - ;; - *:MidnightBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE - ;; - *:ekkoBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE - ;; - *:SolidBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE - ;; - *:OS108:*:*) - GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE - ;; - macppc:MirBSD:*:*) - GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE - ;; - *:MirBSD:*:*) - GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE - ;; - *:Sortix:*:*) - GUESS=$UNAME_MACHINE-unknown-sortix - ;; - *:Twizzler:*:*) - GUESS=$UNAME_MACHINE-unknown-twizzler - ;; - *:Redox:*:*) - GUESS=$UNAME_MACHINE-unknown-redox - ;; - mips:OSF1:*.*) - GUESS=mips-dec-osf1 - ;; - alpha:OSF1:*:*) - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - trap '' 0 - 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. - OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - GUESS=$UNAME_MACHINE-dec-osf$OSF_REL - ;; - Amiga*:UNIX_System_V:4.0:*) - GUESS=m68k-unknown-sysv4 - ;; - *:[Aa]miga[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-amigaos - ;; - *:[Mm]orph[Oo][Ss]:*:*) - GUESS=$UNAME_MACHINE-unknown-morphos - ;; - *:OS/390:*:*) - GUESS=i370-ibm-openedition - ;; - *:z/VM:*:*) - GUESS=s390-ibm-zvmoe - ;; - *:OS400:*:*) - GUESS=powerpc-ibm-os400 - ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - GUESS=arm-acorn-riscix$UNAME_RELEASE - ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - GUESS=arm-unknown-riscos - ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - GUESS=hppa1.1-hitachi-hiuxmpp - ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - case `(/bin/universe) 2>/dev/null` in - att) GUESS=pyramid-pyramid-sysv3 ;; - *) GUESS=pyramid-pyramid-bsd ;; - esac - ;; - NILE*:*:*:dcosx) - GUESS=pyramid-pyramid-svr4 - ;; - DRS?6000:unix:4.0:6*) - GUESS=sparc-icl-nx6 - ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) GUESS=sparc-icl-nx7 ;; - esac - ;; - s390x:SunOS:*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL - ;; - sun4H:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-hal-solaris2$SUN_REL - ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris2$SUN_REL - ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - GUESS=i386-pc-auroraux$UNAME_RELEASE - ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - 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 test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=$SUN_ARCH-pc-solaris2$SUN_REL - ;; - 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. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=sparc-sun-solaris3$SUN_REL - ;; - 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'. - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` - GUESS=sparc-sun-sunos$SUN_REL - ;; - sun3*:SunOS:*:*) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - 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) - GUESS=m68k-sun-sunos$UNAME_RELEASE - ;; - sun4) - GUESS=sparc-sun-sunos$UNAME_RELEASE - ;; - esac - ;; - aushp:SunOS:*:*) - GUESS=sparc-auspex-sunos$UNAME_RELEASE - ;; - # 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:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - GUESS=m68k-atari-mint$UNAME_RELEASE - ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - GUESS=m68k-milan-mint$UNAME_RELEASE - ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - GUESS=m68k-hades-mint$UNAME_RELEASE - ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - GUESS=m68k-unknown-mint$UNAME_RELEASE - ;; - m68k:machten:*:*) - GUESS=m68k-apple-machten$UNAME_RELEASE - ;; - powerpc:machten:*:*) - GUESS=powerpc-apple-machten$UNAME_RELEASE - ;; - RISC*:Mach:*:*) - GUESS=mips-dec-mach_bsd4.3 - ;; - RISC*:ULTRIX:*:*) - GUESS=mips-dec-ultrix$UNAME_RELEASE - ;; - VAX*:ULTRIX*:*:*) - GUESS=vax-dec-ultrix$UNAME_RELEASE - ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - GUESS=clipper-intergraph-clix$UNAME_RELEASE - ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" -#ifdef __cplusplus -#include <stdio.h> /* 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; } - GUESS=mips-mips-riscos$UNAME_RELEASE - ;; - Motorola:PowerMAX_OS:*:*) - GUESS=powerpc-motorola-powermax - ;; - Motorola:*:4.3:PL8-*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - GUESS=powerpc-harris-powermax - ;; - Night_Hawk:Power_UNIX:*:*) - GUESS=powerpc-harris-powerunix - ;; - m88k:CX/UX:7*:*) - GUESS=m88k-harris-cxux7 - ;; - m88k:*:4*:R4*) - GUESS=m88k-motorola-sysv4 - ;; - m88k:*:3*:R3*) - GUESS=m88k-motorola-sysv3 - ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 - then - if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ - test "$TARGET_BINARY_INTERFACE"x = x - then - GUESS=m88k-dg-dgux$UNAME_RELEASE - else - GUESS=m88k-dg-dguxbcs$UNAME_RELEASE - fi - else - GUESS=i586-dg-dgux$UNAME_RELEASE - fi - ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - GUESS=m88k-dolphin-sysv3 - ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - GUESS=m88k-motorola-sysv3 - ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - GUESS=m88k-tektronix-sysv3 - ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - GUESS=m68k-tektronix-bsd - ;; - *:IRIX*:*:*) - IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` - GUESS=mips-sgi-irix$IRIX_REL - ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id - ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - GUESS=i386-ibm-aix - ;; - ia64:AIX:*:*) - if test -x /usr/bin/oslevel ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV - ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include <sys/systemcfg.h> - - 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 - GUESS=$SYSTEM_NAME - else - GUESS=rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - GUESS=rs6000-ibm-aix3.2.4 - else - GUESS=rs6000-ibm-aix3.2 - fi - ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if test -x /usr/bin/lslpp ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=$UNAME_VERSION.$UNAME_RELEASE - fi - GUESS=$IBM_ARCH-ibm-aix$IBM_REV - ;; - *:AIX:*:*) - GUESS=rs6000-ibm-aix - ;; - ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) - GUESS=romp-ibm-bsd4.4 - ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to - ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - GUESS=rs6000-bull-bosx - ;; - DPX/2?00:B.O.S.:*:*) - GUESS=m68k-bull-sysv3 - ;; - 9000/[34]??:4.3bsd:1.*:*) - GUESS=m68k-hp-bsd - ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - GUESS=m68k-hp-bsd4.4 - ;; - 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 test -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 test "$HP_ARCH" = ""; then - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - - #define _HPUX_SOURCE - #include <stdlib.h> - #include <unistd.h> - - 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 test "$HP_ARCH" = hppa2.0w - then - 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 - GUESS=$HP_ARCH-hp-hpux$HPUX_REV - ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` - GUESS=ia64-hp-hpux$HPUX_REV - ;; - 3050*:HI-UX:*:*) - set_cc_for_build - sed 's/^ //' << EOF > "$dummy.c" - #include <unistd.h> - 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; } - GUESS=unknown-hitachi-hiuxwe2 - ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) - GUESS=hppa1.1-hp-bsd - ;; - 9000/8??:4.3bsd:*:*) - GUESS=hppa1.0-hp-bsd - ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - GUESS=hppa1.0-hp-mpeix - ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) - GUESS=hppa1.1-hp-osf - ;; - hp8??:OSF1:*:*) - GUESS=hppa1.0-hp-osf - ;; - i*86:OSF1:*:*) - if test -x /usr/sbin/sysversion ; then - GUESS=$UNAME_MACHINE-unknown-osf1mk - else - GUESS=$UNAME_MACHINE-unknown-osf1 - fi - ;; - parisc*:Lites*:*:*) - GUESS=hppa1.1-hp-lites - ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - GUESS=c1-convex-bsd - ;; - 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*:*) - GUESS=c34-convex-bsd - ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - GUESS=c38-convex-bsd - ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - GUESS=c4-convex-bsd - ;; - CRAY*Y-MP:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=ymp-cray-unicos$CRAY_REL - ;; - 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:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=t90-cray-unicos$CRAY_REL - ;; - CRAY*T3E:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=alphaev5-cray-unicosmk$CRAY_REL - ;; - CRAY*SV1:*:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=sv1-cray-unicos$CRAY_REL - ;; - *:UNICOS/mp:*:*) - CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` - GUESS=craynv-cray-unicosmp$CRAY_REL - ;; - 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/ /_/'` - GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - 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/ /_/'` - GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} - ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE - ;; - sparc*:BSD/OS:*:*) - GUESS=sparc-unknown-bsdi$UNAME_RELEASE - ;; - *:BSD/OS:*:*) - GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE - ;; - arm:FreeBSD:*:*) - UNAME_PROCESSOR=`uname -p` - set_cc_for_build - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi - else - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf - fi - ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case $UNAME_PROCESSOR in - amd64) - UNAME_PROCESSOR=x86_64 ;; - i386) - UNAME_PROCESSOR=i586 ;; - esac - FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL - ;; - i*:CYGWIN*:*) - GUESS=$UNAME_MACHINE-pc-cygwin - ;; - *:MINGW64*:*) - GUESS=$UNAME_MACHINE-pc-mingw64 - ;; - *:MINGW*:*) - GUESS=$UNAME_MACHINE-pc-mingw32 - ;; - *:MSYS*:*) - GUESS=$UNAME_MACHINE-pc-msys - ;; - i*:PW*:*) - GUESS=$UNAME_MACHINE-pc-pw32 - ;; - *:SerenityOS:*:*) - GUESS=$UNAME_MACHINE-pc-serenity - ;; - *:Interix*:*) - case $UNAME_MACHINE in - x86) - GUESS=i586-pc-interix$UNAME_RELEASE - ;; - authenticamd | genuineintel | EM64T) - GUESS=x86_64-unknown-interix$UNAME_RELEASE - ;; - IA64) - GUESS=ia64-unknown-interix$UNAME_RELEASE - ;; - esac ;; - i*:UWIN*:*) - GUESS=$UNAME_MACHINE-pc-uwin - ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - GUESS=x86_64-pc-cygwin - ;; - prep*:SunOS:5.*:*) - SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` - GUESS=powerpcle-unknown-solaris2$SUN_REL - ;; - *:GNU:*:*) - # the GNU system - GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` - GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL - ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` - GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC - ;; - *:Minix:*:*) - GUESS=$UNAME_MACHINE-unknown-minix - ;; - aarch64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` 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=gnulibc1 ; fi - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - arm*:Linux:*:*) - set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi - else - GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf - fi - fi - ;; - avr32*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - cris:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - crisv32:Linux:*:*) - GUESS=$UNAME_MACHINE-axis-linux-$LIBC - ;; - e2k:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - frv:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - hexagon:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - i*86:Linux:*:*) - GUESS=$UNAME_MACHINE-pc-linux-$LIBC - ;; - ia64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - k1om:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m32r*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - m68*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - mips:Linux:*:* | mips64:Linux:*:*) - set_cc_for_build - IS_GLIBC=0 - test x"${LIBC}" = xgnu && IS_GLIBC=1 - sed 's/^ //' << EOF > "$dummy.c" - #undef CPU - #undef mips - #undef mipsel - #undef mips64 - #undef mips64el - #if ${IS_GLIBC} && defined(_ABI64) - LIBCABI=gnuabi64 - #else - #if ${IS_GLIBC} && defined(_ABIN32) - LIBCABI=gnuabin32 - #else - LIBCABI=${LIBC} - #endif - #endif - - #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa64r6 - #else - #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 - CPU=mipsisa32r6 - #else - #if defined(__mips64) - CPU=mips64 - #else - CPU=mips - #endif - #endif - #endif - - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - MIPS_ENDIAN=el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - MIPS_ENDIAN= - #else - MIPS_ENDIAN= - #endif - #endif -EOF - cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` - eval "$cc_set_vars" - test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } - ;; - mips64el:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - openrisc*:Linux:*:*) - GUESS=or1k-unknown-linux-$LIBC - ;; - or32:Linux:*:* | or1k*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - padre:Linux:*:*) - GUESS=sparc-unknown-linux-$LIBC - ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - GUESS=hppa64-unknown-linux-$LIBC - ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; - PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; - *) GUESS=hppa-unknown-linux-$LIBC ;; - esac - ;; - ppc64:Linux:*:*) - GUESS=powerpc64-unknown-linux-$LIBC - ;; - ppc:Linux:*:*) - GUESS=powerpc-unknown-linux-$LIBC - ;; - ppc64le:Linux:*:*) - GUESS=powerpc64le-unknown-linux-$LIBC - ;; - ppcle:Linux:*:*) - GUESS=powerpcle-unknown-linux-$LIBC - ;; - riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - s390:Linux:*:* | s390x:Linux:*:*) - GUESS=$UNAME_MACHINE-ibm-linux-$LIBC - ;; - sh64*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sh*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - tile*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - vax:Linux:*:*) - GUESS=$UNAME_MACHINE-dec-linux-$LIBC - ;; - x86_64:Linux:*:*) - set_cc_for_build - LIBCABI=$LIBC - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_X32 >/dev/null - then - LIBCABI=${LIBC}x32 - fi - fi - GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI - ;; - xtensa*:Linux:*:*) - GUESS=$UNAME_MACHINE-unknown-linux-$LIBC - ;; - 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. - GUESS=i386-sequent-sysv4 - ;; - 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. - GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION - ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - GUESS=$UNAME_MACHINE-pc-os2-emx - ;; - i*86:XTS-300:*:STOP) - GUESS=$UNAME_MACHINE-unknown-stop - ;; - i*86:atheos:*:*) - GUESS=$UNAME_MACHINE-unknown-atheos - ;; - i*86:syllable:*:*) - GUESS=$UNAME_MACHINE-pc-syllable - ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - GUESS=i386-unknown-lynxos$UNAME_RELEASE - ;; - i*86:*DOS:*:*) - GUESS=$UNAME_MACHINE-pc-msdosdjgpp - ;; - i*86:*:4.*:*) - UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL - fi - ;; - 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 - GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name` - GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL - elif /bin/uname -X 2>/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 - GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL - else - GUESS=$UNAME_MACHINE-pc-sysv32 - fi - ;; - 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 configure will decide that - # this is a cross-build. - GUESS=i586-pc-msdosdjgpp - ;; - Intel:Mach:3*:*) - GUESS=i386-pc-mach3 - ;; - paragon:*:*:*) - GUESS=i860-intel-osf1 - ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 - fi - ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - GUESS=m68010-convergent-sysv - ;; - mc68k:UNIX:SYSTEM5:3.51m) - GUESS=m68k-convergent-sysv - ;; - M680?0:D-NIX:5.3:*) - GUESS=m68k-diab-dnix - ;; - 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*:*) - GUESS=m68k-unknown-lynxos$UNAME_RELEASE - ;; - mc68030:UNIX_System_V:4.*:*) - GUESS=m68k-atari-sysv4 - ;; - TSUNAMI:LynxOS:2.*:*) - GUESS=sparc-unknown-lynxos$UNAME_RELEASE - ;; - rs6000:LynxOS:2.*:*) - GUESS=rs6000-unknown-lynxos$UNAME_RELEASE - ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - GUESS=powerpc-unknown-lynxos$UNAME_RELEASE - ;; - SM[BE]S:UNIX_SV:*:*) - GUESS=mips-dde-sysv$UNAME_RELEASE - ;; - RM*:ReliantUNIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - RM*:SINIX-*:*:*) - GUESS=mips-sni-sysv4 - ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - GUESS=$UNAME_MACHINE-sni-sysv4 - else - GUESS=ns32k-sni-sysv - fi - ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says <Richard.M.Bartel@ccMail.Census.GOV> - GUESS=i586-unisys-sysv4 - ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes <hewes@openmarket.com>. - # How about differentiating between stratus architectures? -djm - GUESS=hppa1.1-stratus-sysv4 - ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - GUESS=i860-stratus-sysv4 - ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=$UNAME_MACHINE-stratus-vos - ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - GUESS=hppa1.1-stratus-vos - ;; - mc68*:A/UX:*:*) - GUESS=m68k-apple-aux$UNAME_RELEASE - ;; - news*:NEWS-OS:6*:*) - GUESS=mips-sony-newsos6 - ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if test -d /usr/nec; then - GUESS=mips-nec-sysv$UNAME_RELEASE - else - GUESS=mips-unknown-sysv$UNAME_RELEASE - fi - ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - GUESS=powerpc-be-beos - ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - GUESS=powerpc-apple-beos - ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - GUESS=i586-pc-beos - ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - GUESS=i586-pc-haiku - ;; - x86_64:Haiku:*:*) - GUESS=x86_64-unknown-haiku - ;; - SX-4:SUPER-UX:*:*) - GUESS=sx4-nec-superux$UNAME_RELEASE - ;; - SX-5:SUPER-UX:*:*) - GUESS=sx5-nec-superux$UNAME_RELEASE - ;; - SX-6:SUPER-UX:*:*) - GUESS=sx6-nec-superux$UNAME_RELEASE - ;; - SX-7:SUPER-UX:*:*) - GUESS=sx7-nec-superux$UNAME_RELEASE - ;; - SX-8:SUPER-UX:*:*) - GUESS=sx8-nec-superux$UNAME_RELEASE - ;; - SX-8R:SUPER-UX:*:*) - GUESS=sx8r-nec-superux$UNAME_RELEASE - ;; - SX-ACE:SUPER-UX:*:*) - GUESS=sxace-nec-superux$UNAME_RELEASE - ;; - Power*:Rhapsody:*:*) - GUESS=powerpc-apple-rhapsody$UNAME_RELEASE - ;; - *:Rhapsody:*:*) - GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE - ;; - arm64:Darwin:*:*) - GUESS=aarch64-apple-darwin$UNAME_RELEASE - ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - if command -v xcode-select > /dev/null 2> /dev/null && \ - ! xcode-select --print-path > /dev/null 2> /dev/null ; then - # Avoid executing cc if there is no toolchain installed as - # cc will be a stub that puts up a graphical alert - # prompting the user to install developer tools. - CC_FOR_BUILD=no_compiler_found - else - set_cc_for_build - fi - if test "$CC_FOR_BUILD" != no_compiler_found; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # uname -m returns i386 or x86_64 - UNAME_PROCESSOR=$UNAME_MACHINE - fi - GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE - ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE - ;; - *:QNX:*:4*) - GUESS=i386-pc-qnx - ;; - NEO-*:NONSTOP_KERNEL:*:*) - GUESS=neo-tandem-nsk$UNAME_RELEASE - ;; - NSE-*:NONSTOP_KERNEL:*:*) - GUESS=nse-tandem-nsk$UNAME_RELEASE - ;; - NSR-*:NONSTOP_KERNEL:*:*) - GUESS=nsr-tandem-nsk$UNAME_RELEASE - ;; - NSV-*:NONSTOP_KERNEL:*:*) - GUESS=nsv-tandem-nsk$UNAME_RELEASE - ;; - NSX-*:NONSTOP_KERNEL:*:*) - GUESS=nsx-tandem-nsk$UNAME_RELEASE - ;; - *:NonStop-UX:*:*) - GUESS=mips-compaq-nonstopux - ;; - BS2000:POSIX*:*:*) - GUESS=bs2000-siemens-sysv - ;; - DS/*:UNIX_System_V:*:*) - GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE - ;; - *: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 - elif test "x${cputype-}" != x; then - UNAME_MACHINE=$cputype - fi - GUESS=$UNAME_MACHINE-unknown-plan9 - ;; - *:TOPS-10:*:*) - GUESS=pdp10-unknown-tops10 - ;; - *:TENEX:*:*) - GUESS=pdp10-unknown-tenex - ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - GUESS=pdp10-dec-tops20 - ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - GUESS=pdp10-xkl-tops20 - ;; - *:TOPS-20:*:*) - GUESS=pdp10-unknown-tops20 - ;; - *:ITS:*:*) - GUESS=pdp10-unknown-its - ;; - SEI:*:*:SEIUX) - GUESS=mips-sei-seiux$UNAME_RELEASE - ;; - *:DragonFly:*:*) - DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` - GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL - ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case $UNAME_MACHINE in - A*) GUESS=alpha-dec-vms ;; - I*) GUESS=ia64-dec-vms ;; - V*) GUESS=vax-dec-vms ;; - esac ;; - *:XENIX:*:SysV) - GUESS=i386-pc-xenix - ;; - i*86:skyos:*:*) - SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` - GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL - ;; - i*86:rdos:*:*) - GUESS=$UNAME_MACHINE-pc-rdos - ;; - i*86:Fiwix:*:*) - GUESS=$UNAME_MACHINE-pc-fiwix - ;; - *:AROS:*:*) - GUESS=$UNAME_MACHINE-unknown-aros - ;; - x86_64:VMkernel:*:*) - GUESS=$UNAME_MACHINE-unknown-esx - ;; - amd64:Isilon\ OneFS:*:*) - GUESS=x86_64-unknown-onefs - ;; - *:Unleashed:*:*) - GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE - ;; -esac - -# Do we have a guess based on uname results? -if test "x$GUESS" != x; then - echo "$GUESS" - exit -fi - -# No uname command or uname output not recognized. -set_cc_for_build -cat > "$dummy.c" <<EOF -#ifdef _SEQUENT_ -#include <sys/types.h> -#include <sys/utsname.h> -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#include <signal.h> -#if defined(_SIZE_T_) || defined(SIGLOST) -#include <sys/utsname.h> -#endif -#endif -#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 <sys/param.h> - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#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 <sys/param.h> -#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 -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname un; - uname (&un); - printf ("vax-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("vax-dec-ultrix\n"); exit (0); -#endif -#endif -#endif -#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) -#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) -#if defined(_SIZE_T_) || defined(SIGLOST) - struct utsname *un; - uname (&un); - printf ("mips-dec-ultrix%s\n", un.release); exit (0); -#else - printf ("mips-dec-ultrix\n"); exit (0); -#endif -#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; } - -echo "$0: unable to guess system type" >&2 - -case $UNAME_MACHINE:$UNAME_SYSTEM in - mips:Linux | mips64:Linux) - # If we got here on MIPS GNU/Linux, output extra information. - cat >&2 <<EOF - -NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize -the system type. Please install a C compiler and try again. -EOF - ;; -esac - -cat >&2 <<EOF - -This script (version $timestamp), has failed to recognize the -operating system you are using. If your script is old, overwrite *all* -copies of config.guess and config.sub with the latest versions from: - - https://git.savannah.gnu.org/cgit/config.git/plain/config.guess -and - https://git.savannah.gnu.org/cgit/config.git/plain/config.sub -EOF - -our_year=`echo $timestamp | sed 's,-.*,,'` -thisyear=`date +%Y` -# shellcheck disable=SC2003 -script_age=`expr "$thisyear" - "$our_year"` -if test "$script_age" -lt 3 ; then - cat >&2 <<EOF - -If $0 has already been updated, send the following data and any -information you think might be pertinent to config-patches@gnu.org to -provide the necessary 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 -fi - -exit 1 - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.rpath b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.rpath deleted file mode 100755 index 24be79cf..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.rpath +++ /dev/null @@ -1,684 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2020 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a '.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - nagfor*) - wl='-Wl,-Wl,,' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - xl* | bgxl* | bgf* | mpixl*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) - wl= - ;; - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - newsos6) - ;; - *nto* | *qnx*) - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - wl='-Qoption ld ' - ;; - *) - wl='-Wl,' - ;; - esac - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - haiku*) - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - case "$host_cpu" in - powerpc) - ;; - m68k) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then - : - else - ld_shlibs=no - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd2.[01]*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - *nto* | *qnx*) - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - case "$host_cpu" in - powerpc*) - library_names_spec='$libname$shrext' ;; - m68k) - library_names_spec='$libname.a' ;; - esac - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd[23].*) - library_names_spec='$libname$shrext$versuffix' - ;; - freebsd* | dragonfly*) - library_names_spec='$libname$shrext' - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - haiku*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - *nto* | *qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - tpf*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF - -# How to pass a linker flag through the compiler. -wl="$escaped_wl" - -# Static library suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally "so"). -shlibext="$shlibext" - -# Format of library name prefix. -libname_spec="$escaped_libname_spec" - -# Library names that the linker finds when passed -lNAME. -library_names_spec="$escaped_library_names_spec" - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec" - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator="$hardcode_libdir_separator" - -# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the -# resulting binary. -hardcode_direct="$hardcode_direct" - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L="$hardcode_minus_L" - -EOF diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.sub b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.sub deleted file mode 100755 index dba16e84..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.sub +++ /dev/null @@ -1,1890 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2022 Free Software Foundation, Inc. - -# shellcheck disable=SC2006,SC2268 # see below for rationale - -timestamp='2022-01-03' - -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# -# 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 Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to <config-patches@gnu.org>. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub - -# 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. - -# The "shellcheck disable" line above the timestamp inhibits complaints -# about features and limitations of the classic Bourne shell that were -# superseded or lifted in POSIX. However, this script identifies a wide -# variety of pre-POSIX systems that do not have POSIX shells at all, and -# even some reasonably current systems (Solaris 10 as case-in-point) still -# have a pre-POSIX /bin/sh. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Options: - -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 <config-patches@gnu.org>." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2022 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 ;; - - *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 - -# Split fields of configuration type -# shellcheck disable=SC2162 -saved_IFS=$IFS -IFS="-" read field1 field2 field3 field4 <<EOF -$1 -EOF -IFS=$saved_IFS - -# Separate into logical components for further validation -case $1 in - *-*-*-*-*) - echo Invalid configuration \`"$1"\': more than four components >&2 - exit 1 - ;; - *-*-*-*) - basic_machine=$field1-$field2 - basic_os=$field3-$field4 - ;; - *-*-*) - # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two - # parts - maybe_os=$field2-$field3 - case $maybe_os in - nto-qnx* | linux-* | uclinux-uclibc* \ - | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ - | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ - | storm-chaos* | os2-emx* | rtmk-nova*) - basic_machine=$field1 - basic_os=$maybe_os - ;; - android-linux) - basic_machine=$field1-unknown - basic_os=linux-android - ;; - *) - basic_machine=$field1-$field2 - basic_os=$field3 - ;; - esac - ;; - *-*) - # A lone config we happen to match not fitting any pattern - case $field1-$field2 in - decstation-3100) - basic_machine=mips-dec - basic_os= - ;; - *-*) - # Second component is usually, but not always the OS - case $field2 in - # Prevent following clause from handling this valid os - sun*os*) - basic_machine=$field1 - basic_os=$field2 - ;; - zephyr*) - basic_machine=$field1-unknown - basic_os=$field2 - ;; - # Manufacturers - dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ - | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ - | unicom* | ibm* | next | hp | isi* | apollo | altos* \ - | convergent* | ncr* | news | 32* | 3600* | 3100* \ - | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ - | ultra | tti* | harris | dolphin | highlevel | gould \ - | cbm | ns | masscomp | apple | axis | knuth | cray \ - | microblaze* | sim | cisco \ - | oki | wec | wrs | winbond) - basic_machine=$field1-$field2 - basic_os= - ;; - *) - basic_machine=$field1 - basic_os=$field2 - ;; - esac - ;; - esac - ;; - *) - # Convert single-component short-hands not valid as part of - # multi-component configurations. - case $field1 in - 386bsd) - basic_machine=i386-pc - basic_os=bsd - ;; - a29khif) - basic_machine=a29k-amd - basic_os=udi - ;; - adobe68k) - basic_machine=m68010-adobe - basic_os=scout - ;; - alliant) - basic_machine=fx80-alliant - basic_os= - ;; - altos | altos3068) - basic_machine=m68k-altos - basic_os= - ;; - am29k) - basic_machine=a29k-none - basic_os=bsd - ;; - amdahl) - basic_machine=580-amdahl - basic_os=sysv - ;; - amiga) - basic_machine=m68k-unknown - basic_os= - ;; - amigaos | amigados) - basic_machine=m68k-unknown - basic_os=amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - basic_os=sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - basic_os=sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - basic_os=bsd - ;; - aros) - basic_machine=i386-pc - basic_os=aros - ;; - aux) - basic_machine=m68k-apple - basic_os=aux - ;; - balance) - basic_machine=ns32k-sequent - basic_os=dynix - ;; - blackfin) - basic_machine=bfin-unknown - basic_os=linux - ;; - cegcc) - basic_machine=arm-unknown - basic_os=cegcc - ;; - convex-c1) - basic_machine=c1-convex - basic_os=bsd - ;; - convex-c2) - basic_machine=c2-convex - basic_os=bsd - ;; - convex-c32) - basic_machine=c32-convex - basic_os=bsd - ;; - convex-c34) - basic_machine=c34-convex - basic_os=bsd - ;; - convex-c38) - basic_machine=c38-convex - basic_os=bsd - ;; - cray) - basic_machine=j90-cray - basic_os=unicos - ;; - crds | unos) - basic_machine=m68k-crds - basic_os= - ;; - da30) - basic_machine=m68k-da30 - basic_os= - ;; - decstation | pmax | pmin | dec3100 | decstatn) - basic_machine=mips-dec - basic_os= - ;; - delta88) - basic_machine=m88k-motorola - basic_os=sysv3 - ;; - dicos) - basic_machine=i686-pc - basic_os=dicos - ;; - djgpp) - basic_machine=i586-pc - basic_os=msdosdjgpp - ;; - ebmon29k) - basic_machine=a29k-amd - basic_os=ebmon - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - basic_os=ose - ;; - gmicro) - basic_machine=tron-gmicro - basic_os=sysv - ;; - go32) - basic_machine=i386-pc - basic_os=go32 - ;; - h8300hms) - basic_machine=h8300-hitachi - basic_os=hms - ;; - h8300xray) - basic_machine=h8300-hitachi - basic_os=xray - ;; - h8500hms) - basic_machine=h8500-hitachi - basic_os=hms - ;; - harris) - basic_machine=m88k-harris - basic_os=sysv3 - ;; - hp300 | hp300hpux) - basic_machine=m68k-hp - basic_os=hpux - ;; - hp300bsd) - basic_machine=m68k-hp - basic_os=bsd - ;; - hppaosf) - basic_machine=hppa1.1-hp - basic_os=osf - ;; - hppro) - basic_machine=hppa1.1-hp - basic_os=proelf - ;; - i386mach) - basic_machine=i386-mach - basic_os=mach - ;; - isi68 | isi) - basic_machine=m68k-isi - basic_os=sysv - ;; - m68knommu) - basic_machine=m68k-unknown - basic_os=linux - ;; - magnum | m3230) - basic_machine=mips-mips - basic_os=sysv - ;; - merlin) - basic_machine=ns32k-utek - basic_os=sysv - ;; - mingw64) - basic_machine=x86_64-pc - basic_os=mingw64 - ;; - mingw32) - basic_machine=i686-pc - basic_os=mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - basic_os=mingw32ce - ;; - monitor) - basic_machine=m68k-rom68k - basic_os=coff - ;; - morphos) - basic_machine=powerpc-unknown - basic_os=morphos - ;; - moxiebox) - basic_machine=moxie-unknown - basic_os=moxiebox - ;; - msdos) - basic_machine=i386-pc - basic_os=msdos - ;; - msys) - basic_machine=i686-pc - basic_os=msys - ;; - mvs) - basic_machine=i370-ibm - basic_os=mvs - ;; - nacl) - basic_machine=le32-unknown - basic_os=nacl - ;; - ncr3000) - basic_machine=i486-ncr - basic_os=sysv4 - ;; - netbsd386) - basic_machine=i386-pc - basic_os=netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - basic_os=linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - basic_os=newsos - ;; - news1000) - basic_machine=m68030-sony - basic_os=newsos - ;; - necv70) - basic_machine=v70-nec - basic_os=sysv - ;; - nh3000) - basic_machine=m68k-harris - basic_os=cxux - ;; - nh[45]000) - basic_machine=m88k-harris - basic_os=cxux - ;; - nindy960) - basic_machine=i960-intel - basic_os=nindy - ;; - mon960) - basic_machine=i960-intel - basic_os=mon960 - ;; - nonstopux) - basic_machine=mips-compaq - basic_os=nonstopux - ;; - os400) - basic_machine=powerpc-ibm - basic_os=os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - basic_os=ose - ;; - os68k) - basic_machine=m68k-none - basic_os=os68k - ;; - paragon) - basic_machine=i860-intel - basic_os=osf - ;; - parisc) - basic_machine=hppa-unknown - basic_os=linux - ;; - psp) - basic_machine=mipsallegrexel-sony - basic_os=psp - ;; - pw32) - basic_machine=i586-unknown - basic_os=pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - basic_os=rdos - ;; - rdos32) - basic_machine=i386-pc - basic_os=rdos - ;; - rom68k) - basic_machine=m68k-rom68k - basic_os=coff - ;; - sa29200) - basic_machine=a29k-amd - basic_os=udi - ;; - sei) - basic_machine=mips-sei - basic_os=seiux - ;; - sequent) - basic_machine=i386-sequent - basic_os= - ;; - sps7) - basic_machine=m68k-bull - basic_os=sysv2 - ;; - st2000) - basic_machine=m68k-tandem - basic_os= - ;; - stratus) - basic_machine=i860-stratus - basic_os=sysv4 - ;; - sun2) - basic_machine=m68000-sun - basic_os= - ;; - sun2os3) - basic_machine=m68000-sun - basic_os=sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - basic_os=sunos4 - ;; - sun3) - basic_machine=m68k-sun - basic_os= - ;; - sun3os3) - basic_machine=m68k-sun - basic_os=sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - basic_os=sunos4 - ;; - sun4) - basic_machine=sparc-sun - basic_os= - ;; - sun4os3) - basic_machine=sparc-sun - basic_os=sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - basic_os=sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - basic_os=solaris2 - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - basic_os= - ;; - sv1) - basic_machine=sv1-cray - basic_os=unicos - ;; - symmetry) - basic_machine=i386-sequent - basic_os=dynix - ;; - t3e) - basic_machine=alphaev5-cray - basic_os=unicos - ;; - t90) - basic_machine=t90-cray - basic_os=unicos - ;; - toad1) - basic_machine=pdp10-xkl - basic_os=tops20 - ;; - tpf) - basic_machine=s390x-ibm - basic_os=tpf - ;; - udi29k) - basic_machine=a29k-amd - basic_os=udi - ;; - ultra3) - basic_machine=a29k-nyu - basic_os=sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - basic_os=none - ;; - vaxv) - basic_machine=vax-dec - basic_os=sysv - ;; - vms) - basic_machine=vax-dec - basic_os=vms - ;; - vsta) - basic_machine=i386-pc - basic_os=vsta - ;; - vxworks960) - basic_machine=i960-wrs - basic_os=vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - basic_os=vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - basic_os=vxworks - ;; - xbox) - basic_machine=i686-pc - basic_os=mingw32 - ;; - ymp) - basic_machine=ymp-cray - basic_os=unicos - ;; - *) - basic_machine=$1 - basic_os= - ;; - esac - ;; -esac - -# Decode 1-component or ad-hoc basic machines -case $basic_machine in - # 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) - cpu=hppa1.1 - vendor=winbond - ;; - op50n) - cpu=hppa1.1 - vendor=oki - ;; - op60c) - cpu=hppa1.1 - vendor=oki - ;; - ibm*) - cpu=i370 - vendor=ibm - ;; - orion105) - cpu=clipper - vendor=highlevel - ;; - mac | mpw | mac-mpw) - cpu=m68k - vendor=apple - ;; - pmac | pmac-mpw) - cpu=powerpc - vendor=apple - ;; - - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - cpu=m68000 - vendor=att - ;; - 3b*) - cpu=we32k - vendor=att - ;; - bluegene*) - cpu=powerpc - vendor=ibm - basic_os=cnk - ;; - decsystem10* | dec10*) - cpu=pdp10 - vendor=dec - basic_os=tops10 - ;; - decsystem20* | dec20*) - cpu=pdp10 - vendor=dec - basic_os=tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - cpu=m68k - vendor=motorola - ;; - dpx2*) - cpu=m68k - vendor=bull - basic_os=sysv3 - ;; - encore | umax | mmax) - cpu=ns32k - vendor=encore - ;; - elxsi) - cpu=elxsi - vendor=elxsi - basic_os=${basic_os:-bsd} - ;; - fx2800) - cpu=i860 - vendor=alliant - ;; - genix) - cpu=ns32k - vendor=ns - ;; - h3050r* | hiux*) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - cpu=m68000 - vendor=hp - ;; - hp9k3[2-9][0-9]) - cpu=m68k - vendor=hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - cpu=hppa1.1 - vendor=hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - cpu=hppa1.0 - vendor=hp - ;; - i*86v32) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv32 - ;; - i*86v4*) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv4 - ;; - i*86v) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=sysv - ;; - i*86sol2) - cpu=`echo "$1" | sed -e 's/86.*/86/'` - vendor=pc - basic_os=solaris2 - ;; - j90 | j90-cray) - cpu=j90 - vendor=cray - basic_os=${basic_os:-unicos} - ;; - iris | iris4d) - cpu=mips - vendor=sgi - case $basic_os in - irix*) - ;; - *) - basic_os=irix4 - ;; - esac - ;; - miniframe) - cpu=m68000 - vendor=convergent - ;; - *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) - cpu=m68k - vendor=atari - basic_os=mint - ;; - news-3600 | risc-news) - cpu=mips - vendor=sony - basic_os=newsos - ;; - next | m*-next) - cpu=m68k - vendor=next - case $basic_os in - openstep*) - ;; - nextstep*) - ;; - ns2*) - basic_os=nextstep2 - ;; - *) - basic_os=nextstep3 - ;; - esac - ;; - np1) - cpu=np1 - vendor=gould - ;; - op50n-* | op60c-*) - cpu=hppa1.1 - vendor=oki - basic_os=proelf - ;; - pa-hitachi) - cpu=hppa1.1 - vendor=hitachi - basic_os=hiuxwe2 - ;; - pbd) - cpu=sparc - vendor=tti - ;; - pbb) - cpu=m68k - vendor=tti - ;; - pc532) - cpu=ns32k - vendor=pc532 - ;; - pn) - cpu=pn - vendor=gould - ;; - power) - cpu=power - vendor=ibm - ;; - ps2) - cpu=i386 - vendor=ibm - ;; - rm[46]00) - cpu=mips - vendor=siemens - ;; - rtpc | rtpc-*) - cpu=romp - vendor=ibm - ;; - sde) - cpu=mipsisa32 - vendor=sde - basic_os=${basic_os:-elf} - ;; - simso-wrs) - cpu=sparclite - vendor=wrs - basic_os=vxworks - ;; - tower | tower-32) - cpu=m68k - vendor=ncr - ;; - vpp*|vx|vx-*) - cpu=f301 - vendor=fujitsu - ;; - w65) - cpu=w65 - vendor=wdc - ;; - w89k-*) - cpu=hppa1.1 - vendor=winbond - basic_os=proelf - ;; - none) - cpu=none - vendor=none - ;; - leon|leon[3-9]) - cpu=sparc - vendor=$basic_machine - ;; - leon-*|leon[3-9]-*) - cpu=sparc - vendor=`echo "$basic_machine" | sed 's/-.*//'` - ;; - - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read cpu vendor <<EOF -$basic_machine -EOF - IFS=$saved_IFS - ;; - # 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) - cpu=$basic_machine - vendor=pc - ;; - # These rules are duplicated from below for sake of the special case above; - # i.e. things that normalized to x86 arches should also default to "pc" - pc98) - cpu=i386 - vendor=pc - ;; - x64 | amd64) - cpu=x86_64 - vendor=pc - ;; - # Recognize the basic CPU types without company name. - *) - cpu=$basic_machine - vendor=unknown - ;; -esac - -unset -v basic_machine - -# Decode basic machines in the full and proper CPU-Company form. -case $cpu-$vendor in - # Here we handle the default manufacturer of certain CPU types in canonical form. It is in - # some cases the only manufacturer, in others, it is the most popular. - craynv-unknown) - vendor=cray - basic_os=${basic_os:-unicosmp} - ;; - c90-unknown | c90-cray) - vendor=cray - basic_os=${Basic_os:-unicos} - ;; - fx80-unknown) - vendor=alliant - ;; - romp-unknown) - vendor=ibm - ;; - mmix-unknown) - vendor=knuth - ;; - microblaze-unknown | microblazeel-unknown) - vendor=xilinx - ;; - rs6000-unknown) - vendor=ibm - ;; - vax-unknown) - vendor=dec - ;; - pdp11-unknown) - vendor=dec - ;; - we32k-unknown) - vendor=att - ;; - cydra-unknown) - vendor=cydrome - ;; - i370-ibm*) - vendor=ibm - ;; - orion-unknown) - vendor=highlevel - ;; - xps-unknown | xps100-unknown) - cpu=xps100 - vendor=honeywell - ;; - - # Here we normalize CPU types with a missing or matching vendor - armh-unknown | armh-alt) - cpu=armv7l - vendor=alt - basic_os=${basic_os:-linux-gnueabihf} - ;; - dpx20-unknown | dpx20-bull) - cpu=rs6000 - vendor=bull - basic_os=${basic_os:-bosx} - ;; - - # Here we normalize CPU types irrespective of the vendor - amd64-*) - cpu=x86_64 - ;; - blackfin-*) - cpu=bfin - basic_os=linux - ;; - c54x-*) - cpu=tic54x - ;; - c55x-*) - cpu=tic55x - ;; - c6x-*) - cpu=tic6x - ;; - e500v[12]-*) - cpu=powerpc - basic_os=${basic_os}"spe" - ;; - mips3*-*) - cpu=mips64 - ;; - ms1-*) - cpu=mt - ;; - m68knommu-*) - cpu=m68k - basic_os=linux - ;; - m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) - cpu=s12z - ;; - openrisc-*) - cpu=or32 - ;; - parisc-*) - cpu=hppa - basic_os=linux - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - cpu=i586 - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) - cpu=i686 - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - cpu=i686 - ;; - pentium4-*) - cpu=i786 - ;; - pc98-*) - cpu=i386 - ;; - ppc-* | ppcbe-*) - cpu=powerpc - ;; - ppcle-* | powerpclittle-*) - cpu=powerpcle - ;; - ppc64-*) - cpu=powerpc64 - ;; - ppc64le-* | powerpc64little-*) - cpu=powerpc64le - ;; - sb1-*) - cpu=mipsisa64sb1 - ;; - sb1el-*) - cpu=mipsisa64sb1el - ;; - sh5e[lb]-*) - cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` - ;; - spur-*) - cpu=spur - ;; - strongarm-* | thumb-*) - cpu=arm - ;; - tx39-*) - cpu=mipstx39 - ;; - tx39el-*) - cpu=mipstx39el - ;; - x64-*) - cpu=x86_64 - ;; - xscale-* | xscalee[bl]-*) - cpu=`echo "$cpu" | sed 's/^xscale/arm/'` - ;; - arm64-* | aarch64le-*) - cpu=aarch64 - ;; - - # Recognize the canonical CPU Types that limit and/or modify the - # company names they are paired with. - cr16-*) - basic_os=${basic_os:-elf} - ;; - crisv32-* | etraxfs*-*) - cpu=crisv32 - vendor=axis - ;; - cris-* | etrax*-*) - cpu=cris - vendor=axis - ;; - crx-*) - basic_os=${basic_os:-elf} - ;; - neo-tandem) - cpu=neo - vendor=tandem - ;; - nse-tandem) - cpu=nse - vendor=tandem - ;; - nsr-tandem) - cpu=nsr - vendor=tandem - ;; - nsv-tandem) - cpu=nsv - vendor=tandem - ;; - nsx-tandem) - cpu=nsx - vendor=tandem - ;; - mipsallegrexel-sony) - cpu=mipsallegrexel - vendor=sony - ;; - tile*-*) - basic_os=${basic_os:-linux-gnu} - ;; - - *) - # Recognize the canonical CPU types that are allowed with any - # company name. - case $cpu in - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | abacus \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ - | alphapca5[67] | alpha64pca5[67] \ - | am33_2.0 \ - | amdgcn \ - | arc | arceb | arc32 | arc64 \ - | arm | arm[lb]e | arme[lb] | armv* \ - | avr | avr32 \ - | asmjs \ - | ba \ - | be32 | be64 \ - | bfin | bpf | bs2000 \ - | c[123]* | c30 | [cjt]90 | c4x \ - | c8051 | clipper | craynv | csky | cydra \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | elxsi | epiphany \ - | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ - | h8300 | h8500 \ - | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i*86 | i860 | i960 | ia16 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | loongarch32 | loongarch64 | loongarchx32 \ - | m32c | m32r | m32rle \ - | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ - | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ - | m88110 | m88k | maxq | mb | mcore | mep | metag \ - | microblaze | microblazeel \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64eb | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r3 | mipsisa32r3el \ - | mipsisa32r5 | mipsisa32r5el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r3 | mipsisa64r3el \ - | mipsisa64r5 | mipsisa64r5el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mmix \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nfp \ - | nios | nios2 | nios2eb | nios2el \ - | none | np1 | ns16k | ns32k | nvptx \ - | open8 \ - | or1k* \ - | or32 \ - | orion \ - | picochip \ - | pdp10 | pdp11 | pj | pjl | pn | power \ - | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ - | pru \ - | pyramid \ - | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ - | rl78 | romp | rs6000 | rx \ - | s390 | s390x \ - | score \ - | sh | shl \ - | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ - | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ - | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ - | spu \ - | tahoe \ - | thumbv7* \ - | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ - | tron \ - | ubicom32 \ - | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ - | vax \ - | visium \ - | w65 \ - | wasm32 | wasm64 \ - | we32k \ - | x86 | x86_64 | xc16x | xgate | xps100 \ - | xstormy16 | xtensa* \ - | ymp \ - | z8k | z80) - ;; - - *) - echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 - exit 1 - ;; - esac - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $vendor in - digital*) - vendor=dec - ;; - commodore*) - vendor=cbm - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if test x$basic_os != x -then - -# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just -# set os. -case $basic_os in - gnu/linux*) - kernel=linux - os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` - ;; - os2-emx) - kernel=os2 - os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` - ;; - nto-qnx*) - kernel=nto - os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` - ;; - *-*) - # shellcheck disable=SC2162 - saved_IFS=$IFS - IFS="-" read kernel os <<EOF -$basic_os -EOF - IFS=$saved_IFS - ;; - # Default OS when just kernel was specified - nto*) - kernel=nto - os=`echo "$basic_os" | sed -e 's|nto|qnx|'` - ;; - linux*) - kernel=linux - os=`echo "$basic_os" | sed -e 's|linux|gnu|'` - ;; - *) - kernel= - os=$basic_os - ;; -esac - -# Now, normalize the OS (knowing we just have one component, it's not a kernel, -# etc.) -case $os in - # First match some system type aliases that might get confused - # with valid system types. - # solaris* is a basic system type, with this one exception. - auroraux) - os=auroraux - ;; - bluegene*) - os=cnk - ;; - solaris1 | solaris1.*) - os=`echo "$os" | sed -e 's|solaris1|sunos4|'` - ;; - solaris) - os=solaris2 - ;; - unixware*) - os=sysv4.2uw - ;; - # es1800 is here to avoid being matched by es* (a different OS) - es1800*) - os=ose - ;; - # Some version numbers need modification - chorusos*) - os=chorusos - ;; - isc) - os=isc2.2 - ;; - sco6) - os=sco5v6 - ;; - sco5) - os=sco3.2v5 - ;; - sco4) - os=sco3.2v4 - ;; - sco3.2.[4-9]*) - os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` - ;; - sco*v* | scout) - # Don't match below - ;; - sco*) - os=sco3.2v2 - ;; - psos*) - os=psos - ;; - qnx*) - os=qnx - ;; - hiux*) - os=hiuxwe2 - ;; - lynx*178) - os=lynxos178 - ;; - lynx*5) - os=lynxos5 - ;; - lynxos*) - # don't get caught up in next wildcard - ;; - lynx*) - os=lynxos - ;; - mac[0-9]*) - os=`echo "$os" | sed -e 's|mac|macos|'` - ;; - opened*) - os=openedition - ;; - os400*) - os=os400 - ;; - sunos5*) - os=`echo "$os" | sed -e 's|sunos5|solaris2|'` - ;; - sunos6*) - os=`echo "$os" | sed -e 's|sunos6|solaris3|'` - ;; - wince*) - os=wince - ;; - 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 - ;; - # 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 - ;; - ose*) - os=ose - ;; - *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) - os=mint - ;; - dicos*) - os=dicos - ;; - pikeos*) - # Until real need of OS specific support for - # particular features comes up, bare metal - # configurations are quite functional. - case $cpu in - arm*) - os=eabi - ;; - *) - os=elf - ;; - esac - ;; - *) - # No normalization, but not necessarily accepted, that comes below. - ;; -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. - -kernel= -case $cpu-$vendor in - score-*) - os=elf - ;; - spu-*) - os=elf - ;; - *-acorn) - os=riscix1.2 - ;; - arm*-rebel) - kernel=linux - os=gnu - ;; - arm*-semi) - os=aout - ;; - c4x-* | tic4x-*) - os=coff - ;; - c8051-*) - os=elf - ;; - clipper-intergraph) - os=clix - ;; - hexagon-*) - os=elf - ;; - tic54x-*) - os=coff - ;; - tic55x-*) - os=coff - ;; - tic6x-*) - os=coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=tops20 - ;; - pdp11-*) - os=none - ;; - *-dec | vax-*) - os=ultrix4.2 - ;; - m68*-apollo) - os=domain - ;; - i386-sun) - os=sunos4.0.2 - ;; - m68000-sun) - os=sunos3 - ;; - m68*-cisco) - os=aout - ;; - mep-*) - os=elf - ;; - mips*-cisco) - os=elf - ;; - mips*-*) - os=elf - ;; - or32-*) - os=coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=sysv3 - ;; - sparc-* | *-sun) - os=sunos4.1.1 - ;; - pru-*) - os=elf - ;; - *-be) - os=beos - ;; - *-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 - ;; - *-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 - ;; - *-wrs) - os=vxworks - ;; - *) - os=none - ;; -esac - -fi - -# Now, validate our (potentially fixed-up) OS. -case $os in - # Sometimes we do "kernel-libc", so those need to count as OSes. - musl* | newlib* | relibc* | uclibc*) - ;; - # Likewise for "kernel-abi" - eabi* | gnueabi*) - ;; - # VxWorks passes extra cpu info in the 4th filed. - simlinux | simwindows | spe) - ;; - # Now accept the basic system types. - # The portable systems comes first. - # Each alternative MUST end in a * to match a version number. - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ - | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ - | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ - | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ - | hiux* | abug | nacl* | netware* | windows* \ - | os9* | macos* | osx* | ios* \ - | mpw* | magic* | mmixware* | mon960* | lnews* \ - | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ - | aos* | aros* | cloudabi* | sortix* | twizzler* \ - | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ - | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ - | mirbsd* | netbsd* | dicos* | openedition* | ose* \ - | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ - | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ - | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ - | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ - | udi* | lites* | ieee* | go32* | aux* | hcos* \ - | chorusrdb* | cegcc* | glidix* | serenity* \ - | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ - | midipix* | mingw32* | mingw64* | mint* \ - | uxpv* | beos* | mpeix* | udk* | moxiebox* \ - | interix* | uwin* | mks* | rhapsody* | darwin* \ - | openstep* | oskit* | conix* | pw32* | nonstopux* \ - | storm-chaos* | tops10* | tenex* | tops20* | its* \ - | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ - | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ - | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ - | skyos* | haiku* | rdos* | toppers* | drops* | es* \ - | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ - | fiwix* ) - ;; - # This one is extra strict with allowed versions - sco3.2v2 | sco3.2v[4-9]* | sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - ;; - none) - ;; - *) - echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 - exit 1 - ;; -esac - -# As a final step for OS-related things, validate the OS-kernel combination -# (given a valid OS), if there is a kernel. -case $kernel-$os in - linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ - | linux-musl* | linux-relibc* | linux-uclibc* ) - ;; - uclinux-uclibc* ) - ;; - -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) - # These are just libc implementations, not actual OSes, and thus - # require a kernel. - echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 - exit 1 - ;; - kfreebsd*-gnu* | kopensolaris*-gnu*) - ;; - vxworks-simlinux | vxworks-simwindows | vxworks-spe) - ;; - nto-qnx*) - ;; - os2-emx) - ;; - *-eabi* | *-gnueabi*) - ;; - -*) - # Blank kernel with real OS is always fine. - ;; - *-*) - echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 - exit 1 - ;; -esac - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -case $vendor in - unknown) - case $cpu-$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 - ;; - *-clix*) - vendor=intergraph - ;; - *-mvs* | *-opened*) - vendor=ibm - ;; - *-os400*) - vendor=ibm - ;; - s390-* | s390x-*) - 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 - ;; -esac - -echo "$cpu-$vendor-${kernel:+$kernel-}$os" -exit - -# Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/depcomp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/depcomp deleted file mode 100755 index f0a474cd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/depcomp +++ /dev/null @@ -1,791 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2013-05-30.07; # UTC - -# Copyright (C) 1999-2013 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, see <https://www.gnu.org/licenses/>. - -# 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 <oliva@dcc.unicamp.br>. - -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 outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -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" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# 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 - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -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 -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## 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). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - 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 -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # 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. -## 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. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -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 -ne 0; then - 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 ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ - | tr "$nl" ' ' >> "$depfile" - echo >> "$depfile" - # The second pass generates a dummy entry for each header file. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" - ;; - -xlc) - # 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 - ;; - -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. - set_dir_from "$object" - set_base_from "$object" - 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 -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - 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. - set_dir_from "$object" - set_base_from "$object" - 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 -ne 0; then - 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,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_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. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool 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$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # 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 - ;; - -#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 "X$1" != 'X--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|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | 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 "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - 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. - -arch) - eat=yes ;; - -*|$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" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | 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 "X$1" != 'X--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. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # 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 - ;; - -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-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-fix b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-fix deleted file mode 100644 index af702fe6..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-fix +++ /dev/null @@ -1,3 +0,0 @@ -# This file is expected to be used via gitlog-to-changelog's --amend=FILE -# option. It specifies what changes to make to each given SHA1's commit -# log and metadata, using Perl-eval'able expressions. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-footer b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-footer deleted file mode 100644 index 475366a7..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-footer +++ /dev/null @@ -1,14 +0,0 @@ - -2012-08-08 Werner Koch <wk@gnupg.org> - - NB: Changes done before August 8, 2012 are described in per - directory files named ChangeLog-old. See doc/HACKING for - details. - - ----- - Copyright (C) 2002, 2003, 2010, 2012 g10 Code GmbH - - Copying and distribution of this file and/or the original GIT - commit log messages, with or without modification, are - permitted provided the copyright notice and this notice are - preserved. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/gitlog-to-changelog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/gitlog-to-changelog deleted file mode 100755 index 81a04310..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/gitlog-to-changelog +++ /dev/null @@ -1,375 +0,0 @@ -eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' - & eval 'exec perl -wS "$0" $argv:q' - if 0; -# Convert git log output to ChangeLog format. - -my $VERSION = '2012-01-24 15:58 (wk)'; # UTC -# The definition above must lie within the first 8 lines in order -# for the Emacs time-stamp write hook (at end) to update it. -# If you change this file with Emacs, please let the write hook -# do its job. Otherwise, update this string manually. - -# Copyright (C) 2008-2012 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 3 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <https://www.gnu.org/licenses/>. - -# Written by Jim Meyering -# Custom bugs bred by Werner Koch - -use strict; -use warnings; -use Getopt::Long; -use POSIX qw(strftime); - -(my $ME = $0) =~ s|.*/||; - -# use File::Coda; # http://meyering.net/code/Coda/ -END { - defined fileno STDOUT or return; - close STDOUT and return; - warn "$ME: failed to close standard output: $!\n"; - $? ||= 1; -} - -sub usage ($) -{ - my ($exit_code) = @_; - my $STREAM = ($exit_code == 0 ? *STDOUT : *STDERR); - if ($exit_code != 0) - { - print $STREAM "Try `$ME --help' for more information.\n"; - } - else - { - print $STREAM <<EOF; -Usage: $ME [OPTIONS] [ARGS] - -Convert git log output to ChangeLog format. If present, any ARGS -are passed to "git log". To avoid ARGS being parsed as options to -$ME, they may be preceded by '--'. - -OPTIONS: - - --amend=FILE FILE maps from an SHA1 to perl code (i.e., s/old/new/) that - makes a change to SHA1's commit log text or metadata. - --append-dot append a dot to the first line of each commit message if - there is no other punctuation or blank at the end. - --tear-off tear off all commit log lines after a '--' line and - skip log entry with the first body line being '--'. - --since=DATE convert only the logs since DATE; - the default is to convert all log entries. - --format=FMT set format string for commit subject and body; - see 'man git-log' for the list of format metacharacters; - the default is '%s%n%b%n' - - --help display this help and exit - --version output version information and exit - -EXAMPLE: - - $ME --since=2008-01-01 > ChangeLog - $ME -- -n 5 foo > last-5-commits-to-branch-foo - -In a FILE specified via --amend, comment lines (starting with "#") are ignored. -FILE must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 (alone on -a line) referring to a commit in the current project, and CODE refers to one -or more consecutive lines of Perl code. Pairs must be separated by one or -more blank line. - -Here is sample input for use with --amend=FILE, from coreutils: - -3a169f4c5d9159283548178668d2fae6fced3030 -# fix typo in title: -s/all tile types/all file types/ - -1379ed974f1fa39b12e2ffab18b3f7a607082202 -# Due to a bug in vc-dwim, I mis-attributed a patch by Paul to myself. -# Change the author to be Paul. Note the escaped "@": -s,Jim .*>,Paul Eggert <eggert\@cs.ucla.edu>, - -EOF - } - exit $exit_code; -} - -# If the string $S is a well-behaved file name, simply return it. -# If it contains white space, quotes, etc., quote it, and return the new string. -sub shell_quote($) -{ - my ($s) = @_; - if ($s =~ m![^\w+/.,-]!) - { - # Convert each single quote to '\'' - $s =~ s/\'/\'\\\'\'/g; - # Then single quote the string. - $s = "'$s'"; - } - return $s; -} - -sub quoted_cmd(@) -{ - return join (' ', map {shell_quote $_} @_); -} - -# Parse file F. -# Comment lines (starting with "#") are ignored. -# F must consist of <SHA,CODE+> pairs where SHA is a 40-byte SHA1 -# (alone on a line) referring to a commit in the current project, and -# CODE refers to one or more consecutive lines of Perl code. -# Pairs must be separated by one or more blank line. -sub parse_amend_file($) -{ - my ($f) = @_; - - open F, '<', $f - or die "$ME: $f: failed to open for reading: $!\n"; - - my $fail; - my $h = {}; - my $in_code = 0; - my $sha; - while (defined (my $line = <F>)) - { - $line =~ /^\#/ - and next; - chomp $line; - $line eq '' - and $in_code = 0, next; - - if (!$in_code) - { - $line =~ /^([0-9a-fA-F]{40})$/ - or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"), - $fail = 1, next; - $sha = lc $1; - $in_code = 1; - exists $h->{$sha} - and (warn "$ME: $f:$.: duplicate SHA1\n"), - $fail = 1, next; - } - else - { - $h->{$sha} ||= ''; - $h->{$sha} .= "$line\n"; - } - } - close F; - - $fail - and exit 1; - - return $h; -} - -{ - my $since_date; - my $format_string = '%s%n%b%n'; - my $amend_file; - my $append_dot = 0; - my $tear_off = 0; - GetOptions - ( - help => sub { usage 0 }, - version => sub { print "$ME version $VERSION\n"; exit }, - 'since=s' => \$since_date, - 'format=s' => \$format_string, - 'amend=s' => \$amend_file, - 'append-dot' => \$append_dot, - 'tear-off' => \$tear_off, - ) or usage 1; - - - defined $since_date - and unshift @ARGV, "--since=$since_date"; - - # This is a hash that maps an SHA1 to perl code (i.e., s/old/new/) - # that makes a correction in the log or attribution of that commit. - my $amend_code = defined $amend_file ? parse_amend_file $amend_file : {}; - - my @cmd = (qw (git log --log-size), - '--pretty=format:%H:%ct %an <%ae>%n%n'.$format_string, @ARGV); - open PIPE, '-|', @cmd - or die ("$ME: failed to run `". quoted_cmd (@cmd) ."': $!\n" - . "(Is your Git too old? Version 1.5.1 or later is required.)\n"); - - my $prev_date_line = ''; - my @prev_coauthors = (); - - while (1) - { - defined (my $in = <PIPE>) - or last; - $in =~ /^log size (\d+)$/ - or die "$ME:$.: Invalid line (expected log size):\n$in"; - my $log_nbytes = $1; - - my $log; - my $n_read = read PIPE, $log, $log_nbytes; - $n_read == $log_nbytes - or die "$ME:$.: unexpected EOF\n"; - - # Skip log entries with the default merge commit message. - $log =~ /^.*\n\nMerge branch '.*\n\s*/ - and goto SKIPCOMMIT; - - # Skip log entries if the body starts with a tear off marker. - if ($tear_off) - { - $log =~ /^.*\n\n.*\n--\s*/ - and goto SKIPCOMMIT; - } - - # Extract leading hash. - my ($sha, $rest) = split ':', $log, 2; - defined $sha - or die "$ME:$.: malformed log entry\n"; - $sha =~ /^[0-9a-fA-F]{40}$/ - or die "$ME:$.: invalid SHA1: $sha\n"; - - # If this commit's log requires any transformation, do it now. - my $code = $amend_code->{$sha}; - if (defined $code) - { - eval 'use Safe'; - my $s = new Safe; - # Put the unpreprocessed entry into "$_". - $_ = $rest; - - # Let $code operate on it, safely. - my $r = $s->reval("$code") - or die "$ME:$.:$sha: failed to eval \"$code\":\n$@\n"; - - # Note that we've used this entry. - delete $amend_code->{$sha}; - - # Update $rest upon success. - $rest = $_; - } - - my @line = split "\n", $rest; - my $author_line = shift @line; - defined $author_line - or die "$ME:$.: unexpected EOF\n"; - $author_line =~ /^(\d+) (.*>)$/ - or die "$ME:$.: Invalid line " - . "(expected date/author/email):\n$author_line\n"; - - my $date_line = sprintf "%s $2\n", strftime ("%F", localtime ($1)); - - # Format 'Co-authored-by: A U Thor <email@example.com>' lines in - # standard multi-author ChangeLog format. - my @coauthors = grep /^Co-authored-by:.*$/, @line; - for (@coauthors) - { - s/^Co-authored-by:\s*/\t /; - s/\s*</ </; - - /<.*?@.*\..*>/ - or warn "$ME: warning: missing email address for " - . substr ($_, 5) . "\n"; - } - - # If this header would be the same as the previous date/name/email/ - # coauthors header, then arrange not to print it. - if ($date_line ne $prev_date_line or "@coauthors" ne "@prev_coauthors") - { - $prev_date_line eq '' - or print "\n"; - print $date_line; - @coauthors - and print join ("\n", @coauthors), "\n"; - } - $prev_date_line = $date_line; - @prev_coauthors = @coauthors; - - # Omit "Co-authored-by..." and "Signed-off-by..." lines. - @line = grep !/^Signed-off-by: .*>$/, @line; - @line = grep !/^Co-authored-by: /, @line; - - # Remove everything after a line with 2 dashes at the beginning. - if ($tear_off) - { - my @tmpline; - foreach (@line) - { - last if /^--\s*$/; - push @tmpline,$_; - } - @line = @tmpline; - } - - # Remove leading and trailing blank lines. - if (@line) - { - while ($line[0] =~ /^\s*$/) { shift @line; } - while ($line[$#line] =~ /^\s*$/) { pop @line; } - } - - # If there were any lines - if (@line == 0) - { - warn "$ME: warning: empty commit message:\n $date_line\n"; - } - else - { - if ($append_dot) - { - # If the first line of the message has enough room, then - if (length $line[0] < 72) - { - # append a dot if there is no other punctuation or blank - # at the end. - $line[0] =~ /[[:punct:]\s]$/ - or $line[0] .= '.'; - } - } - - # Prefix each non-empty line with a TAB. - @line = map { length $_ ? "\t$_" : '' } @line; - - print "\n", join ("\n", @line), "\n"; - } - - SKIPCOMMIT: - defined ($in = <PIPE>) - or last; - $in ne "\n" - and die "$ME:$.: unexpected line:\n$in"; - } - - close PIPE - or die "$ME: error closing pipe from " . quoted_cmd (@cmd) . "\n"; - # FIXME-someday: include $PROCESS_STATUS in the diagnostic - - # Complain about any unused entry in the --amend=F specified file. - my $fail = 0; - foreach my $sha (keys %$amend_code) - { - warn "$ME:$amend_file: unused entry: $sha\n"; - $fail = 1; - } - - exit $fail; -} - -# Local Variables: -# mode: perl -# indent-tabs-mode: nil -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "my $VERSION = '" -# time-stamp-format: "%:y-%02m-%02d %02H:%02M (wk)" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "'; # UTC" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/install-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/install-sh deleted file mode 100755 index 377bb868..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/install-sh +++ /dev/null @@ -1,527 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2011-11-20.07; # UTC - -# 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 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - 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 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - 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 - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 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 problematic for 'test' and other utilities. - 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 - - # 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-writable 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 X"$d" = X && 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-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/mdate-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/mdate-sh deleted file mode 100755 index 39f48bb1..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/mdate-sh +++ /dev/null @@ -1,224 +0,0 @@ -#!/bin/sh -# Get modification time of a file or directory and pretty-print it. - -scriptversion=2010-08-21.06; # UTC - -# Copyright (C) 1995-2013 Free Software Foundation, Inc. -# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 -# -# 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, see <https://www.gnu.org/licenses/>. - -# 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 <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -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 -fi - -case $1 in - '') - echo "$0: No file. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: mdate-sh [--help] [--version] FILE - -Pretty-print the modification day of FILE, in the format: -1 January 1970 - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "mdate-sh $scriptversion" - exit $? - ;; -esac - -error () -{ - echo "$0: $1" >&2 - exit 1 -} - - -# Prevent date giving response in another language. -LANG=C -export LANG -LC_ALL=C -export LC_ALL -LC_TIME=C -export LC_TIME - -# GNU ls changes its time format in response to the TIME_STYLE -# variable. Since we cannot assume 'unset' works, revert this -# variable to its documented default. -if test "${TIME_STYLE+set}" = set; then - TIME_STYLE=posix-long-iso - export TIME_STYLE -fi - -save_arg1=$1 - -# Find out how to get the extended ls output of a file or directory. -if ls -L /dev/null 1>/dev/null 2>&1; then - ls_command='ls -L -l -d' -else - ls_command='ls -l -d' -fi -# Avoid user/group names that might have spaces, when possible. -if ls -n /dev/null 1>/dev/null 2>&1; then - ls_command="$ls_command -n" -fi - -# A 'ls -l' line looks as follows on OS/2. -# drwxrwx--- 0 Aug 11 2001 foo -# This differs from Unix, which adds ownership information. -# drwxrwx--- 2 root root 4096 Aug 11 2001 foo -# -# To find the date, we split the line on spaces and iterate on words -# until we find a month. This cannot work with files whose owner is a -# user named "Jan", or "Feb", etc. However, it's unlikely that '/' -# will be owned by a user whose name is a month. So we first look at -# the extended ls output of the root directory to decide how many -# words should be skipped to get the date. - -# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. -set x`$ls_command /` - -# Find which argument is the month. -month= -command= -until test $month -do - test $# -gt 0 || error "failed parsing '$ls_command /' output" - shift - # Add another shift to the command. - command="$command shift;" - case $1 in - Jan) month=January; nummonth=1;; - Feb) month=February; nummonth=2;; - Mar) month=March; nummonth=3;; - Apr) month=April; nummonth=4;; - May) month=May; nummonth=5;; - Jun) month=June; nummonth=6;; - Jul) month=July; nummonth=7;; - Aug) month=August; nummonth=8;; - Sep) month=September; nummonth=9;; - Oct) month=October; nummonth=10;; - Nov) month=November; nummonth=11;; - Dec) month=December; nummonth=12;; - esac -done - -test -n "$month" || error "failed parsing '$ls_command /' output" - -# Get the extended ls output of the file or directory. -set dummy x`eval "$ls_command \"\\\$save_arg1\""` - -# Remove all preceding arguments -eval $command - -# Because of the dummy argument above, month is in $2. -# -# On a POSIX system, we should have -# -# $# = 5 -# $1 = file size -# $2 = month -# $3 = day -# $4 = year or time -# $5 = filename -# -# On Darwin 7.7.0 and 7.6.0, we have -# -# $# = 4 -# $1 = day -# $2 = month -# $3 = year or time -# $4 = filename - -# Get the month. -case $2 in - Jan) month=January; nummonth=1;; - Feb) month=February; nummonth=2;; - Mar) month=March; nummonth=3;; - Apr) month=April; nummonth=4;; - May) month=May; nummonth=5;; - Jun) month=June; nummonth=6;; - Jul) month=July; nummonth=7;; - Aug) month=August; nummonth=8;; - Sep) month=September; nummonth=9;; - Oct) month=October; nummonth=10;; - Nov) month=November; nummonth=11;; - Dec) month=December; nummonth=12;; -esac - -case $3 in - ???*) day=$1;; - *) day=$3; shift;; -esac - -# Here we have to deal with the problem that the ls output gives either -# the time of day or the year. -case $3 in - *:*) set `date`; eval year=\$$# - case $2 in - Jan) nummonthtod=1;; - Feb) nummonthtod=2;; - Mar) nummonthtod=3;; - Apr) nummonthtod=4;; - May) nummonthtod=5;; - Jun) nummonthtod=6;; - Jul) nummonthtod=7;; - Aug) nummonthtod=8;; - Sep) nummonthtod=9;; - Oct) nummonthtod=10;; - Nov) nummonthtod=11;; - Dec) nummonthtod=12;; - esac - # For the first six month of the year the time notation can also - # be used for files modified in the last year. - if (expr $nummonth \> $nummonthtod) > /dev/null; - then - year=`expr $year - 1` - fi;; - *) year=$3;; -esac - -# The result. -echo $day $month $year - -# 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-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/missing b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/missing deleted file mode 100755 index 528c6c43..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/missing +++ /dev/null @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2016-11-05.04; # UTC - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 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, see <https://www.gnu.org/licenses/>. - -# 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 - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to <bug-automake@gnu.org>." - 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 - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=https://www.perl.org/ -flex_URL=https://github.com/westes/flex -gnu_software_URL=https://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/texinfo.tex b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/texinfo.tex deleted file mode 100644 index 1e6de891..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/texinfo.tex +++ /dev/null @@ -1,8638 +0,0 @@ -% texinfo.tex -- TeX macros to handle Texinfo files. -% -% Load plain if necessary, i.e., if running under initex. -\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi -% -\def\texinfoversion{2016-11-05.00} -% -% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007 Free Software Foundation, Inc. -% -% This texinfo.tex 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 3, or (at -% your option) any later version. -% -% This texinfo.tex file 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 texinfo.tex file; see the file COPYING. If not, -% see <https://www.gnu.org/licenses/>. -% -% As a special exception, when this file is read by TeX when processing -% a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) -% -% Please try the latest version of texinfo.tex before submitting bug -% reports; you can get the latest version from: -% https://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see https://www.ctan.org). -% The texinfo.tex in any given distribution could well be out -% of date, so if that's what you're using, please check. -% -% Send bug reports to bug-texinfo@gnu.org. Please include including a -% complete document in each bug report with which we can reproduce the -% problem. Patches are, of course, greatly appreciated. -% -% To process a Texinfo manual with TeX, it's most reliable to use the -% texi2dvi shell script that comes with the distribution. For a simple -% manual foo.texi, however, you can get away with this: -% tex foo.texi -% texindex foo.?? -% tex foo.texi -% tex foo.texi -% dvips foo.dvi -o # or whatever; this makes foo.ps. -% The extra TeX runs get the cross-reference information correct. -% Sometimes one run after texindex suffices, and sometimes you need more -% than two; texi2dvi does it as many times as necessary. -% -% It is possible to adapt texinfo.tex for other languages, to some -% extent. You can get the existing language-specific files from the -% full Texinfo distribution. -% -% The GNU Texinfo home page is https://www.gnu.org/software/texinfo. - - -\message{Loading texinfo [version \texinfoversion]:} - -% If in a .fmt file, print the version number -% and turn on active characters that we couldn't do earlier because -% they might have appeared in the input file name. -\everyjob{\message{[Texinfo version \texinfoversion]}% - \catcode`+=\active \catcode`\_=\active} - - -\chardef\other=12 - -% We never want plain's \outer definition of \+ in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -% Save some plain tex macros whose names we will redefine. -\let\ptexb=\b -\let\ptexbullet=\bullet -\let\ptexc=\c -\let\ptexcomma=\, -\let\ptexdot=\. -\let\ptexdots=\dots -\let\ptexend=\end -\let\ptexequiv=\equiv -\let\ptexexclam=\! -\let\ptexfootnote=\footnote -\let\ptexgtr=> -\let\ptexhat=^ -\let\ptexi=\i -\let\ptexindent=\indent -\let\ptexinsert=\insert -\let\ptexlbrace=\{ -\let\ptexless=< -\let\ptexnewwrite\newwrite -\let\ptexnoindent=\noindent -\let\ptexplus=+ -\let\ptexrbrace=\} -\let\ptexslash=\/ -\let\ptexstar=\* -\let\ptext=\t - -% If this character appears in an error message or help string, it -% starts a new line in the output. -\newlinechar = `^^J - -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. -% -\ifx\inputlineno\thisisundefined - \let\linenumber = \empty % Pre-3.0. -\else - \def\linenumber{l.\the\inputlineno:\space} -\fi - -% Set up fixed words for English if not already set. -\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi -\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi -\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi -\ifx\putwordin\undefined \gdef\putwordin{in}\fi -\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi -\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi -\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi -\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi -\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi -\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi -\ifx\putwordof\undefined \gdef\putwordof{of}\fi -\ifx\putwordon\undefined \gdef\putwordon{on}\fi -\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi -\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi -\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi -\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi -\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi -\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi -\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi -% -\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi -\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi -\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi -\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi -\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi -\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi -\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi -\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi -\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi -\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi -\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi -\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi -% -\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi -\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi -\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi -\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi -\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi - -% Since the category of space is not known, we have to be careful. -\chardef\spacecat = 10 -\def\spaceisspace{\catcode`\ =\spacecat} - -% sometimes characters are active, so we need control sequences. -\chardef\colonChar = `\: -\chardef\commaChar = `\, -\chardef\dashChar = `\- -\chardef\dotChar = `\. -\chardef\exclamChar= `\! -\chardef\lquoteChar= `\` -\chardef\questChar = `\? -\chardef\rquoteChar= `\' -\chardef\semiChar = `\; -\chardef\underChar = `\_ - -% Ignore a token. -% -\def\gobble#1{} - -% The following is used inside several \edef's. -\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} - -% Hyphenation fixes. -\hyphenation{ - Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script - ap-pen-dix bit-map bit-maps - data-base data-bases eshell fall-ing half-way long-est man-u-script - man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm - par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces - spell-ing spell-ings - stand-alone strong-est time-stamp time-stamps which-ever white-space - wide-spread wrap-around -} - -% Margin to add to right of even pages, to left of odd pages. -\newdimen\bindingoffset -\newdimen\normaloffset -\newdimen\pagewidth \newdimen\pageheight - -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). -% -\def\finalout{\overfullrule=0pt} - -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). -% -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% -} - -% Sometimes it is convenient to have everything in the transcript file -% and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. We also make -% some effort to order the tracing commands to reduce output in the log -% file; cf. trace.sty in LaTeX. -% -\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\def\loggingall{% - \tracingstats2 - \tracingpages1 - \tracinglostchars2 % 2 gives us more in etex - \tracingparagraphs1 - \tracingoutput1 - \tracingmacros2 - \tracingrestores1 - \showboxbreadth\maxdimen \showboxdepth\maxdimen - \ifx\eTeXversion\undefined\else % etex gives us more logging - \tracingscantokens1 - \tracingifs1 - \tracinggroups1 - \tracingnesting2 - \tracingassigns1 - \fi - \tracingcommands3 % 3 gives us more in etex - \errorcontextlines16 -}% - -% add check for \lastpenalty to plain's definitions. If the last thing -% we did was a \nobreak, we don't want to insert more space. -% -\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount - \removelastskip\penalty-50\smallskip\fi\fi} -\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount - \removelastskip\penalty-100\medskip\fi\fi} -\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount - \removelastskip\penalty-200\bigskip\fi\fi} - -% For @cropmarks command. -% Do @cropmarks to get crop marks. -% -\newif\ifcropmarks -\let\cropmarks = \cropmarkstrue -% -% Dimensions to add cropmarks at corners. -% Added by P. A. MacKay, 12 Nov. 1986 -% -\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines -\newdimen\cornerlong \cornerlong=1pc -\newdimen\cornerthick \cornerthick=.3pt -\newdimen\topandbottommargin \topandbottommargin=.75in - -% Main output routine. -\chardef\PAGE = 255 -\output = {\onepageout{\pagecontents\PAGE}} - -\newbox\headlinebox -\newbox\footlinebox - -% \onepageout takes a vbox as an argument. Note that \pagecontents -% does insertions, but you have to call it yourself. -\def\onepageout#1{% - \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi - % - \ifodd\pageno \advance\hoffset by \bindingoffset - \else \advance\hoffset by -\bindingoffset\fi - % - % Do this outside of the \shipout so @code etc. will be expanded in - % the headline as they should be, not taken literally (outputting ''code). - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% - % - {% - % Have to do this stuff outside the \shipout because we want it to - % take effect in \write's, yet the group defined by the \vbox ends - % before the \shipout runs. - % - \indexdummies % don't expand commands in the output. - \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. - % We don't want .vr (or whatever) entries like this: - % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} - % "\acronym" won't work when it's read back in; - % it needs to be - % {\code {{\tt \backslashcurfont }acronym} - \shipout\vbox{% - % Do this early so pdf references go to the beginning of the page. - \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi - % - \ifcropmarks \vbox to \outervsize\bgroup - \hsize = \outerhsize - \vskip-\topandbottommargin - \vtop to0pt{% - \line{\ewtop\hfil\ewtop}% - \nointerlineskip - \line{% - \vbox{\moveleft\cornerthick\nstop}% - \hfill - \vbox{\moveright\cornerthick\nstop}% - }% - \vss}% - \vskip\topandbottommargin - \line\bgroup - \hfil % center the page within the outer (page) hsize. - \ifodd\pageno\hskip\bindingoffset\fi - \vbox\bgroup - \fi - % - \unvbox\headlinebox - \pagebody{#1}% - \ifdim\ht\footlinebox > 0pt - % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingyyy.) - % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 24pt - \unvbox\footlinebox - \fi - % - \ifcropmarks - \egroup % end of \vbox\bgroup - \hfil\egroup % end of (centering) \line\bgroup - \vskip\topandbottommargin plus1fill minus1fill - \boxmaxdepth = \cornerthick - \vbox to0pt{\vss - \line{% - \vbox{\moveleft\cornerthick\nsbot}% - \hfill - \vbox{\moveright\cornerthick\nsbot}% - }% - \nointerlineskip - \line{\ewbot\hfil\ewbot}% - }% - \egroup % \vbox from first cropmarks clause - \fi - }% end of \shipout\vbox - }% end of group with \indexdummies - \advancepageno - \ifnum\outputpenalty>-20000 \else\dosupereject\fi -} - -\newinsert\margin \dimen\margin=\maxdimen - -\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} -{\catcode`\@ =11 -\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi -% marginal hacks, juha@viisa.uucp (Juha Takala) -\ifvoid\margin\else % marginal info is present - \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi -\dimen@=\dp#1 \unvbox#1 -\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi -\ifr@ggedbottom \kern-\dimen@ \vfil \fi} -} - -% Here are the rules for the cropmarks. Note that they are -% offset so that the space between them is truly \outerhsize or \outervsize -% (P. A. MacKay, 12 November, 1986) -% -\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} -\def\nstop{\vbox - {\hrule height\cornerthick depth\cornerlong width\cornerthick}} -\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} -\def\nsbot{\vbox - {\hrule height\cornerlong depth\cornerthick width\cornerthick}} - -% Parse an argument, then pass it to #1. The argument is the rest of -% the input line (except we remove a trailing comment). #1 should be a -% macro which expects an ordinary undelimited TeX argument. -% -\def\parsearg{\parseargusing{}} -\def\parseargusing#1#2{% - \def\argtorun{#2}% - \begingroup - \obeylines - \spaceisspace - #1% - \parseargline\empty% Insert the \empty token, see \finishparsearg below. -} - -{\obeylines % - \gdef\parseargline#1^^M{% - \endgroup % End of the group started in \parsearg. - \argremovecomment #1\comment\ArgTerm% - }% -} - -% First remove any @comment, then any @c comment. -\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} - -% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space. -% -% \argremovec might leave us with trailing space, e.g., -% @end itemize @c foo -% This space token undergoes the same procedure and is eventually removed -% by \finishparsearg. -% -\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} -\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} -\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% - \def\temp{#3}% - \ifx\temp\empty - % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: - \let\temp\finishparsearg - \else - \let\temp\argcheckspaces - \fi - % Put the space token in: - \temp#1 #3\ArgTerm -} - -% If a _delimited_ argument is enclosed in braces, they get stripped; so -% to get _exactly_ the rest of the line, we had to prevent such situation. -% We prepended an \empty token at the very beginning and we expand it now, -% just before passing the control to \argtorun. -% (Similarly, we have to think about #3 of \argcheckspacesY above: it is -% either the null string, or it ends with \^^M---thus there is no danger -% that a pair of braces would be stripped. -% -% But first, we have to remove the trailing space token. -% -\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} - -% \parseargdef\foo{...} -% is roughly equivalent to -% \def\foo{\parsearg\Xfoo} -% \def\Xfoo#1{...} -% -% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my -% favourite TeX trick. --kasal, 16nov03 - -\def\parseargdef#1{% - \expandafter \doparseargdef \csname\string#1\endcsname #1% -} -\def\doparseargdef#1#2{% - \def#2{\parsearg#1}% - \def#1##1% -} - -% Several utility definitions with active space: -{ - \obeyspaces - \gdef\obeyedspace{ } - - % Make each space character in the input produce a normal interword - % space in the output. Don't allow a line break at this space, as this - % is used only in environments like @example, where each line of input - % should produce a line of output anyway. - % - \gdef\sepspaces{\obeyspaces\let =\tie} - - % If an index command is used in an @example environment, any spaces - % therein should become regular spaces in the raw index file, not the - % expansion of \tie (\leavevmode \penalty \@M \ ). - \gdef\unsepspaces{\let =\space} -} - - -\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} - -% Define the framework for environments in texinfo.tex. It's used like this: -% -% \envdef\foo{...} -% \def\Efoo{...} -% -% It's the responsibility of \envdef to insert \begingroup before the -% actual body; @end closes the group after calling \Efoo. \envdef also -% defines \thisenv, so the current environment is known; @end checks -% whether the environment name matches. The \checkenv macro can also be -% used to check whether the current environment is the one expected. -% -% Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as environments; they don't open a group. (The -% implementation of @end takes care not to call \endgroup in this -% special case.) - - -% At runtime, environments start with this: -\def\startenvironment#1{\begingroup\def\thisenv{#1}} -% initialize -\let\thisenv\empty - -% ... but they get defined via ``\envdef\foo{...}'': -\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} -\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} - -% Check whether we're in the right environment: -\def\checkenv#1{% - \def\temp{#1}% - \ifx\thisenv\temp - \else - \badenverr - \fi -} - -% Evironment mismatch, #1 expected: -\def\badenverr{% - \errhelp = \EMsimple - \errmessage{This command can appear only \inenvironment\temp, - not \inenvironment\thisenv}% -} -\def\inenvironment#1{% - \ifx#1\empty - out of any environment% - \else - in environment \expandafter\string#1% - \fi -} - -% @end foo executes the definition of \Efoo. -% But first, it executes a specialized version of \checkenv -% -\parseargdef\end{% - \if 1\csname iscond.#1\endcsname - \else - % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 - \expandafter\checkenv\csname#1\endcsname - \csname E#1\endcsname - \endgroup - \fi -} - -\newhelp\EMsimple{Press RETURN to continue.} - - -%% Simple single-character @ commands - -% @@ prints an @ -% Kludge this until the fonts are right (grr). -\def\@{{\tt\char64}} - -% This is turned off because it was never documented -% and you can use @w{...} around a quote to suppress ligatures. -%% Define @` and @' to be the same as ` and ' -%% but suppressing ligatures. -%\def\`{{`}} -%\def\'{{'}} - -% Used to generate quoted braces. -\def\mylbrace {{\tt\char123}} -\def\myrbrace {{\tt\char125}} -\let\{=\mylbrace -\let\}=\myrbrace -\begingroup - % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux/toc files. - \catcode`\{ = \other \catcode`\} = \other - \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\! = 0 \catcode`\\ = \other - !gdef!lbracecmd[\{]% - !gdef!rbracecmd[\}]% - !gdef!lbraceatcmd[@{]% - !gdef!rbraceatcmd[@}]% -!endgroup - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \c -\let\dotaccent = \. -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \t -\let\ubaraccent = \b -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ptexi - \else\ifx\temp\jmacro \j - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% - \kern-.15em - \TeX -} - -% Be sure we're in horizontal mode when doing a tie, since we make space -% equivalent to this in @example-like environments. Otherwise, a space -% at the beginning of a line will start with \penalty -- and -% since \penalty is valid in vertical mode, we'd end up putting the -% penalty on the vertical list instead of in the new paragraph. -{\catcode`@ = 11 - % Avoid using \@M directly, because that causes trouble - % if the definition is written into an index file. - \global\let\tiepenalty = \@M - \gdef\tie{\leavevmode\penalty\tiepenalty\ } -} - -% @: forces normal size whitespace following. -\def\:{\spacefactor=1000 } - -% @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} - -% @/ allows a line break. -\let\/=\allowbreak - -% @. is an end-of-sentence period. -\def\.{.\spacefactor=\endofsentencespacefactor\space} - -% @! is an end-of-sentence bang. -\def\!{!\spacefactor=\endofsentencespacefactor\space} - -% @? is an end-of-sentence query. -\def\?{?\spacefactor=\endofsentencespacefactor\space} - -% @frenchspacing on|off says whether to put extra space after punctuation. -% -\def\onword{on} -\def\offword{off} -% -\parseargdef\frenchspacing{% - \def\temp{#1}% - \ifx\temp\onword \plainfrenchspacing - \else\ifx\temp\offword \plainnonfrenchspacing - \else - \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% - \fi\fi -} - -% @w prevents a word break. Without the \leavevmode, @w at the -% beginning of a paragraph, when TeX is still in vertical mode, would -% produce a whole line of output instead of starting the paragraph. -\def\w#1{\leavevmode\hbox{#1}} - -% @group ... @end group forces ... to be all on one page, by enclosing -% it in a TeX vbox. We use \vtop instead of \vbox to construct the box -% to keep its height that of a normal line. According to the rules for -% \topskip (p.114 of the TeXbook), the glue inserted is -% max (\topskip - \ht (first item), 0). If that height is large, -% therefore, no glue is inserted, and the space between the headline and -% the text is small, which looks bad. -% -% Another complication is that the group might be very large. This can -% cause the glue on the previous page to be unduly stretched, because it -% does not have much material. In this case, it's better to add an -% explicit \vfill so that the extra space is at the bottom. The -% threshold for doing this is if the group is more than \vfilllimit -% percent of a page (\vfilllimit can be changed inside of @tex). -% -\newbox\groupbox -\def\vfilllimit{0.7} -% -\envdef\group{% - \ifnum\catcode`\^^M=\active \else - \errhelp = \groupinvalidhelp - \errmessage{@group invalid in context where filling is enabled}% - \fi - \startsavinginserts - % - \setbox\groupbox = \vtop\bgroup - % Do @comment since we are called inside an environment such as - % @example, where each end-of-line in the input causes an - % end-of-line in the output. We don't want the end-of-line after - % the `@group' to put extra space in the output. Since @group - % should appear on a line by itself (according to the Texinfo - % manual), we don't worry about eating any user text. - \comment -} -% -% The \vtop produces a box with normal height and large depth; thus, TeX puts -% \baselineskip glue before it, and (when the next line of text is done) -% \lineskip glue after it. Thus, space below is not quite equal to space -% above. But it's pretty close. -\def\Egroup{% - % To get correct interline space between the last line of the group - % and the first line afterwards, we have to propagate \prevdepth. - \endgraf % Not \par, as it may have been set to \lisppar. - \global\dimen1 = \prevdepth - \egroup % End the \vtop. - % \dimen0 is the vertical size of the group's box. - \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox - % \dimen2 is how much space is left on the page (more or less). - \dimen2 = \pageheight \advance\dimen2 by -\pagetotal - % if the group doesn't fit on the current page, and it's a big big - % group, force a page break. - \ifdim \dimen0 > \dimen2 - \ifdim \pagetotal < \vfilllimit\pageheight - \page - \fi - \fi - \box\groupbox - \prevdepth = \dimen1 - \checkinserts -} -% -% TeX puts in an \escapechar (i.e., `@') at the beginning of the help -% message, so this ends up printing `@group can only ...'. -% -\newhelp\groupinvalidhelp{% -group can only be used in environments such as @example,^^J% -where each line of input produces a line of output.} - -% @need space-in-mils -% forces a page break if there is not space-in-mils remaining. - -\newdimen\mil \mil=0.001in - -% Old definition--didn't work. -%\parseargdef\need{\par % -%% This method tries to make TeX break the page naturally -%% if the depth of the box does not fit. -%{\baselineskip=0pt% -%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak -%\prevdepth=-1000pt -%}} - -\parseargdef\need{% - % Ensure vertical mode, so we don't make a big box in the middle of a - % paragraph. - \par - % - % If the @need value is less than one line space, it's useless. - \dimen0 = #1\mil - \dimen2 = \ht\strutbox - \advance\dimen2 by \dp\strutbox - \ifdim\dimen0 > \dimen2 - % - % Do a \strut just to make the height of this box be normal, so the - % normal leading is inserted relative to the preceding line. - % And a page break here is fine. - \vtop to #1\mil{\strut\vfil}% - % - % TeX does not even consider page breaks if a penalty added to the - % main vertical list is 10000 or more. But in order to see if the - % empty box we just added fits on the page, we must make it consider - % page breaks. On the other hand, we don't want to actually break the - % page after the empty box. So we use a penalty of 9999. - % - % There is an extremely small chance that TeX will actually break the - % page at this \penalty, if there are no other feasible breakpoints in - % sight. (If the user is using lots of big @group commands, which - % almost-but-not-quite fill up a page, TeX will have a hard time doing - % good page breaking, for example.) However, I could not construct an - % example where a page broke at this \penalty; if it happens in a real - % document, then we can reconsider our strategy. - \penalty9999 - % - % Back up by the size of the box, whether we did a page break or not. - \kern -#1\mil - % - % Do not allow a page break right after this kern. - \nobreak - \fi -} - -% @br forces paragraph break (and is undocumented). - -\let\br = \par - -% @page forces the start of a new page. -% -\def\page{\par\vfill\supereject} - -% @exdent text.... -% outputs text on separate line in roman font, starting at standard page margin - -% This records the amount of indent in the innermost environment. -% That's how much \exdent should take out. -\newskip\exdentamount - -% This defn is used inside fill environments such as @defun. -\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} - -% This defn is used inside nofill environments such as @example. -\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount - \leftline{\hskip\leftskip{\rm#1}}}} - -% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current -% paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. -% -\newskip\inmarginspacing \inmarginspacing=1cm -\def\strutdepth{\dp\strutbox} -% -\def\doinmargin#1#2{\strut\vadjust{% - \nobreak - \kern-\strutdepth - \vtop to \strutdepth{% - \baselineskip=\strutdepth - \vss - % if you have multiple lines of stuff to put here, you'll need to - % make the vbox yourself of the appropriate size. - \ifx#1l% - \llap{\ignorespaces #2\hskip\inmarginspacing}% - \else - \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% - \fi - \null - }% -}} -\def\inleftmargin{\doinmargin l} -\def\inrightmargin{\doinmargin r} -% -% @inmargin{TEXT [, RIGHT-TEXT]} -% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; -% else use TEXT for both). -% -\def\inmargin#1{\parseinmargin #1,,\finish} -\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \def\lefttext{#1}% have both texts - \def\righttext{#2}% - \else - \def\lefttext{#1}% have only one text - \def\righttext{#1}% - \fi - % - \ifodd\pageno - \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin - \else - \def\temp{\inleftmargin\lefttext}% - \fi - \temp -} - -% @include file insert text of that file as input. -% -\def\include{\parseargusing\filenamecatcodes\includezzz} -\def\includezzz#1{% - \pushthisfilestack - \def\thisfile{#1}% - {% - \makevalueexpandable - \def\temp{\input #1 }% - \expandafter - }\temp - \popthisfilestack -} -\def\filenamecatcodes{% - \catcode`\\=\other - \catcode`~=\other - \catcode`^=\other - \catcode`_=\other - \catcode`|=\other - \catcode`<=\other - \catcode`>=\other - \catcode`+=\other - \catcode`-=\other -} - -\def\pushthisfilestack{% - \expandafter\pushthisfilestackX\popthisfilestack\StackTerm -} -\def\pushthisfilestackX{% - \expandafter\pushthisfilestackY\thisfile\StackTerm -} -\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% - \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% -} - -\def\popthisfilestack{\errthisfilestackempty} -\def\errthisfilestackempty{\errmessage{Internal error: - the stack of filenames is empty.}} - -\def\thisfile{} - -% @center line -% outputs that line, centered. -% -\parseargdef\center{% - \ifhmode - \let\next\centerH - \else - \let\next\centerV - \fi - \next{\hfil \ignorespaces#1\unskip \hfil}% -} -\def\centerH#1{% - {% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break - }% -} -\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} - -% @sp n outputs n lines of vertical space - -\parseargdef\sp{\vskip #1\baselineskip} - -% @comment ...line which is ignored... -% @c is the same as @comment -% @ignore ... @end ignore is another way to write a comment - -\def\comment{\begingroup \catcode`\^^M=\other% -\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% -\commentxxx} -{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} - -\let\c=\comment - -% @paragraphindent NCHARS -% We'll use ems for NCHARS, close enough. -% NCHARS can also be the word `asis' or `none'. -% We cannot feasibly implement @paragraphindent asis, though. -% -\def\asisword{asis} % no translation, these are keywords -\def\noneword{none} -% -\parseargdef\paragraphindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \defaultparindent = 0pt - \else - \defaultparindent = #1em - \fi - \fi - \parindent = \defaultparindent -} - -% @exampleindent NCHARS -% We'll use ems for NCHARS like @paragraphindent. -% It seems @exampleindent asis isn't necessary, but -% I preserve it to make it similar to @paragraphindent. -\parseargdef\exampleindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \lispnarrowing = 0pt - \else - \lispnarrowing = #1em - \fi - \fi -} - -% @firstparagraphindent WORD -% If WORD is `none', then suppress indentation of the first paragraph -% after a section heading. If WORD is `insert', then do indent at such -% paragraphs. -% -% The paragraph indentation is suppressed or not by calling -% \suppressfirstparagraphindent, which the sectioning commands do. -% We switch the definition of this back and forth according to WORD. -% By default, we suppress indentation. -% -\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} -\def\insertword{insert} -% -\parseargdef\firstparagraphindent{% - \def\temp{#1}% - \ifx\temp\noneword - \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent - \else\ifx\temp\insertword - \let\suppressfirstparagraphindent = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @firstparagraphindent option `\temp'}% - \fi\fi -} - -% Here is how we actually suppress indentation. Redefine \everypar to -% \kern backwards by \parindent, and then reset itself to empty. -% -% We also make \indent itself not actually do anything until the next -% paragraph. -% -\gdef\dosuppressfirstparagraphindent{% - \gdef\indent{% - \restorefirstparagraphindent - \indent - }% - \gdef\noindent{% - \restorefirstparagraphindent - \noindent - }% - \global\everypar = {% - \kern -\parindent - \restorefirstparagraphindent - }% -} - -\gdef\restorefirstparagraphindent{% - \global \let \indent = \ptexindent - \global \let \noindent = \ptexnoindent - \global \everypar = {}% -} - - -% @asis just yields its argument. Used with @table, for example. -% -\def\asis#1{#1} - -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a \ character. -% FYI, plain.tex uses \\ as a temporary control sequence (why?), but -% this is not advertised and we don't care. Texinfo does not -% otherwise define @\. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - $\finishmath -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - } -} - -% @bullet and @minus need the same treatment as @math, just above. -\def\bullet{$\ptexbullet$} -\def\minus{$-$} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in the cm -% typewriter fonts as three actual period characters; on the other hand, -% in other typewriter fonts three periods are wider than 1.5em. So do -% whichever is larger. -% -\def\dots{% - \leavevmode - \setbox0=\hbox{...}% get width of three periods - \ifdim\wd0 > 1.5em - \dimen0 = \wd0 - \else - \dimen0 = 1.5em - \fi - \hbox to \dimen0{% - \hskip 0pt plus.25fil - .\hskip 0pt plus1fil - .\hskip 0pt plus1fil - .\hskip 0pt plus.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} - -% @comma{} is so commas can be inserted into text without messing up -% Texinfo's parsing. -% -\let\comma = , - -% @refill is a no-op. -\let\refill=\relax - -% If working on a large document in chapters, it is convenient to -% be able to disable indexing, cross-referencing, and contents, for test runs. -% This is done with @novalidate (before @setfilename). -% -\newif\iflinks \linkstrue % by default we want the aux files. -\let\novalidate = \linksfalse - -% @setfilename is done at the beginning of every texinfo file. -% So open here the files we need to have open while reading the input. -% This makes it possible to make a .fmt file for texinfo. -\def\setfilename{% - \fixbackslash % Turn off hack to swallow `\input texinfo'. - \iflinks - \tryauxfile - % Open the new aux file. TeX will close it automatically at exit. - \immediate\openout\auxfile=\jobname.aux - \fi % \openindices needs to do some work in any case. - \openindices - \let\setfilename=\comment % Ignore extra @setfilename cmds. - % - % If texinfo.cnf is present on the system, read it. - % Useful for site-wide @afourpaper, etc. - \openin 1 texinfo.cnf - \ifeof 1 \else \input texinfo.cnf \fi - \closein 1 - % - \comment % Ignore the actual filename. -} - -% Called from \setfilename. -% -\def\openindices{% - \newindex{cp}% - \newcodeindex{fn}% - \newcodeindex{vr}% - \newcodeindex{tp}% - \newcodeindex{ky}% - \newcodeindex{pg}% -} - -% @bye. -\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} - - -\message{pdf,} -% adobe `portable' document format -\newcount\tempnum -\newcount\lnkcount -\newtoks\filename -\newcount\filenamelength -\newcount\pgn -\newtoks\toksA -\newtoks\toksB -\newtoks\toksC -\newtoks\toksD -\newbox\boxA -\newcount\countA -\newif\ifpdf -\newif\ifpdfmakepagedest - -% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 -% can be set). So we test for \relax and 0 as well as \undefined, -% borrowed from ifpdf.sty. -\ifx\pdfoutput\undefined -\else - \ifx\pdfoutput\relax - \else - \ifcase\pdfoutput - \else - \pdftrue - \fi - \fi -\fi - -% PDF uses PostScript string constants for the names of xref targets, -% for display in the outlines, and in other places. Thus, we have to -% double any backslashes. Otherwise, a name like "\node" will be -% interpreted as a newline (\n), followed by o, d, e. Not good. -% https://mailman.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html -% (and related messages, the final outcome is that it is up to the TeX -% user to double the backslashes and otherwise make the string valid, so -% that's what we do). - -% double active backslashes. -% -{\catcode`\@=0 \catcode`\\=\active - @gdef@activebackslashdouble{% - @catcode`@\=@active - @let\=@doublebackslash} -} - -% To handle parens, we must adopt a different approach, since parens are -% not active characters. hyperref.dtx (which has the same problem as -% us) handles it with this amazing macro to replace tokens, with minor -% changes for Texinfo. It is included here under the GPL by permission -% from the author, Heiko Oberdiek. -% -% #1 is the tokens to replace. -% #2 is the replacement. -% #3 is the control sequence with the string. -% -\def\HyPsdSubst#1#2#3{% - \def\HyPsdReplace##1#1##2\END{% - ##1% - \ifx\\##2\\% - \else - #2% - \HyReturnAfterFi{% - \HyPsdReplace##2\END - }% - \fi - }% - \xdef#3{\expandafter\HyPsdReplace#3#1\END}% -} -\long\def\HyReturnAfterFi#1\fi{\fi#1} - -% #1 is a control sequence in which to do the replacements. -\def\backslashparens#1{% - \xdef#1{#1}% redefine it as its expansion; the definition is simply - % \lastnode when called from \setref -> \pdfmkdest. - \HyPsdSubst{(}{\realbackslash(}{#1}% - \HyPsdSubst{)}{\realbackslash)}{#1}% -} - -\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images -with PDF output, and none of those formats could be found. (.eps cannot -be supported due to the design of the PDF format; use regular TeX (DVI -output) for that.)} - -\ifpdf - \input pdfcolor - \pdfcatalog{/PageMode /UseOutlines} - % - % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). - \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% - % - % pdftex (and the PDF format) support .png, .jpg, .pdf (among - % others). Let's try in that order. - \let\pdfimgext=\empty - \begingroup - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \openin 1 #1.pdf \ifeof 1 - \errhelp = \nopdfimagehelp - \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{pdf}% - \fi - \else \gdef\pdfimgext{JPG}% - \fi - \else \gdef\pdfimgext{jpeg}% - \fi - \else \gdef\pdfimgext{jpg}% - \fi - \else \gdef\pdfimgext{png}% - \fi - \closein 1 - \endgroup - % - % without \immediate, pdftex seg faults when the same image is - % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) - \ifnum\pdftexversion < 14 - \immediate\pdfimage - \else - \immediate\pdfximage - \fi - \ifdim \wd0 >0pt width \imagewidth \fi - \ifdim \wd2 >0pt height \imageheight \fi - \ifnum\pdftexversion<13 - #1.\pdfimgext - \else - {#1.\pdfimgext}% - \fi - \ifnum\pdftexversion < 14 \else - \pdfrefximage \pdflastximage - \fi} - % - \def\pdfmkdest#1{{% - % We have to set dummies so commands such as @code, and characters - % such as \, aren't expanded when present in a section title. - \indexnofonts - \turnoffactive - \activebackslashdouble - \makevalueexpandable - \def\pdfdestname{#1}% - \backslashparens\pdfdestname - \safewhatsit{\pdfdest name{\pdfdestname} xyz}% - }} - % - % used to mark target names; must be expandable. - \def\pdfmkpgn#1{#1} - % - % by default, use a color that is dark enough to print on paper as - % nearly black, but still distinguishable for online viewing. - % (Defined in pdfcolor.tex.) - \let\urlcolor = \BrickRed - \let\linkcolor = \BrickRed - \def\endlink{\Black\pdfendlink} - % - % Adding outlines to PDF; macros for calculating structure of outlines - % come from Petr Olsak - \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% - \else \csname#1\endcsname \fi} - \def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by 1 - \expandafter\xdef\csname#1\endcsname{\the\tempnum}} - % - % #1 is the section text, which is what will be displayed in the - % outline by the pdf viewer. #2 is the pdf expression for the number - % of subentries (or empty, for subsubsections). #3 is the node text, - % which might be empty if this toc entry had no corresponding node. - % #4 is the page number - % - \def\dopdfoutline#1#2#3#4{% - % Generate a link to the node text if that exists; else, use the - % page number. We could generate a destination for the section - % text in the case where a section has no node, but it doesn't - % seem worth the trouble, since most documents are normally structured. - \def\pdfoutlinedest{#3}% - \ifx\pdfoutlinedest\empty - \def\pdfoutlinedest{#4}% - \else - % Doubled backslashes in the name. - {\activebackslashdouble \xdef\pdfoutlinedest{#3}% - \backslashparens\pdfoutlinedest}% - \fi - % - % Also double the backslashes in the display string. - {\activebackslashdouble \xdef\pdfoutlinetext{#1}% - \backslashparens\pdfoutlinetext}% - % - \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% - } - % - \def\pdfmakeoutlines{% - \begingroup - % Thanh's hack / proper braces in bookmarks - \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace - \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace - % - % Read toc silently, to get counts of subentries for \pdfoutline. - \def\numchapentry##1##2##3##4{% - \def\thischapnum{##2}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - }% - \def\numsecentry##1##2##3##4{% - \advancenumber{chap\thischapnum}% - \def\thissecnum{##2}% - \def\thissubsecnum{0}% - }% - \def\numsubsecentry##1##2##3##4{% - \advancenumber{sec\thissecnum}% - \def\thissubsecnum{##2}% - }% - \def\numsubsubsecentry##1##2##3##4{% - \advancenumber{subsec\thissubsecnum}% - }% - \def\thischapnum{0}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - % - % use \def rather than \let here because we redefine \chapentry et - % al. a second time, below. - \def\appentry{\numchapentry}% - \def\appsecentry{\numsecentry}% - \def\appsubsecentry{\numsubsecentry}% - \def\appsubsubsecentry{\numsubsubsecentry}% - \def\unnchapentry{\numchapentry}% - \def\unnsecentry{\numsecentry}% - \def\unnsubsecentry{\numsubsecentry}% - \def\unnsubsubsecentry{\numsubsubsecentry}% - \readdatafile{toc}% - % - % Read toc second time, this time actually producing the outlines. - % The `-' means take the \expnumber as the absolute number of - % subentries, which we calculated on our first read of the .toc above. - % - % We use the node names as the destinations. - \def\numchapentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% - \def\numsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% - \def\numsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% - \def\numsubsubsecentry##1##2##3##4{% count is always zero - \dopdfoutline{##1}{}{##3}{##4}}% - % - % PDF outlines are displayed using system fonts, instead of - % document fonts. Therefore we cannot use special characters, - % since the encoding is unknown. For example, the eogonek from - % Latin 2 (0xea) gets translated to a | character. Info from - % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. - % - % xx to do this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Right - % now, I guess we'll just let the pdf reader have its way. - \indexnofonts - \setupdatafile - \catcode`\\=\active \otherbackslash - \input \jobname.toc - \endgroup - } - % - \def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi - \fi - \nextsp} - \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} - \ifnum\pdftexversion < 14 - \let \startlink \pdfannotlink - \else - \let \startlink \pdfstartlink - \fi - % make a live url in pdf output. - \def\pdfurl#1{% - \begingroup - % it seems we really need yet another set of dummies; have not - % tried to figure out what each command should do in the context - % of @url. for now, just make @/ a no-op, that's the only one - % people have actually reported a problem with. - % - \normalturnoffactive - \def\@{@}% - \let\/=\empty - \makevalueexpandable - \leavevmode\urlcolor - \startlink attr{/Border [0 0 0]}% - user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - \endgroup} - \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} - \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} - \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} - \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS|\relax - \ifx\first0\adn0 - \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 - \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 - \else - \ifnum0=\countA\else\makelink\fi - \ifx\first.\let\next=\done\else - \let\next=\maketoks - \addtokens{\toksB}{\the\toksD} - \ifx\first,\addtokens{\toksB}{\space}\fi - \fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \next} - \def\makelink{\addtokens{\toksB}% - {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} - \def\pdflink#1{% - \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} - \linkcolor #1\endlink} - \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -\else - \let\pdfmkdest = \gobble - \let\pdfurl = \gobble - \let\endlink = \relax - \let\linkcolor = \relax - \let\pdfmakeoutlines = \relax -\fi % \ifx\pdfoutput - - -\message{fonts,} - -% Change the current font style to #1, remembering it in \curfontstyle. -% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in -% italics, not bold italics. -% -\def\setfontstyle#1{% - \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. - \csname ten#1\endcsname % change the current font -} - -% Select #1 fonts with the current style. -% -\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} - -\def\rm{\fam=0 \setfontstyle{rm}} -\def\it{\fam=\itfam \setfontstyle{it}} -\def\sl{\fam=\slfam \setfontstyle{sl}} -\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} -\def\tt{\fam=\ttfam \setfontstyle{tt}} - -% Texinfo sort of supports the sans serif font style, which plain TeX does not. -% So we set up a \sf. -\newfam\sffam -\def\sf{\fam=\sffam \setfontstyle{sf}} -\let\li = \sf % Sometimes we call it \li, not \sf. - -% We don't need math for this font style. -\def\ttsl{\setfontstyle{ttsl}} - - -% Default leading. -\newdimen\textleading \textleading = 13.2pt - -% Set the baselineskip to #1, and the lineskip and strut size -% correspondingly. There is no deep meaning behind these magic numbers -% used as factors; they just match (closely enough) what Knuth defined. -% -\def\lineskipfactor{.08333} -\def\strutheightpercent{.70833} -\def\strutdepthpercent {.29167} -% -\def\setleading#1{% - \normalbaselineskip = #1\relax - \normallineskip = \lineskipfactor\normalbaselineskip - \normalbaselines - \setbox\strutbox =\hbox{% - \vrule width0pt height\strutheightpercent\baselineskip - depth \strutdepthpercent \baselineskip - }% -} - -% -% PDF CMaps. See also LaTeX's t1.cmap. -% -% \cmapOT1 -\ifpdf - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1-0) -%%Title: (TeX-OT1-0 TeX OT1 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1) -/Supplement 0 ->> def -/CMapName /TeX-OT1-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -8 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<23> <26> <0023> -<28> <3B> <0028> -<3F> <5B> <003F> -<5D> <5E> <005D> -<61> <7A> <0061> -<7B> <7C> <2013> -endbfrange -40 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <00660066> -<0C> <00660069> -<0D> <0066006C> -<0E> <006600660069> -<0F> <00660066006C> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<21> <0021> -<22> <201D> -<27> <2019> -<3C> <00A1> -<3D> <003D> -<3E> <00BF> -<5C> <201C> -<5F> <02D9> -<60> <2018> -<7D> <02DD> -<7E> <007E> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -% -% \cmapOT1IT - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1IT-0) -%%Title: (TeX-OT1IT-0 TeX OT1IT 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1IT) -/Supplement 0 ->> def -/CMapName /TeX-OT1IT-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -8 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<25> <26> <0025> -<28> <3B> <0028> -<3F> <5B> <003F> -<5D> <5E> <005D> -<61> <7A> <0061> -<7B> <7C> <2013> -endbfrange -42 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <00660066> -<0C> <00660069> -<0D> <0066006C> -<0E> <006600660069> -<0F> <00660066006C> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<21> <0021> -<22> <201D> -<23> <0023> -<24> <00A3> -<27> <2019> -<3C> <00A1> -<3D> <003D> -<3E> <00BF> -<5C> <201C> -<5F> <02D9> -<60> <2018> -<7D> <02DD> -<7E> <007E> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1IT\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -% -% \cmapOT1TT - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1TT-0) -%%Title: (TeX-OT1TT-0 TeX OT1TT 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1TT) -/Supplement 0 ->> def -/CMapName /TeX-OT1TT-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -5 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<21> <26> <0021> -<28> <5F> <0028> -<61> <7E> <0061> -endbfrange -32 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <2191> -<0C> <2193> -<0D> <0027> -<0E> <00A1> -<0F> <00BF> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<20> <2423> -<27> <2019> -<60> <2018> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1TT\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -\else - \expandafter\let\csname cmapOT1\endcsname\gobble - \expandafter\let\csname cmapOT1IT\endcsname\gobble - \expandafter\let\csname cmapOT1TT\endcsname\gobble -\fi - - -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). -% #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass -% empty to omit). -\def\setfont#1#2#3#4#5{% - \font#1=\fontprefix#2#3 scaled #4 - \csname cmap#5\endcsname#1% -} -% This is what gets called when #5 of \setfont is empty. -\let\cmap\gobble - - -% Use cm as the default font prefix. -% To specify the font prefix, you must define \fontprefix -% before you read in texinfo.tex. -\ifx\fontprefix\undefined -\def\fontprefix{cm} -\fi -% Support font families that don't use the same naming scheme as CM. -\def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold -\def\bfshape{b} -\def\bxshape{bx} -\def\ttshape{tt} -\def\ttbshape{tt} -\def\ttslshape{sltt} -\def\itshape{ti} -\def\itbshape{bxti} -\def\slshape{sl} -\def\slbshape{bxsl} -\def\sfshape{ss} -\def\sfbshape{ss} -\def\scshape{csc} -\def\scbshape{csc} - -% Definitions for a main text size of 11pt. This is the default in -% Texinfo. -% -\def\definetextfontsizexi{% -% Text fonts (11.2pt, magstep1). -\def\textnominalsize{11pt} -\edef\mainmagstep{\magstephalf} -\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} -\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} -\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} -\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} -\setfont\textsl\slshape{10}{\mainmagstep}{OT1} -\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} -\setfont\textsc\scshape{10}{\mainmagstep}{OT1} -\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstep1}{OT1} -\setfont\deftt\ttshape{10}{\magstep1}{OT1TT} -\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000}{OT1} -\setfont\smalltt\ttshape{9}{1000}{OT1TT} -\setfont\smallbf\bfshape{10}{900}{OT1} -\setfont\smallit\itshape{9}{1000}{OT1IT} -\setfont\smallsl\slshape{9}{1000}{OT1} -\setfont\smallsf\sfshape{9}{1000}{OT1} -\setfont\smallsc\scshape{10}{900}{OT1} -\setfont\smallttsl\ttslshape{10}{900}{OT1TT} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000}{OT1} -\setfont\smallertt\ttshape{8}{1000}{OT1TT} -\setfont\smallerbf\bfshape{10}{800}{OT1} -\setfont\smallerit\itshape{8}{1000}{OT1IT} -\setfont\smallersl\slshape{8}{1000}{OT1} -\setfont\smallersf\sfshape{8}{1000}{OT1} -\setfont\smallersc\scshape{10}{800}{OT1} -\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} -\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} -\setfont\titlesl\slbshape{10}{\magstep4}{OT1} -\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} -\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} -\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4}{OT1} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\authorrm{\secrm} -\def\authortt{\sectt} - -% Chapter (and unnumbered) fonts (17.28pt). -\def\chapnominalsize{17pt} -\setfont\chaprm\rmbshape{12}{\magstep2}{OT1} -\setfont\chapit\itbshape{10}{\magstep3}{OT1IT} -\setfont\chapsl\slbshape{10}{\magstep3}{OT1} -\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} -\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} -\setfont\chapsf\sfbshape{17}{1000}{OT1} -\let\chapbf=\chaprm -\setfont\chapsc\scbshape{10}{\magstep3}{OT1} -\font\chapi=cmmi12 scaled \magstep2 -\font\chapsy=cmsy10 scaled \magstep3 - -% Section fonts (14.4pt). -\def\secnominalsize{14pt} -\setfont\secrm\rmbshape{12}{\magstep1}{OT1} -\setfont\secit\itbshape{10}{\magstep2}{OT1IT} -\setfont\secsl\slbshape{10}{\magstep2}{OT1} -\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} -\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} -\setfont\secsf\sfbshape{12}{\magstep1}{OT1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep2}{OT1} -\font\seci=cmmi12 scaled \magstep1 -\font\secsy=cmsy10 scaled \magstep2 - -% Subsection fonts (13.15pt). -\def\ssecnominalsize{13pt} -\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} -\setfont\ssecit\itbshape{10}{1315}{OT1IT} -\setfont\ssecsl\slbshape{10}{1315}{OT1} -\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} -\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} -\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1315}{OT1} -\font\sseci=cmmi12 scaled \magstephalf -\font\ssecsy=cmsy10 scaled 1315 - -% Reduced fonts for @acro in text (10pt). -\def\reducednominalsize{10pt} -\setfont\reducedrm\rmshape{10}{1000}{OT1} -\setfont\reducedtt\ttshape{10}{1000}{OT1TT} -\setfont\reducedbf\bfshape{10}{1000}{OT1} -\setfont\reducedit\itshape{10}{1000}{OT1IT} -\setfont\reducedsl\slshape{10}{1000}{OT1} -\setfont\reducedsf\sfshape{10}{1000}{OT1} -\setfont\reducedsc\scshape{10}{1000}{OT1} -\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} -\font\reducedi=cmmi10 -\font\reducedsy=cmsy10 - -% reset the current fonts -\textfonts -\rm -} % end of 11pt text font size definitions - - -% Definitions to make the main text be 10pt Computer Modern, with -% section, chapter, etc., sizes following suit. This is for the GNU -% Press printing of the Emacs 22 manual. Maybe other manuals in the -% future. Used with @smallbook, which sets the leading to 12pt. -% -\def\definetextfontsizex{% -% Text fonts (10pt). -\def\textnominalsize{10pt} -\edef\mainmagstep{1000} -\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} -\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} -\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} -\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} -\setfont\textsl\slshape{10}{\mainmagstep}{OT1} -\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} -\setfont\textsc\scshape{10}{\mainmagstep}{OT1} -\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstephalf}{OT1} -\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} -\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000}{OT1} -\setfont\smalltt\ttshape{9}{1000}{OT1TT} -\setfont\smallbf\bfshape{10}{900}{OT1} -\setfont\smallit\itshape{9}{1000}{OT1IT} -\setfont\smallsl\slshape{9}{1000}{OT1} -\setfont\smallsf\sfshape{9}{1000}{OT1} -\setfont\smallsc\scshape{10}{900}{OT1} -\setfont\smallttsl\ttslshape{10}{900}{OT1TT} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000}{OT1} -\setfont\smallertt\ttshape{8}{1000}{OT1TT} -\setfont\smallerbf\bfshape{10}{800}{OT1} -\setfont\smallerit\itshape{8}{1000}{OT1IT} -\setfont\smallersl\slshape{8}{1000}{OT1} -\setfont\smallersf\sfshape{8}{1000}{OT1} -\setfont\smallersc\scshape{10}{800}{OT1} -\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} -\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} -\setfont\titlesl\slbshape{10}{\magstep4}{OT1} -\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} -\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} -\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4}{OT1} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\authorrm{\secrm} -\def\authortt{\sectt} - -% Chapter fonts (14.4pt). -\def\chapnominalsize{14pt} -\setfont\chaprm\rmbshape{12}{\magstep1}{OT1} -\setfont\chapit\itbshape{10}{\magstep2}{OT1IT} -\setfont\chapsl\slbshape{10}{\magstep2}{OT1} -\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} -\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} -\setfont\chapsf\sfbshape{12}{\magstep1}{OT1} -\let\chapbf\chaprm -\setfont\chapsc\scbshape{10}{\magstep2}{OT1} -\font\chapi=cmmi12 scaled \magstep1 -\font\chapsy=cmsy10 scaled \magstep2 - -% Section fonts (12pt). -\def\secnominalsize{12pt} -\setfont\secrm\rmbshape{12}{1000}{OT1} -\setfont\secit\itbshape{10}{\magstep1}{OT1IT} -\setfont\secsl\slbshape{10}{\magstep1}{OT1} -\setfont\sectt\ttbshape{12}{1000}{OT1TT} -\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} -\setfont\secsf\sfbshape{12}{1000}{OT1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep1}{OT1} -\font\seci=cmmi12 -\font\secsy=cmsy10 scaled \magstep1 - -% Subsection fonts (10pt). -\def\ssecnominalsize{10pt} -\setfont\ssecrm\rmbshape{10}{1000}{OT1} -\setfont\ssecit\itbshape{10}{1000}{OT1IT} -\setfont\ssecsl\slbshape{10}{1000}{OT1} -\setfont\ssectt\ttbshape{10}{1000}{OT1TT} -\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} -\setfont\ssecsf\sfbshape{10}{1000}{OT1} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1000}{OT1} -\font\sseci=cmmi10 -\font\ssecsy=cmsy10 - -% Reduced fonts for @acro in text (9pt). -\def\reducednominalsize{9pt} -\setfont\reducedrm\rmshape{9}{1000}{OT1} -\setfont\reducedtt\ttshape{9}{1000}{OT1TT} -\setfont\reducedbf\bfshape{10}{900}{OT1} -\setfont\reducedit\itshape{9}{1000}{OT1IT} -\setfont\reducedsl\slshape{9}{1000}{OT1} -\setfont\reducedsf\sfshape{9}{1000}{OT1} -\setfont\reducedsc\scshape{10}{900}{OT1} -\setfont\reducedttsl\ttslshape{10}{900}{OT1TT} -\font\reducedi=cmmi9 -\font\reducedsy=cmsy9 - -% reduce space between paragraphs -\divide\parskip by 2 - -% reset the current fonts -\textfonts -\rm -} % end of 10pt text font size definitions - - -% We provide the user-level command -% @fonttextsize 10 -% (or 11) to redefine the text font size. pt is assumed. -% -\def\xword{10} -\def\xiword{11} -% -\parseargdef\fonttextsize{% - \def\textsizearg{#1}% - \wlog{doing @fonttextsize \textsizearg}% - % - % Set \globaldefs so that documents can use this inside @tex, since - % makeinfo 4.8 does not support it, but we need it nonetheless. - % - \begingroup \globaldefs=1 - \ifx\textsizearg\xword \definetextfontsizex - \else \ifx\textsizearg\xiword \definetextfontsizexi - \else - \errhelp=\EMsimple - \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} - \fi\fi - \endgroup -} - - -% In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. Since -% texinfo doesn't allow for producing subscripts and superscripts except -% in the main text, we don't bother to reset \scriptfont and -% \scriptscriptfont (which would also require loading a lot more fonts). -% -\def\resetmathfonts{% - \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy - \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf - \textfont\ttfam=\tentt \textfont\sffam=\tensf -} - -% The font-changing commands redefine the meanings of \tenSTYLE, instead -% of just \STYLE. We do this because \STYLE needs to also set the -% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire -% \tenSTYLE to set the current font. -% -% Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used in -% the LaTeX logo and acronyms. -% -% This all needs generalizing, badly. -% -\def\textfonts{% - \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl - \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc - \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy - \let\tenttsl=\textttsl - \def\curfontsize{text}% - \def\lsize{reduced}\def\lllsize{smaller}% - \resetmathfonts \setleading{\textleading}} -\def\titlefonts{% - \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl - \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc - \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy - \let\tenttsl=\titlettsl - \def\curfontsize{title}% - \def\lsize{chap}\def\lllsize{subsec}% - \resetmathfonts \setleading{25pt}} -\def\titlefont#1{{\titlefonts\rm #1}} -\def\chapfonts{% - \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl - \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc - \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy - \let\tenttsl=\chapttsl - \def\curfontsize{chap}% - \def\lsize{sec}\def\lllsize{text}% - \resetmathfonts \setleading{19pt}} -\def\secfonts{% - \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl - \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc - \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy - \let\tenttsl=\secttsl - \def\curfontsize{sec}% - \def\lsize{subsec}\def\lllsize{reduced}% - \resetmathfonts \setleading{16pt}} -\def\subsecfonts{% - \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl - \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc - \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy - \let\tenttsl=\ssecttsl - \def\curfontsize{ssec}% - \def\lsize{text}\def\lllsize{small}% - \resetmathfonts \setleading{15pt}} -\let\subsubsecfonts = \subsecfonts -\def\reducedfonts{% - \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl - \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc - \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy - \let\tenttsl=\reducedttsl - \def\curfontsize{reduced}% - \def\lsize{small}\def\lllsize{smaller}% - \resetmathfonts \setleading{10.5pt}} -\def\smallfonts{% - \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl - \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc - \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy - \let\tenttsl=\smallttsl - \def\curfontsize{small}% - \def\lsize{smaller}\def\lllsize{smaller}% - \resetmathfonts \setleading{10.5pt}} -\def\smallerfonts{% - \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl - \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc - \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy - \let\tenttsl=\smallerttsl - \def\curfontsize{smaller}% - \def\lsize{smaller}\def\lllsize{smaller}% - \resetmathfonts \setleading{9.5pt}} - -% Set the fonts to use with the @small... environments. -\let\smallexamplefonts = \smallfonts - -% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample -% can fit this many characters: -% 8.5x11=86 smallbook=72 a4=90 a5=69 -% If we use \scriptfonts (8pt), then we can fit this many characters: -% 8.5x11=90+ smallbook=80 a4=90+ a5=77 -% For me, subjectively, the few extra characters that fit aren't worth -% the additional smallness of 8pt. So I'm making the default 9pt. -% -% By the way, for comparison, here's what fits with @example (10pt): -% 8.5x11=71 smallbook=60 a4=75 a5=58 -% -% I wish the USA used A4 paper. -% --karl, 24jan03. - - -% Set up the default fonts, so we can use them for creating boxes. -% -\definetextfontsizexi - -% Define these so they can be easily changed for other fonts. -\def\angleleft{$\langle$} -\def\angleright{$\rangle$} - -% Count depth in font-changes, for error checks -\newcount\fontdepth \fontdepth=0 - -% Fonts for short table of contents. -\setfont\shortcontrm\rmshape{12}{1000}{OT1} -\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 -\setfont\shortcontsl\slshape{12}{1000}{OT1} -\setfont\shortconttt\ttshape{12}{1000}{OT1TT} - -%% Add scribe-like font environments, plus @l for inline lisp (usually sans -%% serif) and @ii for TeX italic - -% \smartitalic{ARG} outputs arg in italics, followed by an italic correction -% unless the following character is such as not to need one. -\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else - \ptexslash\fi\fi\fi} -\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} - -% like \smartslanted except unconditionally uses \ttsl. -% @var is set to this for defun arguments. -\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} - -% like \smartslanted except unconditionally use \sl. We never want -% ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} - -\let\i=\smartitalic -\let\slanted=\smartslanted -\let\var=\smartslanted -\let\dfn=\smartslanted -\let\emph=\smartitalic - -% @b, explicit bold. -\def\b#1{{\bf #1}} -\let\strong=\b - -% @sansserif, explicit sans. -\def\sansserif#1{{\sf #1}} - -% We can't just use \exhyphenpenalty, because that only has effect at -% the end of a paragraph. Restore normal hyphenation at the end of the -% group within which \nohyphenation is presumably called. -% -\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} -\def\restorehyphenation{\hyphenchar\font = `- } - -% Set sfcode to normal for the chars that usually have another value. -% Can't use plain's \frenchspacing because it uses the `\x notation, and -% sometimes \x has an active definition that messes things up. -% -\catcode`@=11 - \def\plainfrenchspacing{% - \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m - \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m - \def\endofsentencespacefactor{1000}% for @. and friends - } - \def\plainnonfrenchspacing{% - \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 - \def\endofsentencespacefactor{3000}% for @. and friends - } -\catcode`@=\other -\def\endofsentencespacefactor{3000}% default - -\def\t#1{% - {\tt \rawbackslash \plainfrenchspacing #1}% - \null -} -\def\samp#1{`\tclose{#1}'\null} -\setfont\keyrm\rmshape{8}{1000}{OT1} -\font\keysy=cmsy9 -\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% - \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% - \vbox{\hrule\kern-0.4pt - \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% - \kern-0.4pt\hrule}% - \kern-.06em\raise0.4pt\hbox{\angleright}}}} -\def\key #1{{\nohyphenation \uppercase{#1}}\null} -% The old definition, with no lozenge: -%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp - -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. -\def\tclose#1{% - {% - % Change normal interword space to be same as for the current font. - \spaceskip = \fontdimen2\font - % - % Switch to typewriter. - \tt - % - % But `\ ' produces the large typewriter interword space. - \def\ {{\spaceskip = 0pt{} }}% - % - % Turn off hyphenation. - \nohyphenation - % - \rawbackslash - \plainfrenchspacing - #1% - }% - \null -} - -% We *must* turn on hyphenation at `-' and `_' in @code. -% Otherwise, it is too hard to avoid overfull hboxes -% in the Emacs manual, the Library manual, etc. - -% Unfortunately, TeX uses one parameter (\hyphenchar) to control -% both hyphenation at - and hyphenation within words. -% We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. -{ - \catcode`\-=\active \catcode`\_=\active - \catcode`\'=\active \catcode`\`=\active - % - \global\def\code{\begingroup - \catcode\rquoteChar=\active \catcode\lquoteChar=\active - \let'\codequoteright \let`\codequoteleft - % - \catcode\dashChar=\active \catcode\underChar=\active - \ifallowcodebreaks - \let-\codedash - \let_\codeunder - \else - \let-\realdash - \let_\realunder - \fi - \codex - } -} - -\def\realdash{-} -\def\codedash{-\discretionary{}{}{}} -\def\codeunder{% - % this is all so @math{@code{var_name}+1} can work. In math mode, _ - % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) - % will therefore expand the active definition of _, which is us - % (inside @code that is), therefore an endless loop. - \ifusingtt{\ifmmode - \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. - \else\normalunderscore \fi - \discretionary{}{}{}}% - {\_}% -} -\def\codex #1{\tclose{#1}\endgroup} - -% An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. -% -\newif\ifallowcodebreaks \allowcodebreakstrue - -\def\keywordtrue{true} -\def\keywordfalse{false} - -\parseargdef\allowcodebreaks{% - \def\txiarg{#1}% - \ifx\txiarg\keywordtrue - \allowcodebreakstrue - \else\ifx\txiarg\keywordfalse - \allowcodebreaksfalse - \else - \errhelp = \EMsimple - \errmessage{Unknown @allowcodebreaks option `\txiarg'}% - \fi\fi -} - -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. - -% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), -% `example' (@kbd uses ttsl only inside of @example and friends), -% or `code' (@kbd uses normal tty font always). -\parseargdef\kbdinputstyle{% - \def\txiarg{#1}% - \ifx\txiarg\worddistinct - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\txiarg\wordexample - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\txiarg\wordcode - \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% - \else - \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle option `\txiarg'}% - \fi\fi\fi -} -\def\worddistinct{distinct} -\def\wordexample{example} -\def\wordcode{code} - -% Default is `distinct.' -\kbdinputstyle distinct - -\def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\look}}\fi -\else{\tclose{\kbdfont\look}}\fi} - -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code - -% @uref (abbreviation for `urlref') takes an optional (comma-separated) -% second argument specifying the text to display and an optional third -% arg as text to display instead of (rather than in addition to) the url -% itself. First (mandatory) arg is the url. Perhaps eventually put in -% a hypertex \special here. -% -\def\uref#1{\douref #1,,,\finish} -\def\douref#1,#2,#3,#4\finish{\begingroup - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \code{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} - -% @url synonym for @uref, since that's how everyone uses it. -% -\let\url=\uref - -% rms does not like angle brackets --karl, 17may97. -% So now @email is just like @uref, unless we are pdf. -% -%\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdf - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} -\else - \let\email=\uref -\fi - -% Check if we are currently using a typewriter font. Since all the -% Computer Modern typewriter fonts have zero interword stretch (and -% shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } - -% Typeset a dimension, e.g., `in' or `pt'. The only reason for the -% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. -% -\def\dmn#1{\thinspace #1} - -\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} - -% @l was never documented to mean ``switch to the Lisp font'', -% and it is not used as such in any manual I can find. We need it for -% Polish suppressed-l. --karl, 22sep96. -%\def\l#1{{\li #1}\null} - -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font -\def\sc#1{{\smallcaps#1}} % smallcaps font -\def\ii#1{{\it #1}} % italic font - -% @acronym for "FBI", "NATO", and the like. -% We print this one point size smaller, since it's intended for -% all-uppercase. -% -\def\acronym#1{\doacronym #1,,\finish} -\def\doacronym#1,#2,#3\finish{% - {\selectfonts\lsize #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi -} - -% @abbr for "Comput. J." and the like. -% No font change, but don't do end-of-sentence spacing. -% -\def\abbr#1{\doabbr #1,,\finish} -\def\doabbr#1,#2,#3\finish{% - {\plainfrenchspacing #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi -} - -% @pounds{} is a sterling sign, which Knuth put in the CM italic font. -% -\def\pounds{{\it\$}} - -% @euro{} comes from a separate font, depending on the current style. -% We use the free feym* fonts from the eurosym package by Henrik -% Theiling, which support regular, slanted, bold and bold slanted (and -% "outlined" (blackboard board, sort of) versions, which we don't need). -% It is available from https://www.ctan.org/tex-archive/fonts/eurosym. -% -% Although only regular is the truly official Euro symbol, we ignore -% that. The Euro is designed to be slightly taller than the regular -% font height. -% -% feymr - regular -% feymo - slanted -% feybr - bold -% feybo - bold slanted -% -% There is no good (free) typewriter version, to my knowledge. -% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. -% Hmm. -% -% Also doesn't work in math. Do we need to do math with euro symbols? -% Hope not. -% -% -\def\euro{{\eurofont e}} -\def\eurofont{% - % We set the font at each command, rather than predefining it in - % \textfonts and the other font-switching commands, so that - % installations which never need the symbol don't have to have the - % font installed. - % - % There is only one designed size (nominal 10pt), so we always scale - % that to the current nominal size. - % - % By the way, simply using "at 1em" works for cmr10 and the like, but - % does not work for cmbx10 and other extended/shrunken fonts. - % - \def\eurosize{\csname\curfontsize nominalsize\endcsname}% - % - \ifx\curfontstyle\bfstylename - % bold: - \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else - % regular: - \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize - \fi - \thiseurofont -} - -% @registeredsymbol - R in a circle. The font for the R should really -% be smaller yet, but lllsize is the best we can do for now. -% Adapted from the plain.tex definition of \copyright. -% -\def\registeredsymbol{% - $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% - \hfil\crcr\Orb}}% - }$% -} - -% @textdegree - the normal degrees sign. -% -\def\textdegree{$^\circ$} - -% Laurent Siebenmann reports \Orb undefined with: -% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 -% so we'll define it if necessary. -% -\ifx\Orb\undefined -\def\Orb{\mathhexbox20D} -\fi - - -\message{page headings,} - -\newskip\titlepagetopglue \titlepagetopglue = 1.5in -\newskip\titlepagebottomglue \titlepagebottomglue = 2pc - -% First the title page. Must do @settitle before @titlepage. -\newif\ifseenauthor -\newif\iffinishedtitlepage - -% Do an implicit @contents or @shortcontents after @end titlepage if the -% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. -% -\newif\ifsetcontentsaftertitlepage - \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue -\newif\ifsetshortcontentsaftertitlepage - \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue - -\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% - \endgroup\page\hbox{}\page} - -\envdef\titlepage{% - % Open one extra group, as we want to close it in the middle of \Etitlepage. - \begingroup - \parindent=0pt \textfonts - % Leave some space at the very top of the page. - \vglue\titlepagetopglue - % No rule at page bottom unless we print one at the top with @title. - \finishedtitlepagetrue - % - % Most title ``pages'' are actually two pages long, with space - % at the top of the second. We don't want the ragged left on the second. - \let\oldpage = \page - \def\page{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - \let\page = \oldpage - \page - \null - }% -} - -\def\Etitlepage{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - % It is important to do the page break before ending the group, - % because the headline and footline are only empty inside the group. - % If we use the new definition of \page, we always get a blank page - % after the title page, which we certainly don't want. - \oldpage - \endgroup - % - % Need this before the \...aftertitlepage checks so that if they are - % in effect the toc pages will come out with page numbers. - \HEADINGSon - % - % If they want short, they certainly want long too. - \ifsetshortcontentsaftertitlepage - \shortcontents - \contents - \global\let\shortcontents = \relax - \global\let\contents = \relax - \fi - % - \ifsetcontentsaftertitlepage - \contents - \global\let\contents = \relax - \global\let\shortcontents = \relax - \fi -} - -\def\finishtitlepage{% - \vskip4pt \hrule height 2pt width \hsize - \vskip\titlepagebottomglue - \finishedtitlepagetrue -} - -%%% Macros to be used within @titlepage: - -\let\subtitlerm=\tenrm -\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} - -\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines - \let\tt=\authortt} - -\parseargdef\title{% - \checkenv\titlepage - \leftline{\titlefonts\rm #1} - % print a rule at the page bottom also. - \finishedtitlepagefalse - \vskip4pt \hrule height 4pt width \hsize \vskip4pt -} - -\parseargdef\subtitle{% - \checkenv\titlepage - {\subtitlefont \rightline{#1}}% -} - -% @author should come last, but may come many times. -% It can also be used inside @quotation. -% -\parseargdef\author{% - \def\temp{\quotation}% - \ifx\thisenv\temp - \def\quotationauthor{#1}% printed in \Equotation. - \else - \checkenv\titlepage - \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi - {\authorfont \leftline{#1}}% - \fi -} - - -%%% Set up page headings and footings. - -\let\thispage=\folio - -\newtoks\evenheadline % headline on even pages -\newtoks\oddheadline % headline on odd pages -\newtoks\evenfootline % footline on even pages -\newtoks\oddfootline % footline on odd pages - -% Now make TeX use those variables -\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline - \else \the\evenheadline \fi}} -\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline - \else \the\evenfootline \fi}\HEADINGShook} -\let\HEADINGShook=\relax - -% Commands to set those variables. -% For example, this is what @headings on does -% @evenheading @thistitle|@thispage|@thischapter -% @oddheading @thischapter|@thispage|@thistitle -% @evenfooting @thisfile|| -% @oddfooting ||@thisfile - - -\def\evenheading{\parsearg\evenheadingxxx} -\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} -\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% -\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddheading{\parsearg\oddheadingxxx} -\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} -\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% -\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% - -\def\evenfooting{\parsearg\evenfootingxxx} -\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} -\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% -\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddfooting{\parsearg\oddfootingxxx} -\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} -\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% - \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% - % - % Leave some space for the footline. Hopefully ok to assume - % @evenfooting will not be used by itself. - \global\advance\pageheight by -12pt - \global\advance\vsize by -12pt -} - -\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} - - -% @headings double turns headings on for double-sided printing. -% @headings single turns headings on for single-sided printing. -% @headings off turns them off. -% @headings on same as @headings double, retained for compatibility. -% @headings after turns on double-sided headings after this page. -% @headings doubleafter turns on double-sided headings after this page. -% @headings singleafter turns on single-sided headings after this page. -% By default, they are off at the start of a document, -% and turned `on' after @end titlepage. - -\def\headings #1 {\csname HEADINGS#1\endcsname} - -\def\HEADINGSoff{% -\global\evenheadline={\hfil} \global\evenfootline={\hfil} -\global\oddheadline={\hfil} \global\oddfootline={\hfil}} -\HEADINGSoff -% When we turn headings on, set the page number to 1. -% For double-sided printing, put current file name in lower left corner, -% chapter name on inside top of right hand pages, document -% title on inside top of left hand pages, and page numbers on outside top -% edge of all pages. -\def\HEADINGSdouble{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} -\let\contentsalignmacro = \chappager - -% For single-sided printing, chapter title goes across top left of page, -% page number on top right. -\def\HEADINGSsingle{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} -\def\HEADINGSon{\HEADINGSdouble} - -\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} -\let\HEADINGSdoubleafter=\HEADINGSafter -\def\HEADINGSdoublex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} - -\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} -\def\HEADINGSsinglex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} - -% Subroutines used in generating headings -% This produces Day Month Year style of output. -% Only define if not already defined, in case a txi-??.tex file has set -% up a different format (e.g., txi-cs.tex does this). -\ifx\today\undefined -\def\today{% - \number\day\space - \ifcase\month - \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr - \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug - \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec - \fi - \space\number\year} -\fi - -% @settitle line... specifies the title of the document, for headings. -% It generates no output of its own. -\def\thistitle{\putwordNoTitle} -\def\settitle{\parsearg{\gdef\thistitle}} - - -\message{tables,} -% Tables -- @table, @ftable, @vtable, @item(x). - -% default indentation of table text -\newdimen\tableindent \tableindent=.8in -% default indentation of @itemize and @enumerate text -\newdimen\itemindent \itemindent=.3in -% margin between end of table item and start of table text. -\newdimen\itemmargin \itemmargin=.1in - -% used internally for \itemindent minus \itemmargin -\newdimen\itemmax - -% Note @table, @ftable, and @vtable define @item, @itemx, etc., with -% these defs. -% They also define \itemindex -% to index the item name in whatever manner is desired (perhaps none). - -\newif\ifitemxneedsnegativevskip - -\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} - -\def\internalBitem{\smallbreak \parsearg\itemzzz} -\def\internalBitemx{\itemxpar \parsearg\itemzzz} - -\def\itemzzz #1{\begingroup % - \advance\hsize by -\rightskip - \advance\hsize by -\tableindent - \setbox0=\hbox{\itemindicate{#1}}% - \itemindex{#1}% - \nobreak % This prevents a break before @itemx. - % - % If the item text does not fit in the space we have, put it on a line - % by itself, and do not allow a page break either before or after that - % line. We do not start a paragraph here because then if the next - % command is, e.g., @kindex, the whatsit would get put into the - % horizontal list on a line by itself, resulting in extra blank space. - \ifdim \wd0>\itemmax - % - % Make this a paragraph so we get the \parskip glue and wrapping, - % but leave it ragged-right. - \begingroup - \advance\leftskip by-\tableindent - \advance\hsize by\tableindent - \advance\rightskip by0pt plus1fil - \leavevmode\unhbox0\par - \endgroup - % - % We're going to be starting a paragraph, but we don't want the - % \parskip glue -- logically it's part of the @item we just started. - \nobreak \vskip-\parskip - % - % Stop a page break at the \parskip glue coming up. However, if - % what follows is an environment such as @example, there will be no - % \parskip glue; then the negative vskip we just inserted would - % cause the example and the item to crash together. So we use this - % bizarre value of 10001 as a signal to \aboveenvbreak to insert - % \parskip glue after all. Section titles are handled this way also. - % - \penalty 10001 - \endgroup - \itemxneedsnegativevskipfalse - \else - % The item text fits into the space. Start a paragraph, so that the - % following text (if any) will end up on the same line. - \noindent - % Do this with kerns and \unhbox so that if there is a footnote in - % the item text, it can migrate to the main vertical list and - % eventually be printed. - \nobreak\kern-\tableindent - \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 - \unhbox0 - \nobreak\kern\dimen0 - \endgroup - \itemxneedsnegativevskiptrue - \fi -} - -\def\item{\errmessage{@item while not in a list environment}} -\def\itemx{\errmessage{@itemx while not in a list environment}} - -% @table, @ftable, @vtable. -\envdef\table{% - \let\itemindex\gobble - \tablecheck{table}% -} -\envdef\ftable{% - \def\itemindex ##1{\doind {fn}{\code{##1}}}% - \tablecheck{ftable}% -} -\envdef\vtable{% - \def\itemindex ##1{\doind {vr}{\code{##1}}}% - \tablecheck{vtable}% -} -\def\tablecheck#1{% - \ifnum \the\catcode`\^^M=\active - \endgroup - \errmessage{This command won't work in this context; perhaps the problem is - that we are \inenvironment\thisenv}% - \def\next{\doignore{#1}}% - \else - \let\next\tablex - \fi - \next -} -\def\tablex#1{% - \def\itemindicate{#1}% - \parsearg\tabley -} -\def\tabley#1{% - {% - \makevalueexpandable - \edef\temp{\noexpand\tablez #1\space\space\space}% - \expandafter - }\temp \endtablez -} -\def\tablez #1 #2 #3 #4\endtablez{% - \aboveenvbreak - \ifnum 0#1>0 \advance \leftskip by #1\mil \fi - \ifnum 0#2>0 \tableindent=#2\mil \fi - \ifnum 0#3>0 \advance \rightskip by #3\mil \fi - \itemmax=\tableindent - \advance \itemmax by -\itemmargin - \advance \leftskip by \tableindent - \exdentamount=\tableindent - \parindent = 0pt - \parskip = \smallskipamount - \ifdim \parskip=0pt \parskip=2pt \fi - \let\item = \internalBitem - \let\itemx = \internalBitemx -} -\def\Etable{\endgraf\afterenvbreak} -\let\Eftable\Etable -\let\Evtable\Etable -\let\Eitemize\Etable -\let\Eenumerate\Etable - -% This is the counter used by @enumerate, which is really @itemize - -\newcount \itemno - -\envdef\itemize{\parsearg\doitemize} - -\def\doitemize#1{% - \aboveenvbreak - \itemmax=\itemindent - \advance\itemmax by -\itemmargin - \advance\leftskip by \itemindent - \exdentamount=\itemindent - \parindent=0pt - \parskip=\smallskipamount - \ifdim\parskip=0pt \parskip=2pt \fi - \def\itemcontents{#1}% - % @itemize with no arg is equivalent to @itemize @bullet. - \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi - \let\item=\itemizeitem -} - -% Definition of @item while inside @itemize and @enumerate. -% -\def\itemizeitem{% - \advance\itemno by 1 % for enumerations - {\let\par=\endgraf \smallbreak}% reasonable place to break - {% - % If the document has an @itemize directly after a section title, a - % \nobreak will be last on the list, and \sectionheading will have - % done a \vskip-\parskip. In that case, we don't want to zero - % parskip, or the item text will crash with the heading. On the - % other hand, when there is normal text preceding the item (as there - % usually is), we do want to zero parskip, or there would be too much - % space. In that case, we won't have a \nobreak before. At least - % that's the theory. - \ifnum\lastpenalty<10000 \parskip=0in \fi - \noindent - \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% - \vadjust{\penalty 1200}}% not good to break after first line of item. - \flushcr -} - -% \splitoff TOKENS\endmark defines \first to be the first token in -% TOKENS, and \rest to be the remainder. -% -\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% - -% Allow an optional argument of an uppercase letter, lowercase letter, -% or number, to specify the first label in the enumerated list. No -% argument is the same as `1'. -% -\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} -\def\enumeratey #1 #2\endenumeratey{% - % If we were given no argument, pretend we were given `1'. - \def\thearg{#1}% - \ifx\thearg\empty \def\thearg{1}\fi - % - % Detect if the argument is a single token. If so, it might be a - % letter. Otherwise, the only valid thing it can be is a number. - % (We will always have one token, because of the test we just made. - % This is a good thing, since \splitoff doesn't work given nothing at - % all -- the first parameter is undelimited.) - \expandafter\splitoff\thearg\endmark - \ifx\rest\empty - % Only one token in the argument. It could still be anything. - % A ``lowercase letter'' is one whose \lccode is nonzero. - % An ``uppercase letter'' is one whose \lccode is both nonzero, and - % not equal to itself. - % Otherwise, we assume it's a number. - % - % We need the \relax at the end of the \ifnum lines to stop TeX from - % continuing to look for a <number>. - % - \ifnum\lccode\expandafter`\thearg=0\relax - \numericenumerate % a number (we hope) - \else - % It's a letter. - \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax - \lowercaseenumerate % lowercase letter - \else - \uppercaseenumerate % uppercase letter - \fi - \fi - \else - % Multiple tokens in the argument. We hope it's a number. - \numericenumerate - \fi -} - -% An @enumerate whose labels are integers. The starting integer is -% given in \thearg. -% -\def\numericenumerate{% - \itemno = \thearg - \startenumeration{\the\itemno}% -} - -% The starting (lowercase) letter is in \thearg. -\def\lowercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more lowercase letters in @enumerate; get a bigger - alphabet}% - \fi - \char\lccode\itemno - }% -} - -% The starting (uppercase) letter is in \thearg. -\def\uppercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more uppercase letters in @enumerate; get a bigger - alphabet} - \fi - \char\uccode\itemno - }% -} - -% Call \doitemize, adding a period to the first argument and supplying the -% common last two arguments. Also subtract one from the initial value in -% \itemno, since @item increments \itemno. -% -\def\startenumeration#1{% - \advance\itemno by -1 - \doitemize{#1.}\flushcr -} - -% @alphaenumerate and @capsenumerate are abbreviations for giving an arg -% to @enumerate. -% -\def\alphaenumerate{\enumerate{a}} -\def\capsenumerate{\enumerate{A}} -\def\Ealphaenumerate{\Eenumerate} -\def\Ecapsenumerate{\Eenumerate} - - -% @multitable macros -% Amy Hendrickson, 8/18/94, 3/6/96 -% -% @multitable ... @end multitable will make as many columns as desired. -% Contents of each column will wrap at width given in preamble. Width -% can be specified either with sample text given in a template line, -% or in percent of \hsize, the current width of text on page. - -% Table can continue over pages but will only break between lines. - -% To make preamble: -% -% Either define widths of columns in terms of percent of \hsize: -% @multitable @columnfractions .25 .3 .45 -% @item ... -% -% Numbers following @columnfractions are the percent of the total -% current hsize to be used for each column. You may use as many -% columns as desired. - - -% Or use a template: -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item ... -% using the widest term desired in each column. - -% Each new table line starts with @item, each subsequent new column -% starts with @tab. Empty columns may be produced by supplying @tab's -% with nothing between them for as many times as empty columns are needed, -% ie, @tab@tab@tab will produce two empty columns. - -% @item, @tab do not need to be on their own lines, but it will not hurt -% if they are. - -% Sample multitable: - -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item first col stuff @tab second col stuff @tab third col -% @item -% first col stuff -% @tab -% second col stuff -% @tab -% third col -% @item first col stuff @tab second col stuff -% @tab Many paragraphs of text may be used in any column. -% -% They will wrap at the width determined by the template. -% @item@tab@tab This will be in third column. -% @end multitable - -% Default dimensions may be reset by user. -% @multitableparskip is vertical space between paragraphs in table. -% @multitableparindent is paragraph indent in table. -% @multitablecolmargin is horizontal space to be left between columns. -% @multitablelinespace is space to leave between table items, baseline -% to baseline. -% 0pt means it depends on current normal line spacing. -% -\newskip\multitableparskip -\newskip\multitableparindent -\newdimen\multitablecolspace -\newskip\multitablelinespace -\multitableparskip=0pt -\multitableparindent=6pt -\multitablecolspace=12pt -\multitablelinespace=0pt - -% Macros used to set up halign preamble: -% -\let\endsetuptable\relax -\def\xendsetuptable{\endsetuptable} -\let\columnfractions\relax -\def\xcolumnfractions{\columnfractions} -\newif\ifsetpercent - -% #1 is the @columnfraction, usually a decimal number like .5, but might -% be just 1. We just use it, whatever it is. -% -\def\pickupwholefraction#1 {% - \global\advance\colcount by 1 - \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% - \setuptable -} - -\newcount\colcount -\def\setuptable#1{% - \def\firstarg{#1}% - \ifx\firstarg\xendsetuptable - \let\go = \relax - \else - \ifx\firstarg\xcolumnfractions - \global\setpercenttrue - \else - \ifsetpercent - \let\go\pickupwholefraction - \else - \global\advance\colcount by 1 - \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a - % separator; typically that is always in the input, anyway. - \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% - \fi - \fi - \ifx\go\pickupwholefraction - % Put the argument back for the \pickupwholefraction call, so - % we'll always have a period there to be parsed. - \def\go{\pickupwholefraction#1}% - \else - \let\go = \setuptable - \fi% - \fi - \go -} - -% multitable-only commands. -% -% @headitem starts a heading row, which we typeset in bold. -% Assignments have to be global since we are inside the implicit group -% of an alignment entry. Note that \everycr resets \everytab. -\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% -% -% A \tab used to include \hskip1sp. But then the space in a template -% line is not enough. That is bad. So let's go back to just `&' until -% we encounter the problem it was intended to solve again. -% --karl, nathan@acm.org, 20apr99. -\def\tab{\checkenv\multitable &\the\everytab}% - -% @multitable ... @end multitable definitions: -% -\newtoks\everytab % insert after every tab. -% -\envdef\multitable{% - \vskip\parskip - \startsavinginserts - % - % @item within a multitable starts a normal row. - % We use \def instead of \let so that if one of the multitable entries - % contains an @itemize, we don't choke on the \item (seen as \crcr aka - % \endtemplate) expanding \doitemize. - \def\item{\crcr}% - % - \tolerance=9500 - \hbadness=9500 - \setmultitablespacing - \parskip=\multitableparskip - \parindent=\multitableparindent - \overfullrule=0pt - \global\colcount=0 - % - \everycr = {% - \noalign{% - \global\everytab={}% - \global\colcount=0 % Reset the column counter. - % Check for saved footnotes, etc. - \checkinserts - % Keeps underfull box messages off when table breaks over pages. - %\filbreak - % Maybe so, but it also creates really weird page breaks when the - % table breaks over pages. Wouldn't \vfil be better? Wait until the - % problem manifests itself, so it can be fixed for real --karl. - }% - }% - % - \parsearg\domultitable -} -\def\domultitable#1{% - % To parse everything between @multitable and @item: - \setuptable#1 \endsetuptable - % - % This preamble sets up a generic column definition, which will - % be used as many times as user calls for columns. - % \vtop will set a single line and will also let text wrap and - % continue for many paragraphs if desired. - \halign\bgroup &% - \global\advance\colcount by 1 - \multistrut - \vtop{% - % Use the current \colcount to find the correct column width: - \hsize=\expandafter\csname col\the\colcount\endcsname - % - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % - % If the user has set preamble in terms of percent of \hsize we will - % use that dimension as the width of the column, and the \leftskip - % will keep entries from bumping into each other. Table will start at - % left margin and final column will justify at right margin. - % - % Make sure we don't inherit \rightskip from the outer environment. - \rightskip=0pt - \ifnum\colcount=1 - % The first column will be indented with the surrounding text. - \advance\hsize by\leftskip - \else - \ifsetpercent \else - % If user has not set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace. - \advance\hsize by \multitablecolspace - \fi - % In either case we will make \leftskip=\multitablecolspace: - \leftskip=\multitablecolspace - \fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively - % marking characters. - \noindent\ignorespaces##\unskip\multistrut - }\cr -} -\def\Emultitable{% - \crcr - \egroup % end the \halign - \global\setpercentfalse -} - -\def\setmultitablespacing{% - \def\multistrut{\strut}% just use the standard line spacing - % - % Compute \multitablelinespace (if not defined by user) for use in - % \multitableparskip calculation. We used define \multistrut based on - % this, but (ironically) that caused the spacing to be off. - % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. -\ifdim\multitablelinespace=0pt -\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip -\global\advance\multitablelinespace by-\ht0 -\fi -%% Test to see if parskip is larger than space between lines of -%% table. If not, do nothing. -%% If so, set to same dimension as multitablelinespace. -\ifdim\multitableparskip>\multitablelinespace -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. -\fi% -\ifdim\multitableparskip=0pt -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. -\fi} - - -\message{conditionals,} - -% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, -% @ifnotxml always succeed. They currently do nothing; we don't -% attempt to check whether the conditionals are properly nested. But we -% have to remember that they are conditionals, so that @end doesn't -% attempt to close an environment group. -% -\def\makecond#1{% - \expandafter\let\csname #1\endcsname = \relax - \expandafter\let\csname iscond.#1\endcsname = 1 -} -\makecond{iftex} -\makecond{ifnotdocbook} -\makecond{ifnothtml} -\makecond{ifnotinfo} -\makecond{ifnotplaintext} -\makecond{ifnotxml} - -% Ignore @ignore, @ifhtml, @ifinfo, and the like. -% -\def\direntry{\doignore{direntry}} -\def\documentdescription{\doignore{documentdescription}} -\def\docbook{\doignore{docbook}} -\def\html{\doignore{html}} -\def\ifdocbook{\doignore{ifdocbook}} -\def\ifhtml{\doignore{ifhtml}} -\def\ifinfo{\doignore{ifinfo}} -\def\ifnottex{\doignore{ifnottex}} -\def\ifplaintext{\doignore{ifplaintext}} -\def\ifxml{\doignore{ifxml}} -\def\ignore{\doignore{ignore}} -\def\menu{\doignore{menu}} -\def\xml{\doignore{xml}} - -% Ignore text until a line `@end #1', keeping track of nested conditionals. -% -% A count to remember the depth of nesting. -\newcount\doignorecount - -\def\doignore#1{\begingroup - % Scan in ``verbatim'' mode: - \obeylines - \catcode`\@ = \other - \catcode`\{ = \other - \catcode`\} = \other - % - % Make sure that spaces turn into tokens that match what \doignoretext wants. - \spaceisspace - % - % Count number of #1's that we've seen. - \doignorecount = 0 - % - % Swallow text until we reach the matching `@end #1'. - \dodoignore{#1}% -} - -{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. - \obeylines % - % - \gdef\dodoignore#1{% - % #1 contains the command name as a string, e.g., `ifinfo'. - % - % Define a command to find the next `@end #1'. - \long\def\doignoretext##1^^M@end #1{% - \doignoretextyyy##1^^M@#1\_STOP_}% - % - % And this command to find another #1 command, at the beginning of a - % line. (Otherwise, we would consider a line `@c @ifset', for - % example, to count as an @ifset for nesting.) - \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% - % - % And now expand that command. - \doignoretext ^^M% - }% -} - -\def\doignoreyyy#1{% - \def\temp{#1}% - \ifx\temp\empty % Nothing found. - \let\next\doignoretextzzz - \else % Found a nested condition, ... - \advance\doignorecount by 1 - \let\next\doignoretextyyy % ..., look for another. - % If we're here, #1 ends with ^^M\ifinfo (for example). - \fi - \next #1% the token \_STOP_ is present just after this macro. -} - -% We have to swallow the remaining "\_STOP_". -% -\def\doignoretextzzz#1{% - \ifnum\doignorecount = 0 % We have just found the outermost @end. - \let\next\enddoignore - \else % Still inside a nested condition. - \advance\doignorecount by -1 - \let\next\doignoretext % Look for the next @end. - \fi - \next -} - -% Finish off ignored text. -{ \obeylines% - % Ignore anything after the last `@end #1'; this matters in verbatim - % environments, where otherwise the newline after an ignored conditional - % would result in a blank line in the output. - \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% -} - - -% @set VAR sets the variable VAR to an empty value. -% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. -% -% Since we want to separate VAR from REST-OF-LINE (which might be -% empty), we can't just use \parsearg; we have to insert a space of our -% own to delimit the rest of the line, and then take it out again if we -% didn't need it. -% We rely on the fact that \parsearg sets \catcode`\ =10. -% -\parseargdef\set{\setyyy#1 \endsetyyy} -\def\setyyy#1 #2\endsetyyy{% - {% - \makevalueexpandable - \def\temp{#2}% - \edef\next{\gdef\makecsname{SET#1}}% - \ifx\temp\empty - \next{}% - \else - \setzzz#2\endsetzzz - \fi - }% -} -% Remove the trailing space \setxxx inserted. -\def\setzzz#1 \endsetzzz{\next{#1}} - -% @clear VAR clears (i.e., unsets) the variable VAR. -% -\parseargdef\clear{% - {% - \makevalueexpandable - \global\expandafter\let\csname SET#1\endcsname=\relax - }% -} - -% @value{foo} gets the text saved in variable foo. -\def\value{\begingroup\makevalueexpandable\valuexxx} -\def\valuexxx#1{\expandablevalue{#1}\endgroup} -{ - \catcode`\- = \active \catcode`\_ = \active - % - \gdef\makevalueexpandable{% - \let\value = \expandablevalue - % We don't want these characters active, ... - \catcode`\-=\other \catcode`\_=\other - % ..., but we might end up with active ones in the argument if - % we're called from @code, as @code{@value{foo-bar_}}, though. - % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore - } -} - -% We have this subroutine so that we can handle at least some @value's -% properly in indexes (we call \makevalueexpandable in \indexdummies). -% The command has to be fully expandable (if the variable is set), since -% the result winds up in the index file. This means that if the -% variable's value contains other Texinfo commands, it's almost certain -% it will fail (although perhaps we could fix that with sufficient work -% to do a one-level expansion on the result, instead of complete). -% -\def\expandablevalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - {[No value for ``#1'']}% - \message{Variable `#1', used in @value, is not set.}% - \else - \csname SET#1\endcsname - \fi -} - -% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined -% with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. -% -\makecond{ifset} -\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} -\def\doifset#1#2{% - {% - \makevalueexpandable - \let\next=\empty - \expandafter\ifx\csname SET#2\endcsname\relax - #1% If not set, redefine \next. - \fi - \expandafter - }\next -} -\def\ifsetfail{\doignore{ifset}} - -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been -% defined with @set, or has been undefined with @clear. -% -% The `\else' inside the `\doifset' parameter is a trick to reuse the -% above code: if the variable is not set, do nothing, if it is set, -% then redefine \next to \ifclearfail. -% -\makecond{ifclear} -\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} -\def\ifclearfail{\doignore{ifclear}} - -% @dircategory CATEGORY -- specify a category of the dir file -% which this file should belong to. Ignore this in TeX. -\let\dircategory=\comment - -% @defininfoenclose. -\let\definfoenclose=\comment - - -\message{indexing,} -% Index generation facilities - -% Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within macros and \if's. -\edef\newwrite{\makecsname{ptexnewwrite}} - -% \newindex {foo} defines an index named foo. -% It automatically defines \fooindex such that -% \fooindex ...rest of line... puts an entry in the index foo. -% It also defines \fooindfile to be the number of the output channel for -% the file that accumulates this index. The file's extension is foo. -% The name of an index should be no more than 2 characters long -% for the sake of vms. -% -\def\newindex#1{% - \iflinks - \expandafter\newwrite \csname#1indfile\endcsname - \openout \csname#1indfile\endcsname \jobname.#1 % Open the file - \fi - \expandafter\xdef\csname#1index\endcsname{% % Define @#1index - \noexpand\doindex{#1}} -} - -% @defindex foo == \newindex{foo} -% -\def\defindex{\parsearg\newindex} - -% Define @defcodeindex, like @defindex except put all entries in @code. -% -\def\defcodeindex{\parsearg\newcodeindex} -% -\def\newcodeindex#1{% - \iflinks - \expandafter\newwrite \csname#1indfile\endcsname - \openout \csname#1indfile\endcsname \jobname.#1 - \fi - \expandafter\xdef\csname#1index\endcsname{% - \noexpand\docodeindex{#1}}% -} - - -% @synindex foo bar makes index foo feed into index bar. -% Do this instead of @defindex foo if you don't want it as a separate index. -% -% @syncodeindex foo bar similar, but put all entries made for index foo -% inside @code. -% -\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} -\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} - -% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), -% #3 the target index (bar). -\def\dosynindex#1#2#3{% - % Only do \closeout if we haven't already done it, else we'll end up - % closing the target index. - \expandafter \ifx\csname donesynindex#2\endcsname \undefined - % The \closeout helps reduce unnecessary open files; the limit on the - % Acorn RISC OS is a mere 16 files. - \expandafter\closeout\csname#2indfile\endcsname - \expandafter\let\csname\donesynindex#2\endcsname = 1 - \fi - % redefine \fooindfile: - \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname - \expandafter\let\csname#2indfile\endcsname=\temp - % redefine \fooindex: - \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% -} - -% Define \doindex, the driver for all \fooindex macros. -% Argument #1 is generated by the calling \fooindex macro, -% and it is "foo", the name of the index. - -% \doindex just uses \parsearg; it calls \doind for the actual work. -% This is because \doind is more useful to call from other macros. - -% There is also \dosubind {index}{topic}{subtopic} -% which makes an entry in a two-level index such as the operation index. - -\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} -\def\singleindexer #1{\doind{\indexname}{#1}} - -% like the previous two, but they put @code around the argument. -\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} -\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} - -% Take care of Texinfo commands that can appear in an index entry. -% Since there are some commands we want to expand, and others we don't, -% we have to laboriously prevent expansion for those that we don't. -% -\def\indexdummies{% - \escapechar = `\\ % use backslash in output files. - \def\@{@}% change to @@ when we switch to @ as escape char in index files. - \def\ {\realbackslash\space }% - % - % Need these in case \tex is in effect and \{ is a \delimiter again. - % But can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. - \let\{ = \mylbrace - \let\} = \myrbrace - % - % I don't entirely understand this, but when an index entry is - % generated from a macro call, the \endinput which \scanmacro inserts - % causes processing to be prematurely terminated. This is, - % apparently, because \indexsorttmp is fully expanded, and \endinput - % is an expandable command. The redefinition below makes \endinput - % disappear altogether for that purpose -- although logging shows that - % processing continues to some further point. On the other hand, it - % seems \endinput does not hurt in the printed index arg, since that - % is still getting written without apparent harm. - % - % Sample source (mac-idx3.tex, reported by Graham Percival to - % help-texinfo, 22may06): - % @macro funindex {WORD} - % @findex xyz - % @end macro - % ... - % @funindex commtest - % - % The above is not enough to reproduce the bug, but it gives the flavor. - % - % Sample whatsit resulting: - % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} - % - % So: - \let\endinput = \empty - % - % Do the redefinitions. - \commondummies -} - -% For the aux and toc files, @ is the escape character. So we want to -% redefine everything using @ as the escape character (instead of -% \realbackslash, still used for index files). When everything uses @, -% this will be simpler. -% -\def\atdummies{% - \def\@{@@}% - \def\ {@ }% - \let\{ = \lbraceatcmd - \let\} = \rbraceatcmd - % - % Do the redefinitions. - \commondummies - \otherbackslash -} - -% Called from \indexdummies and \atdummies. -% -\def\commondummies{% - % - % \definedummyword defines \#1 as \string\#1\space, thus effectively - % preventing its expansion. This is used only for control% words, - % not control letters, because the \space would be incorrect for - % control characters, but is needed to separate the control word - % from whatever follows. - % - % For control letters, we have \definedummyletter, which omits the - % space. - % - % These can be used both for control words that take an argument and - % those that do not. If it is followed by {arg} in the input, then - % that will dutifully get written to the index (or wherever). - % - \def\definedummyword ##1{\def##1{\string##1\space}}% - \def\definedummyletter##1{\def##1{\string##1}}% - \let\definedummyaccent\definedummyletter - % - \commondummiesnofonts - % - \definedummyletter\_% - % - % Non-English letters. - \definedummyword\AA - \definedummyword\AE - \definedummyword\L - \definedummyword\OE - \definedummyword\O - \definedummyword\aa - \definedummyword\ae - \definedummyword\l - \definedummyword\oe - \definedummyword\o - \definedummyword\ss - \definedummyword\exclamdown - \definedummyword\questiondown - \definedummyword\ordf - \definedummyword\ordm - % - % Although these internal commands shouldn't show up, sometimes they do. - \definedummyword\bf - \definedummyword\gtr - \definedummyword\hat - \definedummyword\less - \definedummyword\sf - \definedummyword\sl - \definedummyword\tclose - \definedummyword\tt - % - \definedummyword\LaTeX - \definedummyword\TeX - % - % Assorted special characters. - \definedummyword\bullet - \definedummyword\comma - \definedummyword\copyright - \definedummyword\registeredsymbol - \definedummyword\dots - \definedummyword\enddots - \definedummyword\equiv - \definedummyword\error - \definedummyword\euro - \definedummyword\expansion - \definedummyword\minus - \definedummyword\pounds - \definedummyword\point - \definedummyword\print - \definedummyword\result - \definedummyword\textdegree - % - % We want to disable all macros so that they are not expanded by \write. - \macrolist - % - \normalturnoffactive - % - % Handle some cases of @value -- where it does not contain any - % (non-fully-expandable) commands. - \makevalueexpandable -} - -% \commondummiesnofonts: common to \commondummies and \indexnofonts. -% -\def\commondummiesnofonts{% - % Control letters and accents. - \definedummyletter\!% - \definedummyaccent\"% - \definedummyaccent\'% - \definedummyletter\*% - \definedummyaccent\,% - \definedummyletter\.% - \definedummyletter\/% - \definedummyletter\:% - \definedummyaccent\=% - \definedummyletter\?% - \definedummyaccent\^% - \definedummyaccent\`% - \definedummyaccent\~% - \definedummyword\u - \definedummyword\v - \definedummyword\H - \definedummyword\dotaccent - \definedummyword\ringaccent - \definedummyword\tieaccent - \definedummyword\ubaraccent - \definedummyword\udotaccent - \definedummyword\dotless - % - % Texinfo font commands. - \definedummyword\b - \definedummyword\i - \definedummyword\r - \definedummyword\sc - \definedummyword\t - % - % Commands that take arguments. - \definedummyword\acronym - \definedummyword\cite - \definedummyword\code - \definedummyword\command - \definedummyword\dfn - \definedummyword\emph - \definedummyword\env - \definedummyword\file - \definedummyword\kbd - \definedummyword\key - \definedummyword\math - \definedummyword\option - \definedummyword\pxref - \definedummyword\ref - \definedummyword\samp - \definedummyword\strong - \definedummyword\tie - \definedummyword\uref - \definedummyword\url - \definedummyword\var - \definedummyword\verb - \definedummyword\w - \definedummyword\xref -} - -% \indexnofonts is used when outputting the strings to sort the index -% by, and when constructing control sequence names. It eliminates all -% control sequences and just writes whatever the best ASCII sort string -% would be for a given command (usually its argument). -% -\def\indexnofonts{% - % Accent commands should become @asis. - \def\definedummyaccent##1{\let##1\asis}% - % We can just ignore other control letters. - \def\definedummyletter##1{\let##1\empty}% - % Hopefully, all control words can become @asis. - \let\definedummyword\definedummyaccent - % - \commondummiesnofonts - % - % Don't no-op \tt, since it isn't a user-level command - % and is used in the definitions of the active chars like <, >, |, etc. - % Likewise with the other plain tex font commands. - %\let\tt=\asis - % - \def\ { }% - \def\@{@}% - % how to handle braces? - \def\_{\normalunderscore}% - % - % Non-English letters. - \def\AA{AA}% - \def\AE{AE}% - \def\L{L}% - \def\OE{OE}% - \def\O{O}% - \def\aa{aa}% - \def\ae{ae}% - \def\l{l}% - \def\oe{oe}% - \def\o{o}% - \def\ss{ss}% - \def\exclamdown{!}% - \def\questiondown{?}% - \def\ordf{a}% - \def\ordm{o}% - % - \def\LaTeX{LaTeX}% - \def\TeX{TeX}% - % - % Assorted special characters. - % (The following {} will end up in the sort string, but that's ok.) - \def\bullet{bullet}% - \def\comma{,}% - \def\copyright{copyright}% - \def\registeredsymbol{R}% - \def\dots{...}% - \def\enddots{...}% - \def\equiv{==}% - \def\error{error}% - \def\euro{euro}% - \def\expansion{==>}% - \def\minus{-}% - \def\pounds{pounds}% - \def\point{.}% - \def\print{-|}% - \def\result{=>}% - \def\textdegree{degrees}% - % - % We need to get rid of all macros, leaving only the arguments (if present). - % Of course this is not nearly correct, but it is the best we can do for now. - % makeinfo does not expand macros in the argument to @deffn, which ends up - % writing an index entry, and texindex isn't prepared for an index sort entry - % that starts with \. - % - % Since macro invocations are followed by braces, we can just redefine them - % to take a single TeX argument. The case of a macro invocation that - % goes to end-of-line is not handled. - % - \macrolist -} - -\let\indexbackslash=0 %overridden during \printindex. -\let\SETmarginindex=\relax % put index entries in margin (undocumented)? - -% Most index entries go through here, but \dosubind is the general case. -% #1 is the index name, #2 is the entry text. -\def\doind#1#2{\dosubind{#1}{#2}{}} - -% Workhorse for all \fooindexes. -% #1 is name of index, #2 is stuff to put there, #3 is subentry -- -% empty if called from \doind, as we usually are (the main exception -% is with most defuns, which call us directly). -% -\def\dosubind#1#2#3{% - \iflinks - {% - % Store the main index entry text (including the third arg). - \toks0 = {#2}% - % If third arg is present, precede it with a space. - \def\thirdarg{#3}% - \ifx\thirdarg\empty \else - \toks0 = \expandafter{\the\toks0 \space #3}% - \fi - % - \edef\writeto{\csname#1indfile\endcsname}% - % - \safewhatsit\dosubindwrite - }% - \fi -} - -% Write the entry in \toks0 to the index file: -% -\def\dosubindwrite{% - % Put the index entry in the margin if desired. - \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% - \fi - % - % Remember, we are within a group. - \indexdummies % Must do this here, since \bf, etc expand at this stage - \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now - % so it will be output as is; and it will print as backslash. - % - % Process the index entry with all font commands turned off, to - % get the string to sort by. - {\indexnofonts - \edef\temp{\the\toks0}% need full expansion - \xdef\indexsorttmp{\temp}% - }% - % - % Set up the complete index entry, with both the sort key and - % the original text, including any font commands. We write - % three arguments to \entry to the .?? file (four in the - % subentry case), texindex reduces to two when writing the .??s - % sorted result. - \edef\temp{% - \write\writeto{% - \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% - }% - \temp -} - -% Take care of unwanted page breaks/skips around a whatsit: -% -% If a skip is the last thing on the list now, preserve it -% by backing up by \lastskip, doing the \write, then inserting -% the skip again. Otherwise, the whatsit generated by the -% \write or \pdfdest will make \lastskip zero. The result is that -% sequences like this: -% @end defun -% @tindex whatever -% @defun ... -% will have extra space inserted, because the \medbreak in the -% start of the @defun won't see the skip inserted by the @end of -% the previous defun. -% -% But don't do any of this if we're not in vertical mode. We -% don't want to do a \vskip and prematurely end a paragraph. -% -% Avoid page breaks due to these extra skips, too. -% -% But wait, there is a catch there: -% We'll have to check whether \lastskip is zero skip. \ifdim is not -% sufficient for this purpose, as it ignores stretch and shrink parts -% of the skip. The only way seems to be to check the textual -% representation of the skip. -% -% The following is almost like \def\zeroskipmacro{0.0pt} except that -% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). -% -\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} -% -\newskip\whatsitskip -\newcount\whatsitpenalty -% -% ..., ready, GO: -% -\def\safewhatsit#1{% -\ifhmode - #1% -\else - % \lastskip and \lastpenalty cannot both be nonzero simultaneously. - \whatsitskip = \lastskip - \edef\lastskipmacro{\the\lastskip}% - \whatsitpenalty = \lastpenalty - % - % If \lastskip is nonzero, that means the last item was a - % skip. And since a skip is discardable, that means this - % -\skip0 glue we're inserting is preceded by a - % non-discardable item, therefore it is not a potential - % breakpoint, therefore no \nobreak needed. - \ifx\lastskipmacro\zeroskipmacro - \else - \vskip-\whatsitskip - \fi - % - #1% - % - \ifx\lastskipmacro\zeroskipmacro - % If \lastskip was zero, perhaps the last item was a penalty, and - % perhaps it was >=10000, e.g., a \nobreak. In that case, we want - % to re-insert the same penalty (values >10000 are used for various - % signals); since we just inserted a non-discardable item, any - % following glue (such as a \parskip) would be a breakpoint. For example: - % - % @deffn deffn-whatever - % @vindex index-whatever - % Description. - % would allow a break between the index-whatever whatsit - % and the "Description." paragraph. - \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi - \else - % On the other hand, if we had a nonzero \lastskip, - % this make-up glue would be preceded by a non-discardable item - % (the whatsit from the \write), so we must insert a \nobreak. - \nobreak\vskip\whatsitskip - \fi -\fi -} - -% The index entry written in the file actually looks like -% \entry {sortstring}{page}{topic} -% or -% \entry {sortstring}{page}{topic}{subtopic} -% The texindex program reads in these files and writes files -% containing these kinds of lines: -% \initial {c} -% before the first topic whose initial is c -% \entry {topic}{pagelist} -% for a topic that is used without subtopics -% \primary {topic} -% for the beginning of a topic that is used with subtopics -% \secondary {subtopic}{pagelist} -% for each subtopic. - -% Define the user-accessible indexing commands -% @findex, @vindex, @kindex, @cindex. - -\def\findex {\fnindex} -\def\kindex {\kyindex} -\def\cindex {\cpindex} -\def\vindex {\vrindex} -\def\tindex {\tpindex} -\def\pindex {\pgindex} - -\def\cindexsub {\begingroup\obeylines\cindexsub} -{\obeylines % -\gdef\cindexsub "#1" #2^^M{\endgroup % -\dosubind{cp}{#2}{#1}}} - -% Define the macros used in formatting output of the sorted index material. - -% @printindex causes a particular index (the ??s file) to get printed. -% It does not print any chapter heading (usually an @unnumbered). -% -\parseargdef\printindex{\begingroup - \dobreak \chapheadingskip{10000}% - % - \smallfonts \rm - \tolerance = 9500 - \plainfrenchspacing - \everypar = {}% don't want the \kern\-parindent from indentation suppression. - % - % See if the index file exists and is nonempty. - % Change catcode of @ here so that if the index file contains - % \initial {@} - % as its first line, TeX doesn't complain about mismatched braces - % (because it thinks @} is a control sequence). - \catcode`\@ = 11 - \openin 1 \jobname.#1s - \ifeof 1 - % \enddoublecolumns gets confused if there is no text in the index, - % and it loses the chapter title and the aux file entries for the - % index. The easiest way to prevent this problem is to make sure - % there is some text. - \putwordIndexNonexistent - \else - % - % If the index file exists but is empty, then \openin leaves \ifeof - % false. We have to make TeX try to read something from the file, so - % it can discover if there is anything in it. - \read 1 to \temp - \ifeof 1 - \putwordIndexIsEmpty - \else - % Index files are almost Texinfo source, but we use \ as the escape - % character. It would be better to use @, but that's too big a change - % to make right now. - \def\indexbackslash{\backslashcurfont}% - \catcode`\\ = 0 - \escapechar = `\\ - \begindoublecolumns - \input \jobname.#1s - \enddoublecolumns - \fi - \fi - \closein 1 -\endgroup} - -% These macros are used by the sorted index file itself. -% Change them to control the appearance of the index. - -\def\initial#1{{% - % Some minor font changes for the special characters. - \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt - % - % Remove any glue we may have, we'll be inserting our own. - \removelastskip - % - % We like breaks before the index initials, so insert a bonus. - \nobreak - \vskip 0pt plus 3\baselineskip - \penalty 0 - \vskip 0pt plus -3\baselineskip - % - % Typeset the initial. Making this add up to a whole number of - % baselineskips increases the chance of the dots lining up from column - % to column. It still won't often be perfect, because of the stretch - % we need before each entry, but it's better. - % - % No shrink because it confuses \balancecolumns. - \vskip 1.67\baselineskip plus .5\baselineskip - \leftline{\secbf #1}% - % Do our best not to break after the initial. - \nobreak - \vskip .33\baselineskip plus .1\baselineskip -}} - -% \entry typesets a paragraph consisting of the text (#1), dot leaders, and -% then page number (#2) flushed to the right margin. It is used for index -% and table of contents entries. The paragraph is indented by \leftskip. -% -% A straightforward implementation would start like this: -% \def\entry#1#2{... -% But this frozes the catcodes in the argument, and can cause problems to -% @code, which sets - active. This problem was fixed by a kludge--- -% ``-'' was active throughout whole index, but this isn't really right. -% -% The right solution is to prevent \entry from swallowing the whole text. -% --kasal, 21nov03 -\def\entry{% - \begingroup - % - % Start a new paragraph if necessary, so our assignments below can't - % affect previous text. - \par - % - % Do not fill out the last line with white space. - \parfillskip = 0in - % - % No extra space above this paragraph. - \parskip = 0in - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % \hangindent is only relevant when the entry text and page number - % don't both fit on one line. In that case, bob suggests starting the - % dots pretty far over on the line. Unfortunately, a large - % indentation looks wrong when the entry text itself is broken across - % lines. So we use a small indentation and put up with long leaders. - % - % \hangafter is reset to 1 (which is the value we want) at the start - % of each paragraph, so we need not do anything with that. - \hangindent = 2em - % - % When the entry text needs to be broken, just fill out the first line - % with blank space. - \rightskip = 0pt plus1fil - % - % A bit of stretch before each entry for the benefit of balancing - % columns. - \vskip 0pt plus1pt - % - % Swallow the left brace of the text (first parameter): - \afterassignment\doentry - \let\temp = -} -\def\doentry{% - \bgroup % Instead of the swallowed brace. - \noindent - \aftergroup\finishentry - % And now comes the text of the entry. -} -\def\finishentry#1{% - % #1 is the page number. - % - % The following is kludged to not output a line of dots in the index if - % there are no page numbers. The next person who breaks this will be - % cursed by a Unix daemon. - \def\tempa{{\rm }}% - \def\tempb{#1}% - \edef\tempc{\tempa}% - \edef\tempd{\tempb}% - \ifx\tempc\tempd - \ % - \else - % - % If we must, put the page number on a line of its own, and fill out - % this line with blank space. (The \hfil is overwhelmed with the - % fill leaders glue in \indexdotfill if the page number does fit.) - \hfil\penalty50 - \null\nobreak\indexdotfill % Have leaders before the page number. - % - % The `\ ' here is removed by the implicit \unskip that TeX does as - % part of (the primitive) \par. Without it, a spurious underfull - % \hbox ensues. - \ifpdf - \pdfgettoks#1.% - \ \the\toksA - \else - \ #1% - \fi - \fi - \par - \endgroup -} - -% Like plain.tex's \dotfill, except uses up at least 1 em. -\def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} - -\def\primary #1{\line{#1\hfil}} - -\newskip\secondaryindent \secondaryindent=0.5cm -\def\secondary#1#2{{% - \parfillskip=0in - \parskip=0in - \hangindent=1in - \hangafter=1 - \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill - \ifpdf - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \else - #2 - \fi - \par -}} - -% Define two-column mode, which we use to typeset indexes. -% Adapted from the TeXbook, page 416, which is to say, -% the manmac.tex format used to print the TeXbook itself. -\catcode`\@=11 - -\newbox\partialpage -\newdimen\doublecolumnhsize - -\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns - % Grab any single-column material above us. - \output = {% - % - % Here is a possibility not foreseen in manmac: if we accumulate a - % whole lot of material, we might end up calling this \output - % routine twice in a row (see the doublecol-lose test, which is - % essentially a couple of indexes with @setchapternewpage off). In - % that case we just ship out what is in \partialpage with the normal - % output routine. Generally, \partialpage will be empty when this - % runs and this will be a no-op. See the indexspread.tex test case. - \ifvoid\partialpage \else - \onepageout{\pagecontents\partialpage}% - \fi - % - \global\setbox\partialpage = \vbox{% - % Unvbox the main output page. - \unvbox\PAGE - \kern-\topskip \kern\baselineskip - }% - }% - \eject % run that output routine to set \partialpage - % - % Use the double-column output routine for subsequent pages. - \output = {\doublecolumnout}% - % - % Change the page size parameters. We could do this once outside this - % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 - % format, but then we repeat the same computation. Repeating a couple - % of assignments once per index is clearly meaningless for the - % execution time, so we may as well do it in one place. - % - % First we halve the line length, less a little for the gutter between - % the columns. We compute the gutter based on the line length, so it - % changes automatically with the paper format. The magic constant - % below is chosen so that the gutter has the same value (well, +-<1pt) - % as it did when we hard-coded it. - % - % We put the result in a separate register, \doublecolumhsize, so we - % can restore it in \pagesofar, after \hsize itself has (potentially) - % been clobbered. - % - \doublecolumnhsize = \hsize - \advance\doublecolumnhsize by -.04154\hsize - \divide\doublecolumnhsize by 2 - \hsize = \doublecolumnhsize - % - % Double the \vsize as well. (We don't need a separate register here, - % since nobody clobbers \vsize.) - \vsize = 2\vsize -} - -% The double-column output routine for all double-column pages except -% the last. -% -\def\doublecolumnout{% - \splittopskip=\topskip \splitmaxdepth=\maxdepth - % Get the available space for the double columns -- the normal - % (undoubled) page height minus any material left over from the - % previous page. - \dimen@ = \vsize - \divide\dimen@ by 2 - \advance\dimen@ by -\ht\partialpage - % - % box0 will be the left-hand column, box2 the right. - \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ - \onepageout\pagesofar - \unvbox255 - \penalty\outputpenalty -} -% -% Re-output the contents of the output page -- any previous material, -% followed by the two boxes we just split, in box0 and box2. -\def\pagesofar{% - \unvbox\partialpage - % - \hsize = \doublecolumnhsize - \wd0=\hsize \wd2=\hsize - \hbox to\pagewidth{\box0\hfil\box2}% -} -% -% All done with double columns. -\def\enddoublecolumns{% - % The following penalty ensures that the page builder is exercised - % _before_ we change the output routine. This is necessary in the - % following situation: - % - % The last section of the index consists only of a single entry. - % Before this section, \pagetotal is less than \pagegoal, so no - % break occurs before the last section starts. However, the last - % section, consisting of \initial and the single \entry, does not - % fit on the page and has to be broken off. Without the following - % penalty the page builder will not be exercised until \eject - % below, and by that time we'll already have changed the output - % routine to the \balancecolumns version, so the next-to-last - % double-column page will be processed with \balancecolumns, which - % is wrong: The two columns will go to the main vertical list, with - % the broken-off section in the recent contributions. As soon as - % the output routine finishes, TeX starts reconsidering the page - % break. The two columns and the broken-off section both fit on the - % page, because the two columns now take up only half of the page - % goal. When TeX sees \eject from below which follows the final - % section, it invokes the new output routine that we've set after - % \balancecolumns below; \onepageout will try to fit the two columns - % and the final section into the vbox of \pageheight (see - % \pagebody), causing an overfull box. - % - % Note that glue won't work here, because glue does not exercise the - % page builder, unlike penalties (see The TeXbook, pp. 280-281). - \penalty0 - % - \output = {% - % Split the last of the double-column material. Leave it on the - % current page, no automatic page break. - \balancecolumns - % - % If we end up splitting too much material for the current page, - % though, there will be another page break right after this \output - % invocation ends. Having called \balancecolumns once, we do not - % want to call it again. Therefore, reset \output to its normal - % definition right away. (We hope \balancecolumns will never be - % called on to balance too much material, but if it is, this makes - % the output somewhat more palatable.) - \global\output = {\onepageout{\pagecontents\PAGE}}% - }% - \eject - \endgroup % started in \begindoublecolumns - % - % \pagegoal was set to the doubled \vsize above, since we restarted - % the current page. We're now back to normal single-column - % typesetting, so reset \pagegoal to the normal \vsize (after the - % \endgroup where \vsize got restored). - \pagegoal = \vsize -} -% -% Called at the end of the double column material. -\def\balancecolumns{% - \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. - \dimen@ = \ht0 - \advance\dimen@ by \topskip - \advance\dimen@ by-\baselineskip - \divide\dimen@ by 2 % target to split to - %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% - \splittopskip = \topskip - % Loop until we get a decent breakpoint. - {% - \vbadness = 10000 - \loop - \global\setbox3 = \copy0 - \global\setbox1 = \vsplit3 to \dimen@ - \ifdim\ht3>\dimen@ - \global\advance\dimen@ by 1pt - \repeat - }% - %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% - \setbox0=\vbox to\dimen@{\unvbox1}% - \setbox2=\vbox to\dimen@{\unvbox3}% - % - \pagesofar -} -\catcode`\@ = \other - - -\message{sectioning,} -% Chapters, sections, etc. - -% \unnumberedno is an oxymoron, of course. But we count the unnumbered -% sections so that we can refer to them unambiguously in the pdf -% outlines by their "section number". We avoid collisions with chapter -% numbers by starting them at 10000. (If a document ever has 10000 -% chapters, we're in trouble anyway, I'm sure.) -\newcount\unnumberedno \unnumberedno = 10000 -\newcount\chapno -\newcount\secno \secno=0 -\newcount\subsecno \subsecno=0 -\newcount\subsubsecno \subsubsecno=0 - -% This counter is funny since it counts through charcodes of letters A, B, ... -\newcount\appendixno \appendixno = `\@ -% -% \def\appendixletter{\char\the\appendixno} -% We do the following ugly conditional instead of the above simple -% construct for the sake of pdftex, which needs the actual -% letter in the expansion, not just typeset. -% -\def\appendixletter{% - \ifnum\appendixno=`A A% - \else\ifnum\appendixno=`B B% - \else\ifnum\appendixno=`C C% - \else\ifnum\appendixno=`D D% - \else\ifnum\appendixno=`E E% - \else\ifnum\appendixno=`F F% - \else\ifnum\appendixno=`G G% - \else\ifnum\appendixno=`H H% - \else\ifnum\appendixno=`I I% - \else\ifnum\appendixno=`J J% - \else\ifnum\appendixno=`K K% - \else\ifnum\appendixno=`L L% - \else\ifnum\appendixno=`M M% - \else\ifnum\appendixno=`N N% - \else\ifnum\appendixno=`O O% - \else\ifnum\appendixno=`P P% - \else\ifnum\appendixno=`Q Q% - \else\ifnum\appendixno=`R R% - \else\ifnum\appendixno=`S S% - \else\ifnum\appendixno=`T T% - \else\ifnum\appendixno=`U U% - \else\ifnum\appendixno=`V V% - \else\ifnum\appendixno=`W W% - \else\ifnum\appendixno=`X X% - \else\ifnum\appendixno=`Y Y% - \else\ifnum\appendixno=`Z Z% - % The \the is necessary, despite appearances, because \appendixletter is - % expanded while writing the .toc file. \char\appendixno is not - % expandable, thus it is written literally, thus all appendixes come out - % with the same letter (or @) in the toc without it. - \else\char\the\appendixno - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} - -% Each @chapter defines this as the name of the chapter. -% page headings and footings can use it. @section does likewise. -% However, they are not reliable, because we don't use marks. -\def\thischapter{} -\def\thissection{} - -\newcount\absseclevel % used to calculate proper heading level -\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count - -% @raisesections: treat @section as chapter, @subsection as section, etc. -\def\raisesections{\global\advance\secbase by -1} -\let\up=\raisesections % original BFox name - -% @lowersections: treat @chapter as section, @section as subsection, etc. -\def\lowersections{\global\advance\secbase by 1} -\let\down=\lowersections % original BFox name - -% we only have subsub. -\chardef\maxseclevel = 3 -% -% A numbered section within an unnumbered changes to unnumbered too. -% To achieve this, remember the "biggest" unnum. sec. we are currently in: -\chardef\unmlevel = \maxseclevel -% -% Trace whether the current chapter is an appendix or not: -% \chapheadtype is "N" or "A", unnumbered chapters are ignored. -\def\chapheadtype{N} - -% Choose a heading macro -% #1 is heading type -% #2 is heading level -% #3 is text for heading -\def\genhead#1#2#3{% - % Compute the abs. sec. level: - \absseclevel=#2 - \advance\absseclevel by \secbase - % Make sure \absseclevel doesn't fall outside the range: - \ifnum \absseclevel < 0 - \absseclevel = 0 - \else - \ifnum \absseclevel > 3 - \absseclevel = 3 - \fi - \fi - % The heading type: - \def\headtype{#1}% - \if \headtype U% - \ifnum \absseclevel < \unmlevel - \chardef\unmlevel = \absseclevel - \fi - \else - % Check for appendix sections: - \ifnum \absseclevel = 0 - \edef\chapheadtype{\headtype}% - \else - \if \headtype A\if \chapheadtype N% - \errmessage{@appendix... within a non-appendix chapter}% - \fi\fi - \fi - % Check for numbered within unnumbered: - \ifnum \absseclevel > \unmlevel - \def\headtype{U}% - \else - \chardef\unmlevel = 3 - \fi - \fi - % Now print the heading: - \if \headtype U% - \ifcase\absseclevel - \unnumberedzzz{#3}% - \or \unnumberedseczzz{#3}% - \or \unnumberedsubseczzz{#3}% - \or \unnumberedsubsubseczzz{#3}% - \fi - \else - \if \headtype A% - \ifcase\absseclevel - \appendixzzz{#3}% - \or \appendixsectionzzz{#3}% - \or \appendixsubseczzz{#3}% - \or \appendixsubsubseczzz{#3}% - \fi - \else - \ifcase\absseclevel - \chapterzzz{#3}% - \or \seczzz{#3}% - \or \numberedsubseczzz{#3}% - \or \numberedsubsubseczzz{#3}% - \fi - \fi - \fi - \suppressfirstparagraphindent -} - -% an interface: -\def\numhead{\genhead N} -\def\apphead{\genhead A} -\def\unnmhead{\genhead U} - -% @chapter, @appendix, @unnumbered. Increment top-level counter, reset -% all lower-level sectioning counters to zero. -% -% Also set \chaplevelprefix, which we prepend to @float sequence numbers -% (e.g., figures), q.v. By default (before any chapter), that is empty. -\let\chaplevelprefix = \empty -% -\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz -\def\chapterzzz#1{% - % section resetting is \global in case the chapter is in a group, such - % as an @include file. - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\chapno by 1 - % - % Used for \float. - \gdef\chaplevelprefix{\the\chapno.}% - \resetallfloatnos - % - \message{\putwordChapter\space \the\chapno}% - % - % Write the actual heading. - \chapmacro{#1}{Ynumbered}{\the\chapno}% - % - % So @section and the like are numbered underneath this chapter. - \global\let\section = \numberedsec - \global\let\subsection = \numberedsubsec - \global\let\subsubsection = \numberedsubsubsec -} - -\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz -\def\appendixzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\appendixno by 1 - \gdef\chaplevelprefix{\appendixletter.}% - \resetallfloatnos - % - \def\appendixnum{\putwordAppendix\space \appendixletter}% - \message{\appendixnum}% - % - \chapmacro{#1}{Yappendix}{\appendixletter}% - % - \global\let\section = \appendixsec - \global\let\subsection = \appendixsubsec - \global\let\subsubsection = \appendixsubsubsec -} - -\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz -\def\unnumberedzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\unnumberedno by 1 - % - % Since an unnumbered has no number, no prefix for figures. - \global\let\chaplevelprefix = \empty - \resetallfloatnos - % - % This used to be simply \message{#1}, but TeX fully expands the - % argument to \message. Therefore, if #1 contained @-commands, TeX - % expanded them. For example, in `@unnumbered The @cite{Book}', TeX - % expanded @cite (which turns out to cause errors because \cite is meant - % to be executed, not expanded). - % - % Anyway, we don't want the fully-expanded definition of @cite to appear - % as a result of the \message, we just want `@cite' itself. We use - % \the<toks register> to achieve this: TeX expands \the<toks> only once, - % simply yielding the contents of <toks register>. (We also do this for - % the toc entries.) - \toks0 = {#1}% - \message{(\the\toks0)}% - % - \chapmacro{#1}{Ynothing}{\the\unnumberedno}% - % - \global\let\section = \unnumberedsec - \global\let\subsection = \unnumberedsubsec - \global\let\subsubsection = \unnumberedsubsubsec -} - -% @centerchap is like @unnumbered, but the heading is centered. -\outer\parseargdef\centerchap{% - % Well, we could do the following in a group, but that would break - % an assumption that \chapmacro is called at the outermost level. - % Thus we are safer this way: --kasal, 24feb04 - \let\centerparametersmaybe = \centerparameters - \unnmhead0{#1}% - \let\centerparametersmaybe = \relax -} - -% @top is like @unnumbered. -\let\top\unnumbered - -% Sections. -\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz -\def\seczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% -} - -\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz -\def\appendixsectionzzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% -} -\let\appendixsec\appendixsection - -\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz -\def\unnumberedseczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% -} - -% Subsections. -\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz -\def\numberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% -} - -\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz -\def\appendixsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno}% -} - -\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz -\def\unnumberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno}% -} - -% Subsubsections. -\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz -\def\numberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynumbered}% - {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz -\def\appendixsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz -\def\unnumberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -% These macros control what the section commands do, according -% to what kind of chapter we are in (ordinary, appendix, or unnumbered). -% Define them by default for a numbered chapter. -\let\section = \numberedsec -\let\subsection = \numberedsubsec -\let\subsubsection = \numberedsubsubsec - -% Define @majorheading, @heading and @subheading - -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. - - -\def\majorheading{% - {\advance\chapheadingskip by 10pt \chapbreak }% - \parsearg\chapheadingzzz -} - -\def\chapheading{\chapbreak \parsearg\chapheadingzzz} -\def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}% - \bigskip \par\penalty 200\relax - \suppressfirstparagraphindent -} - -% @heading, @subheading, @subsubheading. -\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} - -% These macros generate a chapter, section, etc. heading only -% (including whitespace, linebreaking, etc. around it), -% given all the information in convenient, parsed form. - -%%% Args are the skip and penalty (usually negative) -\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} - -%%% Define plain chapter starts, and page on/off switching for it -% Parameter controlling skip before chapter headings (if needed) - -\newskip\chapheadingskip - -\def\chapbreak{\dobreak \chapheadingskip {-4000}} -\def\chappager{\par\vfill\supereject} -\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi} - -\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} - -\def\CHAPPAGoff{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chapbreak -\global\let\pagealignmacro=\chappager} - -\def\CHAPPAGon{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chappager -\global\let\pagealignmacro=\chappager -\global\def\HEADINGSon{\HEADINGSsingle}} - -\def\CHAPPAGodd{% -\global\let\contentsalignmacro = \chapoddpage -\global\let\pchapsepmacro=\chapoddpage -\global\let\pagealignmacro=\chapoddpage -\global\def\HEADINGSon{\HEADINGSdouble}} - -\CHAPPAGon - -% Chapter opening. -% -% #1 is the text, #2 is the section type (Ynumbered, Ynothing, -% Yappendix, Yomitfromtoc), #3 the chapter number. -% -% To test against our argument. -\def\Ynothingkeyword{Ynothing} -\def\Yomitfromtockeyword{Yomitfromtoc} -\def\Yappendixkeyword{Yappendix} -% -\def\chapmacro#1#2#3{% - \pchapsepmacro - {% - \chapfonts \rm - % - % Have to define \thissection before calling \donoderef, because the - % xref code eventually uses it. On the other hand, it has to be called - % after \pchapsepmacro, or the headline will change too soon. - \gdef\thissection{#1}% - \gdef\thischaptername{#1}% - % - % Only insert the separating space if we have a chapter/appendix - % number, and don't print the unnumbered ``number''. - \def\temptype{#2}% - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unnchap}% - \gdef\thischapternum{}% - \gdef\thischapter{#1}% - \else\ifx\temptype\Yomitfromtockeyword - \setbox0 = \hbox{}% contents like unnumbered, but no toc entry - \def\toctype{omit}% - \gdef\thischapternum{}% - \gdef\thischapter{}% - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% - \def\toctype{app}% - \xdef\thischapternum{\appendixletter}% - % We don't substitute the actual chapter name into \thischapter - % because we don't want its macros evaluated now. And we don't - % use \thissection because that changes with each section. - % - \xdef\thischapter{\putwordAppendix{} \appendixletter: - \noexpand\thischaptername}% - \else - \setbox0 = \hbox{#3\enspace}% - \def\toctype{numchap}% - \xdef\thischapternum{\the\chapno}% - \xdef\thischapter{\putwordChapter{} \the\chapno: - \noexpand\thischaptername}% - \fi\fi\fi - % - % Write the toc entry for this chapter. Must come before the - % \donoderef, because we include the current node name in the toc - % entry, and \donoderef resets it to empty. - \writetocentry{\toctype}{#1}{#3}% - % - % For pdftex, we have to write out the node definition (aka, make - % the pdfdest) after any page break, but before the actual text has - % been typeset. If the destination for the pdf outline is after the - % text, then jumping from the outline may wind up with the text not - % being visible, for instance under high magnification. - \donoderef{#2}% - % - % Typeset the actual heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent=\wd0 \centerparametersmaybe - \unhbox0 #1\par}% - }% - \nobreak\bigskip % no page break after a chapter title - \nobreak -} - -% @centerchap -- centered and unnumbered. -\let\centerparametersmaybe = \relax -\def\centerparameters{% - \advance\rightskip by 3\rightskip - \leftskip = \rightskip - \parfillskip = 0pt -} - - -% I don't think this chapter style is supported any more, so I'm not -% updating it with the new noderef stuff. We'll see. --karl, 11aug03. -% -\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} -% -\def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\nobreak -} -\def\chfopen #1#2{\chapoddpage {\chapfonts -\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% -\par\penalty 5000 % -} -\def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rm #1}\hfill}}\bigskip \par\nobreak -} -\def\CHAPFopen{% - \global\let\chapmacro=\chfopen - \global\let\centerchapmacro=\centerchfopen} - - -% Section titles. These macros combine the section number parts and -% call the generic \sectionheading to do the printing. -% -\newskip\secheadingskip -\def\secheadingbreak{\dobreak \secheadingskip{-1000}} - -% Subsection titles. -\newskip\subsecheadingskip -\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} - -% Subsubsection titles. -\def\subsubsecheadingskip{\subsecheadingskip} -\def\subsubsecheadingbreak{\subsecheadingbreak} - - -% Print any size, any type, section title. -% -% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is -% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the -% section number. -% -\def\sectionheading#1#2#3#4{% - {% - % Switch to the right set of fonts. - \csname #2fonts\endcsname \rm - % - % Insert space above the heading. - \csname #2headingbreak\endcsname - % - % Only insert the space after the number if we have a section number. - \def\sectionlevel{#2}% - \def\temptype{#3}% - % - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unn}% - \gdef\thissection{#1}% - \else\ifx\temptype\Yomitfromtockeyword - % for @headings -- no section number, don't include in toc, - % and don't redefine \thissection. - \setbox0 = \hbox{}% - \def\toctype{omit}% - \let\sectionlevel=\empty - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{#4\enspace}% - \def\toctype{app}% - \gdef\thissection{#1}% - \else - \setbox0 = \hbox{#4\enspace}% - \def\toctype{num}% - \gdef\thissection{#1}% - \fi\fi\fi - % - % Write the toc entry (before \donoderef). See comments in \chapmacro. - \writetocentry{\toctype\sectionlevel}{#1}{#4}% - % - % Write the node reference (= pdf destination for pdftex). - % Again, see comments in \chapmacro. - \donoderef{#3}% - % - % Interline glue will be inserted when the vbox is completed. - % That glue will be a valid breakpoint for the page, since it'll be - % preceded by a whatsit (usually from the \donoderef, or from the - % \writetocentry if there was no node). We don't want to allow that - % break, since then the whatsits could end up on page n while the - % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. - \nobreak - % - % Output the actual section heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent=\wd0 % zero if no section number - \unhbox0 #1}% - }% - % Add extra space after the heading -- half of whatever came above it. - % Don't allow stretch, though. - \kern .5 \csname #2headingskip\endcsname - % - % Do not let the kern be a potential breakpoint, as it would be if it - % was followed by glue. - \nobreak - % - % We'll almost certainly start a paragraph next, so don't let that - % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) - \vskip-\parskip - % - % This is purely so the last item on the list is a known \penalty > - % 10000. This is so \startdefun can avoid allowing breakpoints after - % section headings. Otherwise, it would insert a valid breakpoint between: - % - % @section sec-whatever - % @deffn def-whatever - \penalty 10001 -} - - -\message{toc,} -% Table of contents. -\newwrite\tocfile - -% Write an entry to the toc file, opening it if necessary. -% Called from @chapter, etc. -% -% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} -% We append the current node name (if any) and page number as additional -% arguments for the \{chap,sec,...}entry macros which will eventually -% read this. The node name is used in the pdf outlines as the -% destination to jump to. -% -% We open the .toc file for writing here instead of at @setfilename (or -% any other fixed time) so that @contents can be anywhere in the document. -% But if #1 is `omit', then we don't do anything. This is used for the -% table of contents chapter openings themselves. -% -\newif\iftocfileopened -\def\omitkeyword{omit}% -% -\def\writetocentry#1#2#3{% - \edef\writetoctype{#1}% - \ifx\writetoctype\omitkeyword \else - \iftocfileopened\else - \immediate\openout\tocfile = \jobname.toc - \global\tocfileopenedtrue - \fi - % - \iflinks - {\atdummies - \edef\temp{% - \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% - \temp - }% - \fi - \fi - % - % Tell \shipout to create a pdf destination on each page, if we're - % writing pdf. These are used in the table of contents. We can't - % just write one on every page because the title pages are numbered - % 1 and 2 (the page numbers aren't printed), and so are the first - % two pages of the document. Thus, we'd have two destinations named - % `1', and two named `2'. - \ifpdf \global\pdfmakepagedesttrue \fi -} - - -% These characters do not print properly in the Computer Modern roman -% fonts, so we must take special care. This is more or less redundant -% with the Texinfo input format setup at the end of this file. -% -\def\activecatcodes{% - \catcode`\"=\active - \catcode`\$=\active - \catcode`\<=\active - \catcode`\>=\active - \catcode`\\=\active - \catcode`\^=\active - \catcode`\_=\active - \catcode`\|=\active - \catcode`\~=\active -} - - -% Read the toc file, which is essentially Texinfo input. -\def\readtocfile{% - \setupdatafile - \activecatcodes - \input \jobname.toc -} - -\newskip\contentsrightmargin \contentsrightmargin=1in -\newcount\savepageno -\newcount\lastnegativepageno \lastnegativepageno = -1 - -% Prepare to read what we've written to \tocfile. -% -\def\startcontents#1{% - % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. Thus, we maintain - % \contentsalignmacro in parallel with \pagealignmacro. - % From: Torbjorn Granlund <tege@matematik.su.se> - \contentsalignmacro - \immediate\closeout\tocfile - % - % Don't need to put `Contents' or `Short Contents' in the headline. - % It is abundantly clear what they are. - \def\thischapter{}% - \chapmacro{#1}{Yomitfromtoc}{}% - % - \savepageno = \pageno - \begingroup % Set up to handle contents files properly. - \raggedbottom % Worry more about breakpoints than the bottom. - \advance\hsize by -\contentsrightmargin % Don't use the full line length. - % - % Roman numerals for page numbers. - \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi -} - - -% Normal (long) toc. -\def\contents{% - \startcontents{\putwordTOC}% - \openin 1 \jobname.toc - \ifeof 1 \else - \readtocfile - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \ifeof 1 \else - \pdfmakeoutlines - \fi - \closein 1 - \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno -} - -% And just the chapters. -\def\summarycontents{% - \startcontents{\putwordShortTOC}% - % - \let\numchapentry = \shortchapentry - \let\appentry = \shortchapentry - \let\unnchapentry = \shortunnchapentry - % We want a true roman here for the page numbers. - \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf - \let\sl=\shortcontsl \let\tt=\shortconttt - \rm - \hyphenpenalty = 10000 - \advance\baselineskip by 1pt % Open it up a little. - \def\numsecentry##1##2##3##4{} - \let\appsecentry = \numsecentry - \let\unnsecentry = \numsecentry - \let\numsubsecentry = \numsecentry - \let\appsubsecentry = \numsecentry - \let\unnsubsecentry = \numsecentry - \let\numsubsubsecentry = \numsecentry - \let\appsubsubsecentry = \numsecentry - \let\unnsubsubsecentry = \numsecentry - \openin 1 \jobname.toc - \ifeof 1 \else - \readtocfile - \fi - \closein 1 - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno -} -\let\shortcontents = \summarycontents - -% Typeset the label for a chapter or appendix for the short contents. -% The arg is, e.g., `A' for an appendix, or `3' for a chapter. -% -\def\shortchaplabel#1{% - % This space should be enough, since a single number is .5em, and the - % widest letter (M) is 1em, at least in the Computer Modern fonts. - % But use \hss just in case. - % (This space doesn't include the extra space that gets added after - % the label; that gets put in by \shortchapentry above.) - % - % We'd like to right-justify chapter numbers, but that looks strange - % with appendix letters. And right-justifying numbers and - % left-justifying letters looks strange when there is less than 10 - % chapters. Have to read the whole toc once to know how many chapters - % there are before deciding ... - \hbox to 1em{#1\hss}% -} - -% These macros generate individual entries in the table of contents. -% The first argument is the chapter or section name. -% The last argument is the page number. -% The arguments in between are the chapter number, section number, ... - -% Chapters, in the main contents. -\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} -% -% Chapters, in the short toc. -% See comments in \dochapentry re vbox and related settings. -\def\shortchapentry#1#2#3#4{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% -} - -% Appendices, in the main contents. -% Need the word Appendix, and a fixed-size box. -% -\def\appendixbox#1{% - % We use M since it's probably the widest letter. - \setbox0 = \hbox{\putwordAppendix{} M}% - \hbox to \wd0{\putwordAppendix{} #1\hss}} -% -\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} - -% Unnumbered chapters. -\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} -\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} - -% Sections. -\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} -\let\appsecentry=\numsecentry -\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} - -% Subsections. -\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} -\let\appsubsecentry=\numsubsecentry -\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} - -% And subsubsections. -\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} -\let\appsubsubsecentry=\numsubsubsecentry -\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} - -% This parameter controls the indentation of the various levels. -% Same as \defaultparindent. -\newdimen\tocindent \tocindent = 15pt - -% Now for the actual typesetting. In all these, #1 is the text and #2 is the -% page number. -% -% If the toc has to be broken over pages, we want it to be at chapters -% if at all possible; hence the \penalty. -\def\dochapentry#1#2{% - \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip - \begingroup - \chapentryfonts - \tocentry{#1}{\dopageno\bgroup#2\egroup}% - \endgroup - \nobreak\vskip .25\baselineskip plus.1\baselineskip -} - -\def\dosecentry#1#2{\begingroup - \secentryfonts \leftskip=\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsecentry#1#2{\begingroup - \subsecentryfonts \leftskip=2\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsubsecentry#1#2{\begingroup - \subsubsecentryfonts \leftskip=3\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -% We use the same \entry macro as for the index entries. -\let\tocentry = \entry - -% Space between chapter (or whatever) number and the title. -\def\labelspace{\hskip1em \relax} - -\def\dopageno#1{{\rm #1}} -\def\doshortpageno#1{{\rm #1}} - -\def\chapentryfonts{\secfonts \rm} -\def\secentryfonts{\textfonts} -\def\subsecentryfonts{\textfonts} -\def\subsubsecentryfonts{\textfonts} - - -\message{environments,} -% @foo ... @end foo. - -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% -% Since these characters are used in examples, it should be an even number of -% \tt widths. Each \tt character is 1en, so two makes it 1em. -% -\def\point{$\star$} -\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} -\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} -\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} -\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} - -% The @error{} command. -% Adapted from the TeXbook's \boxit. -% -\newbox\errorbox -% -{\tentt \global\dimen0 = 3em}% Width of the box. -\dimen2 = .55pt % Thickness of rules -% The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} -% -\setbox\errorbox=\hbox to \dimen0{\hfil - \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. - \advance\hsize by -2\dimen2 % Rules. - \vbox{% - \hrule height\dimen2 - \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. - \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. - \kern3pt\vrule width\dimen2}% Space to right. - \hrule height\dimen2} - \hfil} -% -\def\error{\leavevmode\lower.7ex\copy\errorbox} - -% @tex ... @end tex escapes into raw Tex temporarily. -% One exception: @ is still an escape character, so that @end tex works. -% But \@ or @@ will get a plain tex @ character. - -\envdef\tex{% - \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 - \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 - \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie - \catcode `\%=14 - \catcode `\+=\other - \catcode `\"=\other - \catcode `\|=\other - \catcode `\<=\other - \catcode `\>=\other - \escapechar=`\\ - % - \let\b=\ptexb - \let\bullet=\ptexbullet - \let\c=\ptexc - \let\,=\ptexcomma - \let\.=\ptexdot - \let\dots=\ptexdots - \let\equiv=\ptexequiv - \let\!=\ptexexclam - \let\i=\ptexi - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \let\{=\ptexlbrace - \let\+=\tabalign - \let\}=\ptexrbrace - \let\/=\ptexslash - \let\*=\ptexstar - \let\t=\ptext - \let\frenchspacing=\plainfrenchspacing - % - \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% - \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% - \def\@{@}% -} -% There is no need to define \Etex. - -% Define @lisp ... @end lisp. -% @lisp environment forms a group so it can rebind things, -% including the definition of @end lisp (which normally is erroneous). - -% Amount to narrow the margins by for @lisp. -\newskip\lispnarrowing \lispnarrowing=0.4in - -% This is the definition that ^^M gets inside @lisp, @example, and other -% such environments. \null is better than a space, since it doesn't -% have any width. -\def\lisppar{\null\endgraf} - -% This space is always present above and below environments. -\newskip\envskipamount \envskipamount = 0pt - -% Make spacing and below environment symmetrical. We use \parskip here -% to help in doing that, since in @example-like environments \parskip -% is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip. -% -\def\aboveenvbreak{{% - % =10000 instead of <10000 because of a special case in \itemzzz and - % \sectionheading, q.v. - \ifnum \lastpenalty=10000 \else - \advance\envskipamount by \parskip - \endgraf - \ifdim\lastskip<\envskipamount - \removelastskip - % it's not a good place to break if the last penalty was \nobreak - % or better ... - \ifnum\lastpenalty<10000 \penalty-50 \fi - \vskip\envskipamount - \fi - \fi -}} - -\let\afterenvbreak = \aboveenvbreak - -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will -% also clear it, so that its embedded environments do the narrowing again. -\let\nonarrowing=\relax - -% @cartouche ... @end cartouche: draw rectangle w/rounded corners around -% environment contents. -\font\circle=lcircle10 -\newdimen\circthick -\newdimen\cartouter\newdimen\cartinner -\newskip\normbskip\newskip\normpskip\newskip\normlskip -\circthick=\fontdimen8\circle -% -\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth -\def\ctr{{\hskip 6pt\circle\char'010}} -\def\cbl{{\circle\char'012\hskip -6pt}} -\def\cbr{{\hskip 6pt\circle\char'011}} -\def\carttop{\hbox to \cartouter{\hskip\lskip - \ctl\leaders\hrule height\circthick\hfil\ctr - \hskip\rskip}} -\def\cartbot{\hbox to \cartouter{\hskip\lskip - \cbl\leaders\hrule height\circthick\hfil\cbr - \hskip\rskip}} -% -\newskip\lskip\newskip\rskip - -\envdef\cartouche{% - \ifhmode\par\fi % can't be in the midst of a paragraph. - \startsavinginserts - \lskip=\leftskip \rskip=\rightskip - \leftskip=0pt\rightskip=0pt % we want these *outside*. - \cartinner=\hsize \advance\cartinner by-\lskip - \advance\cartinner by-\rskip - \cartouter=\hsize - \advance\cartouter by 18.4pt % allow for 3pt kerns on either - % side, and for 6pt waste from - % each corner char, and rule thickness - \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip - % Flag to tell @lisp, etc., not to narrow margin. - \let\nonarrowing = t% - \vbox\bgroup - \baselineskip=0pt\parskip=0pt\lineskip=0pt - \carttop - \hbox\bgroup - \hskip\lskip - \vrule\kern3pt - \vbox\bgroup - \kern3pt - \hsize=\cartinner - \baselineskip=\normbskip - \lineskip=\normlskip - \parskip=\normpskip - \vskip -\parskip - \comment % For explanation, see the end of \def\group. -} -\def\Ecartouche{% - \ifhmode\par\fi - \kern3pt - \egroup - \kern3pt\vrule - \hskip\rskip - \egroup - \cartbot - \egroup - \checkinserts -} - - -% This macro is called at the beginning of all the @example variants, -% inside a group. -\def\nonfillstart{% - \aboveenvbreak - \hfuzz = 12pt % Don't be fussy - \sepspaces % Make spaces be word-separators rather than space tokens. - \let\par = \lisppar % don't ignore blank lines - \obeylines % each line of input is a line of output - \parskip = 0pt - \parindent = 0pt - \emergencystretch = 0pt % don't try to avoid overfull boxes - \ifx\nonarrowing\relax - \advance \leftskip by \lispnarrowing - \exdentamount=\lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \let\exdent=\nofillexdent -} - -% If you want all examples etc. small: @set dispenvsize small. -% If you want even small examples the full size: @set dispenvsize nosmall. -% This affects the following displayed environments: -% @example, @display, @format, @lisp -% -\def\smallword{small} -\def\nosmallword{nosmall} -\let\SETdispenvsize\relax -\def\setnormaldispenv{% - \ifx\SETdispenvsize\smallword - % end paragraph for sake of leading, in case document has no blank - % line. This is redundant with what happens in \aboveenvbreak, but - % we need to do it before changing the fonts, and it's inconvenient - % to change the fonts afterward. - \ifnum \lastpenalty=10000 \else \endgraf \fi - \smallexamplefonts \rm - \fi -} -\def\setsmalldispenv{% - \ifx\SETdispenvsize\nosmallword - \else - \ifnum \lastpenalty=10000 \else \endgraf \fi - \smallexamplefonts \rm - \fi -} - -% We often define two environments, @foo and @smallfoo. -% Let's do it by one command: -\def\makedispenv #1#2{ - \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} - \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} - \expandafter\let\csname E#1\endcsname \afterenvbreak - \expandafter\let\csname Esmall#1\endcsname \afterenvbreak -} - -% Define two synonyms: -\def\maketwodispenvs #1#2#3{ - \makedispenv{#1}{#3} - \makedispenv{#2}{#3} -} - -% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. -% -% @smallexample and @smalllisp: use smaller fonts. -% Originally contributed by Pavel@xerox. -% -\maketwodispenvs {lisp}{example}{% - \nonfillstart - \tt\quoteexpand - \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return -} -% @display/@smalldisplay: same as @lisp except keep current font. -% -\makedispenv {display}{% - \nonfillstart - \gobble -} - -% @format/@smallformat: same as @display except don't narrow margins. -% -\makedispenv{format}{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} - -% @flushleft: same as @format, but doesn't obey \SETdispenvsize. -\envdef\flushleft{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} -\let\Eflushleft = \afterenvbreak - -% @flushright. -% -\envdef\flushright{% - \let\nonarrowing = t% - \nonfillstart - \advance\leftskip by 0pt plus 1fill - \gobble -} -\let\Eflushright = \afterenvbreak - - -% @quotation does normal linebreaking (hence we can't use \nonfillstart) -% and narrows the margins. We keep \parskip nonzero in general, since -% we're doing normal filling. So, when using \aboveenvbreak and -% \afterenvbreak, temporarily make \parskip 0. -% -\envdef\quotation{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. - \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing - \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \parsearg\quotationlabel -} - -% We have retained a nonzero parskip for the environment, since we're -% doing normal filling. -% -\def\Equotation{% - \par - \ifx\quotationauthor\undefined\else - % indent a bit. - \leftline{\kern 2\leftskip \sl ---\quotationauthor}% - \fi - {\parskip=0pt \afterenvbreak}% -} - -% If we're given an argument, typeset it in bold with a colon after. -\def\quotationlabel#1{% - \def\temp{#1}% - \ifx\temp\empty \else - {\bf #1: }% - \fi -} - - -% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>} -% If we want to allow any <char> as delimiter, -% we need the curly braces so that makeinfo sees the @verb command, eg: -% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org -% -% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. -% -% [Knuth] p.344; only we need to do the other characters Texinfo sets -% active too. Otherwise, they get lost as the first character on a -% verbatim line. -\def\dospecials{% - \do\ \do\\\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% - \do\<\do\>\do\|\do\@\do+\do\"% -} -% -% [Knuth] p. 380 -\def\uncatcodespecials{% - \def\do##1{\catcode`##1=\other}\dospecials} -% -% [Knuth] pp. 380,381,391 -% Disable Spanish ligatures ?` and !` of \tt font -\begingroup - \catcode`\`=\active\gdef`{\relax\lq} -\endgroup -% -% Setup for the @verb command. -% -% Eight spaces for a tab -\begingroup - \catcode`\^^I=\active - \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} -\endgroup -% -\def\setupverb{% - \tt % easiest (and conventionally used) font for verbatim - \def\par{\leavevmode\endgraf}% - \catcode`\`=\active - \tabeightspaces - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces -} - -% Setup for the @verbatim environment -% -% Real tab expansion -\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount -% -\def\starttabbox{\setbox0=\hbox\bgroup} - -% Allow an option to not replace quotes with a regular directed right -% quote/apostrophe (char 0x27), but instead use the undirected quote -% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it -% the default, but it works for pasting with more pdf viewers (at least -% evince), the lilypond developers report. xpdf does work with the -% regular 0x27. -% -\def\codequoteright{% - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax - '% - \else - \char'15 - \fi -} -% -% and a similar option for the left quote char vs. a grave accent. -% Modern fonts display ASCII 0x60 as a grave accent, so some people like -% the code environments to do likewise. -% -\def\codequoteleft{% - \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax - `% - \else - \char'22 - \fi -} -% -\begingroup - \catcode`\^^I=\active - \gdef\tabexpand{% - \catcode`\^^I=\active - \def^^I{\leavevmode\egroup - \dimen0=\wd0 % the width so far, or since the previous tab - \divide\dimen0 by\tabw - \multiply\dimen0 by\tabw % compute previous multiple of \tabw - \advance\dimen0 by\tabw % advance to next multiple of \tabw - \wd0=\dimen0 \box0 \starttabbox - }% - } - \catcode`\'=\active - \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% - % - \catcode`\`=\active - \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% - % - \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% -\endgroup - -% start the verbatim environment. -\def\setupverbatim{% - \let\nonarrowing = t% - \nonfillstart - % Easiest (and conventionally used) font for verbatim - \tt - \def\par{\leavevmode\egroup\box0\endgraf}% - \catcode`\`=\active - \tabexpand - \quoteexpand - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces - \everypar{\starttabbox}% -} - -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a -% right brace, after last delimiter expect closing brace: -% -% \def\doverb'{'<char>#1<char>'}'{#1} -% -% [Knuth] p. 382; only eat outer {} -\begingroup - \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other - \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] -\endgroup -% -\def\verb{\begingroup\setupverb\doverb} -% -% -% Do the @verbatim magic: define the macro \doverbatim so that -% the (first) argument ends when '@end verbatim' is reached, ie: -% -% \def\doverbatim#1@end verbatim{#1} -% -% For Texinfo it's a lot easier than for LaTeX, -% because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}'. -% -% Inspired by LaTeX's verbatim command set [latex.ltx] -% -\begingroup - \catcode`\ =\active - \obeylines % - % ignore everything up to the first ^^M, that's the newline at the end - % of the @verbatim input line itself. Otherwise we get an extra blank - % line in the output. - \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% - % We really want {...\end verbatim} in the body of the macro, but - % without the active space; thus we have to use \xdef and \gobble. -\endgroup -% -\envdef\verbatim{% - \setupverbatim\doverbatim -} -\let\Everbatim = \afterenvbreak - - -% @verbatiminclude FILE - insert text of file in verbatim environment. -% -\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} -% -\def\doverbatiminclude#1{% - {% - \makevalueexpandable - \setupverbatim - \input #1 - \afterenvbreak - }% -} - -% @copying ... @end copying. -% Save the text away for @insertcopying later. -% -% We save the uninterpreted tokens, rather than creating a box. -% Saving the text in a box would be much easier, but then all the -% typesetting commands (@smallbook, font changes, etc.) have to be done -% beforehand -- and a) we want @copying to be done first in the source -% file; b) letting users define the frontmatter in as flexible order as -% possible is very desirable. -% -\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} -\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} -% -\def\insertcopying{% - \begingroup - \parindent = 0pt % paragraph indentation looks wrong on title page - \scanexp\copyingtext - \endgroup -} - - -\message{defuns,} -% @defun etc. - -\newskip\defbodyindent \defbodyindent=.4in -\newskip\defargsindent \defargsindent=50pt -\newskip\deflastargmargin \deflastargmargin=18pt -\newcount\defunpenalty - -% Start the processing of @deffn: -\def\startdefun{% - \ifnum\lastpenalty<10000 - \medbreak - \defunpenalty=10003 % Will keep this @deffn together with the - % following @def command, see below. - \else - % If there are two @def commands in a row, we'll have a \nobreak, - % which is there to keep the function description together with its - % header. But if there's nothing but headers, we need to allow a - % break somewhere. Check specifically for penalty 10002, inserted - % by \printdefunline, instead of 10000, since the sectioning - % commands also insert a nobreak penalty, and we don't want to allow - % a break between a section heading and a defun. - % - % As a minor refinement, we avoid "club" headers by signalling - % with penalty of 10003 after the very first @deffn in the - % sequence (see above), and penalty of 10002 after any following - % @def command. - \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi - % - % Similarly, after a section heading, do not allow a break. - % But do insert the glue. - \medskip % preceded by discardable penalty, so not a breakpoint - \fi - % - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent -} - -\def\dodefunx#1{% - % First, check whether we are in the right environment: - \checkenv#1% - % - % As above, allow line break if we have multiple x headers in a row. - % It's not a great place, though. - \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi - % - % And now, it's time to reuse the body of the original defun: - \expandafter\gobbledefun#1% -} -\def\gobbledefun#1\startdefun{} - -% \printdefunline \deffnheader{text} -% -\def\printdefunline#1#2{% - \begingroup - % call \deffnheader: - #1#2 \endheader - % common ending: - \interlinepenalty = 10000 - \advance\rightskip by 0pt plus 1fil - \endgraf - \nobreak\vskip -\parskip - \penalty\defunpenalty % signal to \startdefun and \dodefunx - % Some of the @defun-type tags do not enable magic parentheses, - % rendering the following check redundant. But we don't optimize. - \checkparencounts - \endgroup -} - -\def\Edefun{\endgraf\medbreak} - -% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remainnig is to define \deffnheader. -% -\def\makedefun#1{% - \expandafter\let\csname E#1\endcsname = \Edefun - \edef\temp{\noexpand\domakedefun - \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% - \temp -} - -% \domakedefun \deffn \deffnx \deffnheader -% -% Define \deffn and \deffnx, without parameters. -% \deffnheader has to be defined explicitly. -% -\def\domakedefun#1#2#3{% - \envdef#1{% - \startdefun - \parseargusing\activeparens{\printdefunline#3}% - }% - \def#2{\dodefunx#1}% - \def#3% -} - -%%% Untyped functions: - -% @deffn category name args -\makedefun{deffn}{\deffngeneral{}} - -% @deffn category class name args -\makedefun{defop}#1 {\defopon{#1\ \putwordon}} - -% \defopon {category on}class name args -\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deffngeneral {subind}category name args -% -\def\deffngeneral#1#2 #3 #4\endheader{% - % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. - \dosubind{fn}{\code{#3}}{#1}% - \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% -} - -%%% Typed functions: - -% @deftypefn category type name args -\makedefun{deftypefn}{\deftypefngeneral{}} - -% @deftypeop category class type name args -\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} - -% \deftypeopon {category on}class type name args -\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deftypefngeneral {subind}category type name args -% -\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% - \dosubind{fn}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} - -%%% Typed variables: - -% @deftypevr category type var args -\makedefun{deftypevr}{\deftypecvgeneral{}} - -% @deftypecv category class type var args -\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} - -% \deftypecvof {category of}class type var args -\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } - -% \deftypecvgeneral {subind}category type var args -% -\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% - \dosubind{vr}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} - -%%% Untyped variables: - -% @defvr category var args -\makedefun{defvr}#1 {\deftypevrheader{#1} {} } - -% @defcv category class var args -\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} - -% \defcvof {category of}class var args -\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } - -%%% Type: -% @deftp category name args -\makedefun{deftp}#1 #2 #3\endheader{% - \doind{tp}{\code{#2}}% - \defname{#1}{}{#2}\defunargs{#3\unskip}% -} - -% Remaining @defun-like shortcuts: -\makedefun{defun}{\deffnheader{\putwordDeffunc} } -\makedefun{defmac}{\deffnheader{\putwordDefmac} } -\makedefun{defspec}{\deffnheader{\putwordDefspec} } -\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } -\makedefun{defvar}{\defvrheader{\putwordDefvar} } -\makedefun{defopt}{\defvrheader{\putwordDefopt} } -\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } -\makedefun{defmethod}{\defopon\putwordMethodon} -\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} -\makedefun{defivar}{\defcvof\putwordInstanceVariableof} -\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} - -% \defname, which formats the name of the @def (not the args). -% #1 is the category, such as "Function". -% #2 is the return type, if any. -% #3 is the function name. -% -% We are followed by (but not passed) the arguments, if any. -% -\def\defname#1#2#3{% - % Get the values of \leftskip and \rightskip as they were outside the @def... - \advance\leftskip by -\defbodyindent - % - % How we'll format the type name. Putting it in brackets helps - % distinguish it from the body text that may end up on the next line - % just below it. - \def\temp{#1}% - \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} - % - % Figure out line sizes for the paragraph shape. - % The first line needs space for \box0; but if \rightskip is nonzero, - % we need only space for the part of \box0 which exceeds it: - \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip - % The continuations: - \dimen2=\hsize \advance\dimen2 by -\defargsindent - % (plain.tex says that \dimen1 should be used only as global.) - \parshape 2 0in \dimen0 \defargsindent \dimen2 - % - % Put the type name to the right margin. - \noindent - \hbox to 0pt{% - \hfil\box0 \kern-\hsize - % \hsize has to be shortened this way: - \kern\leftskip - % Intentionally do not respect \rightskip, since we need the space. - }% - % - % Allow all lines to be underfull without complaint: - \tolerance=10000 \hbadness=10000 - \exdentamount=\defbodyindent - {% - % defun fonts. We use typewriter by default (used to be bold) because: - % . we're printing identifiers, they should be in tt in principle. - % . in languages with many accents, such as Czech or French, it's - % common to leave accents off identifiers. The result looks ok in - % tt, but exceedingly strange in rm. - % . we don't want -- and --- to be treated as ligatures. - % . this still does not fix the ?` and !` ligatures, but so far no - % one has made identifiers using them :). - \df \tt - \def\temp{#2}% return value type - \ifx\temp\empty\else \tclose{\temp} \fi - #3% output function name - }% - {\rm\enskip}% hskip 0.5 em of \tenrm - % - \boldbrax - % arguments will be output next, if any. -} - -% Print arguments in slanted roman (not ttsl), inconsistently with using -% tt for the name. This is because literal text is sometimes needed in -% the argument list (groff manual), and ttsl and tt are not very -% distinguishable. Prevent hyphenation at `-' chars. -% -\def\defunargs#1{% - % use sl by default (not ttsl), - % tt for the names. - \df \sl \hyphenchar\font=0 - % - % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. - \let\var=\ttslanted - #1% - \sl\hyphenchar\font=45 -} - -% We want ()&[] to print specially on the defun line. -% -\def\activeparens{% - \catcode`\(=\active \catcode`\)=\active - \catcode`\[=\active \catcode`\]=\active - \catcode`\&=\active -} - -% Make control sequences which act like normal parenthesis chars. -\let\lparen = ( \let\rparen = ) - -% Be sure that we always have a definition for `(', etc. For example, -% if the fn name has parens in it, \boldbrax will not be in effect yet, -% so TeX would otherwise complain about undefined control sequence. -{ - \activeparens - \global\let(=\lparen \global\let)=\rparen - \global\let[=\lbrack \global\let]=\rbrack - \global\let& = \& - - \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} - \gdef\magicamp{\let&=\amprm} -} - -\newcount\parencount - -% If we encounter &foo, then turn on ()-hacking afterwards -\newif\ifampseen -\def\amprm#1 {\ampseentrue{\bf\ }} - -\def\parenfont{% - \ifampseen - % At the first level, print parens in roman, - % otherwise use the default font. - \ifnum \parencount=1 \rm \fi - \else - % The \sf parens (in \boldbrax) actually are a little bolder than - % the contained text. This is especially needed for [ and ] . - \sf - \fi -} -\def\infirstlevel#1{% - \ifampseen - \ifnum\parencount=1 - #1% - \fi - \fi -} -\def\bfafterword#1 {#1 \bf} - -\def\opnr{% - \global\advance\parencount by 1 - {\parenfont(}% - \infirstlevel \bfafterword -} -\def\clnr{% - {\parenfont)}% - \infirstlevel \sl - \global\advance\parencount by -1 -} - -\newcount\brackcount -\def\lbrb{% - \global\advance\brackcount by 1 - {\bf[}% -} -\def\rbrb{% - {\bf]}% - \global\advance\brackcount by -1 -} - -\def\checkparencounts{% - \ifnum\parencount=0 \else \badparencount \fi - \ifnum\brackcount=0 \else \badbrackcount \fi -} -\def\badparencount{% - \errmessage{Unbalanced parentheses in @def}% - \global\parencount=0 -} -\def\badbrackcount{% - \errmessage{Unbalanced square braces in @def}% - \global\brackcount=0 -} - - -\message{macros,} -% @macro. - -% To do this right we need a feature of e-TeX, \scantokens, -% which we arrange to emulate with a temporary file in ordinary TeX. -\ifx\eTeXversion\undefined - \newwrite\macscribble - \def\scantokens#1{% - \toks0={#1}% - \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{\the\toks0}% - \immediate\closeout\macscribble - \input \jobname.tmp - } -\fi - -\def\scanmacro#1{% - \begingroup - \newlinechar`\^^M - \let\xeatspaces\eatspaces - % Undo catcode changes of \startcontents and \doprintindex - % When called from @insertcopying or (short)caption, we need active - % backslash to get it printed correctly. Previously, we had - % \catcode`\\=\other instead. We'll see whether a problem appears - % with macro expansion. --kasal, 19aug04 - \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ - % ... and \example - \spaceisspace - % - % Append \endinput to make sure that TeX does not see the ending newline. - % I've verified that it is necessary both for e-TeX and for ordinary TeX - % --kasal, 29nov03 - \scantokens{#1\endinput}% - \endgroup -} - -\def\scanexp#1{% - \edef\temp{\noexpand\scanmacro{#1}}% - \temp -} - -\newcount\paramno % Count of parameters -\newtoks\macname % Macro name -\newif\ifrecursive % Is it recursive? - -% List of all defined macros in the form -% \definedummyword\macro1\definedummyword\macro2... -% Currently is also contains all @aliases; the list can be split -% if there is a need. -\def\macrolist{} - -% Add the macro to \macrolist -\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} -\def\addtomacrolistxxx#1{% - \toks0 = \expandafter{\macrolist\definedummyword#1}% - \xdef\macrolist{\the\toks0}% -} - -% Utility routines. -% This does \let #1 = #2, with \csnames; that is, -% \let \csname#1\endcsname = \csname#2\endcsname -% (except of course we have to play expansion games). -% -\def\cslet#1#2{% - \expandafter\let - \csname#1\expandafter\endcsname - \csname#2\endcsname -} - -% Trim leading and trailing spaces off a string. -% Concepts from aro-bend problem 15 (see CTAN). -{\catcode`\@=11 -\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} -\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} -\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} -\def\unbrace#1{#1} -\unbrace{\gdef\trim@@@ #1 } #2@{#1} -} - -% Trim a single trailing ^^M off a string. -{\catcode`\^^M=\other \catcode`\Q=3% -\gdef\eatcr #1{\eatcra #1Q^^MQ}% -\gdef\eatcra#1^^MQ{\eatcrb#1Q}% -\gdef\eatcrb#1Q#2Q{#1}% -} - -% Macro bodies are absorbed as an argument in a context where -% all characters are catcode 10, 11 or 12, except \ which is active -% (as in normal texinfo). It is necessary to change the definition of \. - -% It's necessary to have hard CRs when the macro is executed. This is -% done by making ^^M (\endlinechar) catcode 12 when reading the macro -% body, and then making it the \newlinechar in \scanmacro. - -\def\scanctxt{% - \catcode`\"=\other - \catcode`\+=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\@=\other - \catcode`\^=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\~=\other -} - -\def\scanargctxt{% - \scanctxt - \catcode`\\=\other - \catcode`\^^M=\other -} - -\def\macrobodyctxt{% - \scanctxt - \catcode`\{=\other - \catcode`\}=\other - \catcode`\^^M=\other - \usembodybackslash -} - -\def\macroargctxt{% - \scanctxt - \catcode`\\=\other -} - -% \mbodybackslash is the definition of \ in @macro bodies. -% It maps \foo\ => \csname macarg.foo\endcsname => #N -% where N is the macro parameter number. -% We define \csname macarg.\endcsname to be \realbackslash, so -% \\ in macro replacement text gets you a backslash. - -{\catcode`@=0 @catcode`@\=@active - @gdef@usembodybackslash{@let\=@mbodybackslash} - @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} -} -\expandafter\def\csname macarg.\endcsname{\realbackslash} - -\def\macro{\recursivefalse\parsearg\macroxxx} -\def\rmacro{\recursivetrue\parsearg\macroxxx} - -\def\macroxxx#1{% - \getargs{#1}% now \macname is the macname and \argl the arglist - \ifx\argl\empty % no arguments - \paramno=0% - \else - \expandafter\parsemargdef \argl;% - \fi - \if1\csname ismacro.\the\macname\endcsname - \message{Warning: redefining \the\macname}% - \else - \expandafter\ifx\csname \the\macname\endcsname \relax - \else \errmessage{Macro name \the\macname\space already defined}\fi - \global\cslet{macsave.\the\macname}{\the\macname}% - \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - \addtomacrolist{\the\macname}% - \fi - \begingroup \macrobodyctxt - \ifrecursive \expandafter\parsermacbody - \else \expandafter\parsemacbody - \fi} - -\parseargdef\unmacro{% - \if1\csname ismacro.#1\endcsname - \global\cslet{#1}{macsave.#1}% - \global\expandafter\let \csname ismacro.#1\endcsname=0% - % Remove the macro name from \macrolist: - \begingroup - \expandafter\let\csname#1\endcsname \relax - \let\definedummyword\unmacrodo - \xdef\macrolist{\macrolist}% - \endgroup - \else - \errmessage{Macro #1 not defined}% - \fi -} - -% Called by \do from \dounmacro on each macro. The idea is to omit any -% macro definitions that have been changed to \relax. -% -\def\unmacrodo#1{% - \ifx #1\relax - % remove this - \else - \noexpand\definedummyword \noexpand#1% - \fi -} - -% This makes use of the obscure feature that if the last token of a -% <parameter list> is #, then the preceding argument is delimited by -% an opening brace, and that opening brace is not consumed. -\def\getargs#1{\getargsxxx#1{}} -\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} -\def\getmacname #1 #2\relax{\macname={#1}} -\def\getmacargs#1{\def\argl{#1}} - -% Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.blah for each blah -% in the params list, to be ##N where N is the position in that list. -% That gets used by \mbodybackslash (above). - -% We need to get `macro parameter char #' into several definitions. -% The technique used is stolen from LaTeX: let \hash be something -% unexpandable, insert that wherever you need a #, and then redefine -% it to # just before using the token list produced. -% -% The same technique is used to protect \eatspaces till just before -% the macro is used. - -\def\parsemargdef#1;{\paramno=0\def\paramlist{}% - \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} -\def\parsemargdefxxx#1,{% - \if#1;\let\next=\relax - \else \let\next=\parsemargdefxxx - \advance\paramno by 1% - \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname - {\xeatspaces{\hash\the\paramno}}% - \edef\paramlist{\paramlist\hash\the\paramno,}% - \fi\next} - -% These two commands read recursive and nonrecursive macro bodies. -% (They're different since rec and nonrec macros end differently.) - -\long\def\parsemacbody#1@end macro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% -\long\def\parsermacbody#1@end rmacro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% - -% This defines the macro itself. There are six cases: recursive and -% nonrecursive macros of zero, one, and many arguments. -% Much magic with \expandafter here. -% \xdef is used so that macro definitions will survive the file -% they're defined in; @include reads the file inside a group. -\def\defmacro{% - \let\hash=##% convert placeholders to macro parameter chars - \ifrecursive - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\scanmacro{\temp}}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname xxx\endcsname}% - \expandafter\xdef\csname\the\macname xxx\endcsname##1{% - \egroup\noexpand\scanmacro{\temp}}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% - \fi - \else - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname xxx\endcsname}% - \expandafter\xdef\csname\the\macname xxx\endcsname##1{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \fi - \fi} - -\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} - -% \braceorline decides whether the next nonwhitespace character is a -% {. If so it reads up to the closing }, if not, it reads the whole -% line. Whatever was read is then fed to the next control sequence -% as an argument (by \parsebrace or \parsearg) -\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} -\def\braceorlinexxx{% - \ifx\nchar\bgroup\else - \expandafter\parsearg - \fi \macnamexxx} - - -% @alias. -% We need some trickery to remove the optional spaces around the equal -% sign. Just make them active and then expand them all to nothing. -\def\alias{\parseargusing\obeyspaces\aliasxxx} -\def\aliasxxx #1{\aliasyyy#1\relax} -\def\aliasyyy #1=#2\relax{% - {% - \expandafter\let\obeyedspace=\empty - \addtomacrolist{#1}% - \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% - }% - \next -} - - -\message{cross references,} - -\newwrite\auxfile -\newif\ifhavexrefs % True if xref values are known. -\newif\ifwarnedxrefs % True if we warned once that they aren't known. - -% @inforef is relatively simple. -\def\inforef #1{\inforefzzz #1,,,,**} -\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, - node \samp{\ignorespaces#1{}}} - -% @node's only job in TeX is to define \lastnode, which is used in -% cross-references. The @node line might or might not have commas, and -% might or might not have spaces before the first comma, like: -% @node foo , bar , ... -% We don't want such trailing spaces in the node name. -% -\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} -% -% also remove a trailing comma, in case of something like this: -% @node Help-Cross, , , Cross-refs -\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} -\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} - -\let\nwnode=\node -\let\lastnode=\empty - -% Write a cross-reference definition for the current node. #1 is the -% type (Ynumbered, Yappendix, Ynothing). -% -\def\donoderef#1{% - \ifx\lastnode\empty\else - \setref{\lastnode}{#1}% - \global\let\lastnode=\empty - \fi -} - -% @anchor{NAME} -- define xref target at arbitrary point. -% -\newcount\savesfregister -% -\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} -\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} -\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} - -% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an -% anchor), which consists of three parts: -% 1) NAME-title - the current sectioning name taken from \thissection, -% or the anchor name. -% 2) NAME-snt - section number and type, passed as the SNT arg, or -% empty for anchors. -% 3) NAME-pg - the page number. -% -% This is called from \donoderef, \anchor, and \dofloat. In the case of -% floats, there is an additional part, which is not written here: -% 4) NAME-lof - the text as it should appear in a @listoffloats. -% -\def\setref#1#2{% - \pdfmkdest{#1}% - \iflinks - {% - \atdummies % preserve commands, but don't expand them - \edef\writexrdef##1##2{% - \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef - ##1}{##2}}% these are parameters of \writexrdef - }% - \toks0 = \expandafter{\thissection}% - \immediate \writexrdef{title}{\the\toks0 }% - \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout - }% - \fi -} - -% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is -% the node name, #2 the name of the Info cross-reference, #3 the printed -% node name, #4 the name of the Info file, #5 the name of the printed -% manual. All but the node name can be omitted. -% -\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} -\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} -\def\ref#1{\xrefX[#1,,,,,,,]} -\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup - \unsepspaces - \def\printedmanual{\ignorespaces #5}% - \def\printedrefname{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual\unskip}% - \setbox0=\hbox{\printedrefname\unskip}% - \ifdim \wd0 = 0pt - % No printed node name was explicitly given. - \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax - % Use the node name inside the square brackets. - \def\printedrefname{\ignorespaces #1}% - \else - % Use the actual chapter/section title appear inside - % the square brackets. Use the real section title if we have it. - \ifdim \wd1 > 0pt - % It is in another manual, so we don't have it. - \def\printedrefname{\ignorespaces #1}% - \else - \ifhavexrefs - % We know the real title if we have the xref values. - \def\printedrefname{\refx{#1-title}{}}% - \else - % Otherwise just copy the Info node name. - \def\printedrefname{\ignorespaces #1}% - \fi% - \fi - \fi - \fi - % - % Make link in pdf output. - \ifpdf - \leavevmode - \getfilename{#4}% - {\indexnofonts - \turnoffactive - % See comments at \activebackslashdouble. - {\activebackslashdouble \xdef\pdfxrefdest{#1}% - \backslashparens\pdfxrefdest}% - % - \ifnum\filenamelength>0 - \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{\pdfxrefdest}% - \else - \startlink attr{/Border [0 0 0]}% - goto name{\pdfmkpgn{\pdfxrefdest}}% - \fi - }% - \linkcolor - \fi - % - % Float references are printed completely differently: "Figure 1.2" - % instead of "[somenode], p.3". We distinguish them by the - % LABEL-title being set to a magic string. - {% - % Have to otherify everything special to allow the \csname to - % include an _ in the xref name, etc. - \indexnofonts - \turnoffactive - \expandafter\global\expandafter\let\expandafter\Xthisreftitle - \csname XR#1-title\endcsname - }% - \iffloat\Xthisreftitle - % If the user specified the print name (third arg) to the ref, - % print it instead of our usual "Figure 1.2". - \ifdim\wd0 = 0pt - \refx{#1-snt}{}% - \else - \printedrefname - \fi - % - % if the user also gave the printed manual name (fifth arg), append - % "in MANUALNAME". - \ifdim \wd1 > 0pt - \space \putwordin{} \cite{\printedmanual}% - \fi - \else - % node/anchor (non-float) references. - % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. - \ifdim \wd1 > 0pt - \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% - \else - % _ (for example) has to be the character _ for the purposes of the - % control sequence corresponding to the node, but it has to expand - % into the usual \leavevmode...\vrule stuff for purposes of - % printing. So we \turnoffactive for the \refx-snt, back on for the - % printing, back off for the \refx-pg. - {\turnoffactive - % Only output a following space if the -snt ref is nonempty; for - % @unnumbered and @anchor, it won't be. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - }% - % output the `[mynode]' via a macro so it can be overridden. - \xrefprintnodename\printedrefname - % - % But we always want a comma and a space: - ,\space - % - % output the `page 3'. - \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi - \fi - \endlink -\endgroup} - -% This macro is called from \xrefX for the `[nodename]' part of xref -% output. It's a separate macro only so it can be changed more easily, -% since square brackets don't work well in some documents. Particularly -% one that Bob is working on :). -% -\def\xrefprintnodename#1{[#1]} - -% Things referred to by \setref. -% -\def\Ynothing{} -\def\Yomitfromtoc{} -\def\Ynumbered{% - \ifnum\secno=0 - \putwordChapter@tie \the\chapno - \else \ifnum\subsecno=0 - \putwordSection@tie \the\chapno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno - \else - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} -\def\Yappendix{% - \ifnum\secno=0 - \putwordAppendix@tie @char\the\appendixno{}% - \else \ifnum\subsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno - \else - \putwordSection@tie - @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} - -% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. -% If its value is nonempty, SUFFIX is output afterward. -% -\def\refx#1#2{% - {% - \indexnofonts - \otherbackslash - \expandafter\global\expandafter\let\expandafter\thisrefX - \csname XR#1\endcsname - }% - \ifx\thisrefX\relax - % If not defined, say something at least. - \angleleft un\-de\-fined\angleright - \iflinks - \ifhavexrefs - \message{\linenumber Undefined cross reference `#1'.}% - \else - \ifwarnedxrefs\else - \global\warnedxrefstrue - \message{Cross reference values unknown; you must run TeX again.}% - \fi - \fi - \fi - \else - % It's defined, so just use it. - \thisrefX - \fi - #2% Output the suffix in any case. -} - -% This is the macro invoked by entries in the aux file. Usually it's -% just a \def (we prepend XR to the control sequence name to avoid -% collisions). But if this is a float type, we have more work to do. -% -\def\xrdef#1#2{% - {% The node name might contain 8-bit characters, which in our current - % implementation are changed to commands like @'e. Don't let these - % mess up the control sequence name. - \indexnofonts - \turnoffactive - \xdef\safexrefname{#1}% - }% - % - \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref - % - % Was that xref control sequence that we just defined for a float? - \expandafter\iffloat\csname XR\safexrefname\endcsname - % it was a float, and we have the (safe) float type in \iffloattype. - \expandafter\let\expandafter\floatlist - \csname floatlist\iffloattype\endcsname - % - % Is this the first time we've seen this float type? - \expandafter\ifx\floatlist\relax - \toks0 = {\do}% yes, so just \do - \else - % had it before, so preserve previous elements in list. - \toks0 = \expandafter{\floatlist\do}% - \fi - % - % Remember this xref in the control sequence \floatlistFLOATTYPE, - % for later use in \listoffloats. - \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 - {\safexrefname}}% - \fi -} - -% Read the last existing aux file, if any. No error if none exists. -% -\def\tryauxfile{% - \openin 1 \jobname.aux - \ifeof 1 \else - \readdatafile{aux}% - \global\havexrefstrue - \fi - \closein 1 -} - -\def\setupdatafile{% - \catcode`\^^@=\other - \catcode`\^^A=\other - \catcode`\^^B=\other - \catcode`\^^C=\other - \catcode`\^^D=\other - \catcode`\^^E=\other - \catcode`\^^F=\other - \catcode`\^^G=\other - \catcode`\^^H=\other - \catcode`\^^K=\other - \catcode`\^^L=\other - \catcode`\^^N=\other - \catcode`\^^P=\other - \catcode`\^^Q=\other - \catcode`\^^R=\other - \catcode`\^^S=\other - \catcode`\^^T=\other - \catcode`\^^U=\other - \catcode`\^^V=\other - \catcode`\^^W=\other - \catcode`\^^X=\other - \catcode`\^^Z=\other - \catcode`\^^[=\other - \catcode`\^^\=\other - \catcode`\^^]=\other - \catcode`\^^^=\other - \catcode`\^^_=\other - % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. - % in xref tags, i.e., node names. But since ^^e4 notation isn't - % supported in the main text, it doesn't seem desirable. Furthermore, - % that is not enough: for node names that actually contain a ^ - % character, we would end up writing a line like this: 'xrdef {'hat - % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first - % argument, and \hat is not an expandable control sequence. It could - % all be worked out, but why? Either we support ^^ or we don't. - % - % The other change necessary for this was to define \auxhat: - % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter - % and then to call \auxhat in \setq. - % - \catcode`\^=\other - % - % Special characters. Should be turned off anyway, but... - \catcode`\~=\other - \catcode`\[=\other - \catcode`\]=\other - \catcode`\"=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\$=\other - \catcode`\#=\other - \catcode`\&=\other - \catcode`\%=\other - \catcode`+=\other % avoid \+ for paranoia even though we've turned it off - % - % This is to support \ in node names and titles, since the \ - % characters end up in a \csname. It's easier than - % leaving it active and making its active definition an actual \ - % character. What I don't understand is why it works in the *value* - % of the xrdef. Seems like it should be a catcode12 \, and that - % should not typeset properly. But it works, so I'm moving on for - % now. --karl, 15jan04. - \catcode`\\=\other - % - % Make the characters 128-255 be printing characters. - {% - \count1=128 - \def\loop{% - \catcode\count1=\other - \advance\count1 by 1 - \ifnum \count1<256 \loop \fi - }% - }% - % - % @ is our escape character in .aux files, and we need braces. - \catcode`\{=1 - \catcode`\}=2 - \catcode`\@=0 -} - -\def\readdatafile#1{% -\begingroup - \setupdatafile - \input\jobname.#1 -\endgroup} - - -\message{insertions,} -% including footnotes. - -\newcount \footnoteno - -% The trailing space in the following definition for supereject is -% vital for proper filling; pages come out unaligned when you do a -% pagealignmacro call if that space before the closing brace is -% removed. (Generally, numeric constants should always be followed by a -% space to prevent strange expansion errors.) -\def\supereject{\par\penalty -20000\footnoteno =0 } - -% @footnotestyle is meaningful for info output only. -\let\footnotestyle=\comment - -{\catcode `\@=11 -% -% Auto-number footnotes. Otherwise like plain. -\gdef\footnote{% - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \global\advance\footnoteno by \@ne - \edef\thisfootno{$^{\the\footnoteno}$}% - % - % In case the footnote comes at the end of a sentence, preserve the - % extra spacing after we do the footnote number. - \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi - % - % Remove inadvertent blank space before typesetting the footnote number. - \unskip - \thisfootno\@sf - \dofootnote -}% - -% Don't bother with the trickery in plain.tex to not require the -% footnote text as a parameter. Our footnotes don't need to be so general. -% -% Oh yes, they do; otherwise, @ifset (and anything else that uses -% \parseargline) fails inside footnotes because the tokens are fixed when -% the footnote is read. --karl, 16nov96. -% -\gdef\dofootnote{% - \insert\footins\bgroup - % We want to typeset this text as a normal paragraph, even if the - % footnote reference occurs in (for example) a display environment. - % So reset some parameters. - \hsize=\pagewidth - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip - \rightskip\z@skip - \spaceskip\z@skip - \xspaceskip\z@skip - \parindent\defaultparindent - % - \smallfonts \rm - % - % Because we use hanging indentation in footnotes, a @noindent appears - % to exdent this text, so make it be a no-op. makeinfo does not use - % hanging indentation so @noindent can still be needed within footnote - % text after an @example or the like (not that this is good style). - \let\noindent = \relax - % - % Hang the footnote text off the number. Use \everypar in case the - % footnote extends for more than one paragraph. - \everypar = {\hang}% - \textindent{\thisfootno}% - % - % Don't crash into the line above the footnote text. Since this - % expands into a box, it must come within the paragraph, lest it - % provide a place where TeX can split the footnote. - \footstrut - \futurelet\next\fo@t -} -}%end \catcode `\@=11 - -% In case a @footnote appears in a vbox, save the footnote text and create -% the real \insert just after the vbox finished. Otherwise, the insertion -% would be lost. -% Similarly, if a @footnote appears inside an alignment, save the footnote -% text to a box and make the \insert when a row of the table is finished. -% And the same can be done for other insert classes. --kasal, 16nov03. - -% Replace the \insert primitive by a cheating macro. -% Deeper inside, just make sure that the saved insertions are not spilled -% out prematurely. -% -\def\startsavinginserts{% - \ifx \insert\ptexinsert - \let\insert\saveinsert - \else - \let\checkinserts\relax - \fi -} - -% This \insert replacement works for both \insert\footins{foo} and -% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. -% -\def\saveinsert#1{% - \edef\next{\noexpand\savetobox \makeSAVEname#1}% - \afterassignment\next - % swallow the left brace - \let\temp = -} -\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} -\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} - -\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} - -\def\placesaveins#1{% - \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname - {\box#1}% -} - -% eat @SAVE -- beware, all of them have catcode \other: -{ - \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) - \gdef\gobblesave @SAVE{} -} - -% initialization: -\def\newsaveins #1{% - \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% - \next -} -\def\newsaveinsX #1{% - \csname newbox\endcsname #1% - \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts - \checksaveins #1}% -} - -% initialize: -\let\checkinserts\empty -\newsaveins\footins -\newsaveins\margin - - -% @image. We use the macros from epsf.tex to support this. -% If epsf.tex is not installed and @image is used, we complain. -% -% Check for and read epsf.tex up front. If we read it only at @image -% time, we might be inside a group, and then its definitions would get -% undone and the next image would fail. -\openin 1 = epsf.tex -\ifeof 1 \else - % Do not bother showing banner with epsf.tex v2.7k (available in - % doc/epsf.tex and on ctan). - \def\epsfannounce{\toks0 = }% - \input epsf.tex -\fi -\closein 1 -% -% We will only complain once about lack of epsf.tex. -\newif\ifwarnednoepsf -\newhelp\noepsfhelp{epsf.tex must be installed for images to - work. It is also included in the Texinfo distribution, or you can get - it from ftp://tug.org/tex/epsf.tex.} -% -\def\image#1{% - \ifx\epsfbox\undefined - \ifwarnednoepsf \else - \errhelp = \noepsfhelp - \errmessage{epsf.tex not found, images will be ignored}% - \global\warnednoepsftrue - \fi - \else - \imagexxx #1,,,,,\finish - \fi -} -% -% Arguments to @image: -% #1 is (mandatory) image filename; we tack on .eps extension. -% #2 is (optional) width, #3 is (optional) height. -% #4 is (ignored optional) html alt text. -% #5 is (ignored optional) extension. -% #6 is just the usual extra ignored arg for parsing this stuff. -\newif\ifimagevmode -\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup - \catcode`\^^M = 5 % in case we're inside an example - \normalturnoffactive % allow _ et al. in names - % If the image is by itself, center it. - \ifvmode - \imagevmodetrue - \nobreak\bigskip - % Usually we'll have text after the image which will insert - % \parskip glue, so insert it here too to equalize the space - % above and below. - \nobreak\vskip\parskip - \nobreak - \line\bgroup - \fi - % - % Output the image. - \ifpdf - \dopdfimage{#1}{#2}{#3}% - \else - % \epsfbox itself resets \epsf?size at each figure. - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi - \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi - \epsfbox{#1.eps}% - \fi - % - \ifimagevmode \egroup \bigbreak \fi % space after the image -\endgroup} - - -% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, -% etc. We don't actually implement floating yet, we always include the -% float "here". But it seemed the best name for the future. -% -\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} - -% There may be a space before second and/or third parameter; delete it. -\def\eatcommaspace#1, {#1,} - -% #1 is the optional FLOATTYPE, the text label for this float, typically -% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, -% this float will not be numbered and cannot be referred to. -% -% #2 is the optional xref label. Also must be present for the float to -% be referable. -% -% #3 is the optional positioning argument; for now, it is ignored. It -% will somehow specify the positions allowed to float to (here, top, bottom). -% -% We keep a separate counter for each FLOATTYPE, which we reset at each -% chapter-level command. -\let\resetallfloatnos=\empty -% -\def\dofloat#1,#2,#3,#4\finish{% - \let\thiscaption=\empty - \let\thisshortcaption=\empty - % - % don't lose footnotes inside @float. - % - % BEWARE: when the floats start float, we have to issue warning whenever an - % insert appears inside a float which could possibly float. --kasal, 26may04 - % - \startsavinginserts - % - % We can't be used inside a paragraph. - \par - % - \vtop\bgroup - \def\floattype{#1}% - \def\floatlabel{#2}% - \def\floatloc{#3}% we do nothing with this yet. - % - \ifx\floattype\empty - \let\safefloattype=\empty - \else - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - \fi - % - % If label is given but no type, we handle that as the empty type. - \ifx\floatlabel\empty \else - % We want each FLOATTYPE to be numbered separately (Figure 1, - % Table 1, Figure 2, ...). (And if no label, no number.) - % - \expandafter\getfloatno\csname\safefloattype floatno\endcsname - \global\advance\floatno by 1 - % - {% - % This magic value for \thissection is output by \setref as the - % XREFLABEL-title value. \xrefX uses it to distinguish float - % labels (which have a completely different output format) from - % node and anchor labels. And \xrdef uses it to construct the - % lists of floats. - % - \edef\thissection{\floatmagic=\safefloattype}% - \setref{\floatlabel}{Yfloat}% - }% - \fi - % - % start with \parskip glue, I guess. - \vskip\parskip - % - % Don't suppress indentation if a float happens to start a section. - \restorefirstparagraphindent -} - -% we have these possibilities: -% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap -% @float Foo,lbl & no caption: Foo 1.1 -% @float Foo & @caption{Cap}: Foo: Cap -% @float Foo & no caption: Foo -% @float ,lbl & Caption{Cap}: 1.1: Cap -% @float ,lbl & no caption: 1.1 -% @float & @caption{Cap}: Cap -% @float & no caption: -% -\def\Efloat{% - \let\floatident = \empty - % - % In all cases, if we have a float type, it comes first. - \ifx\floattype\empty \else \def\floatident{\floattype}\fi - % - % If we have an xref label, the number comes next. - \ifx\floatlabel\empty \else - \ifx\floattype\empty \else % if also had float type, need tie first. - \appendtomacro\floatident{\tie}% - \fi - % the number. - \appendtomacro\floatident{\chaplevelprefix\the\floatno}% - \fi - % - % Start the printed caption with what we've constructed in - % \floatident, but keep it separate; we need \floatident again. - \let\captionline = \floatident - % - \ifx\thiscaption\empty \else - \ifx\floatident\empty \else - \appendtomacro\captionline{: }% had ident, so need a colon between - \fi - % - % caption text. - \appendtomacro\captionline{\scanexp\thiscaption}% - \fi - % - % If we have anything to print, print it, with space before. - % Eventually this needs to become an \insert. - \ifx\captionline\empty \else - \vskip.5\parskip - \captionline - % - % Space below caption. - \vskip\parskip - \fi - % - % If have an xref label, write the list of floats info. Do this - % after the caption, to avoid chance of it being a breakpoint. - \ifx\floatlabel\empty \else - % Write the text that goes in the lof to the aux file as - % \floatlabel-lof. Besides \floatident, we include the short - % caption if specified, else the full caption if specified, else nothing. - {% - \atdummies - % - % since we read the caption text in the macro world, where ^^M - % is turned into a normal character, we have to scan it back, so - % we don't write the literal three characters "^^M" into the aux file. - \scanexp{% - \xdef\noexpand\gtemp{% - \ifx\thisshortcaption\empty - \thiscaption - \else - \thisshortcaption - \fi - }% - }% - \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident - \ifx\gtemp\empty \else : \gtemp \fi}}% - }% - \fi - \egroup % end of \vtop - % - % place the captured inserts - % - % BEWARE: when the floats start floating, we have to issue warning - % whenever an insert appears inside a float which could possibly - % float. --kasal, 26may04 - % - \checkinserts -} - -% Append the tokens #2 to the definition of macro #1, not expanding either. -% -\def\appendtomacro#1#2{% - \expandafter\def\expandafter#1\expandafter{#1#2}% -} - -% @caption, @shortcaption -% -\def\caption{\docaption\thiscaption} -\def\shortcaption{\docaption\thisshortcaption} -\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} -\def\defcaption#1#2{\egroup \def#1{#2}} - -% The parameter is the control sequence identifying the counter we are -% going to use. Create it if it doesn't exist and assign it to \floatno. -\def\getfloatno#1{% - \ifx#1\relax - % Haven't seen this figure type before. - \csname newcount\endcsname #1% - % - % Remember to reset this floatno at the next chap. - \expandafter\gdef\expandafter\resetallfloatnos - \expandafter{\resetallfloatnos #1=0 }% - \fi - \let\floatno#1% -} - -% \setref calls this to get the XREFLABEL-snt value. We want an @xref -% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we -% first read the @float command. -% -\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% - -% Magic string used for the XREFLABEL-title value, so \xrefX can -% distinguish floats from other xref types. -\def\floatmagic{!!float!!} - -% #1 is the control sequence we are passed; we expand into a conditional -% which is true if #1 represents a float ref. That is, the magic -% \thissection value which we \setref above. -% -\def\iffloat#1{\expandafter\doiffloat#1==\finish} -% -% #1 is (maybe) the \floatmagic string. If so, #2 will be the -% (safe) float type for this float. We set \iffloattype to #2. -% -\def\doiffloat#1=#2=#3\finish{% - \def\temp{#1}% - \def\iffloattype{#2}% - \ifx\temp\floatmagic -} - -% @listoffloats FLOATTYPE - print a list of floats like a table of contents. -% -\parseargdef\listoffloats{% - \def\floattype{#1}% floattype - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - % - % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. - \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax - \ifhavexrefs - % if the user said @listoffloats foo but never @float foo. - \message{\linenumber No `\safefloattype' floats to list.}% - \fi - \else - \begingroup - \leftskip=\tocindent % indent these entries like a toc - \let\do=\listoffloatsdo - \csname floatlist\safefloattype\endcsname - \endgroup - \fi -} - -% This is called on each entry in a list of floats. We're passed the -% xref label, in the form LABEL-title, which is how we save it in the -% aux file. We strip off the -title and look up \XRLABEL-lof, which -% has the text we're supposed to typeset here. -% -% Figures without xref labels will not be included in the list (since -% they won't appear in the aux file). -% -\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} -\def\listoffloatsdoentry#1-title\finish{{% - % Can't fully expand XR#1-lof because it can contain anything. Just - % pass the control sequence. On the other hand, XR#1-pg is just the - % page number, and we want to fully expand that so we can get a link - % in pdf output. - \toksA = \expandafter{\csname XR#1-lof\endcsname}% - % - % use the same \entry macro we use to generate the TOC and index. - \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% - \writeentry -}} - - -\message{localization,} - -% @documentlanguage is usually given very early, just after -% @setfilename. If done too late, it may not override everything -% properly. Single argument is the language abbreviation. -% It would be nice if we could set up a hyphenation file here. -% -\parseargdef\documentlanguage{% - \tex % read txi-??.tex file in plain TeX. - % Read the file if it exists. - \openin 1 txi-#1.tex - \ifeof 1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% - \else - \input txi-#1.tex - \fi - \closein 1 - \endgroup -} -\newhelp\nolanghelp{The given language definition file cannot be found or -is empty. Maybe you need to install it? In the current directory -should work if nowhere else does.} - -% Set the catcode of characters 128 through 255 to the specified number. -% -\def\setnonasciicharscatcode#1{% - \count255=128 - \loop\ifnum\count255<256 - \global\catcode\count255=#1 - \advance\count255 by 1 - \repeat -} - -% @documentencoding sets the definition of non-ASCII characters -% according to the specified encoding. -% -\parseargdef\documentencoding{% - % Encoding being declared for the document. - \def\declaredencoding{\csname #1.enc\endcsname}% - % - % Supported encodings: names converted to tokens in order to be able - % to compare them with \ifx. - \def\ascii{\csname US-ASCII.enc\endcsname}% - \def\latnine{\csname ISO-8859-15.enc\endcsname}% - \def\latone{\csname ISO-8859-1.enc\endcsname}% - \def\lattwo{\csname ISO-8859-2.enc\endcsname}% - \def\utfeight{\csname UTF-8.enc\endcsname}% - % - \ifx \declaredencoding \ascii - \asciichardefs - % - \else \ifx \declaredencoding \lattwo - \setnonasciicharscatcode\active - \lattwochardefs - % - \else \ifx \declaredencoding \latone - \setnonasciicharscatcode\active - \latonechardefs - % - \else \ifx \declaredencoding \latnine - \setnonasciicharscatcode\active - \latninechardefs - % - \else \ifx \declaredencoding \utfeight - \setnonasciicharscatcode\active - \utfeightchardefs - % - \else - \message{Unknown document encoding #1, ignoring.}% - % - \fi % utfeight - \fi % latnine - \fi % latone - \fi % lattwo - \fi % ascii -} - -% A message to be logged when using a character that isn't available -% the default font encoding (OT1). -% -\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} - -% Take account of \c (plain) vs. \, (Texinfo) difference. -\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} - -% First, make active non-ASCII characters in order for them to be -% correctly categorized when TeX reads the replacement text of -% macros containing the character definitions. -\setnonasciicharscatcode\active -% -% Latin1 (ISO-8859-1) character definitions. -\def\latonechardefs{% - \gdef^^a0{~} - \gdef^^a1{\exclamdown} - \gdef^^a2{\missingcharmsg{CENT SIGN}} - \gdef^^a3{{\pounds}} - \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdef^^a5{\missingcharmsg{YEN SIGN}} - \gdef^^a6{\missingcharmsg{BROKEN BAR}} - \gdef^^a7{\S} - \gdef^^a8{\"{}} - \gdef^^a9{\copyright} - \gdef^^aa{\ordf} - \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} - \gdef^^ac{$\lnot$} - \gdef^^ad{\-} - \gdef^^ae{\registeredsymbol} - \gdef^^af{\={}} - % - \gdef^^b0{\textdegree} - \gdef^^b1{$\pm$} - \gdef^^b2{$^2$} - \gdef^^b3{$^3$} - \gdef^^b4{\'{}} - \gdef^^b5{$\mu$} - \gdef^^b6{\P} - % - \gdef^^b7{$^.$} - \gdef^^b8{\cedilla\ } - \gdef^^b9{$^1$} - \gdef^^ba{\ordm} - % - \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} - \gdef^^bc{$1\over4$} - \gdef^^bd{$1\over2$} - \gdef^^be{$3\over4$} - \gdef^^bf{\questiondown} - % - \gdef^^c0{\`A} - \gdef^^c1{\'A} - \gdef^^c2{\^A} - \gdef^^c3{\~A} - \gdef^^c4{\"A} - \gdef^^c5{\ringaccent A} - \gdef^^c6{\AE} - \gdef^^c7{\cedilla C} - \gdef^^c8{\`E} - \gdef^^c9{\'E} - \gdef^^ca{\^E} - \gdef^^cb{\"E} - \gdef^^cc{\`I} - \gdef^^cd{\'I} - \gdef^^ce{\^I} - \gdef^^cf{\"I} - % - \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} - \gdef^^d1{\~N} - \gdef^^d2{\`O} - \gdef^^d3{\'O} - \gdef^^d4{\^O} - \gdef^^d5{\~O} - \gdef^^d6{\"O} - \gdef^^d7{$\times$} - \gdef^^d8{\O} - \gdef^^d9{\`U} - \gdef^^da{\'U} - \gdef^^db{\^U} - \gdef^^dc{\"U} - \gdef^^dd{\'Y} - \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} - \gdef^^df{\ss} - % - \gdef^^e0{\`a} - \gdef^^e1{\'a} - \gdef^^e2{\^a} - \gdef^^e3{\~a} - \gdef^^e4{\"a} - \gdef^^e5{\ringaccent a} - \gdef^^e6{\ae} - \gdef^^e7{\cedilla c} - \gdef^^e8{\`e} - \gdef^^e9{\'e} - \gdef^^ea{\^e} - \gdef^^eb{\"e} - \gdef^^ec{\`{\dotless i}} - \gdef^^ed{\'{\dotless i}} - \gdef^^ee{\^{\dotless i}} - \gdef^^ef{\"{\dotless i}} - % - \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} - \gdef^^f1{\~n} - \gdef^^f2{\`o} - \gdef^^f3{\'o} - \gdef^^f4{\^o} - \gdef^^f5{\~o} - \gdef^^f6{\"o} - \gdef^^f7{$\div$} - \gdef^^f8{\o} - \gdef^^f9{\`u} - \gdef^^fa{\'u} - \gdef^^fb{\^u} - \gdef^^fc{\"u} - \gdef^^fd{\'y} - \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} - \gdef^^ff{\"y} -} - -% Latin9 (ISO-8859-15) encoding character definitions. -\def\latninechardefs{% - % Encoding is almost identical to Latin1. - \latonechardefs - % - \gdef^^a4{\euro} - \gdef^^a6{\v S} - \gdef^^a8{\v s} - \gdef^^b4{\v Z} - \gdef^^b8{\v z} - \gdef^^bc{\OE} - \gdef^^bd{\oe} - \gdef^^be{\"Y} -} - -% Latin2 (ISO-8859-2) character definitions. -\def\lattwochardefs{% - \gdef^^a0{~} - \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} - \gdef^^a2{\u{}} - \gdef^^a3{\L} - \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdef^^a5{\v L} - \gdef^^a6{\'S} - \gdef^^a7{\S} - \gdef^^a8{\"{}} - \gdef^^a9{\v S} - \gdef^^aa{\cedilla S} - \gdef^^ab{\v T} - \gdef^^ac{\'Z} - \gdef^^ad{\-} - \gdef^^ae{\v Z} - \gdef^^af{\dotaccent Z} - % - \gdef^^b0{\textdegree} - \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} - \gdef^^b2{\missingcharmsg{OGONEK}} - \gdef^^b3{\l} - \gdef^^b4{\'{}} - \gdef^^b5{\v l} - \gdef^^b6{\'s} - \gdef^^b7{\v{}} - \gdef^^b8{\cedilla\ } - \gdef^^b9{\v s} - \gdef^^ba{\cedilla s} - \gdef^^bb{\v t} - \gdef^^bc{\'z} - \gdef^^bd{\H{}} - \gdef^^be{\v z} - \gdef^^bf{\dotaccent z} - % - \gdef^^c0{\'R} - \gdef^^c1{\'A} - \gdef^^c2{\^A} - \gdef^^c3{\u A} - \gdef^^c4{\"A} - \gdef^^c5{\'L} - \gdef^^c6{\'C} - \gdef^^c7{\cedilla C} - \gdef^^c8{\v C} - \gdef^^c9{\'E} - \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} - \gdef^^cb{\"E} - \gdef^^cc{\v E} - \gdef^^cd{\'I} - \gdef^^ce{\^I} - \gdef^^cf{\v D} - % - \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} - \gdef^^d1{\'N} - \gdef^^d2{\v N} - \gdef^^d3{\'O} - \gdef^^d4{\^O} - \gdef^^d5{\H O} - \gdef^^d6{\"O} - \gdef^^d7{$\times$} - \gdef^^d8{\v R} - \gdef^^d9{\ringaccent U} - \gdef^^da{\'U} - \gdef^^db{\H U} - \gdef^^dc{\"U} - \gdef^^dd{\'Y} - \gdef^^de{\cedilla T} - \gdef^^df{\ss} - % - \gdef^^e0{\'r} - \gdef^^e1{\'a} - \gdef^^e2{\^a} - \gdef^^e3{\u a} - \gdef^^e4{\"a} - \gdef^^e5{\'l} - \gdef^^e6{\'c} - \gdef^^e7{\cedilla c} - \gdef^^e8{\v c} - \gdef^^e9{\'e} - \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} - \gdef^^eb{\"e} - \gdef^^ec{\v e} - \gdef^^ed{\'\i} - \gdef^^ee{\^\i} - \gdef^^ef{\v d} - % - \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} - \gdef^^f1{\'n} - \gdef^^f2{\v n} - \gdef^^f3{\'o} - \gdef^^f4{\^o} - \gdef^^f5{\H o} - \gdef^^f6{\"o} - \gdef^^f7{$\div$} - \gdef^^f8{\v r} - \gdef^^f9{\ringaccent u} - \gdef^^fa{\'u} - \gdef^^fb{\H u} - \gdef^^fc{\"u} - \gdef^^fd{\'y} - \gdef^^fe{\cedilla t} - \gdef^^ff{\dotaccent{}} -} - -% UTF-8 character definitions. -% -% This code to support UTF-8 is based on LaTeX's utf8.def, with some -% changes for Texinfo conventions. It is included here under the GPL by -% permission from Frank Mittelbach and the LaTeX team. -% -\newcount\countUTFx -\newcount\countUTFy -\newcount\countUTFz - -\gdef\UTFviiiTwoOctets#1#2{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\endcsname} -% -\gdef\UTFviiiThreeOctets#1#2#3{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} -% -\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} - -\gdef\UTFviiiDefined#1{% - \ifx #1\relax - \message{\linenumber Unicode char \string #1 not defined for Texinfo}% - \else - \expandafter #1% - \fi -} - -\begingroup - \catcode`\~13 - \catcode`\"12 - - \def\UTFviiiLoop{% - \global\catcode\countUTFx\active - \uccode`\~\countUTFx - \uppercase\expandafter{\UTFviiiTmp}% - \advance\countUTFx by 1 - \ifnum\countUTFx < \countUTFy - \expandafter\UTFviiiLoop - \fi} - - \countUTFx = "C2 - \countUTFy = "E0 - \def\UTFviiiTmp{% - \xdef~{\noexpand\UTFviiiTwoOctets\string~}} - \UTFviiiLoop - - \countUTFx = "E0 - \countUTFy = "F0 - \def\UTFviiiTmp{% - \xdef~{\noexpand\UTFviiiThreeOctets\string~}} - \UTFviiiLoop - - \countUTFx = "F0 - \countUTFy = "F4 - \def\UTFviiiTmp{% - \xdef~{\noexpand\UTFviiiFourOctets\string~}} - \UTFviiiLoop -\endgroup - -\begingroup - \catcode`\"=12 - \catcode`\<=12 - \catcode`\.=12 - \catcode`\,=12 - \catcode`\;=12 - \catcode`\!=12 - \catcode`\~=13 - - \gdef\DeclareUnicodeCharacter#1#2{% - \countUTFz = "#1\relax - \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% - \begingroup - \parseXMLCharref - \def\UTFviiiTwoOctets##1##2{% - \csname u8:##1\string ##2\endcsname}% - \def\UTFviiiThreeOctets##1##2##3{% - \csname u8:##1\string ##2\string ##3\endcsname}% - \def\UTFviiiFourOctets##1##2##3##4{% - \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% - \expandafter\expandafter\expandafter\expandafter - \expandafter\expandafter\expandafter - \gdef\UTFviiiTmp{#2}% - \endgroup} - - \gdef\parseXMLCharref{% - \ifnum\countUTFz < "A0\relax - \errhelp = \EMsimple - \errmessage{Cannot define Unicode char value < 00A0}% - \else\ifnum\countUTFz < "800\relax - \parseUTFviiiA,% - \parseUTFviiiB C\UTFviiiTwoOctets.,% - \else\ifnum\countUTFz < "10000\relax - \parseUTFviiiA;% - \parseUTFviiiA,% - \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% - \else - \parseUTFviiiA;% - \parseUTFviiiA,% - \parseUTFviiiA!% - \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% - \fi\fi\fi - } - - \gdef\parseUTFviiiA#1{% - \countUTFx = \countUTFz - \divide\countUTFz by 64 - \countUTFy = \countUTFz - \multiply\countUTFz by 64 - \advance\countUTFx by -\countUTFz - \advance\countUTFx by 128 - \uccode `#1\countUTFx - \countUTFz = \countUTFy} - - \gdef\parseUTFviiiB#1#2#3#4{% - \advance\countUTFz by "#10\relax - \uccode `#3\countUTFz - \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} -\endgroup - -\def\utfeightchardefs{% - \DeclareUnicodeCharacter{00A0}{\tie} - \DeclareUnicodeCharacter{00A1}{\exclamdown} - \DeclareUnicodeCharacter{00A3}{\pounds} - \DeclareUnicodeCharacter{00A8}{\"{ }} - \DeclareUnicodeCharacter{00A9}{\copyright} - \DeclareUnicodeCharacter{00AA}{\ordf} - \DeclareUnicodeCharacter{00AD}{\-} - \DeclareUnicodeCharacter{00AE}{\registeredsymbol} - \DeclareUnicodeCharacter{00AF}{\={ }} - - \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} - \DeclareUnicodeCharacter{00B4}{\'{ }} - \DeclareUnicodeCharacter{00B8}{\cedilla{ }} - \DeclareUnicodeCharacter{00BA}{\ordm} - \DeclareUnicodeCharacter{00BF}{\questiondown} - - \DeclareUnicodeCharacter{00C0}{\`A} - \DeclareUnicodeCharacter{00C1}{\'A} - \DeclareUnicodeCharacter{00C2}{\^A} - \DeclareUnicodeCharacter{00C3}{\~A} - \DeclareUnicodeCharacter{00C4}{\"A} - \DeclareUnicodeCharacter{00C5}{\AA} - \DeclareUnicodeCharacter{00C6}{\AE} - \DeclareUnicodeCharacter{00C7}{\cedilla{C}} - \DeclareUnicodeCharacter{00C8}{\`E} - \DeclareUnicodeCharacter{00C9}{\'E} - \DeclareUnicodeCharacter{00CA}{\^E} - \DeclareUnicodeCharacter{00CB}{\"E} - \DeclareUnicodeCharacter{00CC}{\`I} - \DeclareUnicodeCharacter{00CD}{\'I} - \DeclareUnicodeCharacter{00CE}{\^I} - \DeclareUnicodeCharacter{00CF}{\"I} - - \DeclareUnicodeCharacter{00D1}{\~N} - \DeclareUnicodeCharacter{00D2}{\`O} - \DeclareUnicodeCharacter{00D3}{\'O} - \DeclareUnicodeCharacter{00D4}{\^O} - \DeclareUnicodeCharacter{00D5}{\~O} - \DeclareUnicodeCharacter{00D6}{\"O} - \DeclareUnicodeCharacter{00D8}{\O} - \DeclareUnicodeCharacter{00D9}{\`U} - \DeclareUnicodeCharacter{00DA}{\'U} - \DeclareUnicodeCharacter{00DB}{\^U} - \DeclareUnicodeCharacter{00DC}{\"U} - \DeclareUnicodeCharacter{00DD}{\'Y} - \DeclareUnicodeCharacter{00DF}{\ss} - - \DeclareUnicodeCharacter{00E0}{\`a} - \DeclareUnicodeCharacter{00E1}{\'a} - \DeclareUnicodeCharacter{00E2}{\^a} - \DeclareUnicodeCharacter{00E3}{\~a} - \DeclareUnicodeCharacter{00E4}{\"a} - \DeclareUnicodeCharacter{00E5}{\aa} - \DeclareUnicodeCharacter{00E6}{\ae} - \DeclareUnicodeCharacter{00E7}{\cedilla{c}} - \DeclareUnicodeCharacter{00E8}{\`e} - \DeclareUnicodeCharacter{00E9}{\'e} - \DeclareUnicodeCharacter{00EA}{\^e} - \DeclareUnicodeCharacter{00EB}{\"e} - \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} - \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} - \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} - \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} - - \DeclareUnicodeCharacter{00F1}{\~n} - \DeclareUnicodeCharacter{00F2}{\`o} - \DeclareUnicodeCharacter{00F3}{\'o} - \DeclareUnicodeCharacter{00F4}{\^o} - \DeclareUnicodeCharacter{00F5}{\~o} - \DeclareUnicodeCharacter{00F6}{\"o} - \DeclareUnicodeCharacter{00F8}{\o} - \DeclareUnicodeCharacter{00F9}{\`u} - \DeclareUnicodeCharacter{00FA}{\'u} - \DeclareUnicodeCharacter{00FB}{\^u} - \DeclareUnicodeCharacter{00FC}{\"u} - \DeclareUnicodeCharacter{00FD}{\'y} - \DeclareUnicodeCharacter{00FF}{\"y} - - \DeclareUnicodeCharacter{0100}{\=A} - \DeclareUnicodeCharacter{0101}{\=a} - \DeclareUnicodeCharacter{0102}{\u{A}} - \DeclareUnicodeCharacter{0103}{\u{a}} - \DeclareUnicodeCharacter{0106}{\'C} - \DeclareUnicodeCharacter{0107}{\'c} - \DeclareUnicodeCharacter{0108}{\^C} - \DeclareUnicodeCharacter{0109}{\^c} - \DeclareUnicodeCharacter{010A}{\dotaccent{C}} - \DeclareUnicodeCharacter{010B}{\dotaccent{c}} - \DeclareUnicodeCharacter{010C}{\v{C}} - \DeclareUnicodeCharacter{010D}{\v{c}} - \DeclareUnicodeCharacter{010E}{\v{D}} - - \DeclareUnicodeCharacter{0112}{\=E} - \DeclareUnicodeCharacter{0113}{\=e} - \DeclareUnicodeCharacter{0114}{\u{E}} - \DeclareUnicodeCharacter{0115}{\u{e}} - \DeclareUnicodeCharacter{0116}{\dotaccent{E}} - \DeclareUnicodeCharacter{0117}{\dotaccent{e}} - \DeclareUnicodeCharacter{011A}{\v{E}} - \DeclareUnicodeCharacter{011B}{\v{e}} - \DeclareUnicodeCharacter{011C}{\^G} - \DeclareUnicodeCharacter{011D}{\^g} - \DeclareUnicodeCharacter{011E}{\u{G}} - \DeclareUnicodeCharacter{011F}{\u{g}} - - \DeclareUnicodeCharacter{0120}{\dotaccent{G}} - \DeclareUnicodeCharacter{0121}{\dotaccent{g}} - \DeclareUnicodeCharacter{0124}{\^H} - \DeclareUnicodeCharacter{0125}{\^h} - \DeclareUnicodeCharacter{0128}{\~I} - \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} - \DeclareUnicodeCharacter{012A}{\=I} - \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} - \DeclareUnicodeCharacter{012C}{\u{I}} - \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} - - \DeclareUnicodeCharacter{0130}{\dotaccent{I}} - \DeclareUnicodeCharacter{0131}{\dotless{i}} - \DeclareUnicodeCharacter{0132}{IJ} - \DeclareUnicodeCharacter{0133}{ij} - \DeclareUnicodeCharacter{0134}{\^J} - \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} - \DeclareUnicodeCharacter{0139}{\'L} - \DeclareUnicodeCharacter{013A}{\'l} - - \DeclareUnicodeCharacter{0141}{\L} - \DeclareUnicodeCharacter{0142}{\l} - \DeclareUnicodeCharacter{0143}{\'N} - \DeclareUnicodeCharacter{0144}{\'n} - \DeclareUnicodeCharacter{0147}{\v{N}} - \DeclareUnicodeCharacter{0148}{\v{n}} - \DeclareUnicodeCharacter{014C}{\=O} - \DeclareUnicodeCharacter{014D}{\=o} - \DeclareUnicodeCharacter{014E}{\u{O}} - \DeclareUnicodeCharacter{014F}{\u{o}} - - \DeclareUnicodeCharacter{0150}{\H{O}} - \DeclareUnicodeCharacter{0151}{\H{o}} - \DeclareUnicodeCharacter{0152}{\OE} - \DeclareUnicodeCharacter{0153}{\oe} - \DeclareUnicodeCharacter{0154}{\'R} - \DeclareUnicodeCharacter{0155}{\'r} - \DeclareUnicodeCharacter{0158}{\v{R}} - \DeclareUnicodeCharacter{0159}{\v{r}} - \DeclareUnicodeCharacter{015A}{\'S} - \DeclareUnicodeCharacter{015B}{\'s} - \DeclareUnicodeCharacter{015C}{\^S} - \DeclareUnicodeCharacter{015D}{\^s} - \DeclareUnicodeCharacter{015E}{\cedilla{S}} - \DeclareUnicodeCharacter{015F}{\cedilla{s}} - - \DeclareUnicodeCharacter{0160}{\v{S}} - \DeclareUnicodeCharacter{0161}{\v{s}} - \DeclareUnicodeCharacter{0162}{\cedilla{t}} - \DeclareUnicodeCharacter{0163}{\cedilla{T}} - \DeclareUnicodeCharacter{0164}{\v{T}} - - \DeclareUnicodeCharacter{0168}{\~U} - \DeclareUnicodeCharacter{0169}{\~u} - \DeclareUnicodeCharacter{016A}{\=U} - \DeclareUnicodeCharacter{016B}{\=u} - \DeclareUnicodeCharacter{016C}{\u{U}} - \DeclareUnicodeCharacter{016D}{\u{u}} - \DeclareUnicodeCharacter{016E}{\ringaccent{U}} - \DeclareUnicodeCharacter{016F}{\ringaccent{u}} - - \DeclareUnicodeCharacter{0170}{\H{U}} - \DeclareUnicodeCharacter{0171}{\H{u}} - \DeclareUnicodeCharacter{0174}{\^W} - \DeclareUnicodeCharacter{0175}{\^w} - \DeclareUnicodeCharacter{0176}{\^Y} - \DeclareUnicodeCharacter{0177}{\^y} - \DeclareUnicodeCharacter{0178}{\"Y} - \DeclareUnicodeCharacter{0179}{\'Z} - \DeclareUnicodeCharacter{017A}{\'z} - \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} - \DeclareUnicodeCharacter{017C}{\dotaccent{z}} - \DeclareUnicodeCharacter{017D}{\v{Z}} - \DeclareUnicodeCharacter{017E}{\v{z}} - - \DeclareUnicodeCharacter{01C4}{D\v{Z}} - \DeclareUnicodeCharacter{01C5}{D\v{z}} - \DeclareUnicodeCharacter{01C6}{d\v{z}} - \DeclareUnicodeCharacter{01C7}{LJ} - \DeclareUnicodeCharacter{01C8}{Lj} - \DeclareUnicodeCharacter{01C9}{lj} - \DeclareUnicodeCharacter{01CA}{NJ} - \DeclareUnicodeCharacter{01CB}{Nj} - \DeclareUnicodeCharacter{01CC}{nj} - \DeclareUnicodeCharacter{01CD}{\v{A}} - \DeclareUnicodeCharacter{01CE}{\v{a}} - \DeclareUnicodeCharacter{01CF}{\v{I}} - - \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} - \DeclareUnicodeCharacter{01D1}{\v{O}} - \DeclareUnicodeCharacter{01D2}{\v{o}} - \DeclareUnicodeCharacter{01D3}{\v{U}} - \DeclareUnicodeCharacter{01D4}{\v{u}} - - \DeclareUnicodeCharacter{01E2}{\={\AE}} - \DeclareUnicodeCharacter{01E3}{\={\ae}} - \DeclareUnicodeCharacter{01E6}{\v{G}} - \DeclareUnicodeCharacter{01E7}{\v{g}} - \DeclareUnicodeCharacter{01E8}{\v{K}} - \DeclareUnicodeCharacter{01E9}{\v{k}} - - \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} - \DeclareUnicodeCharacter{01F1}{DZ} - \DeclareUnicodeCharacter{01F2}{Dz} - \DeclareUnicodeCharacter{01F3}{dz} - \DeclareUnicodeCharacter{01F4}{\'G} - \DeclareUnicodeCharacter{01F5}{\'g} - \DeclareUnicodeCharacter{01F8}{\`N} - \DeclareUnicodeCharacter{01F9}{\`n} - \DeclareUnicodeCharacter{01FC}{\'{\AE}} - \DeclareUnicodeCharacter{01FD}{\'{\ae}} - \DeclareUnicodeCharacter{01FE}{\'{\O}} - \DeclareUnicodeCharacter{01FF}{\'{\o}} - - \DeclareUnicodeCharacter{021E}{\v{H}} - \DeclareUnicodeCharacter{021F}{\v{h}} - - \DeclareUnicodeCharacter{0226}{\dotaccent{A}} - \DeclareUnicodeCharacter{0227}{\dotaccent{a}} - \DeclareUnicodeCharacter{0228}{\cedilla{E}} - \DeclareUnicodeCharacter{0229}{\cedilla{e}} - \DeclareUnicodeCharacter{022E}{\dotaccent{O}} - \DeclareUnicodeCharacter{022F}{\dotaccent{o}} - - \DeclareUnicodeCharacter{0232}{\=Y} - \DeclareUnicodeCharacter{0233}{\=y} - \DeclareUnicodeCharacter{0237}{\dotless{j}} - - \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} - \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} - \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} - \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} - \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} - \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} - \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} - \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} - \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} - \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} - \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} - \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} - - \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} - \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} - - \DeclareUnicodeCharacter{1E20}{\=G} - \DeclareUnicodeCharacter{1E21}{\=g} - \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} - \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} - \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} - \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} - \DeclareUnicodeCharacter{1E26}{\"H} - \DeclareUnicodeCharacter{1E27}{\"h} - - \DeclareUnicodeCharacter{1E30}{\'K} - \DeclareUnicodeCharacter{1E31}{\'k} - \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} - \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} - \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} - \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} - \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} - \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} - \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} - \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} - \DeclareUnicodeCharacter{1E3E}{\'M} - \DeclareUnicodeCharacter{1E3F}{\'m} - - \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} - \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} - \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} - \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} - \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} - \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} - \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} - \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} - \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} - \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} - - \DeclareUnicodeCharacter{1E54}{\'P} - \DeclareUnicodeCharacter{1E55}{\'p} - \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} - \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} - \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} - \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} - \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} - \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} - \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} - \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} - - \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} - \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} - \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} - \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} - \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} - \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} - \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} - \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} - \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} - \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} - - \DeclareUnicodeCharacter{1E7C}{\~V} - \DeclareUnicodeCharacter{1E7D}{\~v} - \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} - \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} - - \DeclareUnicodeCharacter{1E80}{\`W} - \DeclareUnicodeCharacter{1E81}{\`w} - \DeclareUnicodeCharacter{1E82}{\'W} - \DeclareUnicodeCharacter{1E83}{\'w} - \DeclareUnicodeCharacter{1E84}{\"W} - \DeclareUnicodeCharacter{1E85}{\"w} - \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} - \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} - \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} - \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} - \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} - \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} - \DeclareUnicodeCharacter{1E8C}{\"X} - \DeclareUnicodeCharacter{1E8D}{\"x} - \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} - \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} - - \DeclareUnicodeCharacter{1E90}{\^Z} - \DeclareUnicodeCharacter{1E91}{\^z} - \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} - \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} - \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} - \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} - \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} - \DeclareUnicodeCharacter{1E97}{\"t} - \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} - \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} - - \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} - \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} - - \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} - \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} - \DeclareUnicodeCharacter{1EBC}{\~E} - \DeclareUnicodeCharacter{1EBD}{\~e} - - \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} - \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} - \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} - \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} - - \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} - \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} - - \DeclareUnicodeCharacter{1EF2}{\`Y} - \DeclareUnicodeCharacter{1EF3}{\`y} - \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} - - \DeclareUnicodeCharacter{1EF8}{\~Y} - \DeclareUnicodeCharacter{1EF9}{\~y} - - \DeclareUnicodeCharacter{2013}{--} - \DeclareUnicodeCharacter{2014}{---} - \DeclareUnicodeCharacter{2022}{\bullet} - \DeclareUnicodeCharacter{2026}{\dots} - \DeclareUnicodeCharacter{20AC}{\euro} - - \DeclareUnicodeCharacter{2192}{\expansion} - \DeclareUnicodeCharacter{21D2}{\result} - - \DeclareUnicodeCharacter{2212}{\minus} - \DeclareUnicodeCharacter{2217}{\point} - \DeclareUnicodeCharacter{2261}{\equiv} -}% end of \utfeightchardefs - - -% US-ASCII character definitions. -\def\asciichardefs{% nothing need be done - \relax -} - -% Make non-ASCII characters printable again for compatibility with -% existing Texinfo documents that may use them, even without declaring a -% document encoding. -% -\setnonasciicharscatcode \other - - -\message{formatting,} - -\newdimen\defaultparindent \defaultparindent = 15pt - -\chapheadingskip = 15pt plus 4pt minus 2pt -\secheadingskip = 12pt plus 3pt minus 2pt -\subsecheadingskip = 9pt plus 2pt minus 2pt - -% Prevent underfull vbox error messages. -\vbadness = 10000 - -% Don't be so finicky about underfull hboxes, either. -\hbadness = 2000 - -% Following George Bush, just get rid of widows and orphans. -\widowpenalty=10000 -\clubpenalty=10000 - -% Use TeX 3.0's \emergencystretch to help line breaking, but if we're -% using an old version of TeX, don't do anything. We want the amount of -% stretch added to depend on the line length, hence the dependence on -% \hsize. We call this whenever the paper size is set. -% -\def\setemergencystretch{% - \ifx\emergencystretch\thisisundefined - % Allow us to assign to \emergencystretch anyway. - \def\emergencystretch{\dimen0}% - \else - \emergencystretch = .15\hsize - \fi -} - -% Parameters in order: 1) textheight; 2) textwidth; -% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; -% 7) physical page height; 8) physical page width. -% -% We also call \setleading{\textleading}, so the caller should define -% \textleading. The caller should also set \parskip. -% -\def\internalpagesizes#1#2#3#4#5#6#7#8{% - \voffset = #3\relax - \topskip = #6\relax - \splittopskip = \topskip - % - \vsize = #1\relax - \advance\vsize by \topskip - \outervsize = \vsize - \advance\outervsize by 2\topandbottommargin - \pageheight = \vsize - % - \hsize = #2\relax - \outerhsize = \hsize - \advance\outerhsize by 0.5in - \pagewidth = \hsize - % - \normaloffset = #4\relax - \bindingoffset = #5\relax - % - \ifpdf - \pdfpageheight #7\relax - \pdfpagewidth #8\relax - \fi - % - \setleading{\textleading} - % - \parindent = \defaultparindent - \setemergencystretch -} - -% @letterpaper (the default). -\def\letterpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}% - {\voffset}{.25in}% - {\bindingoffset}{36pt}% - {11in}{8.5in}% -}} - -% Use @smallbook to reset parameters for 7x9.25 trim size. -\def\smallbook{{\globaldefs = 1 - \parskip = 2pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.5in}{5in}% - {\voffset}{.25in}% - {\bindingoffset}{16pt}% - {9.25in}{7in}% - % - \lispnarrowing = 0.3in - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = .5cm -}} - -% Use @smallerbook to reset parameters for 6x9 trim size. -% (Just testing, parameters still in flux.) -\def\smallerbook{{\globaldefs = 1 - \parskip = 1.5pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.4in}{4.8in}% - {-.2in}{-.4in}% - {0pt}{14pt}% - {9in}{6in}% - % - \lispnarrowing = 0.25in - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = .4cm -}} - -% Use @afourpaper to print on European A4 paper. -\def\afourpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % Double-side printing via postscript on Laserjet 4050 - % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. - % To change the settings for a different printer or situation, adjust - % \normaloffset until the front-side and back-side texts align. Then - % do the same for \bindingoffset. You can set these for testing in - % your texinfo source file like this: - % @tex - % \global\normaloffset = -6mm - % \global\bindingoffset = 10mm - % @end tex - \internalpagesizes{51\baselineskip}{160mm} - {\voffset}{\hoffset}% - {\bindingoffset}{44pt}% - {297mm}{210mm}% - % - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = 5mm -}} - -% Use @afivepaper to print on European A5 paper. -% From romildo@urano.iceb.ufop.br, 2 July 2000. -% He also recommends making @example and @lisp be small. -\def\afivepaper{{\globaldefs = 1 - \parskip = 2pt plus 1pt minus 0.1pt - \textleading = 12.5pt - % - \internalpagesizes{160mm}{120mm}% - {\voffset}{\hoffset}% - {\bindingoffset}{8pt}% - {210mm}{148mm}% - % - \lispnarrowing = 0.2in - \tolerance = 800 - \hfuzz = 1.2pt - \contentsrightmargin = 0pt - \defbodyindent = 2mm - \tableindent = 12mm -}} - -% A specific text layout, 24x15cm overall, intended for A4 paper. -\def\afourlatex{{\globaldefs = 1 - \afourpaper - \internalpagesizes{237mm}{150mm}% - {\voffset}{4.6mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - % - % Must explicitly reset to 0 because we call \afourpaper. - \globaldefs = 0 -}} - -% Use @afourwide to print on A4 paper in landscape format. -\def\afourwide{{\globaldefs = 1 - \afourpaper - \internalpagesizes{241mm}{165mm}% - {\voffset}{-2.95mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - \globaldefs = 0 -}} - -% @pagesizes TEXTHEIGHT[,TEXTWIDTH] -% Perhaps we should allow setting the margins, \topskip, \parskip, -% and/or leading, also. Or perhaps we should compute them somehow. -% -\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} -\def\pagesizesyyy#1,#2,#3\finish{{% - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi - \globaldefs = 1 - % - \parskip = 3pt plus 2pt minus 1pt - \setleading{\textleading}% - % - \dimen0 = #1 - \advance\dimen0 by \voffset - % - \dimen2 = \hsize - \advance\dimen2 by \normaloffset - % - \internalpagesizes{#1}{\hsize}% - {\voffset}{\normaloffset}% - {\bindingoffset}{44pt}% - {\dimen0}{\dimen2}% -}} - -% Set default to letter. -% -\letterpaper - - -\message{and turning on texinfo input format.} - -% Define macros to output various characters with catcode for normal text. -\catcode`\"=\other -\catcode`\~=\other -\catcode`\^=\other -\catcode`\_=\other -\catcode`\|=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode`\+=\other -\catcode`\$=\other -\def\normaldoublequote{"} -\def\normaltilde{~} -\def\normalcaret{^} -\def\normalunderscore{_} -\def\normalverticalbar{|} -\def\normalless{<} -\def\normalgreater{>} -\def\normalplus{+} -\def\normaldollar{$}%$ font-lock fix - -% This macro is used to make a character print one way in \tt -% (where it can probably be output as-is), and another way in other fonts, -% where something hairier probably needs to be done. -% -% #1 is what to print if we are indeed using \tt; #2 is what to print -% otherwise. Since all the Computer Modern typewriter fonts have zero -% interword stretch (and shrink), and it is reasonable to expect all -% typewriter fonts to have this, we can check that font parameter. -% -\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} - -% Same as above, but check for italic font. Actually this also catches -% non-italic slanted fonts since it is impossible to distinguish them from -% italic fonts. But since this is only used by $ and it uses \sl anyway -% this is not a problem. -\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} - -% Turn off all special characters except @ -% (and those which the user can use as if they were ordinary). -% Most of these we simply print from the \tt font, but for some, we can -% use math or other variants that look better in normal text. - -\catcode`\"=\active -\def\activedoublequote{{\tt\char34}} -\let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt\char126}} -\chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} - -\catcode`\_=\active -\def_{\ifusingtt\normalunderscore\_} -\let\realunder=_ -% Subroutine for the previous macro. -\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } - -\catcode`\|=\active -\def|{{\tt\char124}} -\chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} -\chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix - -% If a .fmt file is being used, characters that might appear in a file -% name cannot be active until we have parsed the command line. -% So turn them off again, and have \everyjob (or @setfilename) turn them on. -% \otherifyactive is called near the end of this file. -\def\otherifyactive{\catcode`+=\other \catcode`\_=\other} - -% Used sometimes to turn off (effectively) the active characters even after -% parsing them. -\def\turnoffactive{% - \normalturnoffactive - \otherbackslash -} - -\catcode`\@=0 - -% \backslashcurfont outputs one backslash character in current font, -% as in \char`\\. -\global\chardef\backslashcurfont=`\\ -\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work - -% \realbackslash is an actual character `\' with catcode other, and -% \doublebackslash is two of them (for the pdf outlines). -{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} - -% In texinfo, backslash is an active character; it prints the backslash -% in fixed width font. -\catcode`\\=\active -@def@normalbackslash{{@tt@backslashcurfont}} -% On startup, @fixbackslash assigns: -% @let \ = @normalbackslash - -% \rawbackslash defines an active \ to do \backslashcurfont. -% \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. -@gdef@rawbackslash{@let\=@backslashcurfont} -@gdef@otherbackslash{@let\=@realbackslash} - -% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let\=@normalbackslash - @let"=@normaldoublequote - @let~=@normaltilde - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let<=@normalless - @let>=@normalgreater - @let+=@normalplus - @let$=@normaldollar %$ font-lock fix - @unsepspaces -} - -% Make _ and + \other characters, temporarily. -% This is canceled by @fixbackslash. -@otherifyactive - -% If a .fmt file is being used, we don't want the `\input texinfo' to show up. -% That is what \eatinput is for; after that, the `\' should revert to printing -% a backslash. -% -@gdef@eatinput input texinfo{@fixbackslash} -@global@let\ = @eatinput - -% On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\' in the file would cause an error. This macro tries to fix -% that, assuming it is called before the first `\' could plausibly occur. -% Also turn back on active characters that might appear in the input -% file name, in case not using a pre-dumped format. -% -@gdef@fixbackslash{% - @ifx\@eatinput @let\ = @normalbackslash @fi - @catcode`+=@active - @catcode`@_=@active -} - -% Say @foo, not \foo, in error messages. -@escapechar = `@@ - -% These look ok in all fonts, so just make them not special. -@catcode`@& = @other -@catcode`@# = @other -@catcode`@% = @other - - -@c Local variables: -@c eval: (add-hook 'write-file-hooks 'time-stamp) -@c page-delimiter: "^\\\\message" -@c time-stamp-start: "def\\\\texinfoversion{" -@c time-stamp-format: "%:y-%02m-%02d.%02H" -@c time-stamp-end: "}" -@c End: - -@c vim:sw=2: - -@ignore - arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 -@end ignore diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/config.h.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/config.h.in deleted file mode 100644 index a298744b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/config.h.in +++ /dev/null @@ -1,245 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - - -#ifndef PINENTRY_CONFIG_H_INCLUDED -#define PINENTRY_CONFIG_H_INCLUDED - -/* Enable gpg-error's strerror macro under W32CE. */ -#define GPG_ERR_ENABLE_ERRNO_MACROS 1 - - - -#ifndef GNUPG_CONFIG_H_INCLUDED -#define GNUPG_CONFIG_H_INCLUDED - - -/* The GUI pinentries should fall back to curses if X is not available. */ -#undef FALLBACK_CURSES - -/* Nod nod */ -#undef GCR_API_SUBJECT_TO_CHANGE - -/* version of the libassuan library */ -#undef GNUPG_LIBASSUAN_VERSION - -/* Under WindowsCE we use the strerror replacement from libgpg-error. */ -#undef GPG_ERR_ENABLE_ERRNO_MACROS - -/* Under Windows we use the gettext code from libgpg-error */ -#undef GPG_ERR_ENABLE_GETTEXT_MACROS - -/* Defined if the mlock() call does not work */ -#undef HAVE_BROKEN_MLOCK - -/* Define to 1 if the system has the type `byte'. */ -#undef HAVE_BYTE - -/* Defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2) - with special properties like no file modes */ -#undef HAVE_DOSISH_SYSTEM - -/* Defined if the OS supports drive letters. */ -#undef HAVE_DRIVE_LETTERS - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the iconv() function and it works. */ -#undef HAVE_ICONV - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the <langinfo.h> header file. */ -#undef HAVE_LANGINFO_H - -/* Define to 1 if you have the `rt' library (-lrt). */ -#undef HAVE_LIBRT - -/* The pinentries should optionally cache the passphrase using libsecret. */ -#undef HAVE_LIBSECRET - -/* Define to 1 if you have the <locale.h> header file. */ -#undef HAVE_LOCALE_H - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Defined if the system supports an mlock() call */ -#undef HAVE_MLOCK - -/* Define to 1 if you have the `mmap' function. */ -#undef HAVE_MMAP - -/* Define if you have working ncursesw */ -#undef HAVE_NCURSESW - -/* Define to 1 if you have the `seteuid' function. */ -#undef HAVE_SETEUID - -/* Define to 1 if you have the `stat' function. */ -#undef HAVE_STAT - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `stpcpy' function. */ -#undef HAVE_STPCPY - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `sysconf' function. */ -#undef HAVE_SYSCONF - -/* Define to 1 if you have the <sys/mman.h> header file. */ -#undef HAVE_SYS_MMAN_H - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the <termio.h> header file. */ -#undef HAVE_TERMIO_H - -/* Define to 1 if the system has the type `u64'. */ -#undef HAVE_U64 - -/* Define to 1 if the system has the type `ulong'. */ -#undef HAVE_ULONG - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the <utime.h> header file. */ -#undef HAVE_UTIME_H - -/* Defined if we run on WindowsCE */ -#undef HAVE_W32CE_SYSTEM - -/* Defined if we run on a W32 API based system */ -#undef HAVE_W32_SYSTEM - -/* Define to 1 if you have the <wchar.h> header file. */ -#undef HAVE_WCHAR_H - -/* The pinentries can optionally use x11. */ -#undef HAVE_X11 - -/* Define as const if the declaration of iconv() needs const. */ -#undef ICONV_CONST - -/* The GUI pinentries should respect INSIDE_EMACS envvar. */ -#undef INSIDE_EMACS - -/* 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 - -/* The Curses version of Pinentry is to be build */ -#undef PINENTRY_CURSES - -/* The Emacs version of Pinentry is to be build */ -#undef PINENTRY_EMACS - -/* The qt version of Pinentry is to be build */ -#undef PINENTRY_QT - -/* The qt4 version of Pinentry is to be build */ -#undef PINENTRY_QT4 - -/* pinentry-qt should use KF5WaylandClient. */ -#undef PINENTRY_QT_WAYLAND - -/* pinentry-qt should use x11. */ -#undef PINENTRY_QT_X11 - -/* The TTY version of Pinentry is to be build */ -#undef PINENTRY_TTY - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Set this to limit filenames to the 8.3 format */ -#undef USE_ONLY_8DOT3 - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Version number of package */ -#undef VERSION - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, - <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT32_T - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#undef uint32_t - - -#endif /*PINENTRY_CONFIG_H_INCLUDED*/ - - - -#ifdef GPG_ERR_SOURCE_DEFAULT -# error GPG_ERR_SOURCE_DEFAULT already defined -#endif -#define GPG_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_PINENTRY -#endif /*GNUPG_CONFIG_H_INCLUDED*/ - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure b/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure deleted file mode 100755 index 25c1c65c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure +++ /dev/null @@ -1,13655 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pinentry 1.2.1. -# -# Report bugs to <https://bugs.gnupg.org>. -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: https://bugs.gnupg.org about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 </dev/null -exec 6>&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='pinentry' -PACKAGE_TARNAME='pinentry' -PACKAGE_VERSION='1.2.1' -PACKAGE_STRING='pinentry 1.2.1' -PACKAGE_BUGREPORT='https://bugs.gnupg.org' -PACKAGE_URL='' - -ac_unique_file="pinentry/pinentry.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#ifdef HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#ifdef HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#ifdef STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# ifdef HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif -#ifdef HAVE_INTTYPES_H -# include <inttypes.h> -#endif -#ifdef HAVE_STDINT_H -# include <stdint.h> -#endif -#ifdef HAVE_UNISTD_H -# include <unistd.h> -#endif" - -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -LIBOBJS -BUILD_DOC_FALSE -BUILD_DOC_TRUE -PINENTRY_DEFAULT -BUILD_PINENTRY_FLTK_FALSE -BUILD_PINENTRY_FLTK_TRUE -FLTKLIBS -FLTKCXXFLAGS -FLTKCFLAGS -FLTK_CONFIG -BUILD_PINENTRY_W32_FALSE -BUILD_PINENTRY_W32_TRUE -BUILD_PINENTRY_TQT_FALSE -BUILD_PINENTRY_TQT_TRUE -TQT_MOC -PINENTRY_TQT_LIBS -PINENTRY_TQT_CFLAGS -BUILD_PINENTRY_QT4_FALSE -BUILD_PINENTRY_QT4_TRUE -PINENTRY_QT4_LDFLAGS -MOC42 -MOC4 -PINENTRY_QT4_LIBS -PINENTRY_QT4_CFLAGS -BUILD_PINENTRY_QT_FALSE -BUILD_PINENTRY_QT_TRUE -PINENTRY_QT_LDFLAGS -RCC2 -RCC -QTCHOOSER -MOC2 -MOC -PINENTRY_QT_X11_EXTRAS_LIBS -PINENTRY_QT_X11_EXTRAS_CFLAGS -PINENTRY_QT_REQUIRE_CPP11_LIBS -PINENTRY_QT_REQUIRE_CPP11_CFLAGS -PINENTRY_QT_LIBS -PINENTRY_QT_CFLAGS -KF5WAYLANDCLIENT_LIBS -KF5WAYLANDCLIENT_CFLAGS -LIBX11_LIBS -LIBX11_CFLAGS -BUILD_WITH_LIBSECRET_FALSE -BUILD_WITH_LIBSECRET_TRUE -LIBSECRET_LIBS -LIBSECRET_CFLAGS -BUILD_PINENTRY_GNOME_3_FALSE -BUILD_PINENTRY_GNOME_3_TRUE -GNOME3_LIBS -GNOME3_CFLAGS -BUILD_PINENTRY_GTK_2_FALSE -BUILD_PINENTRY_GTK_2_TRUE -GTK2_LIBS -GTK2_CFLAGS -BUILD_PINENTRY_EFL_FALSE -BUILD_PINENTRY_EFL_TRUE -EFL_LIBS -EFL_CFLAGS -INSIDE_EMACS_FALSE -INSIDE_EMACS_TRUE -BUILD_PINENTRY_EMACS_FALSE -BUILD_PINENTRY_EMACS_TRUE -BUILD_LIBPINENTRY_EMACS_FALSE -BUILD_LIBPINENTRY_EMACS_TRUE -LTLIBICONV -LIBICONV -BUILD_PINENTRY_TTY_FALSE -BUILD_PINENTRY_TTY_TRUE -FALLBACK_CURSES_FALSE -FALLBACK_CURSES_TRUE -BUILD_PINENTRY_CURSES_FALSE -BUILD_PINENTRY_CURSES_TRUE -BUILD_LIBPINENTRY_CURSES_FALSE -BUILD_LIBPINENTRY_CURSES_TRUE -LIBCURSES -LIBTERMCAP -LIBNCURSES -NCURSES_INCLUDE -NCURSES_LIBS -NCURSES_CFLAGS -LIBASSUAN_LIBS -LIBASSUAN_CFLAGS -LIBASSUAN_CONFIG -GPG_ERROR_MT_LIBS -GPG_ERROR_MT_CFLAGS -GPG_ERROR_LIBS -GPG_ERROR_CFLAGS -GPGRT_CONFIG -GPG_ERROR_CONFIG -COMMON_LIBS -COMMON_CFLAGS -HAVE_W32CE_SYSTEM_FALSE -HAVE_W32CE_SYSTEM_TRUE -HAVE_W32_SYSTEM_FALSE -HAVE_W32_SYSTEM_TRUE -HAVE_DOSISH_SYSTEM_FALSE -HAVE_DOSISH_SYSTEM_TRUE -GITLOG_TO_CHANGELOG -WINDRES -PKG_CONFIG -LN_S -am__fastdepCXX_FALSE -am__fastdepCXX_TRUE -CXXDEPMODE -ac_ct_CXX -CXXFLAGS -CXX -RANLIB -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -MAINT -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE -EGREP -GREP -CPP -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -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 -runstatedir -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 -am__quote' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_silent_rules -enable_dependency_tracking -enable_maintainer_mode -with_libgpg_error_prefix -with_gpg_error_prefix -with_libassuan_prefix -enable_pinentry_curses -enable_fallback_curses -enable_ncurses -with_ncurses_include_dir -enable_pinentry_tty -with_gnu_ld -enable_rpath -with_libiconv_prefix -enable_pinentry_emacs -enable_inside_emacs -enable_pinentry_efl -enable_pinentry_gtk2 -enable_pinentry_gnome3 -enable_libsecret -enable_pinentry_qt -enable_pinentry_qt5 -enable_pinentry_qt4 -enable_pinentry_tqt -enable_pinentry_fltk -enable_doc -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -PKG_CONFIG -NCURSES_CFLAGS -NCURSES_LIBS -EFL_CFLAGS -EFL_LIBS -GTK2_CFLAGS -GTK2_LIBS -GNOME3_CFLAGS -GNOME3_LIBS -LIBSECRET_CFLAGS -LIBSECRET_LIBS -LIBX11_CFLAGS -LIBX11_LIBS -KF5WAYLANDCLIENT_CFLAGS -KF5WAYLANDCLIENT_LIBS -PINENTRY_QT_CFLAGS -PINENTRY_QT_LIBS -PINENTRY_QT_REQUIRE_CPP11_CFLAGS -PINENTRY_QT_REQUIRE_CPP11_LIBS -PINENTRY_QT_X11_EXTRAS_CFLAGS -PINENTRY_QT_X11_EXTRAS_LIBS -PINENTRY_QT4_CFLAGS -PINENTRY_QT4_LIBS -PINENTRY_TQT_CFLAGS -PINENTRY_TQT_LIBS' - - -# 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' -runstatedir='${localstatedir}/run' -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 ;; - - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - - -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 runstatedir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures pinentry 1.2.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] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] - --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/pinentry] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of pinentry 1.2.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] - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-maintainer-mode - enable make rules and dependencies not useful (and - sometimes confusing) to the casual installer - --enable-pinentry-curses - build curses pinentry - --enable-fallback-curses - include curses fallback - --disable-ncurses don't prefer -lncurses over -lcurses - --enable-pinentry-tty build tty pinentry - --disable-rpath do not hardcode runtime library paths - --enable-pinentry-emacs build emacs pinentry - --enable-inside-emacs include emacs hack - --enable-pinentry-efl build EFL pinentry - --enable-pinentry-gtk2 build GTK+-2 pinentry - --enable-pinentry-gnome3 - build GNOME 3 pinentry - --enable-libsecret optionally cache passphrases using libsecret - --enable-pinentry-qt build Qt5 pinentry - --disable-pinentry-qt5 Don't use qt5 even if it is available. - --enable-pinentry-qt4 build Qt4 pinentry - --enable-pinentry-tqt build tqt pinentry - --enable-pinentry-fltk build FLTK 1.3 pinentry - --disable-doc do not build the documentation - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-libgpg-error-prefix=PFX - prefix where GPG Error is installed (optional) - - --with-libassuan-prefix=PFX - prefix where LIBASSUAN is installed (optional) - --with-ncurses-include-dir=DIR - Set directory containing the include files for use - with -lncurses, when it isn't installed as the - default curses library. If DIR is "none", then no - special ncurses include files are used. - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib - --without-libiconv-prefix don't search for libiconv in includedir and libdir - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - LIBS libraries to pass to the linker, e.g. -l<library> - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if - you have headers in a nonstandard directory <include dir> - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - PKG_CONFIG path to pkg-config utility - NCURSES_CFLAGS - C compiler flags for NCURSES, overriding pkg-config - NCURSES_LIBS - linker flags for NCURSES, overriding pkg-config - EFL_CFLAGS C compiler flags for EFL, overriding pkg-config - EFL_LIBS linker flags for EFL, overriding pkg-config - GTK2_CFLAGS C compiler flags for GTK2, overriding pkg-config - GTK2_LIBS linker flags for GTK2, overriding pkg-config - GNOME3_CFLAGS - C compiler flags for GNOME3, overriding pkg-config - GNOME3_LIBS linker flags for GNOME3, overriding pkg-config - LIBSECRET_CFLAGS - C compiler flags for LIBSECRET, overriding pkg-config - LIBSECRET_LIBS - linker flags for LIBSECRET, overriding pkg-config - LIBX11_CFLAGS - C compiler flags for LIBX11, overriding pkg-config - LIBX11_LIBS linker flags for LIBX11, overriding pkg-config - KF5WAYLANDCLIENT_CFLAGS - C compiler flags for KF5WAYLANDCLIENT, overriding pkg-config - KF5WAYLANDCLIENT_LIBS - linker flags for KF5WAYLANDCLIENT, overriding pkg-config - PINENTRY_QT_CFLAGS - C compiler flags for PINENTRY_QT, overriding pkg-config - PINENTRY_QT_LIBS - linker flags for PINENTRY_QT, overriding pkg-config - PINENTRY_QT_REQUIRE_CPP11_CFLAGS - C compiler flags for PINENTRY_QT_REQUIRE_CPP11, overriding - pkg-config - PINENTRY_QT_REQUIRE_CPP11_LIBS - linker flags for PINENTRY_QT_REQUIRE_CPP11, overriding - pkg-config - PINENTRY_QT_X11_EXTRAS_CFLAGS - C compiler flags for PINENTRY_QT_X11_EXTRAS, overriding - pkg-config - PINENTRY_QT_X11_EXTRAS_LIBS - linker flags for PINENTRY_QT_X11_EXTRAS, overriding pkg-config - PINENTRY_QT4_CFLAGS - C compiler flags for PINENTRY_QT4, overriding pkg-config - PINENTRY_QT4_LIBS - linker flags for PINENTRY_QT4, overriding pkg-config - PINENTRY_TQT_CFLAGS - C compiler flags for PINENTRY_TQT, overriding pkg-config - PINENTRY_TQT_LIBS - linker flags for PINENTRY_TQT, overriding pkg-config - -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 <https://bugs.gnupg.org>. -_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 -pinentry configure 1.2.1 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ------------------------------------- ## -## Report this to https://bugs.gnupg.org ## -## ------------------------------------- ##" - ) | 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_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_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_cxx_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_cxx_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 || - 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 <limits.h> declares $2. - For example, HP-UX 11i <limits.h> declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since - <limits.h> exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include <limits.h> -#else -# include <assert.h> -#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_find_uintX_t LINENO BITS VAR -# ------------------------------------ -# Finds an unsigned integer type with width BITS, setting cache variable VAR -# accordingly. -ac_fn_c_find_uintX_t () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 -$as_echo_n "checking for uint$2_t... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - # Order is important - never check a type that is potentially smaller - # than half of the expected target width. - for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \ - 'unsigned long long int' 'unsigned short int' 'unsigned char'; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - case $ac_type in #( - uint$2_t) : - eval "$3=yes" ;; #( - *) : - eval "$3=\$ac_type" ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if eval test \"x\$"$3"\" = x"no"; then : - -else - break -fi - done -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_find_uintX_t - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type -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 pinentry $as_me 1.2.1, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; 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 build-aux \"$srcdir\"/build-aux" "$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. - - -ac_config_headers="$ac_config_headers config.h" - - -am__api_version='1.16' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# 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 ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - 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 - 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 - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - 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; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -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 - MISSING="\${SHELL} '$am_aux_dir/missing'" -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -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+set}" != 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 as_fn_executable_p "$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 as_fn_executable_p "$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 - as_fn_executable_p "$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; } - -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 as_fn_executable_p "$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 - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -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='pinentry' - VERSION='1.2.1' - - -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"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> -# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542> - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: <https://www.gnu.org/software/coreutils/>. - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 -$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } -cat > confinc.mk << 'END' -am__doit: - @echo this is the am__doit target >confinc.out -.PHONY: am__doit -END -am__include="#" -am__quote= -# BSD make does it like this. -echo '.include "confinc.mk" # ignored' > confmf.BSD -# Other make implementations (GNU, Solaris 10, AIX) do it like this. -echo 'include confinc.mk # ignored' > confmf.GNU -_am_result=no -for s in GNU BSD; do - { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 - (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - case $?:`cat confinc.out 2>/dev/null` in #( - '0:this is the am__doit target') : - case $s in #( - BSD) : - am__include='.include' am__quote='"' ;; #( - *) : - am__include='include' am__quote='' ;; -esac ;; #( - *) : - ;; -esac - if test "$am__include" != "#"; then - _am_result="yes ($s style)" - break - fi -done -rm -f confinc.* confmf.* -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 -$as_echo "${_am_result}" >&6; } - -# 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='\' - am__nodep='_no' -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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdio.h> -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 <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_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. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != 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 -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". - rm -rf conftest.dir - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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 - - - -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 <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> 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 <limits.h> -#else -# include <assert.h> -#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 <ac_nonexistent.h> -_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 <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> 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 <limits.h> -#else -# include <assert.h> -#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 <ac_nonexistent.h> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <stdlib.h> -#include <stdarg.h> -#include <string.h> -#include <float.h> - -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 <string.h> - -_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 <stdlib.h> - -_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 <ctype.h> -#include <stdlib.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 -$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } - # Check whether --enable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then : - enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval -else - USE_MAINTAINER_MODE=no -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 -$as_echo "$USE_MAINTAINER_MODE" >&6; } - if test $USE_MAINTAINER_MODE = yes; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' -else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= -fi - - MAINT=$MAINTAINER_MODE_TRUE - - - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - - - - - - -{ $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 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# 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 ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - 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 - 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 - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - 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; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -missing_dir=`cd $ac_aux_dir && pwd` - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $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 <stdarg.h> -#include <stdio.h> -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_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. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != 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 -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". - rm -rf conftest.dir - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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 - - -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 <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> 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 <limits.h> -#else -# include <assert.h> -#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 <ac_nonexistent.h> -_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 <limits.h> to <assert.h> if __STDC__ is defined, since - # <limits.h> 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 <limits.h> -#else -# include <assert.h> -#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 <ac_nonexistent.h> -_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 - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $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 -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $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_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $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_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - 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 - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -# We need to check for cplusplus here because we may not do the test -# for Qt and autoconf does does not allow that. -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$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 -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $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_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$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_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $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 - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# 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_cxx_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_cxx_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_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_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_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=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="$CXX" 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_CXX_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". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - 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 10 /bin/sh. - echo '/* dummy */' > 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 - ;; - msvc7 | msvc7msys | 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_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; 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, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -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 as_fn_executable_p "$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 as_fn_executable_p "$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 -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. -set dummy ${ac_tool_prefix}windres; 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_WINDRES+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$WINDRES"; then - ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_WINDRES="${ac_tool_prefix}windres" - $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 -WINDRES=$ac_cv_prog_WINDRES -if test -n "$WINDRES"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WINDRES" >&5 -$as_echo "$WINDRES" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_WINDRES"; then - ac_ct_WINDRES=$WINDRES - # Extract the first word of "windres", so it can be a program name with args. -set dummy windres; 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_WINDRES+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_WINDRES"; then - ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_WINDRES="windres" - $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_WINDRES=$ac_cv_prog_ac_ct_WINDRES -if test -n "$ac_ct_WINDRES"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_WINDRES" >&5 -$as_echo "$ac_ct_WINDRES" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_WINDRES" = x; then - WINDRES=":" - 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 - WINDRES=$ac_ct_WINDRES - fi -else - WINDRES="$ac_cv_prog_WINDRES" -fi - -for ac_prog in gitlog-to-changelog -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_GITLOG_TO_CHANGELOG+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$GITLOG_TO_CHANGELOG"; then - ac_cv_prog_GITLOG_TO_CHANGELOG="$GITLOG_TO_CHANGELOG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_GITLOG_TO_CHANGELOG="$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 -GITLOG_TO_CHANGELOG=$ac_cv_prog_GITLOG_TO_CHANGELOG -if test -n "$GITLOG_TO_CHANGELOG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GITLOG_TO_CHANGELOG" >&5 -$as_echo "$GITLOG_TO_CHANGELOG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$GITLOG_TO_CHANGELOG" && break -done -test -n "$GITLOG_TO_CHANGELOG" || GITLOG_TO_CHANGELOG="build-aux/gitlog-to-changelog" - - - -have_dosish_system=no -have_w32_system=no -have_w32ce_system=no -case "${host}" in - *-mingw32*) - -$as_echo "#define USE_ONLY_8DOT3 1" >>confdefs.h - - have_dosish_system=yes - have_w32_system=yes - case "${host}" in - *-mingw32ce*) - have_w32ce_system=yes - ;; - *) - -$as_echo "#define HAVE_DRIVE_LETTERS 1" >>confdefs.h - - ;; - esac - ;; - i?86-emx-os2 | i?86-*-os2*emx ) - # OS/2 with the EMX environment - $as_echo "#define HAVE_DRIVE_LETTERS 1" >>confdefs.h - - have_dosish_system=yes - ;; - - i?86-*-msdosdjgpp*) - # DOS with the DJGPP environment - $as_echo "#define HAVE_DRIVE_LETTERS 1" >>confdefs.h - - have_dosish_system=yes - ;; -esac - -if test "$have_dosish_system" = yes; then - -$as_echo "#define HAVE_DOSISH_SYSTEM 1" >>confdefs.h - -fi - if test "$have_dosish_system" = yes; then - HAVE_DOSISH_SYSTEM_TRUE= - HAVE_DOSISH_SYSTEM_FALSE='#' -else - HAVE_DOSISH_SYSTEM_TRUE='#' - HAVE_DOSISH_SYSTEM_FALSE= -fi - - -if test "$have_w32_system" = yes; then - -$as_echo "#define HAVE_W32_SYSTEM 1" >>confdefs.h - - if test "$have_w32ce_system" = yes; then - -$as_echo "#define HAVE_W32CE_SYSTEM 1" >>confdefs.h - - fi -fi - if test "$have_w32_system" = yes; then - HAVE_W32_SYSTEM_TRUE= - HAVE_W32_SYSTEM_FALSE='#' -else - HAVE_W32_SYSTEM_TRUE='#' - HAVE_W32_SYSTEM_FALSE= -fi - - if test "$have_w32ce_system" = yes; then - HAVE_W32CE_SYSTEM_TRUE= - HAVE_W32CE_SYSTEM_FALSE='#' -else - HAVE_W32CE_SYSTEM_TRUE='#' - HAVE_W32CE_SYSTEM_FALSE= -fi - - - - - -if test "$GCC" = yes; then - # Check whether gcc does not emit a diagnositc for unknown -Wno-* - # options. This is the case for gcc >= 4.6 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc ignores unknown -Wno-* options" >&5 -$as_echo_n "checking if gcc ignores unknown -Wno-* options... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6 ) -#kickerror -#endif -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - _gcc_silent_wno=yes -else - _gcc_silent_wno=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_silent_wno" >&5 -$as_echo "$_gcc_silent_wno" >&6; } - - if test "$USE_MAINTAINER_MODE" = "yes"; then - CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" - CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security" - - if test x"$_gcc_silent_wno" = xyes ; then - _gcc_warn=yes - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-missing-field-initializers" >&5 -$as_echo_n "checking if gcc supports -Wno-missing-field-initializers... " >&6; } - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wno-missing-field-initializers" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - _gcc_warn=yes -else - _gcc_warn=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_warn" >&5 -$as_echo "$_gcc_warn" >&6; } - CFLAGS=$_gcc_cflags_save; - fi - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -W -Wno-sign-compare -Wno-missing-field-initializers" - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wdeclaration-after-statement" >&5 -$as_echo_n "checking if gcc supports -Wdeclaration-after-statement... " >&6; } - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wdeclaration-after-statement" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - _gcc_warn=yes -else - _gcc_warn=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_warn" >&5 -$as_echo "$_gcc_warn" >&6; } - CFLAGS=$_gcc_cflags_save; - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -Wdeclaration-after-statement" - fi - - else - # Not in maintainer mode: Use standard warnings. - CFLAGS="$CFLAGS -Wall" - fi - - CPPFLAGS="$CPPFLAGS -Wall" - - if test x"$_gcc_silent_wno" = xyes ; then - _gcc_warn=yes - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-pointer-sign" >&5 -$as_echo_n "checking if gcc supports -Wno-pointer-sign... " >&6; } - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wno-pointer-sign" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - _gcc_warn=yes -else - _gcc_warn=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_warn" >&5 -$as_echo "$_gcc_warn" >&6; } - CFLAGS=$_gcc_cflags_save; - fi - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -Wno-pointer-sign" - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wpointer-arith" >&5 -$as_echo_n "checking if gcc supports -Wpointer-arith... " >&6; } - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wpointer-arith" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - _gcc_warn=yes -else - _gcc_warn=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gcc_warn" >&5 -$as_echo "$_gcc_warn" >&6; } - CFLAGS=$_gcc_cflags_save; - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -Wpointer-arith" - fi -fi - - -# Checks for header files. -for ac_header in string.h unistd.h langinfo.h termio.h locale.h utime.h wchar.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in seteuid stpcpy mmap stat -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - for ac_func in mlock -do : - ac_fn_c_check_func "$LINENO" "mlock" "ac_cv_func_mlock" -if test "x$ac_cv_func_mlock" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_MLOCK 1 -_ACEOF - -fi -done - - if test "$ac_cv_func_mlock" = "no"; then - for ac_header in sys/mman.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_mman_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_MMAN_H 1 -_ACEOF - -fi - -done - - if test "$ac_cv_header_sys_mman_h" = "yes"; then - # Add librt to LIBS: - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for memlk in -lrt" >&5 -$as_echo_n "checking for memlk in -lrt... " >&6; } -if ${ac_cv_lib_rt_memlk+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lrt $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 memlk (); -int -main () -{ -return memlk (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_rt_memlk=yes -else - ac_cv_lib_rt_memlk=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_rt_memlk" >&5 -$as_echo "$ac_cv_lib_rt_memlk" >&6; } -if test "x$ac_cv_lib_rt_memlk" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRT 1 -_ACEOF - - LIBS="-lrt $LIBS" - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mlock is in sys/mman.h" >&5 -$as_echo_n "checking whether mlock is in sys/mman.h... " >&6; } -if ${gnupg_cv_mlock_is_in_sys_mman+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include <assert.h> - #ifdef HAVE_SYS_MMAN_H - #include <sys/mman.h> - #endif - -int -main () -{ - -int i; - -/* glibc 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_mlock) || defined (__stub___mlock) -choke me -#else -mlock(&i, 4); -#endif -; return 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gnupg_cv_mlock_is_in_sys_mman=yes -else - gnupg_cv_mlock_is_in_sys_mman=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: $gnupg_cv_mlock_is_in_sys_mman" >&5 -$as_echo "$gnupg_cv_mlock_is_in_sys_mman" >&6; } - if test "$gnupg_cv_mlock_is_in_sys_mman" = "yes"; then - -$as_echo "#define HAVE_MLOCK 1" >>confdefs.h - - fi - fi - fi - if test "$ac_cv_func_mlock" = "yes"; then - for ac_func in sysconf getpagesize -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mlock is broken" >&5 -$as_echo_n "checking whether mlock is broken... " >&6; } - if ${gnupg_cv_have_broken_mlock+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - gnupg_cv_have_broken_mlock="assume-no" - -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> -#include <sys/mman.h> -#include <sys/types.h> -#include <fcntl.h> - -int main() -{ - char *pool; - int err; - long int pgsize; - -#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) - pgsize = sysconf (_SC_PAGESIZE); -#elif defined (HAVE_GETPAGESIZE) - pgsize = getpagesize(); -#else - pgsize = -1; -#endif - - if (pgsize == -1) - pgsize = 4096; - - pool = malloc( 4096 + pgsize ); - if( !pool ) - return 2; - pool += (pgsize - ((size_t)pool % pgsize)); - - err = mlock( pool, 4096 ); - if( !err || errno == EPERM || errno == EAGAIN) - return 0; /* okay */ - - return 1; /* hmmm */ -} - -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gnupg_cv_have_broken_mlock="no" -else - gnupg_cv_have_broken_mlock="yes" -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - -fi - - if test "$gnupg_cv_have_broken_mlock" = "yes"; then - -$as_echo "#define HAVE_BROKEN_MLOCK 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - if test "$gnupg_cv_have_broken_mlock" = "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming no" >&5 -$as_echo "assuming no" >&6; } - fi - fi - fi - - -ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t" -case $ac_cv_c_uint32_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT32_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint32_t $ac_cv_c_uint32_t -_ACEOF -;; - esac - - -# Common libraries and cflags. -COMMON_CFLAGS= -COMMON_LIBS= - - - -# -# libgpg-error is a library with error codes shared between GnuPG -# related projects. -# -NEED_GPG_ERROR_VERSION=1.16 -have_gpg_error=no - - - gpg_error_config_prefix="" - -# Check whether --with-libgpg-error-prefix was given. -if test "${with_libgpg_error_prefix+set}" = set; then : - withval=$with_libgpg_error_prefix; gpg_error_config_prefix="$withval" -fi - - - -# Check whether --with-gpg-error-prefix was given. -if test "${with_gpg_error_prefix+set}" = set; then : - withval=$with_gpg_error_prefix; gpg_error_config_prefix="$withval" -fi - - - if test x"${GPG_ERROR_CONFIG}" = x ; then - if test x"${gpg_error_config_prefix}" != x ; then - GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" - else - case "${SYSROOT}" in - /*) - if test -x "${SYSROOT}/bin/gpg-error-config" ; then - GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" - fi - ;; - '') - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&5 -$as_echo "$as_me: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&2;} - ;; - esac - fi - fi - - # Extract the first word of "gpg-error-config", so it can be a program name with args. -set dummy gpg-error-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_GPG_ERROR_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GPG_ERROR_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_GPG_ERROR_CONFIG="$GPG_ERROR_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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GPG_ERROR_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 - - test -z "$ac_cv_path_GPG_ERROR_CONFIG" && ac_cv_path_GPG_ERROR_CONFIG="no" - ;; -esac -fi -GPG_ERROR_CONFIG=$ac_cv_path_GPG_ERROR_CONFIG -if test -n "$GPG_ERROR_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPG_ERROR_CONFIG" >&5 -$as_echo "$GPG_ERROR_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - min_gpg_error_version="$NEED_GPG_ERROR_VERSION" - ok=no - - # Extract the first word of "gpgrt-config", so it can be a program name with args. -set dummy gpgrt-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_GPGRT_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GPGRT_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_GPGRT_CONFIG="$GPGRT_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_dummy="$prefix/bin:$PATH" -for as_dir in $as_dummy -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GPGRT_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 - - test -z "$ac_cv_path_GPGRT_CONFIG" && ac_cv_path_GPGRT_CONFIG="no" - ;; -esac -fi -GPGRT_CONFIG=$ac_cv_path_GPGRT_CONFIG -if test -n "$GPGRT_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPGRT_CONFIG" >&5 -$as_echo "$GPGRT_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$GPGRT_CONFIG" != "no"; then - # Determine gpgrt_libdir - # - # Get the prefix of gpgrt-config assuming it's something like: - # <PREFIX>/bin/gpgrt-config - gpgrt_prefix=${GPGRT_CONFIG%/*/*} - possible_libdir1=${gpgrt_prefix}/lib - # Determine by using system libdir-format with CC, it's like: - # Normal style: /usr/lib - # GNU cross style: /usr/<triplet>/lib - # Debian style: /usr/lib/<multiarch-name> - # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 - # It is assumed that CC is specified to the one of host on cross build. - if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ - sed -n -e "/^libraries/{s/libraries: =//;s/:/\\ -/g;p;}"); then - # From the output of -print-search-dirs, select valid pkgconfig dirs. - libdir_candidates=$(for dir in $libdir_candidates; do - if p=$(cd $dir 2>/dev/null && pwd); then - test -d "$p/pkgconfig" && echo $p; - fi - done) - - for possible_libdir0 in $libdir_candidates; do - # possible_libdir0: - # Fallback candidate, the one of system-installed (by $CC) - # (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32) - # possible_libdir1: - # Another candidate, user-locally-installed - # (<gpgrt_prefix>/lib) - # possible_libdir2 - # Most preferred - # (<gpgrt_prefix>/<triplet>/lib, - # <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32) - if test "${possible_libdir0##*/}" = "lib"; then - possible_prefix0=${possible_libdir0%/lib} - possible_prefix0_triplet=${possible_prefix0##*/} - if test -z "$possible_prefix0_triplet"; then - continue - fi - possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib - else - possible_prefix0=${possible_libdir0%%/lib*} - possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} - fi - if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then - gpgrt_libdir=${possible_libdir2} - elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then - gpgrt_libdir=${possible_libdir1} - elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then - gpgrt_libdir=${possible_libdir0} - fi - if test -n "$gpgrt_libdir"; then break; fi - done - else - # When we cannot determine system libdir-format, use this: - gpgrt_libdir=${possible_libdir1} - fi - else - unset GPGRT_CONFIG - fi - - if test -n "$gpgrt_libdir"; then - GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" - if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then - GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" - { $as_echo "$as_me:${as_lineno-$LINENO}: Use gpgrt-config with $gpgrt_libdir as gpg-error-config" >&5 -$as_echo "$as_me: Use gpgrt-config with $gpgrt_libdir as gpg-error-config" >&6;} - gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` - else - unset GPGRT_CONFIG - fi - elif test "$GPG_ERROR_CONFIG" != "no"; then - gpg_error_config_version=`$GPG_ERROR_CONFIG --version` - unset GPGRT_CONFIG - fi - if test "$GPG_ERROR_CONFIG" != "no"; then - req_major=`echo $min_gpg_error_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)/\1/'` - req_minor=`echo $min_gpg_error_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)/\2/'` - major=`echo $gpg_error_config_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'` - minor=`echo $gpg_error_config_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -ge "$req_minor"; then - ok=yes - fi - fi - fi - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5 -$as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; } - if test $ok = yes; then - GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` - GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` - if test -z "$GPGRT_CONFIG"; then - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` - else - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` - GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` - GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($gpg_error_config_version)" >&5 -$as_echo "yes ($gpg_error_config_version)" >&6; } - have_gpg_error=yes - if test -z "$GPGRT_CONFIG"; then - gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` - else - gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` - fi - if test x"$gpg_error_config_host" != xnone ; then - if test x"$gpg_error_config_host" != x"$host" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -*** -*** The config script \"$GPG_ERROR_CONFIG\" was -*** built for $gpg_error_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgpg-error-prefix -*** to specify a matching config script or use \$SYSROOT. -***" >&5 -$as_echo "$as_me: WARNING: -*** -*** The config script \"$GPG_ERROR_CONFIG\" was -*** built for $gpg_error_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgpg-error-prefix -*** to specify a matching config script or use \$SYSROOT. -***" >&2;} - gpg_config_script_warn="$gpg_config_script_warn libgpg-error" - fi - fi - else - GPG_ERROR_CFLAGS="" - GPG_ERROR_LIBS="" - GPG_ERROR_MT_CFLAGS="" - GPG_ERROR_MT_LIBS="" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_gpg_error=no - fi - - - - - -COMMON_CFLAGS="$GPG_ERROR_CFLAGS $COMMON_CFLAGS" -COMMON_LIBS="$GPG_ERROR_LIBS $COMMON_LIBS" - - -cat >>confdefs.h <<_ACEOF -#define GPG_ERR_ENABLE_GETTEXT_MACROS 1 -_ACEOF - - - -cat >>confdefs.h <<_ACEOF -#define GPG_ERR_ENABLE_ERRNO_MACROS 1 -_ACEOF - - - -# -# libassuan is used for IPC -# -NEED_LIBASSUAN_API=2 -NEED_LIBASSUAN_VERSION=2.1.0 -have_libassuan=no - - -# Check whether --with-libassuan-prefix was given. -if test "${with_libassuan_prefix+set}" = set; then : - withval=$with_libassuan_prefix; libassuan_config_prefix="$withval" -else - libassuan_config_prefix="" -fi - - if test x$libassuan_config_prefix != x ; then - if test x${LIBASSUAN_CONFIG+set} != xset ; then - LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config - fi - fi - - use_gpgrt_config="" - if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG libassuan --exists; then - LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" - { $as_echo "$as_me:${as_lineno-$LINENO}: Use gpgrt-config as libassuan-config" >&5 -$as_echo "$as_me: Use gpgrt-config as libassuan-config" >&6;} - use_gpgrt_config=yes - fi - fi - if test -z "$use_gpgrt_config"; then - # Extract the first word of "libassuan-config", so it can be a program name with args. -set dummy libassuan-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_LIBASSUAN_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $LIBASSUAN_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_LIBASSUAN_CONFIG="$LIBASSUAN_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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_LIBASSUAN_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 - - test -z "$ac_cv_path_LIBASSUAN_CONFIG" && ac_cv_path_LIBASSUAN_CONFIG="no" - ;; -esac -fi -LIBASSUAN_CONFIG=$ac_cv_path_LIBASSUAN_CONFIG -if test -n "$LIBASSUAN_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBASSUAN_CONFIG" >&5 -$as_echo "$LIBASSUAN_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi - - tmp="$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION" - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libassuan_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libassuan_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libassuan_api=0 - min_libassuan_version="$tmp" - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBASSUAN - version >= $min_libassuan_version" >&5 -$as_echo_n "checking for LIBASSUAN - version >= $min_libassuan_version... " >&6; } - ok=no - if test "$LIBASSUAN_CONFIG" != "no"; then - req_major=`echo $min_libassuan_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'` - req_minor=`echo $min_libassuan_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'` - req_micro=`echo $min_libassuan_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'` - - if test -z "$use_gpgrt_config"; then - libassuan_config_version=`$LIBASSUAN_CONFIG --version` - else - libassuan_config_version=`$LIBASSUAN_CONFIG --modversion` - fi - major=`echo $libassuan_config_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'` - minor=`echo $libassuan_config_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'` - micro=`echo $libassuan_config_version | \ - sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'` - - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - - if test $ok = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($libassuan_config_version)" >&5 -$as_echo "yes ($libassuan_config_version)" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - - if test $ok = yes; then - if test "$req_libassuan_api" -gt 0 ; then - if test -z "$use_gpgrt_config"; then - tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` - else - tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0` - fi - if test "$tmp" -gt 0 ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBASSUAN API version" >&5 -$as_echo_n "checking LIBASSUAN API version... " >&6; } - if test "$req_libassuan_api" -eq "$tmp" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: okay" >&5 -$as_echo "okay" >&6; } - else - ok=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: does not match. want=$req_libassuan_api got=$tmp." >&5 -$as_echo "does not match. want=$req_libassuan_api got=$tmp." >&6; } - fi - fi - fi - fi - - if test $ok = yes; then - if test x"$host" != x ; then - if test -z "$use_gpgrt_config"; then - libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` - else - libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none` - fi - if test x"$libassuan_config_host" != xnone ; then - if test x"$libassuan_config_host" != x"$host" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: -*** -*** The config script \"$LIBASSUAN_CONFIG\" was -*** built for $libassuan_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libassuan-prefix -*** to specify a matching config script. -***" >&5 -$as_echo "$as_me: WARNING: -*** -*** The config script \"$LIBASSUAN_CONFIG\" was -*** built for $libassuan_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libassuan-prefix -*** to specify a matching config script. -***" >&2;} - fi - fi - fi - fi - - if test $ok = yes; then - LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags` - LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs` - have_libassuan=yes - else - LIBASSUAN_CFLAGS="" - LIBASSUAN_LIBS="" - have_libassuan=no - fi - - - -if test "$have_libassuan" = "yes"; then - -cat >>confdefs.h <<_ACEOF -#define GNUPG_LIBASSUAN_VERSION "$libassuan_version" -_ACEOF - -fi - -COMMON_CFLAGS="$LIBASSUAN_CFLAGS $COMMON_CFLAGS" -COMMON_LIBS="$LIBASSUAN_LIBS $COMMON_LIBS" - - -ac_fn_c_check_type "$LINENO" "byte" "ac_cv_type_byte" "$ac_includes_default" -if test "x$ac_cv_type_byte" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_BYTE 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "ulong" "ac_cv_type_ulong" "$ac_includes_default" -if test "x$ac_cv_type_ulong" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_ULONG 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "u64" "ac_cv_type_u64" "$ac_includes_default" -if test "x$ac_cv_type_u64" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_U64 1 -_ACEOF - - -fi - - -# Check whether --enable-pinentry-curses was given. -if test "${enable_pinentry_curses+set}" = set; then : - enableval=$enable_pinentry_curses; pinentry_curses=$enableval -else - pinentry_curses=maybe -fi - -# Check whether --enable-fallback-curses was given. -if test "${enable_fallback_curses+set}" = set; then : - enableval=$enable_fallback_curses; fallback_curses=$enableval -else - fallback_curses=maybe -fi - - -if test "$pinentry_curses" != "no" -o "$fallback_curses" != "no"; then - - # Check whether --enable-ncurses was given. -if test "${enable_ncurses+set}" = set; then : - enableval=$enable_ncurses; -else - enable_ncurses=yes -fi - - if test "$enable_ncurses" = yes; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ncursesw" >&5 -$as_echo_n "checking for ncursesw... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$NCURSES_CFLAGS"; then - pkg_cv_NCURSES_CFLAGS="$NCURSES_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ncursesw\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ncursesw") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_NCURSES_CFLAGS=`$PKG_CONFIG --cflags "ncursesw" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$NCURSES_LIBS"; then - pkg_cv_NCURSES_LIBS="$NCURSES_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ncursesw\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ncursesw") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_NCURSES_LIBS=`$PKG_CONFIG --libs "ncursesw" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - NCURSES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ncursesw"` - else - NCURSES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ncursesw"` - fi - # Put the nasty error message in config.log where it belongs - echo "$NCURSES_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ncurses" >&5 -$as_echo_n "checking for ncurses... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$NCURSES_CFLAGS"; then - pkg_cv_NCURSES_CFLAGS="$NCURSES_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ncurses\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ncurses") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_NCURSES_CFLAGS=`$PKG_CONFIG --cflags "ncurses" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$NCURSES_LIBS"; then - pkg_cv_NCURSES_LIBS="$NCURSES_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ncurses\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ncurses") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_NCURSES_LIBS=`$PKG_CONFIG --libs "ncurses" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - NCURSES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ncurses"` - else - NCURSES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ncurses"` - fi - # Put the nasty error message in config.log where it belongs - echo "$NCURSES_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5 -$as_echo_n "checking for initscr in -lncursesw... " >&6; } -if ${ac_cv_lib_ncursesw_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncursesw $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncursesw_initscr=yes -else - ac_cv_lib_ncursesw_initscr=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_ncursesw_initscr" >&5 -$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; } -if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then : - LIBNCURSES="-lncursesw" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5 -$as_echo_n "checking for initscr in -lncurses... " >&6; } -if ${ac_cv_lib_ncurses_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_initscr=yes -else - ac_cv_lib_ncurses_initscr=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_ncurses_initscr" >&5 -$as_echo "$ac_cv_lib_ncurses_initscr" >&6; } -if test "x$ac_cv_lib_ncurses_initscr" = xyes; then : - LIBNCURSES="-lncurses" -fi - -fi - - if test "$ac_cv_lib_ncursesw_initscr" = yes; then - have_ncursesw=yes - else - have_ncursesw=no - fi - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5 -$as_echo_n "checking for initscr in -lncursesw... " >&6; } -if ${ac_cv_lib_ncursesw_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncursesw $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncursesw_initscr=yes -else - ac_cv_lib_ncursesw_initscr=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_ncursesw_initscr" >&5 -$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; } -if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then : - LIBNCURSES="-lncursesw" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5 -$as_echo_n "checking for initscr in -lncurses... " >&6; } -if ${ac_cv_lib_ncurses_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_initscr=yes -else - ac_cv_lib_ncurses_initscr=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_ncurses_initscr" >&5 -$as_echo "$ac_cv_lib_ncurses_initscr" >&6; } -if test "x$ac_cv_lib_ncurses_initscr" = xyes; then : - LIBNCURSES="-lncurses" -fi - -fi - - if test "$ac_cv_lib_ncursesw_initscr" = yes; then - have_ncursesw=yes - else - have_ncursesw=no - fi - -else - NCURSES_CFLAGS=$pkg_cv_NCURSES_CFLAGS - NCURSES_LIBS=$pkg_cv_NCURSES_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=no -fi - -elif test $pkg_failed = untried; then - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ncurses" >&5 -$as_echo_n "checking for ncurses... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$NCURSES_CFLAGS"; then - pkg_cv_NCURSES_CFLAGS="$NCURSES_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ncurses\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ncurses") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_NCURSES_CFLAGS=`$PKG_CONFIG --cflags "ncurses" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$NCURSES_LIBS"; then - pkg_cv_NCURSES_LIBS="$NCURSES_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"ncurses\""; } >&5 - ($PKG_CONFIG --exists --print-errors "ncurses") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_NCURSES_LIBS=`$PKG_CONFIG --libs "ncurses" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - NCURSES_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ncurses"` - else - NCURSES_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ncurses"` - fi - # Put the nasty error message in config.log where it belongs - echo "$NCURSES_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5 -$as_echo_n "checking for initscr in -lncursesw... " >&6; } -if ${ac_cv_lib_ncursesw_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncursesw $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncursesw_initscr=yes -else - ac_cv_lib_ncursesw_initscr=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_ncursesw_initscr" >&5 -$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; } -if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then : - LIBNCURSES="-lncursesw" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5 -$as_echo_n "checking for initscr in -lncurses... " >&6; } -if ${ac_cv_lib_ncurses_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_initscr=yes -else - ac_cv_lib_ncurses_initscr=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_ncurses_initscr" >&5 -$as_echo "$ac_cv_lib_ncurses_initscr" >&6; } -if test "x$ac_cv_lib_ncurses_initscr" = xyes; then : - LIBNCURSES="-lncurses" -fi - -fi - - if test "$ac_cv_lib_ncursesw_initscr" = yes; then - have_ncursesw=yes - else - have_ncursesw=no - fi - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5 -$as_echo_n "checking for initscr in -lncursesw... " >&6; } -if ${ac_cv_lib_ncursesw_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncursesw $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncursesw_initscr=yes -else - ac_cv_lib_ncursesw_initscr=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_ncursesw_initscr" >&5 -$as_echo "$ac_cv_lib_ncursesw_initscr" >&6; } -if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then : - LIBNCURSES="-lncursesw" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5 -$as_echo_n "checking for initscr in -lncurses... " >&6; } -if ${ac_cv_lib_ncurses_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_ncurses_initscr=yes -else - ac_cv_lib_ncurses_initscr=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_ncurses_initscr" >&5 -$as_echo "$ac_cv_lib_ncurses_initscr" >&6; } -if test "x$ac_cv_lib_ncurses_initscr" = xyes; then : - LIBNCURSES="-lncurses" -fi - -fi - - if test "$ac_cv_lib_ncursesw_initscr" = yes; then - have_ncursesw=yes - else - have_ncursesw=no - fi - -else - NCURSES_CFLAGS=$pkg_cv_NCURSES_CFLAGS - NCURSES_LIBS=$pkg_cv_NCURSES_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=no -fi - -else - NCURSES_CFLAGS=$pkg_cv_NCURSES_CFLAGS - NCURSES_LIBS=$pkg_cv_NCURSES_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=yes -fi - if test "$LIBNCURSES"; then - # Use ncurses header files instead of the ordinary ones, if possible; - # is there a better way of doing this, that avoids looking in specific - # directories? - -# Check whether --with-ncurses-include-dir was given. -if test "${with_ncurses_include_dir+set}" = set; then : - withval=$with_ncurses_include_dir; -fi - - if test "${with_ncurses_include_dir+set}" = set; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ncurses include dir" >&5 -$as_echo_n "checking for ncurses include dir... " >&6; } - case "$with_ncurses_include_dir" in - no|none) - inetutils_cv_includedir_ncurses=none;; - *) - inetutils_cv_includedir_ncurses="$with_ncurses_include_dir";; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $inetutils_cv_includedir_ncurses" >&5 -$as_echo "$inetutils_cv_includedir_ncurses" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ncurses include dir" >&5 -$as_echo_n "checking for ncurses include dir... " >&6; } -if ${inetutils_cv_includedir_ncurses+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$have_ncursesw" = yes; then - ncursesdir=ncursesw - else - ncursesdir=ncurses - fi - for D in $includedir $prefix/include /local/include /usr/local/include /include /usr/include; do - if test -d $D/$ncursesdir; then - inetutils_cv_includedir_ncurses="$D/$ncursesdir" - break - fi - test "$inetutils_cv_includedir_ncurses" \ - || inetutils_cv_includedir_ncurses=none - done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $inetutils_cv_includedir_ncurses" >&5 -$as_echo "$inetutils_cv_includedir_ncurses" >&6; } - fi - if test "$inetutils_cv_includedir_ncurses" = none; then - NCURSES_INCLUDE="" - else - NCURSES_INCLUDE="-I$inetutils_cv_includedir_ncurses" - fi - fi - if test $have_ncursesw = yes; then - -$as_echo "#define HAVE_NCURSESW 1" >>confdefs.h - - fi - fi - - - - - if test "$LIBNCURSES"; then - LIBTERMCAP="$LIBNCURSES" - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -lcurses" >&5 -$as_echo_n "checking for tgetent in -lcurses... " >&6; } -if ${ac_cv_lib_curses_tgetent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcurses $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 tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_curses_tgetent=yes -else - ac_cv_lib_curses_tgetent=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_curses_tgetent" >&5 -$as_echo "$ac_cv_lib_curses_tgetent" >&6; } -if test "x$ac_cv_lib_curses_tgetent" = xyes; then : - LIBTERMCAP=-lcurses -fi - - if test "$ac_cv_lib_curses_tgetent" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 -$as_echo_n "checking for tgetent in -ltermcap... " >&6; } -if ${ac_cv_lib_termcap_tgetent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermcap $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 tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_termcap_tgetent=yes -else - ac_cv_lib_termcap_tgetent=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_termcap_tgetent" >&5 -$as_echo "$ac_cv_lib_termcap_tgetent" >&6; } -if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : - LIBTERMCAP=-ltermcap -fi - - fi - if test "$ac_cv_lib_termcap_tgetent" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermlib" >&5 -$as_echo_n "checking for tgetent in -ltermlib... " >&6; } -if ${ac_cv_lib_termlib_tgetent+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermlib $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 tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_termlib_tgetent=yes -else - ac_cv_lib_termlib_tgetent=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_termlib_tgetent" >&5 -$as_echo "$ac_cv_lib_termlib_tgetent" >&6; } -if test "x$ac_cv_lib_termlib_tgetent" = xyes; then : - LIBTERMCAP=-ltermlib -fi - - fi - fi - - - - - if test "$LIBNCURSES"; then - LIBCURSES="$LIBNCURSES" # ncurses doesn't require termcap - else - _IU_SAVE_LIBS="$LIBS" - LIBS="$LIBTERMCAP" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lcurses" >&5 -$as_echo_n "checking for initscr in -lcurses... " >&6; } -if ${ac_cv_lib_curses_initscr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcurses $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 initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_curses_initscr=yes -else - ac_cv_lib_curses_initscr=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_curses_initscr" >&5 -$as_echo "$ac_cv_lib_curses_initscr" >&6; } -if test "x$ac_cv_lib_curses_initscr" = xyes; then : - LIBCURSES="-lcurses" -fi - - if test "$LIBCURSES" -a "$LIBTERMCAP" -a "$LIBCURSES" != "$LIBTERMCAP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether curses needs $LIBTERMCAP" >&5 -$as_echo_n "checking whether curses needs $LIBTERMCAP... " >&6; } -if ${inetutils_cv_curses_needs_termcap+:} false; then : - $as_echo_n "(cached) " >&6 -else - LIBS="$LIBCURSES" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <curses.h> -int -main () -{ -initscr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - inetutils_cv_curses_needs_termcap=no -else - inetutils_cv_curses_needs_termcap=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $inetutils_cv_curses_needs_termcap" >&5 -$as_echo "$inetutils_cv_curses_needs_termcap" >&6; } - if test $inetutils_cv_curses_needs_termcap = yes; then - LIBCURSES="$LIBCURSES $LIBTERMCAP" - fi - fi - LIBS="$_IU_SAVE_LIBS" - fi - -fi -if test "$LIBCURSES"; then - if test "$pinentry_curses" != "no"; then - pinentry_curses=yes - fi - if test "$fallback_curses" != "no"; then - fallback_curses=yes - -$as_echo "#define FALLBACK_CURSES 1" >>confdefs.h - - fi -else - if test "$pinentry_curses" = "yes" -o "$fallback_curses" = "yes"; then - as_fn_error $? " -*** -*** The curses library is required. The latest version of -*** ncurses is always available from ftp://ftp.gnu.org/gnu/ncurses/. -***" "$LINENO" 5 - fi - pinentry_curses=no - fallback_curses=no -fi - if test "$pinentry_curses" = "yes" -o "$fallback_curses" = "yes"; then - BUILD_LIBPINENTRY_CURSES_TRUE= - BUILD_LIBPINENTRY_CURSES_FALSE='#' -else - BUILD_LIBPINENTRY_CURSES_TRUE='#' - BUILD_LIBPINENTRY_CURSES_FALSE= -fi - - if test "$pinentry_curses" = "yes"; then - BUILD_PINENTRY_CURSES_TRUE= - BUILD_PINENTRY_CURSES_FALSE='#' -else - BUILD_PINENTRY_CURSES_TRUE='#' - BUILD_PINENTRY_CURSES_FALSE= -fi - - if test "$fallback_curses" = "yes"; then - FALLBACK_CURSES_TRUE= - FALLBACK_CURSES_FALSE='#' -else - FALLBACK_CURSES_TRUE='#' - FALLBACK_CURSES_FALSE= -fi - - -if test "$pinentry_curses" = "yes"; then - -$as_echo "#define PINENTRY_CURSES 1" >>confdefs.h - -fi - - -# Check whether --enable-pinentry-tty was given. -if test "${enable_pinentry_tty+set}" = set; then : - enableval=$enable_pinentry_tty; pinentry_tty=$enableval -else - pinentry_tty=maybe -fi - - if test "$pinentry_tty" = "yes"; then - BUILD_PINENTRY_TTY_TRUE= - BUILD_PINENTRY_TTY_FALSE='#' -else - BUILD_PINENTRY_TTY_TRUE='#' - BUILD_PINENTRY_TTY_FALSE= -fi - - -if test "$pinentry_tty" = "yes"; then - -$as_echo "#define PINENTRY_TTY 1" >>confdefs.h - -fi - - -if test "$pinentry_curses" = "yes" \ - -o "$fallback_curses" = "yes" ; then - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - 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 - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$acl_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - acl_cv_prog_gnu_ld=yes - ;; -*) - acl_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <stdlib.h> -#include <iconv.h> - -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <stdlib.h> -#include <iconv.h> - -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - if test "$cross_compiling" = yes; then : - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <iconv.h> -#include <string.h> - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - -int -main () -{ -int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - { - /* Try standardized names. */ - iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); - /* Try IRIX, OSF/1 names. */ - iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); - /* Try AIX names. */ - iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); - /* Try HP-UX names. */ - iconv_t cd4 = iconv_open ("utf8", "eucJP"); - if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) - && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) - result |= 16; - if (cd1 != (iconv_t)(-1)) - iconv_close (cd1); - if (cd2 != (iconv_t)(-1)) - iconv_close (cd2); - if (cd3 != (iconv_t)(-1)) - iconv_close (cd3); - if (cd4 != (iconv_t)(-1)) - iconv_close (cd4); - } - return result; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - test "$am_cv_func_iconv_works" = no || break - done - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 -$as_echo_n "checking for iconv declaration... " >&6; } - if ${am_cv_proto_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <stdlib.h> -#include <iconv.h> -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - am_cv_proto_iconv_arg1="" -else - am_cv_proto_iconv_arg1="const" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" -fi - - am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: - $am_cv_proto_iconv" >&5 -$as_echo " - $am_cv_proto_iconv" >&6; } - else - am_cv_proto_iconv_arg1="" - fi - -cat >>confdefs.h <<_ACEOF -#define ICONV_CONST $am_cv_proto_iconv_arg1 -_ACEOF - - - - if test "$am_cv_func_iconv" != "yes"; then - as_fn_error $? " -*** -*** The iconv function is required. You can specify its location -*** using the --with-libiconv-prefix=PREFIX option to configure. -***" "$LINENO" 5 - fi -fi - -# Check whether --enable-pinentry-emacs was given. -if test "${enable_pinentry_emacs+set}" = set; then : - enableval=$enable_pinentry_emacs; pinentry_emacs=$enableval -else - pinentry_emacs=no -fi - -# Check whether --enable-inside-emacs was given. -if test "${enable_inside_emacs+set}" = set; then : - enableval=$enable_inside_emacs; inside_emacs=$enableval -else - inside_emacs=maybe -fi - - -if test "$pinentry_emacs" != "no" -o "$inside_emacs" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Unix domain socket is supported" >&5 -$as_echo_n "checking if Unix domain socket is supported... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <sys/socket.h> -#include <sys/un.h> - -int -main () -{ -int s = socket (AF_UNIX, SOCK_STREAM, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - _unixsock_works=yes -else - _unixsock_works=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_unixsock_works" >&5 -$as_echo "$_unixsock_works" >&6; } - if test "$_unixsock_works" = "yes"; then - if test "$pinentry_emacs" != "no"; then - pinentry_emacs=yes - fi - if test "$inside_emacs" != "no"; then - inside_emacs=yes - -$as_echo "#define INSIDE_EMACS 1" >>confdefs.h - - fi - else - if test "$pinentry_emacs" = "yes" -o "$inside_emacs" = "yes"; then - as_fn_error $? " -*** -*** Support for Unix domain sockets is required. -***" "$LINENO" 5 - fi - pinentry_emacs=no - inside_emacs=no - fi -fi - - if test "$pinentry_emacs" = "yes" -o "$inside_emacs" = "yes"; then - BUILD_LIBPINENTRY_EMACS_TRUE= - BUILD_LIBPINENTRY_EMACS_FALSE='#' -else - BUILD_LIBPINENTRY_EMACS_TRUE='#' - BUILD_LIBPINENTRY_EMACS_FALSE= -fi - - if test "$pinentry_emacs" = "yes"; then - BUILD_PINENTRY_EMACS_TRUE= - BUILD_PINENTRY_EMACS_FALSE='#' -else - BUILD_PINENTRY_EMACS_TRUE='#' - BUILD_PINENTRY_EMACS_FALSE= -fi - - if test "$inside_emacs" = "yes"; then - INSIDE_EMACS_TRUE= - INSIDE_EMACS_FALSE='#' -else - INSIDE_EMACS_TRUE='#' - INSIDE_EMACS_FALSE= -fi - - -if test "$pinentry_emacs" = "yes"; then - -$as_echo "#define PINENTRY_EMACS 1" >>confdefs.h - -fi - - - -# Check whether --enable-pinentry-efl was given. -if test "${enable_pinentry_efl+set}" = set; then : - enableval=$enable_pinentry_efl; pinentry_efl=$enableval -else - pinentry_efl=maybe -fi - - -if test "$pinentry_efl" != "no"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for elementary >= 1.18,ecore-x" >&5 -$as_echo_n "checking for elementary >= 1.18,ecore-x... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$EFL_CFLAGS"; then - pkg_cv_EFL_CFLAGS="$EFL_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"elementary >= 1.18,ecore-x\""; } >&5 - ($PKG_CONFIG --exists --print-errors "elementary >= 1.18,ecore-x") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_EFL_CFLAGS=`$PKG_CONFIG --cflags "elementary >= 1.18,ecore-x" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$EFL_LIBS"; then - pkg_cv_EFL_LIBS="$EFL_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"elementary >= 1.18,ecore-x\""; } >&5 - ($PKG_CONFIG --exists --print-errors "elementary >= 1.18,ecore-x") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_EFL_LIBS=`$PKG_CONFIG --libs "elementary >= 1.18,ecore-x" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - EFL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "elementary >= 1.18,ecore-x"` - else - EFL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "elementary >= 1.18,ecore-x"` - fi - # Put the nasty error message in config.log where it belongs - echo "$EFL_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - if test "$pinentry_efl" = "yes"; then - as_fn_error $? " -*** -*** efl (elementary >= 1.18, ecore-x) is required for pinentry-efl. -***" "$LINENO" 5 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the modules elementary or ecore-x" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the modules elementary or ecore-x" >&2;} - fi - pinentry_efl=no - - -elif test $pkg_failed = untried; then - - if test "$pinentry_efl" = "yes"; then - as_fn_error $? " -*** -*** efl (elementary >= 1.18, ecore-x) is required for pinentry-efl. -***" "$LINENO" 5 - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the modules elementary or ecore-x" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the modules elementary or ecore-x" >&2;} - fi - pinentry_efl=no - - -else - EFL_CFLAGS=$pkg_cv_EFL_CFLAGS - EFL_LIBS=$pkg_cv_EFL_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - pinentry_efl=yes - -fi -fi - if test "$pinentry_efl" = "yes"; then - BUILD_PINENTRY_EFL_TRUE= - BUILD_PINENTRY_EFL_FALSE='#' -else - BUILD_PINENTRY_EFL_TRUE='#' - BUILD_PINENTRY_EFL_FALSE= -fi - - -# Check whether --enable-pinentry-gtk2 was given. -if test "${enable_pinentry_gtk2+set}" = set; then : - enableval=$enable_pinentry_gtk2; pinentry_gtk_2=$enableval -else - pinentry_gtk_2=maybe -fi - - -# Check whether --enable-pinentry-gnome3 was given. -if test "${enable_pinentry_gnome3+set}" = set; then : - enableval=$enable_pinentry_gnome3; pinentry_gnome_3=$enableval -else - pinentry_gnome_3=maybe -fi - - -if test "$pinentry_gtk_2" != "no"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.12.0" >&5 -$as_echo_n "checking for gtk+-2.0 >= 2.12.0... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$GTK2_CFLAGS"; then - pkg_cv_GTK2_CFLAGS="$GTK2_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.12.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$GTK2_LIBS"; then - pkg_cv_GTK2_LIBS="$GTK2_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.12.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.12.0"` - else - GTK2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.12.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$GTK2_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gtk+-2.0" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module gtk+-2.0" >&2;} - pinentry_gtk_2=no - - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gtk+-2.0" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module gtk+-2.0" >&2;} - pinentry_gtk_2=no - - -else - GTK2_CFLAGS=$pkg_cv_GTK2_CFLAGS - GTK2_LIBS=$pkg_cv_GTK2_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - test "$pinentry_gtk_2" != "no" && pinentry_gtk_2=yes - test "$pinentry_gnome_3" != "no" && pinentry_gnome_3=yes - -fi -fi - if test "$pinentry_gtk_2" = "yes"; then - BUILD_PINENTRY_GTK_2_TRUE= - BUILD_PINENTRY_GTK_2_FALSE='#' -else - BUILD_PINENTRY_GTK_2_TRUE='#' - BUILD_PINENTRY_GTK_2_FALSE= -fi - - -if test "$pinentry_gnome_3" != "no"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcr-3,gcr-base-3" >&5 -$as_echo_n "checking for gcr-3,gcr-base-3... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$GNOME3_CFLAGS"; then - pkg_cv_GNOME3_CFLAGS="$GNOME3_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gcr-3,gcr-base-3\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gcr-3,gcr-base-3") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GNOME3_CFLAGS=`$PKG_CONFIG --cflags "gcr-3,gcr-base-3" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$GNOME3_LIBS"; then - pkg_cv_GNOME3_LIBS="$GNOME3_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gcr-3,gcr-base-3\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gcr-3,gcr-base-3") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GNOME3_LIBS=`$PKG_CONFIG --libs "gcr-3,gcr-base-3" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - GNOME3_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gcr-3,gcr-base-3"` - else - GNOME3_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gcr-3,gcr-base-3"` - fi - # Put the nasty error message in config.log where it belongs - echo "$GNOME3_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gcr-3,gcr-base-3" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module gcr-3,gcr-base-3" >&2;} - pinentry_gnome_3=no - - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gcr-3,gcr-base-3" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module gcr-3,gcr-base-3" >&2;} - pinentry_gnome_3=no - - -else - GNOME3_CFLAGS=$pkg_cv_GNOME3_CFLAGS - GNOME3_LIBS=$pkg_cv_GNOME3_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - - pinentry_gnome_3=yes - -$as_echo "#define GCR_API_SUBJECT_TO_CHANGE 1" >>confdefs.h - - -fi -fi - - if test "$pinentry_gnome_3" = "yes"; then - BUILD_PINENTRY_GNOME_3_TRUE= - BUILD_PINENTRY_GNOME_3_FALSE='#' -else - BUILD_PINENTRY_GNOME_3_TRUE='#' - BUILD_PINENTRY_GNOME_3_FALSE= -fi - - -# Check whether --enable-libsecret was given. -if test "${enable_libsecret+set}" = set; then : - enableval=$enable_libsecret; libsecret=$enableval -else - libsecret=maybe -fi - - -if test "$libsecret" != "no"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsecret-1" >&5 -$as_echo_n "checking for libsecret-1... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$LIBSECRET_CFLAGS"; then - pkg_cv_LIBSECRET_CFLAGS="$LIBSECRET_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsecret-1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsecret-1") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBSECRET_CFLAGS=`$PKG_CONFIG --cflags "libsecret-1" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBSECRET_LIBS"; then - pkg_cv_LIBSECRET_LIBS="$LIBSECRET_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsecret-1\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libsecret-1") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBSECRET_LIBS=`$PKG_CONFIG --libs "libsecret-1" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - LIBSECRET_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libsecret-1"` - else - LIBSECRET_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libsecret-1"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBSECRET_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module libsecret-1" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module libsecret-1" >&2;} - libsecret=no - - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module libsecret-1" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module libsecret-1" >&2;} - libsecret=no - - -else - LIBSECRET_CFLAGS=$pkg_cv_LIBSECRET_CFLAGS - LIBSECRET_LIBS=$pkg_cv_LIBSECRET_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - libsecret=yes -fi -fi - if test "$libsecret" = "yes"; then - BUILD_WITH_LIBSECRET_TRUE= - BUILD_WITH_LIBSECRET_FALSE='#' -else - BUILD_WITH_LIBSECRET_TRUE='#' - BUILD_WITH_LIBSECRET_FALSE= -fi - -if test "$libsecret" = "yes"; then - -$as_echo "#define HAVE_LIBSECRET 1" >>confdefs.h - - - COMMON_CFLAGS="$LIBSECRET_CFLAGS $COMMON_CFLAGS" - COMMON_LIBS="$LIBSECRET_LIBS $COMMON_LIBS" -fi - -have_x11=no -if test "$have_w32_system" != "yes"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x11" >&5 -$as_echo_n "checking for x11... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$LIBX11_CFLAGS"; then - pkg_cv_LIBX11_CFLAGS="$LIBX11_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5 - ($PKG_CONFIG --exists --print-errors "x11") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBX11_CFLAGS=`$PKG_CONFIG --cflags "x11" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$LIBX11_LIBS"; then - pkg_cv_LIBX11_LIBS="$LIBX11_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5 - ($PKG_CONFIG --exists --print-errors "x11") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_LIBX11_LIBS=`$PKG_CONFIG --libs "x11" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - LIBX11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11"` - else - LIBX11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11"` - fi - # Put the nasty error message in config.log where it belongs - echo "$LIBX11_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module x11" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module x11" >&2;} - have_x11=no - - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module x11" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module x11" >&2;} - have_x11=no - - -else - LIBX11_CFLAGS=$pkg_cv_LIBX11_CFLAGS - LIBX11_LIBS=$pkg_cv_LIBX11_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_x11=yes -fi - - if test "$have_x11" = "yes"; then - -$as_echo "#define HAVE_X11 1" >>confdefs.h - - fi -fi - -have_kf5waylandclient=no -if test "$have_w32_system" != "yes"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for KF5WaylandClient >= 5.60" >&5 -$as_echo_n "checking for KF5WaylandClient >= 5.60... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$KF5WAYLANDCLIENT_CFLAGS"; then - pkg_cv_KF5WAYLANDCLIENT_CFLAGS="$KF5WAYLANDCLIENT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"KF5WaylandClient >= 5.60\""; } >&5 - ($PKG_CONFIG --exists --print-errors "KF5WaylandClient >= 5.60") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_KF5WAYLANDCLIENT_CFLAGS=`$PKG_CONFIG --cflags "KF5WaylandClient >= 5.60" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$KF5WAYLANDCLIENT_LIBS"; then - pkg_cv_KF5WAYLANDCLIENT_LIBS="$KF5WAYLANDCLIENT_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"KF5WaylandClient >= 5.60\""; } >&5 - ($PKG_CONFIG --exists --print-errors "KF5WaylandClient >= 5.60") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_KF5WAYLANDCLIENT_LIBS=`$PKG_CONFIG --libs "KF5WaylandClient >= 5.60" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - KF5WAYLANDCLIENT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "KF5WaylandClient >= 5.60"` - else - KF5WAYLANDCLIENT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "KF5WaylandClient >= 5.60"` - fi - # Put the nasty error message in config.log where it belongs - echo "$KF5WAYLANDCLIENT_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module KF5WaylandClient" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module KF5WaylandClient" >&2;} - have_kf5waylandclient=no - - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module KF5WaylandClient" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module KF5WaylandClient" >&2;} - have_kf5waylandclient=no - - -else - KF5WAYLANDCLIENT_CFLAGS=$pkg_cv_KF5WAYLANDCLIENT_CFLAGS - KF5WAYLANDCLIENT_LIBS=$pkg_cv_KF5WAYLANDCLIENT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_kf5waylandclient=yes -fi -fi - -# Check whether --enable-pinentry-qt was given. -if test "${enable_pinentry_qt+set}" = set; then : - enableval=$enable_pinentry_qt; pinentry_qt=$enableval -else - pinentry_qt=maybe -fi - - - -if test "$pinentry_qt" != "no"; then - - # Check whether --enable-pinentry-qt5 was given. -if test "${enable_pinentry_qt5+set}" = set; then : - enableval=$enable_pinentry_qt5; enable_pinentry_qt5=$enableval -else - enable_pinentry_qt5="try" -fi - - - have_qt5_libs="no"; - require_qt_cpp11="no"; - - if test "$enable_pinentry_qt5" != "no"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0" >&5 -$as_echo_n "checking for Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_CFLAGS"; then - pkg_cv_PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_CFLAGS=`$PKG_CONFIG --cflags "Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_LIBS"; then - pkg_cv_PINENTRY_QT_LIBS="$PINENTRY_QT_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_LIBS=`$PKG_CONFIG --libs "Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_QT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0"` - else - PINENTRY_QT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_QT_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_qt5_libs="no" -elif test $pkg_failed = untried; then - have_qt5_libs="no" -else - PINENTRY_QT_CFLAGS=$pkg_cv_PINENTRY_QT_CFLAGS - PINENTRY_QT_LIBS=$pkg_cv_PINENTRY_QT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_qt5_libs="yes" -fi - - if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then - PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic" - fi - fi - if test "$have_qt5_libs" = "yes"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5Core >= 5.7.0" >&5 -$as_echo_n "checking for Qt5Core >= 5.7.0... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_REQUIRE_CPP11_CFLAGS"; then - pkg_cv_PINENTRY_QT_REQUIRE_CPP11_CFLAGS="$PINENTRY_QT_REQUIRE_CPP11_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.7.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.7.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_REQUIRE_CPP11_CFLAGS=`$PKG_CONFIG --cflags "Qt5Core >= 5.7.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_REQUIRE_CPP11_LIBS"; then - pkg_cv_PINENTRY_QT_REQUIRE_CPP11_LIBS="$PINENTRY_QT_REQUIRE_CPP11_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.7.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.7.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_REQUIRE_CPP11_LIBS=`$PKG_CONFIG --libs "Qt5Core >= 5.7.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_QT_REQUIRE_CPP11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "Qt5Core >= 5.7.0"` - else - PINENTRY_QT_REQUIRE_CPP11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Qt5Core >= 5.7.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_QT_REQUIRE_CPP11_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - require_qt_cpp11="no" -elif test $pkg_failed = untried; then - require_qt_cpp11="no" -else - PINENTRY_QT_REQUIRE_CPP11_CFLAGS=$pkg_cv_PINENTRY_QT_REQUIRE_CPP11_CFLAGS - PINENTRY_QT_REQUIRE_CPP11_LIBS=$pkg_cv_PINENTRY_QT_REQUIRE_CPP11_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - require_qt_cpp11="yes" -fi - - if test "${require_qt_cpp11}" = "yes"; then - PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -std=c++11" - fi - - qtlibdir=`"$PKG_CONFIG" --variable libdir Qt5Core` - if test -n "$qtlibdir"; then - if test "$enable_rpath" != "no"; then - PINENTRY_QT_LDFLAGS="$PINENTRY_QT_LDFLAGS -Wl,-rpath \"$qtlibdir\"" - fi - fi - - if test "$have_x11" = "yes"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5X11Extras >= 5.1.0" >&5 -$as_echo_n "checking for Qt5X11Extras >= 5.1.0... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_X11_EXTRAS_CFLAGS"; then - pkg_cv_PINENTRY_QT_X11_EXTRAS_CFLAGS="$PINENTRY_QT_X11_EXTRAS_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5X11Extras >= 5.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "Qt5X11Extras >= 5.1.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_X11_EXTRAS_CFLAGS=`$PKG_CONFIG --cflags "Qt5X11Extras >= 5.1.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_X11_EXTRAS_LIBS"; then - pkg_cv_PINENTRY_QT_X11_EXTRAS_LIBS="$PINENTRY_QT_X11_EXTRAS_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5X11Extras >= 5.1.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "Qt5X11Extras >= 5.1.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_X11_EXTRAS_LIBS=`$PKG_CONFIG --libs "Qt5X11Extras >= 5.1.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_QT_X11_EXTRAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "Qt5X11Extras >= 5.1.0"` - else - PINENTRY_QT_X11_EXTRAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Qt5X11Extras >= 5.1.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_QT_X11_EXTRAS_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&5 -$as_echo "$as_me: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&2;} - have_qt5_x11extras="no" - -elif test $pkg_failed = untried; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&5 -$as_echo "$as_me: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&2;} - have_qt5_x11extras="no" - -else - PINENTRY_QT_X11_EXTRAS_CFLAGS=$pkg_cv_PINENTRY_QT_X11_EXTRAS_CFLAGS - PINENTRY_QT_X11_EXTRAS_LIBS=$pkg_cv_PINENTRY_QT_X11_EXTRAS_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_qt5_x11extras="yes" -fi - if test "$have_qt5_x11extras" = "yes"; then - PINENTRY_QT_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT_CFLAGS $PINENTRY_QT_X11_EXTRAS_CFLAGS" - PINENTRY_QT_LIBS="$LIBX11_LIBS $PINENTRY_QT_LIBS $PINENTRY_QT_X11_EXTRAS_LIBS" - fi - fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}moc", so it can be a program name with args. -set dummy ${ac_tool_prefix}moc; 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_MOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MOC"; then - ac_cv_prog_MOC="$MOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC="${ac_tool_prefix}moc" - $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 -MOC=$ac_cv_prog_MOC -if test -n "$MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 -$as_echo "$MOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MOC"; then - ac_ct_MOC=$MOC - # Extract the first word of "moc", so it can be a program name with args. -set dummy moc; 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_MOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MOC"; then - ac_cv_prog_ac_ct_MOC="$ac_ct_MOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC="moc" - $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_MOC=$ac_cv_prog_ac_ct_MOC -if test -n "$ac_ct_MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC" >&5 -$as_echo "$ac_ct_MOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MOC" = x; then - MOC="" - 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 - MOC=$ac_ct_MOC - fi -else - MOC="$ac_cv_prog_MOC" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking moc version" >&5 -$as_echo_n "checking moc version... " >&6; } - mocversion=`$MOC -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - # moc was not the qt5 one, try with moc-qt5 - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}moc-qt5", so it can be a program name with args. -set dummy ${ac_tool_prefix}moc-qt5; 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_MOC2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MOC2"; then - ac_cv_prog_MOC2="$MOC2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC2="${ac_tool_prefix}moc-qt5" - $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 -MOC2=$ac_cv_prog_MOC2 -if test -n "$MOC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC2" >&5 -$as_echo "$MOC2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MOC2"; then - ac_ct_MOC2=$MOC2 - # Extract the first word of "moc-qt5", so it can be a program name with args. -set dummy moc-qt5; 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_MOC2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MOC2"; then - ac_cv_prog_ac_ct_MOC2="$ac_ct_MOC2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC2="moc-qt5" - $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_MOC2=$ac_cv_prog_ac_ct_MOC2 -if test -n "$ac_ct_MOC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC2" >&5 -$as_echo "$ac_ct_MOC2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MOC2" = x; then - MOC2="" - 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 - MOC2=$ac_ct_MOC2 - fi -else - MOC2="$ac_cv_prog_MOC2" -fi - - mocversion=`$MOC2 -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}qtchooser", so it can be a program name with args. -set dummy ${ac_tool_prefix}qtchooser; 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_QTCHOOSER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$QTCHOOSER"; then - ac_cv_prog_QTCHOOSER="$QTCHOOSER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_QTCHOOSER="${ac_tool_prefix}qtchooser" - $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 -QTCHOOSER=$ac_cv_prog_QTCHOOSER -if test -n "$QTCHOOSER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QTCHOOSER" >&5 -$as_echo "$QTCHOOSER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_QTCHOOSER"; then - ac_ct_QTCHOOSER=$QTCHOOSER - # Extract the first word of "qtchooser", so it can be a program name with args. -set dummy qtchooser; 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_QTCHOOSER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_QTCHOOSER"; then - ac_cv_prog_ac_ct_QTCHOOSER="$ac_ct_QTCHOOSER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_QTCHOOSER="qtchooser" - $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_QTCHOOSER=$ac_cv_prog_ac_ct_QTCHOOSER -if test -n "$ac_ct_QTCHOOSER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_QTCHOOSER" >&5 -$as_echo "$ac_ct_QTCHOOSER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_QTCHOOSER" = x; then - QTCHOOSER="" - 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 - QTCHOOSER=$ac_ct_QTCHOOSER - fi -else - QTCHOOSER="$ac_cv_prog_QTCHOOSER" -fi - - qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` - mocversion=`$qt5tooldir/moc -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found - have_qt5_libs="no"; - else - MOC=$qt5tooldir/moc - fi - else - MOC=$MOC2 - fi - fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}rcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}rcc; 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_RCC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RCC"; then - ac_cv_prog_RCC="$RCC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RCC="${ac_tool_prefix}rcc" - $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 -RCC=$ac_cv_prog_RCC -if test -n "$RCC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RCC" >&5 -$as_echo "$RCC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RCC"; then - ac_ct_RCC=$RCC - # Extract the first word of "rcc", so it can be a program name with args. -set dummy rcc; 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_RCC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RCC"; then - ac_cv_prog_ac_ct_RCC="$ac_ct_RCC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RCC="rcc" - $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_RCC=$ac_cv_prog_ac_ct_RCC -if test -n "$ac_ct_RCC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RCC" >&5 -$as_echo "$ac_ct_RCC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RCC" = x; then - RCC="" - 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 - RCC=$ac_ct_RCC - fi -else - RCC="$ac_cv_prog_RCC" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking rcc version" >&5 -$as_echo_n "checking rcc version... " >&6; } - rccversion=`$RCC -v 2>&1` - rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` - if test x"$rccversiongrep" != x"$rccversion"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - # rcc was not the qt5 one, try with rcc-qt5 - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}rcc-qt5", so it can be a program name with args. -set dummy ${ac_tool_prefix}rcc-qt5; 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_RCC2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RCC2"; then - ac_cv_prog_RCC2="$RCC2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RCC2="${ac_tool_prefix}rcc-qt5" - $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 -RCC2=$ac_cv_prog_RCC2 -if test -n "$RCC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RCC2" >&5 -$as_echo "$RCC2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RCC2"; then - ac_ct_RCC2=$RCC2 - # Extract the first word of "rcc-qt5", so it can be a program name with args. -set dummy rcc-qt5; 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_RCC2+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RCC2"; then - ac_cv_prog_ac_ct_RCC2="$ac_ct_RCC2" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RCC2="rcc-qt5" - $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_RCC2=$ac_cv_prog_ac_ct_RCC2 -if test -n "$ac_ct_RCC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RCC2" >&5 -$as_echo "$ac_ct_RCC2" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RCC2" = x; then - RCC2="" - 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 - RCC2=$ac_ct_RCC2 - fi -else - RCC2="$ac_cv_prog_RCC2" -fi - - rccversion=`$RCC2 -v 2>&1` - rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc-qt5 5|rcc 5"` - if test x"$rccversiongrep" != x"$rccversion"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}qtchooser", so it can be a program name with args. -set dummy ${ac_tool_prefix}qtchooser; 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_QTCHOOSER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$QTCHOOSER"; then - ac_cv_prog_QTCHOOSER="$QTCHOOSER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_QTCHOOSER="${ac_tool_prefix}qtchooser" - $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 -QTCHOOSER=$ac_cv_prog_QTCHOOSER -if test -n "$QTCHOOSER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QTCHOOSER" >&5 -$as_echo "$QTCHOOSER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_QTCHOOSER"; then - ac_ct_QTCHOOSER=$QTCHOOSER - # Extract the first word of "qtchooser", so it can be a program name with args. -set dummy qtchooser; 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_QTCHOOSER+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_QTCHOOSER"; then - ac_cv_prog_ac_ct_QTCHOOSER="$ac_ct_QTCHOOSER" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_QTCHOOSER="qtchooser" - $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_QTCHOOSER=$ac_cv_prog_ac_ct_QTCHOOSER -if test -n "$ac_ct_QTCHOOSER"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_QTCHOOSER" >&5 -$as_echo "$ac_ct_QTCHOOSER" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_QTCHOOSER" = x; then - QTCHOOSER="" - 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 - QTCHOOSER=$ac_ct_QTCHOOSER - fi -else - QTCHOOSER="$ac_cv_prog_QTCHOOSER" -fi - - qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` - rccversion=`$qt5tooldir/rcc -v 2>&1` - rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` - if test x"$rccversiongrep" != x"$rccversion"; then - # no valid rcc found - have_qt5_libs="no"; - else - RCC=$qt5tooldir/rcc - fi - else - RCC=$RCC2 - fi - fi - - fi - - if test "$have_qt5_libs" != "yes"; then - if test "$pinentry_qt" = "yes"; then - as_fn_error $? " - *** - *** Qt5 (Qt5Core, Qt5Gui, Qt5Widgets) is required. - ***" "$LINENO" 5 - else - pinentry_qt=no - fi - fi -fi - - - - - - -if test "$pinentry_qt" != "no"; then - pinentry_qt=yes -fi - if test "$pinentry_qt" = "yes"; then - BUILD_PINENTRY_QT_TRUE= - BUILD_PINENTRY_QT_FALSE='#' -else - BUILD_PINENTRY_QT_TRUE='#' - BUILD_PINENTRY_QT_FALSE= -fi - -if test "$pinentry_qt" = "yes"; then - -$as_echo "#define PINENTRY_QT 1" >>confdefs.h - -fi -if test "$have_qt5_x11extras" = "yes"; then - -$as_echo "#define PINENTRY_QT_X11 1" >>confdefs.h - -fi -if test "$have_kf5waylandclient" = "yes"; then - PINENTRY_QT_CFLAGS="$KF5WAYLANDCLIENT_CFLAGS $PINENTRY_QT_CFLAGS -fpic" - PINENTRY_QT_LIBS="$KF5WAYLANDCLIENT_LIBS $PINENTRY_QT_LIBS" - -$as_echo "#define PINENTRY_QT_WAYLAND 1" >>confdefs.h - -else - if test "$have_w32_system" != "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pinentry-qt will be built without Caps Lock warning on Wayland" >&5 -$as_echo "$as_me: WARNING: pinentry-qt will be built without Caps Lock warning on Wayland" >&2;} - fi -fi - -# Check whether --enable-pinentry-qt4 was given. -if test "${enable_pinentry_qt4+set}" = set; then : - enableval=$enable_pinentry_qt4; pinentry_qt4=$enableval -else - pinentry_qt4=maybe -fi - - - -if test "$pinentry_qt4" != "no"; then - - have_qt4_libs="no"; - - if test "$enable_pinentry_qt4" != "no"; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for QtCore >= 4.6.0 QtGui >= 4.6.0" >&5 -$as_echo_n "checking for QtCore >= 4.6.0 QtGui >= 4.6.0... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT4_CFLAGS"; then - pkg_cv_PINENTRY_QT4_CFLAGS="$PINENTRY_QT4_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.6.0 QtGui >= 4.6.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT4_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.6.0 QtGui >= 4.6.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT4_LIBS"; then - pkg_cv_PINENTRY_QT4_LIBS="$PINENTRY_QT4_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.6.0 QtGui >= 4.6.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT4_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.6.0 QtGui >= 4.6.0" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_QT4_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0"` - else - PINENTRY_QT4_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_QT4_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_qt4_libs="no" -elif test $pkg_failed = untried; then - have_qt4_libs="no" -else - PINENTRY_QT4_CFLAGS=$pkg_cv_PINENTRY_QT4_CFLAGS - PINENTRY_QT4_LIBS=$pkg_cv_PINENTRY_QT4_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_qt4_libs="yes" -fi - fi - if test "$have_qt4_libs" = "yes"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}moc", so it can be a program name with args. -set dummy ${ac_tool_prefix}moc; 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_MOC4+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MOC4"; then - ac_cv_prog_MOC4="$MOC4" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC4="${ac_tool_prefix}moc" - $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 -MOC4=$ac_cv_prog_MOC4 -if test -n "$MOC4"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC4" >&5 -$as_echo "$MOC4" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MOC4"; then - ac_ct_MOC4=$MOC4 - # Extract the first word of "moc", so it can be a program name with args. -set dummy moc; 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_MOC4+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MOC4"; then - ac_cv_prog_ac_ct_MOC4="$ac_ct_MOC4" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC4="moc" - $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_MOC4=$ac_cv_prog_ac_ct_MOC4 -if test -n "$ac_ct_MOC4"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC4" >&5 -$as_echo "$ac_ct_MOC4" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MOC4" = x; then - MOC4="" - 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 - MOC4=$ac_ct_MOC4 - fi -else - MOC4="$ac_cv_prog_MOC4" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking moc version" >&5 -$as_echo_n "checking moc version... " >&6; } - mocversion=`$MOC4 -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - # moc was not the qt4 one, try with moc-qt4 - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}moc-qt4", so it can be a program name with args. -set dummy ${ac_tool_prefix}moc-qt4; 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_MOC42+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MOC42"; then - ac_cv_prog_MOC42="$MOC42" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC42="${ac_tool_prefix}moc-qt4" - $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 -MOC42=$ac_cv_prog_MOC42 -if test -n "$MOC42"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC42" >&5 -$as_echo "$MOC42" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MOC42"; then - ac_ct_MOC42=$MOC42 - # Extract the first word of "moc-qt4", so it can be a program name with args. -set dummy moc-qt4; 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_MOC42+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MOC42"; then - ac_cv_prog_ac_ct_MOC42="$ac_ct_MOC42" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC42="moc-qt4" - $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_MOC42=$ac_cv_prog_ac_ct_MOC42 -if test -n "$ac_ct_MOC42"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC42" >&5 -$as_echo "$ac_ct_MOC42" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MOC42" = x; then - MOC42="" - 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 - MOC42=$ac_ct_MOC42 - fi -else - MOC42="$ac_cv_prog_MOC42" -fi - - mocversion=`$MOC42 -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found - have_qt4_libs="no"; - MOC4="not found" - else - MOC4=$MOC42 - fi - fi - fi - - if test "$have_qt4_libs" != "yes"; then - if test "$pinentry_qt4" = "yes"; then - as_fn_error $? " - *** - *** Qt4 (QtCore, QtGui) is required. - ***" "$LINENO" 5 - else - pinentry_qt4=no - fi - fi -fi - - - - - - -if test "$pinentry_qt4" != "no"; then - pinentry_qt4=yes -fi - if test "$pinentry_qt4" = "yes"; then - BUILD_PINENTRY_QT4_TRUE= - BUILD_PINENTRY_QT4_FALSE='#' -else - BUILD_PINENTRY_QT4_TRUE='#' - BUILD_PINENTRY_QT4_FALSE= -fi - -if test "$pinentry_qt4" = "yes"; then - -$as_echo "#define PINENTRY_QT4 1" >>confdefs.h - -fi - -# Check whether --enable-pinentry-tqt was given. -if test "${enable_pinentry_tqt+set}" = set; then : - enableval=$enable_pinentry_tqt; pinentry_tqt=$enableval -else - pinentry_tqt=no -fi - - -if test "$pinentry_tqt" != "no"; then - - if test "$pinentry_qt" = "yes"; then - as_fn_error $? " - *** - *** Building both Qt and TQt pinentries is not supported. - *** Use --disable-pinentry-qt and --disable-pinentry-qt4 - *** if you want the TQt pinentry. - ***" "$LINENO" 5 - fi - - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tqt" >&5 -$as_echo_n "checking for tqt... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_TQT_CFLAGS"; then - pkg_cv_PINENTRY_TQT_CFLAGS="$PINENTRY_TQT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tqt\""; } >&5 - ($PKG_CONFIG --exists --print-errors "tqt") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_TQT_CFLAGS=`$PKG_CONFIG --cflags "tqt" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_TQT_LIBS"; then - pkg_cv_PINENTRY_TQT_LIBS="$PINENTRY_TQT_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tqt\""; } >&5 - ($PKG_CONFIG --exists --print-errors "tqt") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_TQT_LIBS=`$PKG_CONFIG --libs "tqt" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_TQT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tqt"` - else - PINENTRY_TQT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tqt"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_TQT_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tqt-mt" >&5 -$as_echo_n "checking for tqt-mt... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_TQT_CFLAGS"; then - pkg_cv_PINENTRY_TQT_CFLAGS="$PINENTRY_TQT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tqt-mt\""; } >&5 - ($PKG_CONFIG --exists --print-errors "tqt-mt") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_TQT_CFLAGS=`$PKG_CONFIG --cflags "tqt-mt" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_TQT_LIBS"; then - pkg_cv_PINENTRY_TQT_LIBS="$PINENTRY_TQT_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tqt-mt\""; } >&5 - ($PKG_CONFIG --exists --print-errors "tqt-mt") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_TQT_LIBS=`$PKG_CONFIG --libs "tqt-mt" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_TQT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tqt-mt"` - else - PINENTRY_TQT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tqt-mt"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_TQT_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_tqt_libs=no -elif test $pkg_failed = untried; then - have_tqt_libs=no -else - PINENTRY_TQT_CFLAGS=$pkg_cv_PINENTRY_TQT_CFLAGS - PINENTRY_TQT_LIBS=$pkg_cv_PINENTRY_TQT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_tqt_libs=yes -fi -elif test $pkg_failed = untried; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tqt-mt" >&5 -$as_echo_n "checking for tqt-mt... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_TQT_CFLAGS"; then - pkg_cv_PINENTRY_TQT_CFLAGS="$PINENTRY_TQT_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tqt-mt\""; } >&5 - ($PKG_CONFIG --exists --print-errors "tqt-mt") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_TQT_CFLAGS=`$PKG_CONFIG --cflags "tqt-mt" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_TQT_LIBS"; then - pkg_cv_PINENTRY_TQT_LIBS="$PINENTRY_TQT_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"tqt-mt\""; } >&5 - ($PKG_CONFIG --exists --print-errors "tqt-mt") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PINENTRY_TQT_LIBS=`$PKG_CONFIG --libs "tqt-mt" 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -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 - PINENTRY_TQT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "tqt-mt"` - else - PINENTRY_TQT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "tqt-mt"` - fi - # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_TQT_PKG_ERRORS" >&5 - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - have_tqt_libs=no -elif test $pkg_failed = untried; then - have_tqt_libs=no -else - PINENTRY_TQT_CFLAGS=$pkg_cv_PINENTRY_TQT_CFLAGS - PINENTRY_TQT_LIBS=$pkg_cv_PINENTRY_TQT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_tqt_libs=yes -fi -else - PINENTRY_TQT_CFLAGS=$pkg_cv_PINENTRY_TQT_CFLAGS - PINENTRY_TQT_LIBS=$pkg_cv_PINENTRY_TQT_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_tqt_libs=yes -fi - - if test "$have_tqt_libs" = "yes"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}tqmoc", so it can be a program name with args. -set dummy ${ac_tool_prefix}tqmoc; 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_TQT_MOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$TQT_MOC"; then - ac_cv_prog_TQT_MOC="$TQT_MOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_TQT_MOC="${ac_tool_prefix}tqmoc" - $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 -TQT_MOC=$ac_cv_prog_TQT_MOC -if test -n "$TQT_MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TQT_MOC" >&5 -$as_echo "$TQT_MOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_TQT_MOC"; then - ac_ct_TQT_MOC=$TQT_MOC - # Extract the first word of "tqmoc", so it can be a program name with args. -set dummy tqmoc; 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_TQT_MOC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_TQT_MOC"; then - ac_cv_prog_ac_ct_TQT_MOC="$ac_ct_TQT_MOC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_TQT_MOC="tqmoc" - $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_TQT_MOC=$ac_cv_prog_ac_ct_TQT_MOC -if test -n "$ac_ct_TQT_MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_TQT_MOC" >&5 -$as_echo "$ac_ct_TQT_MOC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_TQT_MOC" = x; then - TQT_MOC=""no"" - 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 - TQT_MOC=$ac_ct_TQT_MOC - fi -else - TQT_MOC="$ac_cv_prog_TQT_MOC" -fi - - fi - - if test "$have_tqt_libs" = "yes" -a "$TQT_MOC" != "no"; then - pinentry_tqt=yes - else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: TQt is not found" >&5 -$as_echo "$as_me: WARNING: TQt is not found" >&2;} - pinentry_tqt=no - fi - -fi - if test "$pinentry_tqt" = "yes"; then - BUILD_PINENTRY_TQT_TRUE= - BUILD_PINENTRY_TQT_FALSE='#' -else - BUILD_PINENTRY_TQT_TRUE='#' - BUILD_PINENTRY_TQT_FALSE= -fi - - -# -# Check whether we should build the W32 pinentry. This is actually -# the simplest check as we do this only for that platform. -# -pinentry_w32=no -test $have_w32_system = yes && pinentry_w32=yes - if test "$pinentry_w32" = "yes"; then - BUILD_PINENTRY_W32_TRUE= - BUILD_PINENTRY_W32_FALSE='#' -else - BUILD_PINENTRY_W32_TRUE='#' - BUILD_PINENTRY_W32_FALSE= -fi - - -# Check whether --enable-pinentry-fltk was given. -if test "${enable_pinentry_fltk+set}" = set; then : - enableval=$enable_pinentry_fltk; pinentry_fltk=$enableval -else - pinentry_fltk=maybe -fi - - -if test "$pinentry_fltk" != "no"; then - # Extract the first word of "fltk-config", so it can be a program name with args. -set dummy fltk-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_FLTK_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $FLTK_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_FLTK_CONFIG="$FLTK_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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_FLTK_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 - - test -z "$ac_cv_path_FLTK_CONFIG" && ac_cv_path_FLTK_CONFIG="no" - ;; -esac -fi -FLTK_CONFIG=$ac_cv_path_FLTK_CONFIG -if test -n "$FLTK_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLTK_CONFIG" >&5 -$as_echo "$FLTK_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test x"${FLTK_CONFIG}" = xno ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: fltk-config is not found" >&5 -$as_echo "$as_me: WARNING: fltk-config is not found" >&2;} - pinentry_fltk=no - fi -fi - -if test "$pinentry_fltk" != "no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FLTK 1.3" >&5 -$as_echo_n "checking for FLTK 1.3... " >&6; } - FLTK_VERSION=`${FLTK_CONFIG} --api-version` - if test ${FLTK_VERSION} != "1.3" ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: FLTK 1.3 not found (available $FLTK_VERSION)" >&5 -$as_echo "$as_me: WARNING: FLTK 1.3 not found (available $FLTK_VERSION)" >&2;} - pinentry_fltk=no - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - FLTKCFLAGS=`${FLTK_CONFIG} --cflags` - FLTKCXXFLAGS=`${FLTK_CONFIG} --cxxflags` - FLTKLIBS=`${FLTK_CONFIG} --ldflags` - - - - pinentry_fltk=yes - fi -fi - if test "$pinentry_fltk" = "yes"; then - BUILD_PINENTRY_FLTK_TRUE= - BUILD_PINENTRY_FLTK_FALSE='#' -else - BUILD_PINENTRY_FLTK_TRUE='#' - BUILD_PINENTRY_FLTK_FALSE= -fi - - -# Figure out the default pinentry. We are very conservative here. -# Please change the order only after verifying that the preferred -# pinentry really is better (more feature-complete and more secure). - -if test "$pinentry_gtk_2" = "yes"; then - PINENTRY_DEFAULT=pinentry-gtk-2 -else - if test "$pinentry_qt" = "yes"; then - PINENTRY_DEFAULT=pinentry-qt - else - if test "$pinentry_gnome_3" = "yes"; then - PINENTRY_DEFAULT=pinentry-gnome3 - else - if test "$pinentry_curses" = "yes"; then - PINENTRY_DEFAULT=pinentry-curses - else - if test "$pinentry_tty" = "yes"; then - PINENTRY_DEFAULT=pinentry-tty - else - if test "$pinentry_w32" = "yes"; then - PINENTRY_DEFAULT=pinentry-w32 - else - if test "$pinentry_fltk" = "yes"; then - PINENTRY_DEFAULT=pinentry-fltk - else - if test "$pinentry_tqt" = "yes"; then - PINENTRY_DEFAULT=pinentry-tqt - else - if test "$pinentry_efl" = "yes"; then - PINENTRY_DEFAULT=pinentry-efl - else - if test "$pinentry_qt4" = "yes"; then - PINENTRY_DEFAULT=pinentry-qt4 - else - as_fn_error $? "No pinentry enabled." "$LINENO" 5 - fi - fi - fi - fi - fi - fi - fi - fi - fi -fi - - -# -# Print errors here so that they are visible all -# together and the user can acquire them all together. -# -die=no -if test "$have_gpg_error" = "no"; then - die=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: -*** -*** You need libgpg-error to build this program. -** This library is for example available at -*** ftp://ftp.gnupg.org/gcrypt/libgpg-error -*** (at least version $NEED_GPG_ERROR_VERSION is required.) -***" >&5 -$as_echo "$as_me: -*** -*** You need libgpg-error to build this program. -** This library is for example available at -*** ftp://ftp.gnupg.org/gcrypt/libgpg-error -*** (at least version $NEED_GPG_ERROR_VERSION is required.) -***" >&6;} -fi - -if test "$have_libassuan" = "no"; then - die=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: -*** -*** You need libassuan to build this program. -*** This library is for example available at -*** ftp://ftp.gnupg.org/gcrypt/libassuan/ -*** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required). -***" >&5 -$as_echo "$as_me: -*** -*** You need libassuan to build this program. -*** This library is for example available at -*** ftp://ftp.gnupg.org/gcrypt/libassuan/ -*** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required). -***" >&6;} -fi - -if test "$die" = "yes"; then - as_fn_error $? " -*** -*** Required libraries not found. Please consult the above messages -*** and install them before running configure again. -***" "$LINENO" 5 -fi - - - -# -# To avoid double inclusion of config.h which might happen at some -# places, we add the usual double inclusion protection at the top of -# config.h. -# - - -# -# Stuff which goes at the bottom of config.h. -# - - -build_doc=yes -# Check whether --enable-doc was given. -if test "${enable_doc+set}" = set; then : - enableval=$enable_doc; build_doc=$enableval -else - build_doc=yes -fi - - if test "x$build_doc" != xno; then - BUILD_DOC_TRUE= - BUILD_DOC_FALSE='#' -else - BUILD_DOC_TRUE='#' - BUILD_DOC_FALSE= -fi - - - -ac_config_files="$ac_config_files m4/Makefile secmem/Makefile pinentry/Makefile curses/Makefile tty/Makefile efl/Makefile emacs/Makefile gtk+-2/Makefile gnome3/Makefile qt/Makefile qt/icons/Makefile qt4/Makefile tqt/Makefile w32/Makefile fltk/Makefile doc/Makefile Makefile" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - 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 -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } -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 -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_DOSISH_SYSTEM_TRUE}" && test -z "${HAVE_DOSISH_SYSTEM_FALSE}"; then - as_fn_error $? "conditional \"HAVE_DOSISH_SYSTEM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_W32_SYSTEM_TRUE}" && test -z "${HAVE_W32_SYSTEM_FALSE}"; then - as_fn_error $? "conditional \"HAVE_W32_SYSTEM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${HAVE_W32CE_SYSTEM_TRUE}" && test -z "${HAVE_W32CE_SYSTEM_FALSE}"; then - as_fn_error $? "conditional \"HAVE_W32CE_SYSTEM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_LIBPINENTRY_CURSES_TRUE}" && test -z "${BUILD_LIBPINENTRY_CURSES_FALSE}"; then - as_fn_error $? "conditional \"BUILD_LIBPINENTRY_CURSES\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_CURSES_TRUE}" && test -z "${BUILD_PINENTRY_CURSES_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_CURSES\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${FALLBACK_CURSES_TRUE}" && test -z "${FALLBACK_CURSES_FALSE}"; then - as_fn_error $? "conditional \"FALLBACK_CURSES\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_TTY_TRUE}" && test -z "${BUILD_PINENTRY_TTY_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_TTY\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_LIBPINENTRY_EMACS_TRUE}" && test -z "${BUILD_LIBPINENTRY_EMACS_FALSE}"; then - as_fn_error $? "conditional \"BUILD_LIBPINENTRY_EMACS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_EMACS_TRUE}" && test -z "${BUILD_PINENTRY_EMACS_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_EMACS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${INSIDE_EMACS_TRUE}" && test -z "${INSIDE_EMACS_FALSE}"; then - as_fn_error $? "conditional \"INSIDE_EMACS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_EFL_TRUE}" && test -z "${BUILD_PINENTRY_EFL_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_EFL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_GTK_2_TRUE}" && test -z "${BUILD_PINENTRY_GTK_2_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_GTK_2\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_GNOME_3_TRUE}" && test -z "${BUILD_PINENTRY_GNOME_3_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_GNOME_3\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_WITH_LIBSECRET_TRUE}" && test -z "${BUILD_WITH_LIBSECRET_FALSE}"; then - as_fn_error $? "conditional \"BUILD_WITH_LIBSECRET\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_QT_TRUE}" && test -z "${BUILD_PINENTRY_QT_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_QT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_QT4_TRUE}" && test -z "${BUILD_PINENTRY_QT4_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_QT4\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_TQT_TRUE}" && test -z "${BUILD_PINENTRY_TQT_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_TQT\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_W32_TRUE}" && test -z "${BUILD_PINENTRY_W32_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_W32\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_PINENTRY_FLTK_TRUE}" && test -z "${BUILD_PINENTRY_FLTK_FALSE}"; then - as_fn_error $? "conditional \"BUILD_PINENTRY_FLTK\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${BUILD_DOC_TRUE}" && test -z "${BUILD_DOC_FALSE}"; then - as_fn_error $? "conditional \"BUILD_DOC\" 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 -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by pinentry $as_me 1.2.1, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -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 <https://bugs.gnupg.org>." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -pinentry config.status 1.2.1 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -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" MAKE="${MAKE-make}" - -_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" ;; - "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; - "secmem/Makefile") CONFIG_FILES="$CONFIG_FILES secmem/Makefile" ;; - "pinentry/Makefile") CONFIG_FILES="$CONFIG_FILES pinentry/Makefile" ;; - "curses/Makefile") CONFIG_FILES="$CONFIG_FILES curses/Makefile" ;; - "tty/Makefile") CONFIG_FILES="$CONFIG_FILES tty/Makefile" ;; - "efl/Makefile") CONFIG_FILES="$CONFIG_FILES efl/Makefile" ;; - "emacs/Makefile") CONFIG_FILES="$CONFIG_FILES emacs/Makefile" ;; - "gtk+-2/Makefile") CONFIG_FILES="$CONFIG_FILES gtk+-2/Makefile" ;; - "gnome3/Makefile") CONFIG_FILES="$CONFIG_FILES gnome3/Makefile" ;; - "qt/Makefile") CONFIG_FILES="$CONFIG_FILES qt/Makefile" ;; - "qt/icons/Makefile") CONFIG_FILES="$CONFIG_FILES qt/icons/Makefile" ;; - "qt4/Makefile") CONFIG_FILES="$CONFIG_FILES qt4/Makefile" ;; - "tqt/Makefile") CONFIG_FILES="$CONFIG_FILES tqt/Makefile" ;; - "w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;; - "fltk/Makefile") CONFIG_FILES="$CONFIG_FILES fltk/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - 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 2>/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 -' <conf$$subs.awk | sed ' -/^[^""]/{ - N - s/\n// -} -' >>$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 -' <confdefs.h | sed ' -s/'"$ac_delim"'/"\\\ -"/g' >>$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"" || { - # Older Autoconf 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. - # TODO: see whether this extra hack can be removed once we start - # requiring Autoconf 2.70 or later. - case $CONFIG_FILES in #( - *\'*) : - eval set x "$CONFIG_FILES" ;; #( - *) : - set x $CONFIG_FILES ;; #( - *) : - ;; -esac - shift - # Used to flag and report bootstrapping failures. - am_rc=0 - for am_mf - do - # Strip MF so we end up with the name of the file. - am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile which includes - # dependency-tracking related rules and includes. - # Grep'ing the whole file directly is not great: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ - || continue - am_dirpart=`$as_dirname -- "$am_mf" || -$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$am_mf" : 'X\(//\)[^/]' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$am_mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - am_filepart=`$as_basename -- "$am_mf" || -$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ - X"$am_mf" : 'X\(//\)$' \| \ - X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$am_mf" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - { echo "$as_me:$LINENO: cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles" >&5 - (cd "$am_dirpart" \ - && sed -e '/# am--include-marker/d' "$am_filepart" \ - | $MAKE -f - am--depfiles) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } || am_rc=$? - done - if test $am_rc -ne 0; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. If GNU make was not used, consider - re-running the configure script with MAKE=\"gmake\" (or whatever is - necessary). You can also try re-running configure with the - '--disable-dependency-tracking' option to at least be able to build - the package (albeit without support for automatic dependency tracking). -See \`config.log' for more details" "$LINENO" 5; } - fi - { am_dirpart=; unset am_dirpart;} - { am_filepart=; unset am_filepart;} - { am_mf=; unset am_mf;} - { am_rc=; unset am_rc;} - rm -f conftest-deps.mk -} - ;; - - 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 - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: - - Pinentry v${VERSION} has been configured as follows: - - Revision: 3389615 (13193) - Platform: $host - - Curses Pinentry ..: $pinentry_curses - TTY Pinentry .....: $pinentry_tty - Emacs Pinentry ...: $pinentry_emacs - EFL Pinentry .....: $pinentry_efl - GTK+-2 Pinentry ..: $pinentry_gtk_2 - GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt5 Pinentry .....: $pinentry_qt - Qt4 Pinentry .....: $pinentry_qt4 - TQt Pinentry .....: $pinentry_tqt - W32 Pinentry .....: $pinentry_w32 - FLTK Pinentry ....: $pinentry_fltk - - Fallback to Curses: $fallback_curses - Emacs integration : $inside_emacs - - libsecret ........: $libsecret - - Default Pinentry .: $PINENTRY_DEFAULT -" >&5 -$as_echo "$as_me: - - Pinentry v${VERSION} has been configured as follows: - - Revision: 3389615 (13193) - Platform: $host - - Curses Pinentry ..: $pinentry_curses - TTY Pinentry .....: $pinentry_tty - Emacs Pinentry ...: $pinentry_emacs - EFL Pinentry .....: $pinentry_efl - GTK+-2 Pinentry ..: $pinentry_gtk_2 - GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt5 Pinentry .....: $pinentry_qt - Qt4 Pinentry .....: $pinentry_qt4 - TQt Pinentry .....: $pinentry_tqt - W32 Pinentry .....: $pinentry_w32 - FLTK Pinentry ....: $pinentry_fltk - - Fallback to Curses: $fallback_curses - Emacs integration : $inside_emacs - - libsecret ........: $libsecret - - Default Pinentry .: $PINENTRY_DEFAULT -" >&6;} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure.ac b/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure.ac deleted file mode 100644 index cb4e43fa..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure.ac +++ /dev/null @@ -1,877 +0,0 @@ -# configure.ac -# Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> -# Copyright (C) 2001, 2002, 2003, 2004, 2007, 2015, 2016 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -# (Process this file with autoconf to produce a configure script.) -AC_PREREQ([2.69]) -min_automake_version="1.14" - -# To build a release you need to create a tag with the version number -# (git tag -s pinentry-n.m.k) and run "./autogen.sh --force". Please -# bump the version number immediately after the release and do another -# commit and push so that the git magic is able to work. -m4_define([mym4_package],[pinentry]) -m4_define([mym4_major], [1]) -m4_define([mym4_minor], [2]) -m4_define([mym4_micro], [1]) - -# Below is m4 magic to extract and compute the git revision number, -# the decimalized short revision number, a beta version string and a -# flag indicating a development version (mym4_isbeta). Note that the -# m4 processing is done by autoconf and not during the configure run. -m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \ - mym4_package mym4_major mym4_minor mym4_micro),[:])) -m4_define([mym4_isbeta], m4_argn(2, mym4_verslist)) -m4_define([mym4_version], m4_argn(4, mym4_verslist)) -m4_define([mym4_revision], m4_argn(7, mym4_verslist)) -m4_define([mym4_revision_dec], m4_argn(8, mym4_verslist)) -m4_esyscmd([echo ]mym4_version[>VERSION]) - -AC_INIT([mym4_package],[mym4_version],[https://bugs.gnupg.org]) - -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_SRCDIR(pinentry/pinentry.h) -AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip]) - -AC_USE_SYSTEM_EXTENSIONS - -AM_MAINTAINER_MODE - -AC_CANONICAL_HOST - -AH_TOP([ -#ifndef PINENTRY_CONFIG_H_INCLUDED -#define PINENTRY_CONFIG_H_INCLUDED - -/* Enable gpg-error's strerror macro under W32CE. */ -#define GPG_ERR_ENABLE_ERRNO_MACROS 1 -]) - -AH_BOTTOM([ -#endif /*PINENTRY_CONFIG_H_INCLUDED*/ -]) - - -dnl Checks for programs. -AC_PROG_MAKE_SET -AM_SANITY_CHECK -missing_dir=`cd $ac_aux_dir && pwd` -AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) -AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) -AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir) -AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir) -AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir) -AC_PROG_CC -AC_PROG_CPP -AC_PROG_INSTALL -AC_PROG_RANLIB -# We need to check for cplusplus here because we may not do the test -# for Qt and autoconf does does not allow that. -AC_PROG_CXX -AC_PROG_LN_S -PKG_PROG_PKG_CONFIG -AC_CHECK_TOOL(WINDRES, windres, :) -AC_CHECK_PROGS(GITLOG_TO_CHANGELOG, gitlog-to-changelog, - [build-aux/gitlog-to-changelog]) - - -have_dosish_system=no -have_w32_system=no -have_w32ce_system=no -case "${host}" in - *-mingw32*) - AC_DEFINE(USE_ONLY_8DOT3,1, - [Set this to limit filenames to the 8.3 format]) - have_dosish_system=yes - have_w32_system=yes - case "${host}" in - *-mingw32ce*) - have_w32ce_system=yes - ;; - *) - AC_DEFINE(HAVE_DRIVE_LETTERS,1, - [Defined if the OS supports drive letters.]) - ;; - esac - ;; - i?86-emx-os2 | i?86-*-os2*emx ) - # OS/2 with the EMX environment - AC_DEFINE(HAVE_DRIVE_LETTERS) - have_dosish_system=yes - ;; - - i?86-*-msdosdjgpp*) - # DOS with the DJGPP environment - AC_DEFINE(HAVE_DRIVE_LETTERS) - have_dosish_system=yes - ;; -esac - -if test "$have_dosish_system" = yes; then - AC_DEFINE(HAVE_DOSISH_SYSTEM,1, - [Defined if we run on some of the PCDOS like systems - (DOS, Windoze. OS/2) with special properties like - no file modes]) -fi -AM_CONDITIONAL(HAVE_DOSISH_SYSTEM, test "$have_dosish_system" = yes) - -if test "$have_w32_system" = yes; then - AC_DEFINE(HAVE_W32_SYSTEM,1, [Defined if we run on a W32 API based system]) - if test "$have_w32ce_system" = yes; then - AC_DEFINE(HAVE_W32CE_SYSTEM,1,[Defined if we run on WindowsCE]) - fi -fi -AM_CONDITIONAL(HAVE_W32_SYSTEM, test "$have_w32_system" = yes) -AM_CONDITIONAL(HAVE_W32CE_SYSTEM, test "$have_w32ce_system" = yes) - - - - -dnl Checks for compiler features. -if test "$GCC" = yes; then - # Check whether gcc does not emit a diagnositc for unknown -Wno-* - # options. This is the case for gcc >= 4.6 - AC_MSG_CHECKING([if gcc ignores unknown -Wno-* options]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6 ) -#kickerror -#endif]],[])],[_gcc_silent_wno=yes],[_gcc_silent_wno=no]) - AC_MSG_RESULT($_gcc_silent_wno) - - if test "$USE_MAINTAINER_MODE" = "yes"; then - CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes" - CFLAGS="$CFLAGS -Wformat -Wno-format-y2k -Wformat-security" - - if test x"$_gcc_silent_wno" = xyes ; then - _gcc_warn=yes - else - AC_MSG_CHECKING([if gcc supports -Wno-missing-field-initializers]) - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wno-missing-field-initializers" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], - [_gcc_warn=yes],[_gcc_warn=no]) - AC_MSG_RESULT($_gcc_warn) - CFLAGS=$_gcc_cflags_save; - fi - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -W -Wno-sign-compare -Wno-missing-field-initializers" - fi - - AC_MSG_CHECKING([if gcc supports -Wdeclaration-after-statement]) - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wdeclaration-after-statement" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_warn=yes,_gcc_warn=no) - AC_MSG_RESULT($_gcc_warn) - CFLAGS=$_gcc_cflags_save; - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -Wdeclaration-after-statement" - fi - - else - # Not in maintainer mode: Use standard warnings. - CFLAGS="$CFLAGS -Wall" - fi - - CPPFLAGS="$CPPFLAGS -Wall" - - if test x"$_gcc_silent_wno" = xyes ; then - _gcc_warn=yes - else - AC_MSG_CHECKING([if gcc supports -Wno-pointer-sign]) - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wno-pointer-sign" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],[_gcc_warn=yes],[_gcc_warn=no]) - AC_MSG_RESULT($_gcc_warn) - CFLAGS=$_gcc_cflags_save; - fi - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -Wno-pointer-sign" - fi - - AC_MSG_CHECKING([if gcc supports -Wpointer-arith]) - _gcc_cflags_save=$CFLAGS - CFLAGS="-Wpointer-arith" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],_gcc_warn=yes,_gcc_warn=no) - AC_MSG_RESULT($_gcc_warn) - CFLAGS=$_gcc_cflags_save; - if test x"$_gcc_warn" = xyes ; then - CFLAGS="$CFLAGS -Wpointer-arith" - fi -fi - - -# Checks for header files. -AC_CHECK_HEADERS(string.h unistd.h langinfo.h termio.h locale.h utime.h wchar.h) - -dnl Checks for library functions. -AC_CHECK_FUNCS(seteuid stpcpy mmap stat) -GNUPG_CHECK_MLOCK - -dnl Checks for standard types. -AC_TYPE_UINT32_T - -# Common libraries and cflags. -COMMON_CFLAGS= -COMMON_LIBS= -AC_SUBST(COMMON_CFLAGS) -AC_SUBST(COMMON_LIBS) - -dnl Checks for libgpg-error -# -# libgpg-error is a library with error codes shared between GnuPG -# related projects. -# -NEED_GPG_ERROR_VERSION=1.16 -have_gpg_error=no - -AM_PATH_GPG_ERROR("$NEED_GPG_ERROR_VERSION", - have_gpg_error=yes,have_gpg_error=no) -COMMON_CFLAGS="$GPG_ERROR_CFLAGS $COMMON_CFLAGS" -COMMON_LIBS="$GPG_ERROR_LIBS $COMMON_LIBS" - -AC_DEFINE_UNQUOTED(GPG_ERR_ENABLE_GETTEXT_MACROS, 1, - [Under Windows we use the gettext code from libgpg-error]) - -AC_DEFINE_UNQUOTED(GPG_ERR_ENABLE_ERRNO_MACROS, 1, - [Under WindowsCE we use the strerror replacement from libgpg-error.]) - - -dnl Checks for libassuan. -# -# libassuan is used for IPC -# -NEED_LIBASSUAN_API=2 -NEED_LIBASSUAN_VERSION=2.1.0 -have_libassuan=no -AM_PATH_LIBASSUAN("$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION", - have_libassuan=yes,have_libassuan=no) -if test "$have_libassuan" = "yes"; then - AC_DEFINE_UNQUOTED(GNUPG_LIBASSUAN_VERSION, "$libassuan_version", - [version of the libassuan library]) -fi - -COMMON_CFLAGS="$LIBASSUAN_CFLAGS $COMMON_CFLAGS" -COMMON_LIBS="$LIBASSUAN_LIBS $COMMON_LIBS" - - -dnl Checks for libsecmem. -AC_CHECK_TYPES([byte, ulong, u64]) - -dnl -dnl Check for curses pinentry program. -dnl -AC_ARG_ENABLE(pinentry-curses, - AS_HELP_STRING([--enable-pinentry-curses],[build curses pinentry]), - pinentry_curses=$enableval, pinentry_curses=maybe) -AC_ARG_ENABLE(fallback-curses, - AS_HELP_STRING([--enable-fallback-curses],[include curses fallback]), - fallback_curses=$enableval, fallback_curses=maybe) - -dnl -dnl Checks for curses libraries. Deal correctly with $pinentry_curses = maybe -dnl and $fallback_curses = maybe. -dnl -if test "$pinentry_curses" != "no" -o "$fallback_curses" != "no"; then - IU_LIB_CURSES -fi -if test "$LIBCURSES"; then - if test "$pinentry_curses" != "no"; then - pinentry_curses=yes - fi - if test "$fallback_curses" != "no"; then - fallback_curses=yes - AC_DEFINE(FALLBACK_CURSES, 1, - [The GUI pinentries should fall back to curses if X is not available.]) - fi -else - if test "$pinentry_curses" = "yes" -o "$fallback_curses" = "yes"; then - AC_MSG_ERROR([[ -*** -*** The curses library is required. The latest version of -*** ncurses is always available from ftp://ftp.gnu.org/gnu/ncurses/. -***]]) - fi - pinentry_curses=no - fallback_curses=no -fi -AM_CONDITIONAL(BUILD_LIBPINENTRY_CURSES, - test "$pinentry_curses" = "yes" -o "$fallback_curses" = "yes") -AM_CONDITIONAL(BUILD_PINENTRY_CURSES, test "$pinentry_curses" = "yes") -AM_CONDITIONAL(FALLBACK_CURSES, test "$fallback_curses" = "yes") - -if test "$pinentry_curses" = "yes"; then - AC_DEFINE(PINENTRY_CURSES, 1, - [The Curses version of Pinentry is to be build]) -fi - - -dnl -dnl Check for tty pinentry program. -dnl -AC_ARG_ENABLE(pinentry-tty, - AS_HELP_STRING([--enable-pinentry-tty],[build tty pinentry]), - pinentry_tty=$enableval, pinentry_tty=maybe) -AM_CONDITIONAL(BUILD_PINENTRY_TTY, test "$pinentry_tty" = "yes") - -if test "$pinentry_tty" = "yes"; then - AC_DEFINE(PINENTRY_TTY, 1, - [The TTY version of Pinentry is to be build]) -fi - - -dnl -dnl Additional checks pinentry Curses. -dnl -if test "$pinentry_curses" = "yes" \ - -o "$fallback_curses" = "yes" ; then - AM_ICONV - if test "$am_cv_func_iconv" != "yes"; then - AC_MSG_ERROR([[ -*** -*** The iconv function is required. You can specify its location -*** using the --with-libiconv-prefix=PREFIX option to configure. -***]]) - fi -fi - -dnl -dnl Check for emacs pinentry program. -dnl -AC_ARG_ENABLE(pinentry-emacs, - AS_HELP_STRING([--enable-pinentry-emacs],[build emacs pinentry]), - pinentry_emacs=$enableval, pinentry_emacs=no) -AC_ARG_ENABLE(inside-emacs, - AS_HELP_STRING([--enable-inside-emacs],[include emacs hack]), - inside_emacs=$enableval, inside_emacs=maybe) - -if test "$pinentry_emacs" != "no" -o "$inside_emacs" != "no"; then - AC_MSG_CHECKING([if Unix domain socket is supported]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include <sys/socket.h> -#include <sys/un.h> -]], [[int s = socket (AF_UNIX, SOCK_STREAM, 0);]])],[_unixsock_works=yes],[_unixsock_works=no]) - AC_MSG_RESULT($_unixsock_works) - if test "$_unixsock_works" = "yes"; then - if test "$pinentry_emacs" != "no"; then - pinentry_emacs=yes - fi - if test "$inside_emacs" != "no"; then - inside_emacs=yes - AC_DEFINE(INSIDE_EMACS, 1, - [The GUI pinentries should respect INSIDE_EMACS envvar.]) - fi - else - if test "$pinentry_emacs" = "yes" -o "$inside_emacs" = "yes"; then - AC_MSG_ERROR([[ -*** -*** Support for Unix domain sockets is required. -***]]) - fi - pinentry_emacs=no - inside_emacs=no - fi -fi - -AM_CONDITIONAL(BUILD_LIBPINENTRY_EMACS, - test "$pinentry_emacs" = "yes" -o "$inside_emacs" = "yes") -AM_CONDITIONAL(BUILD_PINENTRY_EMACS, test "$pinentry_emacs" = "yes") -AM_CONDITIONAL(INSIDE_EMACS, test "$inside_emacs" = "yes") - -if test "$pinentry_emacs" = "yes"; then - AC_DEFINE(PINENTRY_EMACS, 1, - [The Emacs version of Pinentry is to be build]) -fi - - - -dnl -dnl Check for EFL pinentry programs. -dnl -AC_ARG_ENABLE(pinentry-efl, - AS_HELP_STRING([--enable-pinentry-efl],[build EFL pinentry]), - pinentry_efl=$enableval, pinentry_efl=maybe) - -if test "$pinentry_efl" != "no"; then - PKG_CHECK_MODULES( - EFL, - [elementary >= 1.18,ecore-x], - [ - pinentry_efl=yes - ], - [ - if test "$pinentry_efl" = "yes"; then - AC_MSG_ERROR([[ -*** -*** efl (elementary >= 1.18, ecore-x) is required for pinentry-efl. -***]]) - else - AC_MSG_WARN([pkg-config could not find the modules elementary or ecore-x]) - fi - pinentry_efl=no - ] - ) -fi -AM_CONDITIONAL(BUILD_PINENTRY_EFL, test "$pinentry_efl" = "yes") - -dnl -dnl Check for GTK+-2 / GNOME3 pinentry programs. -dnl -AC_ARG_ENABLE(pinentry-gtk2, - AS_HELP_STRING([--enable-pinentry-gtk2],[build GTK+-2 pinentry]), - pinentry_gtk_2=$enableval, pinentry_gtk_2=maybe) - -AC_ARG_ENABLE(pinentry-gnome3, - AS_HELP_STRING([--enable-pinentry-gnome3],[build GNOME 3 pinentry]), - pinentry_gnome_3=$enableval, pinentry_gnome_3=maybe) - -dnl check if the module gtk+-2.0 exists -if test "$pinentry_gtk_2" != "no"; then - PKG_CHECK_MODULES( - GTK2, - [gtk+-2.0 >= 2.12.0], - [ - test "$pinentry_gtk_2" != "no" && pinentry_gtk_2=yes - test "$pinentry_gnome_3" != "no" && pinentry_gnome_3=yes - ], - [ - AC_MSG_WARN([pkg-config could not find the module gtk+-2.0]) - pinentry_gtk_2=no - ] - ) -fi -AM_CONDITIONAL(BUILD_PINENTRY_GTK_2, test "$pinentry_gtk_2" = "yes") - -if test "$pinentry_gnome_3" != "no"; then - PKG_CHECK_MODULES( - GNOME3, - [gcr-3,gcr-base-3], - [ - pinentry_gnome_3=yes - AC_DEFINE(GCR_API_SUBJECT_TO_CHANGE, 1, [Nod nod]) - ], - [ - AC_MSG_WARN([pkg-config could not find the module gcr-3,gcr-base-3]) - pinentry_gnome_3=no - ] - ) -fi - -AM_CONDITIONAL(BUILD_PINENTRY_GNOME_3, test "$pinentry_gnome_3" = "yes") - -dnl -dnl Check for libsecret. -dnl -AC_ARG_ENABLE(libsecret, - AS_HELP_STRING([--enable-libsecret], - [optionally cache passphrases using libsecret]), - libsecret=$enableval, libsecret=maybe) - -dnl check if the module libsecret exists -if test "$libsecret" != "no"; then - PKG_CHECK_MODULES( - LIBSECRET, - [libsecret-1], - [libsecret=yes], - [ - AC_MSG_WARN([pkg-config could not find the module libsecret-1]) - libsecret=no - ] - ) -fi -AM_CONDITIONAL(BUILD_WITH_LIBSECRET, test "$libsecret" = "yes") -if test "$libsecret" = "yes"; then - AC_DEFINE(HAVE_LIBSECRET, 1, - [The pinentries should optionally cache the passphrase using libsecret.]) - - COMMON_CFLAGS="$LIBSECRET_CFLAGS $COMMON_CFLAGS" - COMMON_LIBS="$LIBSECRET_LIBS $COMMON_LIBS" -fi - -dnl -dnl Check for libX11 library -dnl -have_x11=no -if test "$have_w32_system" != "yes"; then - PKG_CHECK_MODULES( - LIBX11, - [x11], - [have_x11=yes], - [ - AC_MSG_WARN([pkg-config could not find the module x11]) - have_x11=no - ] - ) - - if test "$have_x11" = "yes"; then - AC_DEFINE(HAVE_X11, 1, - [The pinentries can optionally use x11.]) - fi -fi - -dnl -dnl Check for KF5WaylandClient library -dnl -have_kf5waylandclient=no -if test "$have_w32_system" != "yes"; then - PKG_CHECK_MODULES( - KF5WAYLANDCLIENT, - [KF5WaylandClient >= 5.60], - [have_kf5waylandclient=yes], - [ - AC_MSG_WARN([pkg-config could not find the module KF5WaylandClient]) - have_kf5waylandclient=no - ] - ) -fi - -dnl -dnl Check for Qt5 pinentry program. -dnl -AC_ARG_ENABLE(pinentry-qt, - AS_HELP_STRING([--enable-pinentry-qt],[build Qt5 pinentry]), - pinentry_qt=$enableval, pinentry_qt=maybe) - - -dnl -dnl Checks for qt libraries. Deal correctly with $pinentry_qt = maybe. -dnl Tries to find Qt5 -dnl -if test "$pinentry_qt" != "no"; then - FIND_QT - if test "$have_qt5_libs" != "yes"; then - if test "$pinentry_qt" = "yes"; then - AC_MSG_ERROR([[ - *** - *** Qt5 (Qt5Core, Qt5Gui, Qt5Widgets) is required. - ***]]) - else - pinentry_qt=no - fi - fi -fi - -AC_SUBST(PINENTRY_QT_CFLAGS) -AC_SUBST(PINENTRY_QT_LIBS) -AC_SUBST(PINENTRY_QT_LDFLAGS) -AC_SUBST(MOC) - -dnl If we have come so far, qt pinentry can be build. -if test "$pinentry_qt" != "no"; then - pinentry_qt=yes -fi -AM_CONDITIONAL(BUILD_PINENTRY_QT, test "$pinentry_qt" = "yes") -if test "$pinentry_qt" = "yes"; then - AC_DEFINE(PINENTRY_QT, 1, [The qt version of Pinentry is to be build]) -fi -if test "$have_qt5_x11extras" = "yes"; then - AC_DEFINE(PINENTRY_QT_X11, 1, [pinentry-qt should use x11.]) -fi -if test "$have_kf5waylandclient" = "yes"; then - PINENTRY_QT_CFLAGS="$KF5WAYLANDCLIENT_CFLAGS $PINENTRY_QT_CFLAGS -fpic" - PINENTRY_QT_LIBS="$KF5WAYLANDCLIENT_LIBS $PINENTRY_QT_LIBS" - AC_DEFINE(PINENTRY_QT_WAYLAND, 1, [pinentry-qt should use KF5WaylandClient.]) -else - if test "$have_w32_system" != "yes"; then - AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on Wayland]) - fi -fi - -dnl -dnl Check for Qt4 pinentry program. -dnl -AC_ARG_ENABLE(pinentry-qt4, - AS_HELP_STRING([--enable-pinentry-qt4],[build Qt4 pinentry]), - pinentry_qt4=$enableval, pinentry_qt4=maybe) - - -dnl -dnl Checks for Qt4 libraries. Deal correctly with $pinentry_qt4 = maybe. -dnl Tries to find Qt4 -dnl -if test "$pinentry_qt4" != "no"; then - FIND_QT4 - if test "$have_qt4_libs" != "yes"; then - if test "$pinentry_qt4" = "yes"; then - AC_MSG_ERROR([[ - *** - *** Qt4 (QtCore, QtGui) is required. - ***]]) - else - pinentry_qt4=no - fi - fi -fi - -AC_SUBST(PINENTRY_QT4_CFLAGS) -AC_SUBST(PINENTRY_QT4_LIBS) -AC_SUBST(PINENTRY_QT4_LDFLAGS) -AC_SUBST(MOC4) - -dnl If we have come so far, qt4 pinentry can be build. -if test "$pinentry_qt4" != "no"; then - pinentry_qt4=yes -fi -AM_CONDITIONAL(BUILD_PINENTRY_QT4, test "$pinentry_qt4" = "yes") -if test "$pinentry_qt4" = "yes"; then - AC_DEFINE(PINENTRY_QT4, 1, [The qt4 version of Pinentry is to be build]) -fi - -dnl -dnl Check for TQt pinentry program. -dnl -AC_ARG_ENABLE(pinentry-tqt, - AS_HELP_STRING([--enable-pinentry-tqt],[build tqt pinentry]), - pinentry_tqt=$enableval, pinentry_tqt=no) - -if test "$pinentry_tqt" != "no"; then - - if test "$pinentry_qt" = "yes"; then - AC_MSG_ERROR([[ - *** - *** Building both Qt and TQt pinentries is not supported. - *** Use --disable-pinentry-qt and --disable-pinentry-qt4 - *** if you want the TQt pinentry. - ***]]) - fi - - PKG_CHECK_MODULES(PINENTRY_TQT, tqt, - have_tqt_libs=yes, - [PKG_CHECK_MODULES(PINENTRY_TQT, tqt-mt, - have_tqt_libs=yes, have_tqt_libs=no)]) - - if test "$have_tqt_libs" = "yes"; then - AC_CHECK_TOOL([TQT_MOC], tqmoc, "no") - fi - - if test "$have_tqt_libs" = "yes" -a "$TQT_MOC" != "no"; then - pinentry_tqt=yes - else - AC_MSG_WARN([TQt is not found]) - pinentry_tqt=no - fi - -fi -AM_CONDITIONAL(BUILD_PINENTRY_TQT, test "$pinentry_tqt" = "yes") - -# -# Check whether we should build the W32 pinentry. This is actually -# the simplest check as we do this only for that platform. -# -pinentry_w32=no -test $have_w32_system = yes && pinentry_w32=yes -AM_CONDITIONAL(BUILD_PINENTRY_W32, test "$pinentry_w32" = "yes") - -dnl -dnl Check for FLTK pinentry program. -dnl -AC_ARG_ENABLE(pinentry-fltk, - AS_HELP_STRING([--enable-pinentry-fltk],[build FLTK 1.3 pinentry]), - pinentry_fltk=$enableval, pinentry_fltk=maybe) - -dnl check for fltk-config -if test "$pinentry_fltk" != "no"; then - AC_PATH_PROG(FLTK_CONFIG, fltk-config, no) - if test x"${FLTK_CONFIG}" = xno ; then - AC_MSG_WARN([fltk-config is not found]) - pinentry_fltk=no - fi -fi - -dnl check for FLTK libraries and set flags -if test "$pinentry_fltk" != "no"; then - AC_MSG_CHECKING([for FLTK 1.3]) - FLTK_VERSION=`${FLTK_CONFIG} --api-version` - if test ${FLTK_VERSION} != "1.3" ; then - AC_MSG_RESULT([no]) - AC_MSG_WARN([FLTK 1.3 not found (available $FLTK_VERSION)]) - pinentry_fltk=no - else - AC_MSG_RESULT([yes]) - FLTKCFLAGS=`${FLTK_CONFIG} --cflags` - FLTKCXXFLAGS=`${FLTK_CONFIG} --cxxflags` - FLTKLIBS=`${FLTK_CONFIG} --ldflags` - AC_SUBST(FLTKCFLAGS) - AC_SUBST(FLTKCXXFLAGS) - AC_SUBST(FLTKLIBS) - pinentry_fltk=yes - fi -fi -AM_CONDITIONAL(BUILD_PINENTRY_FLTK, test "$pinentry_fltk" = "yes") - -# Figure out the default pinentry. We are very conservative here. -# Please change the order only after verifying that the preferred -# pinentry really is better (more feature-complete and more secure). - -if test "$pinentry_gtk_2" = "yes"; then - PINENTRY_DEFAULT=pinentry-gtk-2 -else - if test "$pinentry_qt" = "yes"; then - PINENTRY_DEFAULT=pinentry-qt - else - if test "$pinentry_gnome_3" = "yes"; then - PINENTRY_DEFAULT=pinentry-gnome3 - else - if test "$pinentry_curses" = "yes"; then - PINENTRY_DEFAULT=pinentry-curses - else - if test "$pinentry_tty" = "yes"; then - PINENTRY_DEFAULT=pinentry-tty - else - if test "$pinentry_w32" = "yes"; then - PINENTRY_DEFAULT=pinentry-w32 - else - if test "$pinentry_fltk" = "yes"; then - PINENTRY_DEFAULT=pinentry-fltk - else - if test "$pinentry_tqt" = "yes"; then - PINENTRY_DEFAULT=pinentry-tqt - else - if test "$pinentry_efl" = "yes"; then - PINENTRY_DEFAULT=pinentry-efl - else - if test "$pinentry_qt4" = "yes"; then - PINENTRY_DEFAULT=pinentry-qt4 - else - AC_MSG_ERROR([[No pinentry enabled.]]) - fi - fi - fi - fi - fi - fi - fi - fi - fi -fi -AC_SUBST(PINENTRY_DEFAULT) - -# -# Print errors here so that they are visible all -# together and the user can acquire them all together. -# -die=no -if test "$have_gpg_error" = "no"; then - die=yes - AC_MSG_NOTICE([[ -*** -*** You need libgpg-error to build this program. -** This library is for example available at -*** ftp://ftp.gnupg.org/gcrypt/libgpg-error -*** (at least version $NEED_GPG_ERROR_VERSION is required.) -***]]) -fi - -if test "$have_libassuan" = "no"; then - die=yes - AC_MSG_NOTICE([[ -*** -*** You need libassuan to build this program. -*** This library is for example available at -*** ftp://ftp.gnupg.org/gcrypt/libassuan/ -*** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required). -***]]) -fi - -if test "$die" = "yes"; then - AC_MSG_ERROR([[ -*** -*** Required libraries not found. Please consult the above messages -*** and install them before running configure again. -***]]) -fi - - - -# -# To avoid double inclusion of config.h which might happen at some -# places, we add the usual double inclusion protection at the top of -# config.h. -# -AH_TOP([ -#ifndef GNUPG_CONFIG_H_INCLUDED -#define GNUPG_CONFIG_H_INCLUDED -]) - -# -# Stuff which goes at the bottom of config.h. -# -AH_BOTTOM([ -#ifdef GPG_ERR_SOURCE_DEFAULT -# error GPG_ERR_SOURCE_DEFAULT already defined -#endif -#define GPG_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_PINENTRY -#endif /*GNUPG_CONFIG_H_INCLUDED*/ -]) - -build_doc=yes -AC_ARG_ENABLE([doc], AS_HELP_STRING([--disable-doc], - [do not build the documentation]), - build_doc=$enableval, build_doc=yes) -AM_CONDITIONAL([BUILD_DOC], [test "x$build_doc" != xno]) - - -AC_CONFIG_FILES([ -m4/Makefile -secmem/Makefile -pinentry/Makefile -curses/Makefile -tty/Makefile -efl/Makefile -emacs/Makefile -gtk+-2/Makefile -gnome3/Makefile -qt/Makefile -qt/icons/Makefile -qt4/Makefile -tqt/Makefile -w32/Makefile -fltk/Makefile -doc/Makefile -Makefile -]) - -AC_OUTPUT - -AC_MSG_NOTICE([ - - Pinentry v${VERSION} has been configured as follows: - - Revision: mym4_revision (mym4_revision_dec) - Platform: $host - - Curses Pinentry ..: $pinentry_curses - TTY Pinentry .....: $pinentry_tty - Emacs Pinentry ...: $pinentry_emacs - EFL Pinentry .....: $pinentry_efl - GTK+-2 Pinentry ..: $pinentry_gtk_2 - GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt5 Pinentry .....: $pinentry_qt - Qt4 Pinentry .....: $pinentry_qt4 - TQt Pinentry .....: $pinentry_tqt - W32 Pinentry .....: $pinentry_w32 - FLTK Pinentry ....: $pinentry_fltk - - Fallback to Curses: $fallback_curses - Emacs integration : $inside_emacs - - libsecret ........: $libsecret - - Default Pinentry .: $PINENTRY_DEFAULT -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.am deleted file mode 100644 index 3bbdec8f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -# Makefile.am - PIN entry curses frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY 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 - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-curses - -AM_CPPFLAGS = $(COMMON_CFLAGS) $(NCURSES_INCLUDE) -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../pinentry/libpinentry-curses.a \ - ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCURSES) $(LIBICONV) - -pinentry_curses_SOURCES = pinentry-curses.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.in deleted file mode 100644 index 122d7453..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.in +++ /dev/null @@ -1,680 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry curses frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY 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 - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-curses$(EXEEXT) -subdir = curses -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_curses_OBJECTS = pinentry-curses.$(OBJEXT) -pinentry_curses_OBJECTS = $(am_pinentry_curses_OBJECTS) -pinentry_curses_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -pinentry_curses_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../pinentry/libpinentry-curses.a ../secmem/libsecmem.a \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/pinentry-curses.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_curses_SOURCES) -DIST_SOURCES = $(pinentry_curses_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -AM_CPPFLAGS = $(COMMON_CFLAGS) $(NCURSES_INCLUDE) -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../pinentry/libpinentry-curses.a \ - ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCURSES) $(LIBICONV) - -pinentry_curses_SOURCES = pinentry-curses.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu curses/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu curses/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-curses$(EXEEXT): $(pinentry_curses_OBJECTS) $(pinentry_curses_DEPENDENCIES) $(EXTRA_pinentry_curses_DEPENDENCIES) - @rm -f pinentry-curses$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pinentry_curses_OBJECTS) $(pinentry_curses_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-curses.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/pinentry-curses.Po - -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 -f ./$(DEPDIR)/pinentry-curses.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/pinentry-curses.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/pinentry-curses.c deleted file mode 100644 index 20a5c937..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/pinentry-curses.c +++ /dev/null @@ -1,45 +0,0 @@ -/* pinentry-curses.c - A secure curses dialog for PIN entry. - Copyright (C) 2002 g10 Code GmbH - - This file is part of PINENTRY. - - PINENTRY is free software; you can redistribute 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. - - PINENTRY 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 */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> - -#include "pinentry.h" -#include "pinentry-curses.h" - -pinentry_cmd_handler_t pinentry_cmd_handler = curses_cmd_handler; - - -int -main (int argc, char *argv[]) -{ - pinentry_init ("pinentry-curses"); - - pinentry_parse_opts (argc, argv); - - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/README.Debian b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/README.Debian deleted file mode 100644 index 09d64a97..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/README.Debian +++ /dev/null @@ -1,83 +0,0 @@ -PIN entry for Debian - TQt flavor ---------------------------------- - -This package is derived from the pinentry Debian package. Only the -pinentry-tqt variant is built because it is not included in the -distribution packages. - -To avoid conflicts with the distribution package and to avoid having -other flavors built here, the source package is renamed pinentry-tqt. - - -- Slávek Banko <slavek.banko@axis.cz> Sun, 08 Nov 2020 16:37:59 +0100 - - -PIN entry for Debian --------------------- - -This package and its sibling packages are intended to be used as a -pass-phrase entry dialog for the program gpg-agent (Debian package -gnupg-agent). To configure gpg-agent to use one of the provided -pinentry programs, put something like this into your -~/.gnupg/gpg-agent.conf: - - pinentry-program /usr/bin/pinentry-FLAVOR - -You have the following pinentry variants to choose from: - -/usr/bin/pinentry-tqt - Graphical PIN entry program that uses the TQt tool kit - (package pinentry-tqt). - -/usr/bin/pinentry - Generic name that points, via the Debian alternatives system, to - the "best" installed PIN entry program. gpg-agent uses this by - default. - -/usr/bin/pinentry-gnome - Graphical PIN entry program that uses GNOME's gcr prompter. This - package will work on systems that use Wayland as well as X11, and - it is the preferred pinentry for desktop systems (package - pinentry-gnome). - -/usr/bin/pinentry-x11 - Generic name that points, via the Debian alternatives system, to - the "best" installed PIN entry program with X11 support (that is, - one of the GNOME, Qt, GTK+2, or FLTK flavors). - -/usr/bin/pinentry-qt - Graphical PIN entry program that uses the Qt tool kit - (package pinentry-qt). - -/usr/bin/pinentry-curses - Text-mode PIN entry program that uses the curses tool kit (package - pinentry-curses). - -/usr/bin/pinentry-tty - Minimal Text-mode dumb-terminal PIN entry program (package - pinentry-tty). - -/usr/bin/pinentry-gtk-2 - Graphical PIN entry program that uses the GTK+ tool kit version 2 - (package pinentry-gtk2). - -/usr/bin/pinentry-fltk - Graphical PIN entry program that uses the Fast Light Toolkit (FLTK) - (package pinentry-fltk). - -The graphical variants automatically fall back to the curses interface -if no desktop environment is available. So for example, if you -frequently switch between text mode and KDE, and you want to use both -Mutt and KMail with GnuPG pass-phrase agent support, then configuring -/usr/bin/pinentry-qt would work. (In this case, leaving your -configuration alone would also work, if you only have pinentry-qt -installed) - -Note that while pinentry-curses and pinentry-tty will work in some -cases in a non-graphical environment, they are likely to fail when -used while sharing a tty with a terminal-intensive program like emacs. -If a graphical pinentry isn't possible, the recommended workaround is -to have a pinentry-tty or pinentry-curses attached to a separate, -dedicated pseudoterminal. (see https://dev.gnupg.org/T3217 for more -details) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net>, Fri, 8 May 2020 12:11:12 -0400 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/changelog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/changelog deleted file mode 100644 index 40938d15..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/changelog +++ /dev/null @@ -1,572 +0,0 @@ -pinentry-tqt (1.2.1-4~2) unstable; urgency=medium - - * Use tq* headers - - -- Michele Calgaro <michele.calgaro@yahoo.it> Wed, 23 Oct 2024 21:51:00 +0900 - -pinentry-tqt (1.2.1-4~1) unstable; urgency=medium - - * Remove remaining 'register' instruction. - - -- Slávek Banko <slavek.banko@axis.cz> Fri, 04 Oct 2024 02:26:16 +0200 - -pinentry-tqt (1.2.1-4~0) unstable; urgency=medium - - * Update according to the official Debian package. - * Build-dep libncurses(w)5-dev leaved as alternative for Ubuntu Bionic. - * Build-profile pkg.pinentry.onlytty is not applicable to TQt only build. - * Add dh_autoreconf to debian/rules. - - -- Slávek Banko <slavek.banko@axis.cz> Wed, 25 Sep 2022 17:27:37 +0200 - -pinentry (1.2.1-4) unstable; urgency=medium - - * Add myself to uploaders. - * Delete outdated m4/libassuan.m4 to allow building against libassuan 3. - - -- Andreas Metzler <ametzler@debian.org> Mon, 26 Aug 2024 18:24:37 +0200 - -pinentry (1.2.1-3) unstable; urgency=medium - - * Team upload. - * Upload to unstable. - - -- Andreas Metzler <ametzler@debian.org> Sun, 05 Nov 2023 13:02:05 +0100 - -pinentry (1.2.1-2) experimental; urgency=medium - - * Team upload. - * Add pkg.pinentry.onlytty Build-Profile to ease bootstrapping. - Closes: #1055238 - * [lintian] Build-Depend on libncurses-dev instead of transition packages - libncurses(w)5-dev. - - -- Andreas Metzler <ametzler@debian.org> Sat, 04 Nov 2023 18:10:26 +0100 - -pinentry-tqt (1.2.1-1~3) unstable; urgency=medium - - * updates-2024/04: ensure compliance with r14.1.x branch. - - -- Michele Calgaro <michele.calgaro@yahoo.it> Tue, 03 Apr 2024 19:20:00 +0900 - -pinentry-tqt (1.2.1-1~2) unstable; urgency=medium - - [ Emanoil Kotsev ] - * updates-2023: ensure compliance with r14.1.x branch. - - -- Slávek Banko <slavek.banko@axis.cz> Sun, 22 Oct 2023 16:30:46 +0200 - -pinentry-tqt (1.2.1-1~1) unstable; urgency=medium - - * Rebuild pinentry-tqt with TDE R14.1.x. - - -- Slávek Banko <slavek.banko@axis.cz> Thu, 16 Feb 2023 13:41:25 +0100 - -pinentry-tqt (1.2.1-1~0) unstable; urgency=medium - - * Build pinentry only as pinentry-tqt for use with TDE. - - -- Slávek Banko <slavek.banko@axis.cz> Thu, 27 Oct 2022 14:17:15 +0200 - -pinentry (1.2.1-1) unstable; urgency=medium - - * new upstream release - * ensure that qt4 remains disabled - * remove patches/0003-qt-fix-floating-dialog-under-sway.patch - * pinentry-gtk2: drop stale NEWS entry (see #1021502) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 18 Oct 2022 10:52:33 -0400 - -pinentry (1.2.0-2) unstable; urgency=medium - - * Fix --lc-ctype in manpages (Closes: #979412) - * wrap-and-sort -ast - * qt: fix floating dialog under sway (Closes: #1013318) - * Standards-Version: bump to 4.6.1 (no changes needed). - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 24 Jun 2022 22:38:56 -0400 - -pinentry (1.2.0-1) unstable; urgency=medium - - * New upstream release to unstable - * d/gbp.conf: use DEP-14 branch naming (return to unstable) - * standards version: bump to 4.6.0 (no changes needed) - * ensure qt5 works on wayland - * refresh version info patch - * Drop fix for rpath, fixed upstream - * drop tweaks for EFL configuration check - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 28 Apr 2022 08:33:01 -0400 - -pinentry (1.1.1-1) experimental; urgency=medium - - * new upstream release 1.1.1 - * dh 13 already does --fail-missing by default - * drop --as-needed linking flag, bullseye does this by default - * move to debian/sid branch for packaging - * update upstream signing keys - * drop patches already upstream - * standards-version: bump to 4.5.1 (no changes needed) - * refresh patches - * avoid rpath for pinentry-qt - * clean up use of pkg-config for EFL pinentry - * avoid trying to build pinentry-efl - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 17 Feb 2021 15:43:06 -0500 - -pinentry (1.1.0-4) unstable; urgency=medium - - [ Peter Eisentraut ] - * Remove myself from uploaders - - [ Daniel Kahn Gillmor ] - * make pinentry-doc multiarch: foreign - * refresh patches - * d/tests/simple-tty: introduce a delay in the test to avoid a race - * move to dh 13 - * Standards-Version: bump to 4.5.0 (no changes needed) - - [ Yuriy M. Kaminskiy ] - * Mark all pinentry packages as Multi-arch: foreign (Closes: #936048) - - [ Daniel Kahn Gillmor ] - * drop transitional pinentry-qt4 package (Closes: #940754) - * update README.Debian - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 08 May 2020 13:10:05 -0400 - -pinentry (1.1.0-3) unstable; urgency=medium - - * Standards-Version: bump to 4.4.0 (no changes needed) - * move to debhelper 12 - * apply upstream qt bugfix - * ship the version of pinentry.info installed (not from the source) - * avoid spuriously flagging /usr/bin/pinentry as not-installed - * drop shlibs:Depends from Arch: all pinentry-{doc,qt4} packages - * use dh_missing --fail-missing - * minimize debian/upstream/signing-key.asc - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 26 Jul 2019 20:37:37 -0400 - -pinentry (1.1.0-2) unstable; urgency=medium - - * use DEP-14 branch naming - * d/control: add Rules-Requires-Root: no - * standards-version: update to 4.3.0 (no changes needed) - * Test screenlock correctly from pinentry-gnome3 (Closes: #927105) - Thanks, Zephaniah E. Loss-Cutler-Hull! - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 17 Apr 2019 14:42:10 -0400 - -pinentry (1.1.0-1) unstable; urgency=medium - - * new upstream release - - added pinentry-fltk package - * move to debhelper 11 - * Standards-Version: bump to 4.1.3 (no changes needed) - * d/control: move Vcs*: to salsa - * d/copyright: Format: use https - * use https to point to upstream source - * d/changelog: strip trailing whitespace - * doc/pinentry.info is a generated file, drop it during import-orig - * drop patches already applied upstream, refresh remaining patches - * document tqt and fltk licensing - * fix formatting escapes in fltk - * clean up doc/pinentry.info - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 05 Feb 2018 20:18:30 -0500 - -pinentry (1.0.0-3) unstable; urgency=medium - - * added notes about how pinentry-curses is not intended - to work alongside emacs - * import improvements and bugfixes from upstream - * wrap-and-sort -ast - * Stanards-Version: update to 4.1.0 (no changes needed) - * drop unnecessary build-dep on autoreconf - * build-depend on pkg-config - * create simple autopkgtest for pinentry-tty - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 26 Sep 2017 17:52:43 -0400 - -pinentry (1.0.0-2) unstable; urgency=medium - - * fix documentation typos (Closes: #665879) - * pinentry-gnome3: Ask for new passwords twice (Closes: #851277) - * normalize window title behavior across graphical variants - * pinentry-gtk-2: busy-wait while pointer is already grabbed (Closes: #850708) - * pinentry-gtk-2: retry input grab based on real time delay (Closes: #851707) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 06 Feb 2017 03:56:27 -0500 - -pinentry (1.0.0-1) unstable; urgency=medium - - * New upstream release. - * removed most patches, already imported upstream. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 05 Dec 2016 22:24:12 -0500 - -pinentry (0.9.7-9) unstable; urgency=medium - - * more upstream patches (pinentry-gnome3 now falls back to curses when - screen is locked) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 08 Nov 2016 14:02:47 -0600 - -pinentry (0.9.7-8) unstable; urgency=medium - - * more patches from upstream - * reduce work for the buildds by avoiding some duplicated builds. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sat, 05 Nov 2016 23:28:59 -0400 - -pinentry (0.9.7-7) unstable; urgency=medium - - * update debian/watch to use https - * cleanup patches from upstream - * pinentry-gnome3: improve fallback to curses (Closes: #841909) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 04 Nov 2016 23:50:45 -0400 - -pinentry (0.9.7-6) unstable; urgency=medium - - * included several patches from upstream - * bumped to debhelper 10 - * p-gnome3 Recommends: dbus-user-session (addresses: #801247) - * added texinfo to build-dependencies for /usr/bin/makeinfo - * added bindnow hardening flag - * bumped standards-version to 3.9.8 (no changes needed) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 11 Oct 2016 15:52:08 -0400 - -pinentry (0.9.7-5) unstable; urgency=medium - - * use https for Vcs-* fields - * bump standards-version to 3.9.7 - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sun, 21 Feb 2016 09:53:59 -0800 - -pinentry (0.9.7-4) unstable; urgency=medium - - * avoid pinentry failures when bound to libsecret and the secret service - is not running. Thanks, Stef Walter. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sat, 20 Feb 2016 14:36:43 -0500 - -pinentry (0.9.7-3) unstable; urgency=medium - - * build -tty, -curses, and -qt without libsecret (Closes: #787883) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 04 Feb 2016 18:13:01 -0500 - -pinentry (0.9.7-2) unstable; urgency=medium - - * avoid use-after-free in QT pw quality calculation (patch from upstream) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 04 Feb 2016 16:53:15 -0500 - -pinentry (0.9.7-1) unstable; urgency=medium - - * New upstream release. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 04 Jan 2016 10:44:50 -0500 - -pinentry (0.9.6-4) unstable; urgency=medium - - * make pinentry-qt use qt5 by default. (Closes: #802936) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 28 Oct 2015 14:22:02 -0400 - -pinentry (0.9.6-3) unstable; urgency=medium - - * added NEWS entry for pinentry-gtk2 (Closes: #801757) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 19 Oct 2015 20:40:16 -0400 - -pinentry (0.9.6-2) unstable; urgency=medium - - * dummy/transitional pinentry-qt4 package: update alternatives - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 05 Oct 2015 17:35:46 -0400 - -pinentry (0.9.6-1) unstable; urgency=medium - - * New upstream release - * fix pinentry-tty description typo (Closes: #798944) - Thanks, Yuri D'Elia - * introduce new pinentry-qt, which people should use instead of - pinentry-qt4. - * pinentry-qt4 is now a dummy transitional package. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 01 Oct 2015 19:04:24 -0700 - -pinentry (0.9.5-4) unstable; urgency=medium - - * use -std=gnu++11 for pinentry-qt4 (Closes: #795175) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 11 Aug 2015 13:03:19 -0400 - -pinentry (0.9.5-3) unstable; urgency=medium - - * added dependency from pinentry-gnome3 to gcr (Closes: #791379) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 05 Aug 2015 00:39:02 -0400 - -pinentry (0.9.5-2) unstable; urgency=medium - - * disable emacs and emacs-fallback until we get a better description of - them in the upstream documentation - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 07 Jul 2015 14:43:33 -0400 - -pinentry (0.9.5-1) unstable; urgency=medium - - * new upstream release - * build-depends on libgpg-error and libassuan now - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 02 Jul 2015 18:01:23 -0400 - -pinentry (0.9.4-2) unstable; urgency=medium - - * rely on user's choice of password-manager with pinentry-gnome3 - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 09 Jun 2015 07:12:16 -0400 - -pinentry (0.9.4-1) unstable; urgency=medium - - * New upstream version (most d/patches applied upstream) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 05 Jun 2015 17:33:37 -0400 - -pinentry (0.9.3-3) unstable; urgency=medium - - * fix secmem buffer over-clearing (Closes: #787690) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 04 Jun 2015 23:48:26 -0400 - -pinentry (0.9.3-2) unstable; urgency=medium - - * fix pinentry-curses text entry (Closes: #787639) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 03 Jun 2015 13:25:16 -0400 - -pinentry (0.9.3-1) unstable; urgency=medium - - * New upstream release. - * Help pinentry-qt4 show up above existing windows (Closes: #581617) - * add new pinentry-gnome3 package. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 01 Jun 2015 19:09:28 -0400 - -pinentry (0.9.2-1) unstable; urgency=medium - - [ Eric Dorland ] - * debian/rules: Install README.Debian in all packages instead of using - symlinks. - - [ Daniel Kahn Gillmor ] - * new upstream version (Closes: #516489) - * add pinentry-tty package (Closes: #782888) - * debian/copyright: use DEP5 - * use --enable-pinentry-qt4-clipboard (Closes: #637029) - * terminate politely if TTY vanishes (Closes: #559936) - * use dh-autoreconf - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 13 May 2015 11:45:38 -0400 - -pinentry (0.9.1-1) experimental; urgency=medium - - * New Upstream Release - * Bringing package under team maintenance, with Peter's agreement. - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sun, 12 Apr 2015 15:29:35 -0400 - -pinentry (0.9.0-0.1) experimental; urgency=medium - - * Non-maintainer upload - * new upstream release (Closes: #765532) - * bumped Standards-Version to 3.9.6 (no changes needed) - - -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 06 Nov 2014 17:53:20 -0500 - -pinentry (0.8.3-2) unstable; urgency=medium - - * Added libncursesw5-dev to build dependencies (closes: #728512, - #733268, #734179) - - -- Peter Eisentraut <petere@debian.org> Thu, 23 Jan 2014 22:28:38 -0500 - -pinentry (0.8.3-1) unstable; urgency=medium - - * New upstream release (closes: #731494) - * Updated watch file - * Updated standards version - - -- Peter Eisentraut <petere@debian.org> Sun, 15 Dec 2013 22:01:20 -0500 - -pinentry (0.8.1-1) unstable; urgency=low - - * New upstream release - - keyboard-race.patch incorporated upstream - - Fixed segmentation fault in pinentry-gtk2 (closes: #584947) - * Removed Qt 3 variant (closes: #604369) - * Updated standards version - * Changed to debhelper level 8 - - -- Peter Eisentraut <petere@debian.org> Wed, 16 Feb 2011 20:18:53 +0200 - -pinentry (0.8.0-1) unstable; urgency=low - - * New upstream release - * Changed source format to 3.0 (quilt) - * Updated standards version - - -- Peter Eisentraut <petere@debian.org> Thu, 18 Mar 2010 23:36:51 +0200 - -pinentry (0.7.6-1) unstable; urgency=low - - * New upstream release - - Includes Qt 4 variant, formerly in separate source package pinentry-qt4 - - Obsoletes gmalloc-prototypes.patch - - Made Gtk+-2 pinentry transient to the root window (closes: #445607) - * Changed copyright file to refer to GPL-2 file, per lintian - * Updated standards version - * Changed to debhelper level 7 and minimal version 7.2.17, to avoid obsolete - calls to install-info - - -- Peter Eisentraut <petere@debian.org> Mon, 13 Jul 2009 22:38:41 +0300 - -pinentry (0.7.5-3) unstable; urgency=low - - * Converted patches to quilt - * Updated standards version - * Dropped pinentry-gtk package (closes: #510740) - - -- Peter Eisentraut <petere@debian.org> Tue, 10 Feb 2009 22:32:43 +0200 - -pinentry (0.7.5-2.1) unstable; urgency=low - - * Non-maintainer upload. - * gtk+-2/pinentry-gtk-2.c: apply patch to avoid keyboard grab race on SMP - systems (closes: #401957). - - -- Pierre Habouzit <madcoder@debian.org> Mon, 20 Oct 2008 15:11:18 +0200 - -pinentry (0.7.5-2) unstable; urgency=high - - * gtk+-2/gtksecentry.c: Adjusted the g_*malloc*() overrides to have the same - prototype as glib, to fix FTBFS (closes: #471613) - * debian/control: Added Build-Depends on libglib2.0-dev (>= 2.15.5) to make - sure we don't run into the old prototypes of g_*malloc*() - - -- Peter Eisentraut <petere@debian.org> Tue, 29 Apr 2008 11:41:54 +0200 - -pinentry (0.7.5-1) unstable; urgency=low - - * New upstream release - - -- Peter Eisentraut <petere@debian.org> Sun, 17 Feb 2008 15:50:05 +0100 - -pinentry (0.7.4-2) unstable; urgency=low - - * debian/copyright: converted to UTF-8 (closes: #455738) - * Changed section of pinentry-doc to doc - * debian/watch: force passive FTP, since ftp.gnupg.org seems unhappy with - active (closes: #456468) - - -- Peter Eisentraut <petere@debian.org> Fri, 21 Dec 2007 14:53:11 +0100 - -pinentry (0.7.4-1) unstable; urgency=low - - * New upstream release - * Added Homepage control field - * Updated standards version - * Added configure option --without-libcap to get consistent builds - - -- Peter Eisentraut <petere@debian.org> Mon, 10 Dec 2007 13:33:34 +0100 - -pinentry (0.7.3-1) unstable; urgency=low - - * New upstream release - - Fixes segfault after confirm in pinentry-curses (closes: #311410) - * Updated standards version - * Changed to Debhelper level 5 - * Cleaned up build rules - - -- Peter Eisentraut <petere@debian.org> Tue, 17 Jul 2007 17:47:46 +0200 - -pinentry (0.7.2-3) unstable; urgency=low - - * Added linker option --as-needed - - -- Peter Eisentraut <petere@debian.org> Fri, 25 Nov 2005 21:12:12 +0100 - -pinentry (0.7.2-2) unstable; urgency=low - - * Changed maintainer address - * Updated standards version - * Rebuilt for new C++ ABI (closes: #324548) - * Tightened dependency on libgtk2.0-dev - - -- Peter Eisentraut <petere@debian.org> Mon, 29 Aug 2005 21:25:48 +0200 - -pinentry (0.7.2-1) unstable; urgency=low - - * New upstream release - * Added new -gtk2 flavor. - * Build dependencies revised accordingly. - * Added more copyright holders to debian/copyright. - * Removed compatibility symlinks. - * Converted to CDBS. - - -- Peter Eisentraut <peter_e@gmx.net> Thu, 27 Jan 2005 19:10:07 +0100 - -pinentry (0.7.1-5) unstable; urgency=low - - * Actually apply the dpatches - * Removed no longer needed pinentry-cppflags patch - - -- Peter Eisentraut <peter_e@gmx.net> Tue, 9 Nov 2004 22:27:14 +0100 - -pinentry (0.7.1-4) unstable; urgency=low - - * Converted to dpatch - * Moved programs to /usr/bin, made compatibility symlinks in - /usr/lib/pinentry - * Added Provides: pinentry, pinentry-x11 (closes: #274708) - * Created pinentry, pinentry-x11 alternatives (closes: #275711) - * Wrote man pages - * Use m4 to create the debhelper control files - * Added Enhances: gnupg-agent - * Use --disable-dependency-tracking - - -- Peter Eisentraut <peter_e@gmx.net> Sun, 10 Oct 2004 11:37:51 +0200 - -pinentry (0.7.1-3) unstable; urgency=low - - * Suggestions by Martin Pitt... - * Removed stale pinentry.substvars - * Changed pinentry-doc Recommends to Suggests - * Changed pinentry-doc to architecture-independent - * Added -g to CXXFLAGS - * Removed empty maintainer scripts - * Fixed configure build and host options as suggested by autotools-dev - - -- Peter Eisentraut <peter_e@gmx.net> Mon, 21 Jun 2004 09:17:23 +0200 - -pinentry (0.7.1-2) unstable; urgency=low - - * Revised synopses and descriptions - * Revised Debian.README - * Added watch file - * Enabled curses fallback - * Put Build-Depends onto one line only - - -- Peter Eisentraut <peter_e@gmx.net> Sun, 06 Jun 2004 16:53:05 +0200 - -pinentry (0.7.1-1) unstable; urgency=low - - * Initial public release (closes: #187546, #214578). - * Added missing include file path in qt/Makefile.am. - - -- Peter Eisentraut <peter_e@gmx.net> Fri, 07 May 2004 11:07:25 +0200 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/clean b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/clean deleted file mode 100644 index e06b79e9..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/clean +++ /dev/null @@ -1,2 +0,0 @@ -build-no-libsecret/ -doc/pinentry.info diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/compat b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/compat deleted file mode 100644 index ec635144..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/control b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/control deleted file mode 100644 index a516af43..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/control +++ /dev/null @@ -1,47 +0,0 @@ -Source: pinentry-tqt -Section: deps-r14/utils -Priority: optional -Maintainer: Debian GnuPG Maintainers <pkg-gnupg-maint@lists.alioth.debian.org> -Uploaders: - Daniel Kahn Gillmor <dkg@fifthhorseman.net>, -Build-Depends: - debhelper (>= 9~), - libassuan-dev (>= 2.1.0), - libgcr-3-dev, - libgpg-error-dev (>= 1.16), - libncurses-dev | libncurses5-dev, - libncurses-dev | libncursesw5-dev, - m4, - pkg-config, - libtqt3-mt-dev, tqt3-apps-dev, - texinfo, -Standards-Version: 4.6.1 -Homepage: https://www.gnupg.org/related_software/pinentry/ -Vcs-Git: https://salsa.debian.org/debian/pinentry.git -Vcs-Browser: https://salsa.debian.org/debian/pinentry -Rules-Requires-Root: no - -Package: pinentry-tqt -Architecture: any -Multi-Arch: foreign -Depends: - ${misc:Depends}, - ${shlibs:Depends}, -Suggests: - pinentry-doc, -Provides: - pinentry, - pinentry-x11, -Enhances: - gnupg-agent, -Description: TQt-based PIN or pass-phrase entry dialog for GnuPG - This package contains a program that allows for entry of PINs or pass - phrases. It is useful for entering pass phrases when using encryption - software such as GnuPG or e-mail clients using the same. It uses an open - protocol and is therefore not tied to particular software. - . - The program contained in this package implements a PIN entry dialog - using the TQt tool kit, so it is especially suitable for users of TDE. - If the X Window System is not active then an alternative text-mode - dialog will be used. There are sibling packages that implement PIN - entry dialogs using other tool kits. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/copyright b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/copyright deleted file mode 100644 index 3711cad2..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/copyright +++ /dev/null @@ -1,167 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: Pinentry -Upstream-Contact: gnupg-devel@gnupg.org -Source: https://gnupg.org/ftp/gcrypt/pinentry/ - -Files: * -Copyright: 2002-2021, g10 Code GmbH -License: GPL-2+ - -Files: fltk/* -Copyright: 2016 Anatoly madRat L. Berenblit -License: GPL-2+ - -Files: tqt/Makefile.am tqt/main.cpp tqt/pinentrydialog.h tqt/pinentrydialog.cpp -Copyright: 2002-2015 g10 Code GmbH - 2002 Klarälvdalens Datakonsult AB -License: GPL-2+ - -Files: tqt/secqinternal.cpp tqt/secqinternal_p.h -Copyright: 1992-2000 Trolltech AS -License: GPL-2 - -Files: tqt/secqlineedit.cpp tqt/secqlineedit.h tqt/secqstring.cpp tqt/secqstring.h -Copyright: 1992-2002 Trolltech AS - 2003 g10 Code GmbH -License: GPL-2 - -Files: build-aux/* depcomp doc/mdate-sh doc/texinfo.tex m4/curses.m4 m4/iconv.m4 missing secmem/secmem.c -Copyright: 1996-2007, Free Software Foundation -License: GPL-2+ - -Files: install-sh -Copyright: 1994 X Consortium -License: X11 - -Files: gtk+-2/pinentry-gtk-2.c -Copyright: 1999 Robert Bihlmeyer <robbe@orcus.priv.at> - 2001, 2002, 2007 g10 Code GmbH - 2004 Albrecht Dreß -License: GPL-2+ - -Files: m4/pkg.m4 -Copyright: 2004 Scott James Remnant <scott@netsplit.com> -License: GPL-2+ - -Files: m4/qt.m4 -Copyright: 1997 Janos Farkas (chexum@shadow.banki.hu)o - 1997,98,99 Stephan Kulow (coolo@kde.org) - 2002 g10 Code GmbH -License: GPL-2+ - -Files: pinentry/argparse.c -Copyright: 1998-2001, 2006-2008, 2012 Free Software Foundation, Inc. - 1997-2001, 2006-2008, 2013-2015 Werner Koch -License: LGPL-3+ or GPL-2+ - -Files: configure.ac secmem/util.* -Copyright: 1999, Robert Bihlmeyer <robbe@orcus.priv.at> - 2001, 2002, 2003, 2004, 2007 g10 Code GmbH -License: GPL-2+ - -Files: secmem/memory.h -Copyright: 1998,1999 Free Software Foundation, Inc. - 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at> -License: GPL-2+ - -Files: secmem/secmem++.h -Copyright: 2008 Marc Mutz <marc@kdab.com> -License: GPL-2+ - -Files: tty/pinentry-tty.c -Copyright: 2014 Serge Voilokov -License: GPL-2+ - -Files: qt/pinentrydialog.* -Copyright: 2002, 2008 Klarälvdalens Datakonsult AB <steffen@klaralvdalens-datakonsult.se> - 2007 Ingo Klöcker -License: GPL-2+ - -Files: qt/pinentryconfirm.* -Copyright: 2011 Ben Kibbey <bjk@luxsci.net> -License: GPL-2+ - -Files: qt/main.cpp -Copyright: 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - 2003 g10 Code GmbH - 2007 Ingo Klöcker -License: GPL-2+ - -Files: qt/Makefile.am -Copyright: 2002 Klarälvdalens Datakonsult AB (KDAB) - 2008 g10 Code GmbH -License: GPL-2+ - -Files: debian/* -Copyright: 2004-2022 Peter Eisentraut <petere@debian.org> - Marcus Brinkmann - Michael Brame - Daniel Kahn Gillmor <dkg@fifthhorseman.net> -License: GPL-2+ - -License: X11 - 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. - -License: GPL-2+ - This is free software; you can redistribute 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. - . - It 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. - . - On Debian systems, the full text of the GNU General Public - License version 2 can be found in the file - `/usr/share/common-licenses/GPL-2'. - -License: GPL-2 - This is free software; you can redistribute it and/or modify - it under the terms of version 2 of the GNU General Public License - as published by the Free Software Foundation. - . - It 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. - . - On Debian systems, the full text of the GNU General Public - License version 2 can be found in the file - `/usr/share/common-licenses/GPL-2'. - -License: LGPL-3+ - This 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 3 of the License, or - (at your option) any later version. - . - It 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. - . - On Debian systems, the full text of the GNU General Public - License version 2.1 can be found in the file - `/usr/share/common-licenses/LGPL-3. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/gbp.conf b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/gbp.conf deleted file mode 100644 index 0c87d574..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/gbp.conf +++ /dev/null @@ -1,21 +0,0 @@ -[DEFAULT] -pristine-tar = True -upstream-vcs-tag = pinentry-%(version)s -debian-branch = debian/unstable - -[import-orig] -filter = [ - 'INSTALL', - 'Makefile.in', - 'aclocal.m4', - '*/Makefile.in', - 'build-aux/compile', - 'build-aux/depcomp', - 'build-aux/install-sh', - 'build-aux/mdate-sh', - 'build-aux/missing', - 'build-aux/texinfo.tex', - 'configure', - 'doc/pinentry.info', - ] -filter-pristine-tar = False diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/not-installed b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/not-installed deleted file mode 100644 index 4cf6e4ce..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/not-installed +++ /dev/null @@ -1 +0,0 @@ -usr/bin/pinentry diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0001-avoid-self-describing-as-a-beta.patch b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0001-avoid-self-describing-as-a-beta.patch deleted file mode 100644 index ac9b9137..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0001-avoid-self-describing-as-a-beta.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Daniel Kahn Gillmor <dkg@fifthhorseman.net> -Date: Wed, 13 May 2015 16:09:21 -0400 -Subject: avoid self-describing as a beta - -Using autoreconf against the source as distributed in tarball form -invariably results in a package that thinks it's a "beta" package, -which produces the "THIS IS A DEVELOPMENT VERSION" warning string. - -since we use dh_autoreconf, i need this patch to avoid producing -builds that announce themselves as DEVELOPMENT VERSIONs. - -See discussion at: - - http://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029065.html ---- - autogen.sh | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/autogen.sh b/autogen.sh -index 9b36158..f381d48 100755 ---- a/autogen.sh -+++ b/autogen.sh -@@ -249,7 +249,7 @@ if [ "$myhost" = "find-version" ]; then - fi - - beta=no -- if [ -e .git ]; then -+ if false; then - ingit=yes - tmp=$(git describe --match "${matchstr1}" --long 2>/dev/null) - tmp=$(echo "$tmp" | sed s/^"$package"//) -@@ -265,8 +265,8 @@ if [ "$myhost" = "find-version" ]; then - rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) - else - ingit=no -- beta=yes -- tmp="-unknown" -+ beta=no -+ tmp="" - rev="0000000" - rvd="0" - fi -@@ -453,7 +453,7 @@ EOF - fi - - # Check the git setup. --if [ -d .git ]; then -+if false; then - CP="cp -p" - # If we have a GNU cp we can add -v - if cp --version >/dev/null 2>/dev/null; then diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch deleted file mode 100644 index 294ff005..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Vincent Bernat <bernat@debian.org> -Date: Mon, 6 Feb 2017 02:38:59 -0500 -Subject: gtk2: When X11 input grabbing fails, try again over ~0.4 seconds. - -* gtk+-2/pinentry-gtk-2.c (grab_keyboard): Delay 1 ms before retrying -keyboard grab, limit to about 0.2 seconds. -(grab_pointer): Delay 1 ms before retrying pointer_grab, limit to -about 0.2 seconds. - --- - -These changes were proposed by Vincent Bernat in -https://bugs.debian.org/851707#124 - -Debian-bug-id: 851707 -Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net> ---- - gtk+-2/pinentry-gtk-2.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c -index 6d626cc..f329910 100644 ---- a/gtk+-2/pinentry-gtk-2.c -+++ b/gtk+-2/pinentry-gtk-2.c -@@ -161,7 +161,7 @@ static int - grab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) - { - GdkGrabStatus err; -- int tries = 0, max_tries = 4096; -+ int tries = 0, max_tries = 2048; - (void)data; - - if (! pinentry->grab) -@@ -170,7 +170,8 @@ grab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) - do - err = gdk_keyboard_grab (gtk_widget_get_window (win), - FALSE, gdk_event_get_time (event)); -- while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE); -+ while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE -+ && (usleep(100), TRUE)); - - if (err) - { -@@ -194,7 +195,7 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) - { - GdkGrabStatus err; - GdkCursor *cursor; -- int tries = 0, max_tries = 4096; -+ int tries = 0, max_tries = 2048; - (void)data; - - /* Change the cursor for the duration of the grab to indicate that -@@ -216,7 +217,8 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) - cursor, - gdk_event_get_time (event)); - while (tries++ < max_tries && (err == GDK_GRAB_NOT_VIEWABLE -- || err == GDK_GRAB_ALREADY_GRABBED)); -+ || err == GDK_GRAB_ALREADY_GRABBED) -+ && (usleep (100), TRUE)); - - if (err) - { diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0003-tqt-updates-2023.diff b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0003-tqt-updates-2023.diff deleted file mode 100644 index d1e316bd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0003-tqt-updates-2023.diff +++ /dev/null @@ -1,302 +0,0 @@ -Description: pinentry-tqt:Update Q_ => TQ_ to ensure compliance with r14.1.x branch. -Origin: https://mirror.git.trinitydesktop.org/gitea/TDE/extra-dependencies.git ---- -This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ ---- a/tqt/secqinternal_p.h -+++ b/tqt/secqinternal_p.h -@@ -63,7 +63,7 @@ - class TQPainter; - class TQPixmap; - --class Q_EXPORT SecTQSharedDoubleBuffer -+class TQ_EXPORT SecTQSharedDoubleBuffer - { - public: - enum DoubleBufferFlags { ---- a/tqt/secqlineedit.cpp -+++ b/tqt/secqlineedit.cpp -@@ -86,7 +86,7 @@ - #include "ntqaccessible.h" - #endif - --#ifndef QT_NO_ACCEL -+#ifndef TQT_NO_ACCEL - #include "ntqkeysequence.h" - #define ACCEL_KEY(k) "\t" + TQString(TQKeySequence( TQt::CTRL | TQt::Key_ ## k )) - #else -@@ -235,7 +235,7 @@ - inline bool hasSelectedText() const { return !text.isEmpty() && selend > selstart; } - inline void deselect() { selDirty |= (selend > selstart); selstart = selend = 0; } - void removeSelectedText(); --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - void copy( bool clipboard = TRUE ) const; - #endif - inline bool inSelection( int x ) const -@@ -1018,14 +1018,14 @@ - void SecTQLineEdit::setReadOnly( bool enable ) - { - d->readOnly = enable; --#ifndef QT_NO_CURSOR -+#ifndef TQT_NO_CURSOR - setCursor( enable ? arrowCursor : ibeamCursor ); - #endif - update(); - } - - --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - /*! - Copies the selected text to the clipboard and deletes it, if there - is any, and if echoMode() is \c Normal. -@@ -1081,7 +1081,7 @@ - #endif - } - --#endif // !QT_NO_CLIPBOARD -+#endif // !TQT_NO_CLIPBOARD - - /*!\reimp - */ -@@ -1177,7 +1177,7 @@ - void SecTQLineEdit::mouseMoveEvent( TQMouseEvent * e ) - { - --#ifndef QT_NO_CURSOR -+#ifndef TQT_NO_CURSOR - if ( ( e->state() & MouseButtonMask ) == 0 ) { - if ( !d->readOnly ) - setCursor( ( d->inSelection( e->pos().x() ) ? arrowCursor : ibeamCursor ) ); -@@ -1193,7 +1193,7 @@ - */ - void SecTQLineEdit::mouseReleaseEvent( TQMouseEvent* e ) - { --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - if (TQApplication::clipboard()->supportsSelection() ) { - if ( e->button() == LeftButton ) { - d->copy( FALSE ); -@@ -1286,7 +1286,7 @@ - case Key_B: - cursorForward( e->state() & ShiftButton, -1 ); - break; --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - case Key_C: - copy(); - break; -@@ -1322,7 +1322,7 @@ - clear(); - break; - #endif --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - case Key_V: - if ( !d->readOnly ) - paste(); -@@ -1431,7 +1431,7 @@ - if ( !d->readOnly ) - undo(); - break; --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - case Key_F16: // Copy key on Sun keyboards - copy(); - break; -@@ -1720,7 +1720,7 @@ - - void SecTQLineEditPrivate::init( const SecTQString& txt ) - { --#ifndef QT_NO_CURSOR -+#ifndef TQT_NO_CURSOR - q->setCursor( readOnly ? arrowCursor : ibeamCursor ); - #endif - q->setFocusPolicy( TQWidget::StrongFocus ); ---- a/tqt/secqlineedit.h -+++ b/tqt/secqlineedit.h -@@ -80,7 +80,7 @@ - class TQTextParagraph; - class TQTextCursor; - --class Q_EXPORT SecTQLineEdit : public TQFrame -+class TQ_EXPORT SecTQLineEdit : public TQFrame - { - TQ_OBJECT - TQ_ENUMS( EchoMode ) -@@ -127,7 +127,7 @@ - - int alignment() const; - --#ifndef QT_NO_COMPAT -+#ifndef TQT_NO_COMPAT - void cursorLeft( bool mark, int steps = 1 ) { cursorForward( mark, -steps ); } - void cursorRight( bool mark, int steps = 1 ) { cursorForward( mark, steps ); } - #endif -@@ -153,7 +153,7 @@ - bool isUndoAvailable() const; - bool isRedoAvailable() const; - --#ifndef QT_NO_COMPAT -+#ifndef TQT_NO_COMPAT - bool hasMarkedText() const { return hasSelectedText(); } - SecTQString markedText() const { return selectedText(); } - #endif -@@ -175,7 +175,7 @@ - virtual void setSelection( int, int ); - virtual void setCursorPosition( int ); - virtual void setAlignment( int flag ); --#ifndef QT_NO_CLIPBOARD -+#ifndef TQT_NO_CLIPBOARD - virtual void cut(); - virtual void copy() const; - virtual void paste(); -@@ -204,7 +204,7 @@ - void resizeEvent( TQResizeEvent * ); - void drawContents( TQPainter * ); - void windowActivationChange( bool ); --#ifndef QT_NO_COMPAT -+#ifndef TQT_NO_COMPAT - void repaintArea( int, int ) { update(); } - #endif - ---- a/tqt/secqstring.cpp -+++ b/tqt/secqstring.cpp -@@ -80,8 +80,8 @@ - // IMPORTANT! If you change these, make sure you also change the - // "delete unicode" statement in ~SecTQStringData() in SecTQString.h correspondingly! - --#define QT_ALLOC_SECTQCHAR_VEC(N) (TQChar*) ::secmem_malloc (sizeof(TQChar) * (N)) --#define QT_DELETE_SECTQCHAR_VEC(P) ::secmem_free (P) -+#define TQT_ALLOC_SECTQCHAR_VEC(N) (TQChar*) ::secmem_malloc (sizeof(TQChar) * (N)) -+#define TQT_DELETE_SECTQCHAR_VEC(P) ::secmem_free (P) - - - /***************************************************************************** -@@ -188,7 +188,7 @@ - \sa TQChar TQCString TQByteArray SecTQConstString - */ - --Q_EXPORT SecTQStringData *SecTQString::shared_null = 0; -+TQ_EXPORT SecTQStringData *SecTQString::shared_null = 0; - QT_STATIC_CONST_IMPL SecTQString SecTQString::null; - QT_STATIC_CONST_IMPL TQChar TQChar::null; - QT_STATIC_CONST_IMPL TQChar TQChar::replacement((ushort)0xfffd); -@@ -220,7 +220,7 @@ - */ - SecTQString::SecTQString( TQChar ch ) - { -- d = new SecTQStringData( QT_ALLOC_SECTQCHAR_VEC( 1 ), 1, 1 ); -+ d = new SecTQStringData( TQT_ALLOC_SECTQCHAR_VEC( 1 ), 1, 1 ); - d->unicode[0] = ch; - } - -@@ -239,7 +239,7 @@ - { - if ( size ) { - int l = size; -- TQChar* uc = QT_ALLOC_SECTQCHAR_VEC( l ); -+ TQChar* uc = TQT_ALLOC_SECTQCHAR_VEC( l ); - d = new SecTQStringData( uc, 0, l ); - } else { - d = shared_null ? shared_null : (shared_null=new SecTQStringData); -@@ -258,7 +258,7 @@ - d = shared_null ? shared_null : makeSharedNull(); - d->ref(); - } else { -- TQChar* uc = QT_ALLOC_SECTQCHAR_VEC( length ); -+ TQChar* uc = TQT_ALLOC_SECTQCHAR_VEC( length ); - if ( unicode ) - memcpy(uc, unicode, length*sizeof(TQChar)); - d = new SecTQStringData(uc,unicode ? length : 0,length); -@@ -287,7 +287,7 @@ - d = shared_null ? shared_null : makeSharedNull(); - d->ref(); - } else { -- TQChar* uc = QT_ALLOC_SECTQCHAR_VEC( length ); -+ TQChar* uc = TQT_ALLOC_SECTQCHAR_VEC( length ); - if ( unicode ) - memcpy(uc, unicode, length*sizeof(TQChar)); - d = new SecTQStringData(uc,unicode ? length : 0,length); -@@ -429,7 +429,7 @@ - ( newLen * 4 < d->maxl && d->maxl > 4 ) ) { - // detach, grow or shrink - uint newMax = computeNewMax( newLen ); -- TQChar* nd = QT_ALLOC_SECTQCHAR_VEC( newMax ); -+ TQChar* nd = TQT_ALLOC_SECTQCHAR_VEC( newMax ); - if ( nd ) { - uint len = TQMIN( d->len, newLen ); - memcpy( nd, d->unicode, sizeof(TQChar) * len ); -@@ -594,10 +594,10 @@ - - if ( s >= d->unicode && (uint)(s - d->unicode) < d->maxl ) { - // Part of me - take a copy. -- TQChar *tmp = QT_ALLOC_SECTQCHAR_VEC( len ); -+ TQChar *tmp = TQT_ALLOC_SECTQCHAR_VEC( len ); - memcpy(tmp,s,len*sizeof(TQChar)); - insert(index,tmp,len); -- QT_DELETE_SECTQCHAR_VEC( tmp ); -+ TQT_DELETE_SECTQCHAR_VEC( tmp ); - return *this; - } - -@@ -669,10 +669,10 @@ - memcpy( d->unicode+index, s, len * sizeof(TQChar) ); - } else if ( s >= d->unicode && (uint)(s - d->unicode) < d->maxl ) { - // Part of me - take a copy. -- TQChar *tmp = QT_ALLOC_SECTQCHAR_VEC( slen ); -+ TQChar *tmp = TQT_ALLOC_SECTQCHAR_VEC( slen ); - memcpy( tmp, s, slen * sizeof(TQChar) ); - replace( index, len, tmp, slen ); -- QT_DELETE_SECTQCHAR_VEC( tmp ); -+ TQT_DELETE_SECTQCHAR_VEC( tmp ); - } else { - remove( index, len ); - insert( index, s, slen ); ---- a/tqt/secqstring.h -+++ b/tqt/secqstring.h -@@ -87,7 +87,7 @@ - template <class T> class TQDeepCopy; - #include <stdio.h> - // internal --struct Q_EXPORT SecTQStringData : public TQShared { -+struct TQ_EXPORT SecTQStringData : public TQShared { - SecTQStringData() : - TQShared(), unicode(0), len(0), maxl(0) { ref(); } - SecTQStringData(TQChar *u, uint l, uint m) : -@@ -109,7 +109,7 @@ - }; - - --class Q_EXPORT SecTQString -+class TQ_EXPORT SecTQString - { - public: - SecTQString(); // make null string -@@ -191,7 +191,7 @@ - friend class TQDeepCopy<SecTQString>; - }; - --class Q_EXPORT SecTQCharRef { -+class TQ_EXPORT SecTQCharRef { - friend class SecTQString; - SecTQString& s; - uint p; -@@ -249,7 +249,7 @@ - inline SecTQCharRef SecTQString::at( uint i ) { return SecTQCharRef(this,i); } - inline SecTQCharRef SecTQString::operator[]( int i ) { return at((uint)i); } - --class Q_EXPORT SecTQConstString : private SecTQString { -+class TQ_EXPORT SecTQConstString : private SecTQString { - public: - SecTQConstString( const TQChar* unicode, uint length ); - ~SecTQConstString(); -@@ -297,7 +297,7 @@ - SecTQString non-member operators - *****************************************************************************/ - --Q_EXPORT inline const SecTQString operator+( const SecTQString &s1, const SecTQString &s2 ) -+TQ_EXPORT inline const SecTQString operator+( const SecTQString &s1, const SecTQString &s2 ) - { - SecTQString tmp( s1 ); - tmp += s2; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0004-tqt-updates-202404.diff b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0004-tqt-updates-202404.diff deleted file mode 100644 index a650d6b7..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0004-tqt-updates-202404.diff +++ /dev/null @@ -1,81 +0,0 @@ ---- a/tqt/pinentrydialog.cpp -+++ b/tqt/pinentrydialog.cpp -@@ -84,18 +84,18 @@ - - _ok->setDefault(true); - -- connect( _ok, SIGNAL( clicked() ), -- this, SIGNAL( accepted() ) ); -- connect( _cancel, SIGNAL( clicked() ), -- this, SIGNAL( rejected() ) ); -- connect( _edit, SIGNAL( textModified(const SecTQString&) ), -- this, SLOT( updateQuality(const SecTQString&) ) ); -- connect (_edit, SIGNAL (backspacePressed()), -- this, SLOT (onBackspace ())); -- connect (this, SIGNAL (accepted ()), -- this, SLOT (accept ())); -- connect (this, SIGNAL (rejected ()), -- this, SLOT (reject ())); -+ connect( _ok, TQ_SIGNAL( clicked() ), -+ this, TQ_SIGNAL( accepted() ) ); -+ connect( _cancel, TQ_SIGNAL( clicked() ), -+ this, TQ_SIGNAL( rejected() ) ); -+ connect( _edit, TQ_SIGNAL( textModified(const SecTQString&) ), -+ this, TQ_SLOT( updateQuality(const SecTQString&) ) ); -+ connect (_edit, TQ_SIGNAL (backspacePressed()), -+ this, TQ_SLOT (onBackspace ())); -+ connect (this, TQ_SIGNAL (accepted ()), -+ this, TQ_SLOT (accept ())); -+ connect (this, TQ_SIGNAL (rejected ()), -+ this, TQ_SLOT (reject ())); - _edit->setFocus(); - } - ---- a/tqt/secqlineedit.cpp -+++ b/tqt/secqlineedit.cpp -@@ -1073,10 +1073,10 @@ - #ifndef SECURE - TQString t = q->selectedText(); - if ( !t.isEmpty() && echoMode == SecTQLineEdit::Normal ) { -- q->disconnect( TQApplication::clipboard(), SIGNAL(selectionChanged()), q, 0); -+ q->disconnect( TQApplication::clipboard(), TQ_SIGNAL(selectionChanged()), q, 0); - TQApplication::clipboard()->setText( t, clipboard ? TQClipboard::Clipboard : TQClipboard::Selection ); -- q->connect( TQApplication::clipboard(), SIGNAL(selectionChanged()), -- q, SLOT(clipboardChanged()) ); -+ q->connect( TQApplication::clipboard(), TQ_SIGNAL(selectionChanged()), -+ q, TQ_SLOT(clipboardChanged()) ); - } - #endif - } ---- a/tqt/secqstring.cpp -+++ b/tqt/secqstring.cpp -@@ -189,12 +189,12 @@ - */ - - TQ_EXPORT SecTQStringData *SecTQString::shared_null = 0; --QT_STATIC_CONST_IMPL SecTQString SecTQString::null; --QT_STATIC_CONST_IMPL TQChar TQChar::null; --QT_STATIC_CONST_IMPL TQChar TQChar::replacement((ushort)0xfffd); --QT_STATIC_CONST_IMPL TQChar TQChar::byteOrderMark((ushort)0xfeff); --QT_STATIC_CONST_IMPL TQChar TQChar::byteOrderSwapped((ushort)0xfffe); --QT_STATIC_CONST_IMPL TQChar TQChar::nbsp((ushort)0x00a0); -+const SecTQString SecTQString::null; -+const TQChar TQChar::null; -+const TQChar TQChar::replacement((ushort)0xfffd); -+const TQChar TQChar::byteOrderMark((ushort)0xfeff); -+const TQChar TQChar::byteOrderSwapped((ushort)0xfffe); -+const TQChar TQChar::nbsp((ushort)0x00a0); - - SecTQStringData* SecTQString::makeSharedNull() - { ---- a/tqt/secqstring.h -+++ b/tqt/secqstring.h -@@ -125,7 +125,7 @@ - - SecTQString &operator=( const SecTQString & ); // impl-shared copy - -- QT_STATIC_CONST SecTQString null; -+ static const SecTQString null; - - bool isNull() const; - bool isEmpty() const; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0005-delete-libassuan.m4.diff b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0005-delete-libassuan.m4.diff deleted file mode 100644 index 42df7ebd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0005-delete-libassuan.m4.diff +++ /dev/null @@ -1,182 +0,0 @@ -Description: Delete outdated m4/libassuan.m4 - Allows building against libassuan 3. -Author: Andreas Metzler <ametzler@debian.org> -Origin: vendor -Forwarded: not-needed -Last-Update: 2024-08-26 - ---- pinentry-1.2.1.orig/m4/libassuan.m4 -+++ /dev/null -@@ -1,172 +0,0 @@ --dnl Autoconf macros for libassuan --dnl Copyright (C) 2002, 2003, 2011 Free Software Foundation, Inc. --dnl --dnl This file is free software; as a special exception the author gives --dnl unlimited permission to copy and/or distribute it, with or without --dnl modifications, as long as this notice is preserved. --dnl --dnl This file is distributed in the hope that it will be useful, but --dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the --dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --dnl SPDX-License-Identifier: FSFULLR --# Last-changed: 2020-11-17 -- --dnl --dnl Common code used for libassuan detection [internal] --dnl Returns ok set to yes or no. --dnl --AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], --[ AC_REQUIRE([AC_CANONICAL_HOST]) -- AC_ARG_WITH(libassuan-prefix, -- AS_HELP_STRING([--with-libassuan-prefix=PFX], -- [prefix where LIBASSUAN is installed (optional)]), -- libassuan_config_prefix="$withval", libassuan_config_prefix="") -- if test x$libassuan_config_prefix != x ; then -- if test x${LIBASSUAN_CONFIG+set} != xset ; then -- LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config -- fi -- fi -- -- use_gpgrt_config="" -- if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then -- if $GPGRT_CONFIG libassuan --exists; then -- LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" -- AC_MSG_NOTICE([Use gpgrt-config as libassuan-config]) -- use_gpgrt_config=yes -- fi -- fi -- if test -z "$use_gpgrt_config"; then -- AC_PATH_PROG(LIBASSUAN_CONFIG, libassuan-config, no) -- fi -- -- tmp=ifelse([$1], ,1:0.9.2,$1) -- if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then -- req_libassuan_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` -- min_libassuan_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` -- else -- req_libassuan_api=0 -- min_libassuan_version="$tmp" -- fi -- -- AC_MSG_CHECKING(for LIBASSUAN - version >= $min_libassuan_version) -- ok=no -- if test "$LIBASSUAN_CONFIG" != "no"; then -- req_major=`echo $min_libassuan_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` -- req_minor=`echo $min_libassuan_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` -- req_micro=`echo $min_libassuan_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` -- -- if test -z "$use_gpgrt_config"; then -- libassuan_config_version=`$LIBASSUAN_CONFIG --version` -- else -- libassuan_config_version=`$LIBASSUAN_CONFIG --modversion` -- fi -- major=`echo $libassuan_config_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` -- minor=`echo $libassuan_config_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` -- micro=`echo $libassuan_config_version | \ -- sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` -- -- if test "$major" -gt "$req_major"; then -- ok=yes -- else -- if test "$major" -eq "$req_major"; then -- if test "$minor" -gt "$req_minor"; then -- ok=yes -- else -- if test "$minor" -eq "$req_minor"; then -- if test "$micro" -ge "$req_micro"; then -- ok=yes -- fi -- fi -- fi -- fi -- fi -- fi -- -- if test $ok = yes; then -- AC_MSG_RESULT([yes ($libassuan_config_version)]) -- else -- AC_MSG_RESULT(no) -- fi -- -- if test $ok = yes; then -- if test "$req_libassuan_api" -gt 0 ; then -- if test -z "$use_gpgrt_config"; then -- tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` -- else -- tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0` -- fi -- if test "$tmp" -gt 0 ; then -- AC_MSG_CHECKING([LIBASSUAN API version]) -- if test "$req_libassuan_api" -eq "$tmp" ; then -- AC_MSG_RESULT(okay) -- else -- ok=no -- AC_MSG_RESULT([does not match. want=$req_libassuan_api got=$tmp.]) -- fi -- fi -- fi -- fi -- -- if test $ok = yes; then -- if test x"$host" != x ; then -- if test -z "$use_gpgrt_config"; then -- libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` -- else -- libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none` -- fi -- if test x"$libassuan_config_host" != xnone ; then -- if test x"$libassuan_config_host" != x"$host" ; then -- AC_MSG_WARN([[ --*** --*** The config script "$LIBASSUAN_CONFIG" was --*** built for $libassuan_config_host and thus may not match the --*** used host $host. --*** You may want to use the configure option --with-libassuan-prefix --*** to specify a matching config script. --***]]) -- fi -- fi -- fi -- fi --]) -- --dnl AM_CHECK_LIBASSUAN([MINIMUM-VERSION, --dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) --dnl Test whether libassuan has at least MINIMUM-VERSION. This is --dnl used to test for features only available in newer versions. --dnl --AC_DEFUN([AM_CHECK_LIBASSUAN], --[ _AM_PATH_LIBASSUAN_COMMON($1) -- if test $ok = yes; then -- ifelse([$2], , :, [$2]) -- else -- ifelse([$3], , :, [$3]) -- fi --]) -- -- -- -- --dnl AM_PATH_LIBASSUAN([MINIMUM-VERSION, --dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) --dnl Test for libassuan and define LIBASSUAN_CFLAGS and LIBASSUAN_LIBS --dnl --AC_DEFUN([AM_PATH_LIBASSUAN], --[ _AM_PATH_LIBASSUAN_COMMON($1) -- if test $ok = yes; then -- LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags` -- LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs` -- ifelse([$2], , :, [$2]) -- else -- LIBASSUAN_CFLAGS="" -- LIBASSUAN_LIBS="" -- ifelse([$3], , :, [$3]) -- fi -- AC_SUBST(LIBASSUAN_CFLAGS) -- AC_SUBST(LIBASSUAN_LIBS) --]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0006-remove-register-instruction.diff b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0006-remove-register-instruction.diff deleted file mode 100644 index ee6f0097..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0006-remove-register-instruction.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: b/tqt/secqstring.cpp -=================================================================== ---- a/tqt/secqstring.cpp -+++ b/tqt/secqstring.cpp -@@ -548,7 +548,7 @@ - len = slen - index; - if ( index == 0 && len == slen ) - return *this; -- register const TQChar *p = unicode()+index; -+ const TQChar *p = unicode()+index; - SecTQString s( len, TRUE ); - memcpy( s.d->unicode, p, len * sizeof(TQChar) ); - s.d->len = len; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0007-tq-headers b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0007-tq-headers deleted file mode 100644 index 65cb08d0..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0007-tq-headers +++ /dev/null @@ -1,190 +0,0 @@ ---- a/tqt/main.cpp -+++ b/tqt/main.cpp -@@ -26,9 +26,9 @@ - #include <stdlib.h> - #include <errno.h> - --#include <ntqapplication.h> --#include <ntqwidget.h> --#include <ntqmessagebox.h> -+#include <tqapplication.h> -+#include <tqwidget.h> -+#include <tqmessagebox.h> - #include "secqstring.h" - - #include "pinentrydialog.h" ---- a/tqt/pinentrydialog.cpp -+++ b/tqt/pinentrydialog.cpp -@@ -18,12 +18,12 @@ - * SPDX-License-Identifier: GPL-2.0+ - */ - --#include <ntqlayout.h> --#include <ntqpushbutton.h> --#include <ntqlabel.h> --#include <ntqmessagebox.h> --#include <ntqprogressbar.h> --#include <ntqtooltip.h> -+#include <tqlayout.h> -+#include <tqpushbutton.h> -+#include <tqlabel.h> -+#include <tqmessagebox.h> -+#include <tqprogressbar.h> -+#include <tqtooltip.h> - - #include "secqlineedit.h" - ---- a/tqt/pinentrydialog.h -+++ b/tqt/pinentrydialog.h -@@ -20,7 +20,7 @@ - #ifndef __PINENTRYDIALOG_H__ - #define __PINENTRYDIALOG_H__ - --#include <ntqdialog.h> -+#include <tqdialog.h> - #include "pinentry.h" - - class TQLabel; ---- a/tqt/secqinternal.cpp -+++ b/tqt/secqinternal.cpp -@@ -38,10 +38,10 @@ - **********************************************************************/ - - #include "secqinternal_p.h" --#include "ntqwidget.h" --#include "ntqpixmap.h" --#include "ntqpainter.h" --#include "ntqcleanuphandler.h" -+#include "tqwidget.h" -+#include "tqpixmap.h" -+#include "tqpainter.h" -+#include "tqcleanuphandler.h" - - static TQPixmap* qdb_shared_pixmap = 0; - static TQPixmap *qdb_force_pixmap = 0; ---- a/tqt/secqinternal_p.h -+++ b/tqt/secqinternal_p.h -@@ -52,11 +52,11 @@ - // - // - #ifndef QT_H --#include "ntqnamespace.h" --#include "ntqrect.h" --#include "ntqptrlist.h" --#include "ntqcstring.h" --#include "ntqiodevice.h" -+#include "tqnamespace.h" -+#include "tqrect.h" -+#include "tqptrlist.h" -+#include "tqcstring.h" -+#include "tqiodevice.h" - #endif // QT_H - - class TQWidget; ---- a/tqt/secqlineedit.cpp -+++ b/tqt/secqlineedit.cpp -@@ -67,27 +67,27 @@ - **********************************************************************/ - - #include "secqlineedit.h" --#include "ntqpainter.h" --#include "ntqdrawutil.h" --#include "ntqfontmetrics.h" --#include "ntqpixmap.h" --#include "ntqclipboard.h" --#include "ntqapplication.h" --#include "ntqtimer.h" --#include "ntqpopupmenu.h" --#include "ntqstringlist.h" --#include "ntqguardedptr.h" --#include "ntqstyle.h" --#include "ntqwhatsthis.h" -+#include "tqpainter.h" -+#include "tqdrawutil.h" -+#include "tqfontmetrics.h" -+#include "tqpixmap.h" -+#include "tqclipboard.h" -+#include "tqapplication.h" -+#include "tqtimer.h" -+#include "tqpopupmenu.h" -+#include "tqstringlist.h" -+#include "tqguardedptr.h" -+#include "tqstyle.h" -+#include "tqwhatsthis.h" - #include "secqinternal_p.h" --#include "private/qtextlayout_p.h" --#include "ntqvaluevector.h" -+#include "private/tqtextlayout_p.h" -+#include "tqvaluevector.h" - #if defined(QT_ACCESSIBILITY_SUPPORT) --#include "ntqaccessible.h" -+#include "tqaccessible.h" - #endif - - #ifndef TQT_NO_ACCEL --#include "ntqkeysequence.h" -+#include "tqkeysequence.h" - #define ACCEL_KEY(k) "\t" + TQString(TQKeySequence( TQt::CTRL | TQt::Key_ ## k )) - #else - #define ACCEL_KEY(k) "\t" + TQString("Ctrl+" #k) ---- a/tqt/secqlineedit.h -+++ b/tqt/secqlineedit.h -@@ -1,8 +1,8 @@ --/* secntqlineedit.h - Secure version of TQLineEdit. -+/* secqlineedit.h - Secure version of TQLineEdit. - * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - * Copyright (C) 2003 g10 Code GmbH - * -- * The license of the original ntqlineedit.h file from which this file -+ * The license of the original tqlineedit.h file from which this file - * is derived can be found below. Modified by Marcus Brinkmann - * <marcus@g10code.de>. All modifications are licensed as follows, so - * that the intersection of the two licenses is then the GNU General -@@ -73,8 +73,8 @@ - class TQPopupMenu; - - #ifndef QT_H --#include "ntqframe.h" --#include "ntqstring.h" -+#include "tqframe.h" -+#include "tqstring.h" - #endif // QT_H - - class TQTextParagraph; ---- a/tqt/secqstring.cpp -+++ b/tqt/secqstring.cpp -@@ -138,7 +138,7 @@ - and join a list of strings into a single string with an optional - separator using SecTQStringList::join(). You can obtain a list of - strings from a string list that contain a particular substring or -- that match a particular \link ntqregexp.html regex\endlink using -+ that match a particular \link tqregexp.html regex\endlink using - SecTQStringList::grep(). - - <b>Note for C programmers</b> ---- a/tqt/secqstring.h -+++ b/tqt/secqstring.h -@@ -1,8 +1,8 @@ --/* secntqstring.h - Secure version of TQString. -+/* sectqstring.h - Secure version of TQString. - * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - * Copyright (C) 2003 g10 Code GmbH - * -- * The license of the original ntqstring.h file from which this file is -+ * The license of the original tqstring.h file from which this file is - * derived can be found below. Modified by Marcus Brinkmann - * <marcus@g10code.de>. All modifications are licensed as follows, so - * that the intersection of the two licenses is then the GNU General -@@ -71,10 +71,10 @@ - /* We need the original qchar and qstring for transparent conversion - from TQChar to TQChar and TQString to SecTQString (but not the other - way round). */ --#include <ntqstring.h> -+#include <tqstring.h> - - #ifndef QT_H --#include "ntqcstring.h" -+#include "tqcstring.h" - #endif // QT_H - - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/series b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/series deleted file mode 100644 index 19fcfefe..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/series +++ /dev/null @@ -1,7 +0,0 @@ -0001-avoid-self-describing-as-a-beta.patch -0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch -0003-tqt-updates-2023.diff -0004-tqt-updates-202404.diff -0005-delete-libassuan.m4.diff -0006-remove-register-instruction.diff -0007-tq-headers diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.1 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.1 deleted file mode 100644 index 862aead7..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.1 +++ /dev/null @@ -1,78 +0,0 @@ -.TH PINENTRY-TQT 1 "27 Jan 2005" -.SH NAME -pinentry\-tqt \- PIN or pass-phrase entry dialog for GnuPG -.PP -.SH SYNOPSIS -\fBpinentry-tqt\fB [\fIOPTION\fR...] -.SH DESCRIPTION -\fBpinentry\-tqt\fR is a program that allows for secure entry of PINs or -pass phrases. That means it tries to take care that the entered -information is not swapped to disk or temporarily stored anywhere. -This functionality is particularly useful for entering pass phrases -when using encryption software such as GnuPG or e-mail clients using -the same. It uses an open protocol and is therefore not tied to -particular software. -.PP -\fBpinentry-tqt\fR implements a PIN entry dialog -using the TQt tool kit, so it is especially suitable for users of TDE. -If the X Window System is not active then an alternative text-mode -dialog will be used. There are other flavors that implement PIN -entry dialogs using other tool kits. -.PP -\fBpinentry\-tqt\fR is typically used internally by \fBgpg-agent\fR. -Users don't normally have a reason to call it directly. -.SH OPTIONS -.TP -\fB\-\-version\fR -Print the program version and licensing information. -.TP -\fB\-\-help\fR -Print a usage message summarizing the most useful command-line options. -.TP -\fB\-\-debug\fR, \fB\-d\fR -Turn on some debugging. Mostly useful for the maintainers. Note -that this may reveal sensitive information like the entered pass phrase. -.TP -\fB\-\-enhanced\fR, \fB\-e\fR -Ask for timeouts and insurance, too. Note that this is currently -not fully supported. -.TP -\fB\-\-no\-global\-grab\fR, \fB\-g\fR -Grab the keyboard only when the window is focused. Use this -option if you are debugging software using \fBpinentry\-tqt\fR; -otherwise you may not be able to to access your X session anymore (unless -you have other means to connect to the machine to kill -\fBpinentry\-tqt\fR). -.TP -\fB\-\-parent\-wid\fR \fIN\fR -Use window ID \fIN\fR as the parent window for positioning the window. -Note, that this is not fully supported by all flavors of \fBpinentry\fR. -.TP -\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR -These options are used to pass localization information to -\fBpinentry-tqt\fR. They are required because -\fBpinentry-tqt\fR is usually called by -some background process which does not have any information on the -locale and terminal to use. Assuan protocol options are an -alternative way to pass these information. -.SH "SEE ALSO" -.BR pinentry-curses (1), -.BR pinentry-gnome3 (1), -.BR pinentry-fltk (1), -.BR pinentry-gtk-2 (1), -.BR pinentry-qt (1), -.BR pinentry-tty (1), -.BR gpg (1), -.BR gpg-agent (1) -.PP -The full documentation for -.B pinentry-tqt -is maintained as a Texinfo manual. If the -.B pinentry-doc -package is installed, the command -.IP -.B info pinentry -.PP -should give you access to the complete manual. -.SH AUTHOR -This manual page was written by Peter Eisentraut for the Debian project. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.install b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.install deleted file mode 100644 index fb5a1347..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.install +++ /dev/null @@ -1 +0,0 @@ -build-no-libsecret/tqt/pinentry-tqt usr/bin diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.manpages b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.manpages deleted file mode 100644 index 7c89b9a4..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/pinentry-tqt.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.postinst b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.postinst deleted file mode 100644 index 3e07e8ac..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.postinst +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/sh - -set -e - -if [ "$1" = configure ]; then - update-alternatives --quiet \ - --install /usr/bin/pinentry pinentry /usr/bin/pinentry-tqt 80 \ - --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-tqt.1.gz - update-alternatives --quiet \ - --install /usr/bin/pinentry-x11 pinentry-x11 /usr/bin/pinentry-tqt 80 \ - --slave /usr/share/man/man1/pinentry-x11.1.gz pinentry-x11.1.gz /usr/share/man/man1/pinentry-tqt.1.gz -fi - -#DEBHELPER# diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.prerm b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.prerm deleted file mode 100644 index 2febd750..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.prerm +++ /dev/null @@ -1,10 +0,0 @@ -#! /bin/sh - -set -e - -if [ "$1" = remove ]; then - update-alternatives --quiet --remove pinentry-x11 /usr/bin/pinentry-tqt - update-alternatives --quiet --remove pinentry /usr/bin/pinentry-tqt -fi - -#DEBHELPER# diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/rules b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/rules deleted file mode 100755 index 940764dd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/rules +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/make -f - -QT_SELECT = qt5 -export QT_SELECT -SHARED_CONFIGS = --disable-rpath --without-libcap --disable-pinentry-emacs --disable-inside-emacs --enable-fallback-curses --disable-pinentry-efl -export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow - -%: - dh $@ - -override_dh_auto_configure: - dh_autoreconf - dh_auto_configure --builddirectory=build-no-libsecret -- \ - $(SHARED_CONFIGS) --disable-libsecret \ - --disable-pinentry-tty \ - --disable-pinentry-curses \ - --disable-pinentry-qt \ - --disable-pinentry-qt4 \ - --disable-pinentry-fltk \ - --disable-pinentry-gtk2 \ - --disable-pinentry-gnome3 \ - --enable-pinentry-tqt - -override_dh_auto_build: - dh_auto_build --builddirectory=build-no-libsecret - dh_auto_build - -override_dh_installdocs: - dh_installdocs -A NEWS AUTHORS diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/format b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/format deleted file mode 100644 index 163aaf8d..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/options b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/options deleted file mode 100644 index d71748bb..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/options +++ /dev/null @@ -1,3 +0,0 @@ -# Use xz instead of gzip -compression = "xz" -compression-level = 9 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/control b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/control deleted file mode 100644 index af216f95..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/control +++ /dev/null @@ -1,4 +0,0 @@ -Tests: simple-tty -Depends: - pinentry-tty, - python3, diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/simple-tty b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/simple-tty deleted file mode 100755 index cbe0a103..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/simple-tty +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env python3 - -# Daniel Kahn Gillmor <dkg@fifthhorseman.net> - -# put pinentry-tty through its paces on an otherwise clean -# pseudoterminal. - -import posix -import subprocess -import codecs -import time - -# block on pinentry verification: -def isok(pinentry): - l = pinentry.stdout.readline() - if not l.startswith('OK'): - raise Exception("notok: " + l if l else '<None>') - - -(master, pty) = posix.openpty() -# depends on /proc! -ptyname = posix.readlink("/proc/self/fd/%d"%(pty)) - -p = subprocess.Popen(['pinentry-tty'], - shell=False, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - universal_newlines=True, - bufsize=1) -isok(p) - -p.stdin.write("option ttyname %s\n"%(ptyname)) -isok(p) - -p.stdin.write("setprompt foo bar\n") -isok(p) - -p.stdin.write("getpin\n") -p.stdin.flush() - -# avoid failures on laggy build daemons -time.sleep(2.0) - -prompt = codecs.decode(posix.read(master, 1000)) -print("---begin pinentry prompt---") -print(prompt) -print("---end pinentry prompt---") - -posix.write(master, codecs.encode("abc123\n")) - -answer = p.stdout.readline() -if answer.strip() != "D abc123": - raise Exception("wrongpass" + answer) -isok(p) - -p.stdin.write("bye\n") -isok(p) - -ret = p.wait() -if ret: - raise Exception("pinentry terminated wrong: %d!"%(ret)) - -posix.close(pty) -posix.close(master) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/upstream/signing-key.asc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/upstream/signing-key.asc deleted file mode 100644 index 8e2ce73d..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/upstream/signing-key.asc +++ /dev/null @@ -1,103 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mQINBFMjh+8BEADUIP+QH8EirR4MvDr/Veg9fELo7vLWGXXt3yjVW1rARX6pyJy9 -OR46NpwH65p7R2X6Gqgm1NBEmY6weoloRZodV5MrvoLurR0NPjX9bOatsjCH8o4I -nB4W1mdVzrP1FTauG2OfBCUm1FRnKGCdndCAG8AiE6gTtr8SdvVa/2aPhsOGUEjd -f1To8X6OPyRMeNgAkPyQhHDOWgEAxzIz5z8MEnoyt5Gl1d6G5qciKxWGx/0V4x9E -6UGbuAsuepKlusKCz8JlEe+nOTRfrivO8+kOQ106z/WJgauIRwjd3x0WjpvYFGyQ -BfztPiCLobjvWaFW2I0Mh5DlG5q9hrWvw5RzOFD/Qct+oGRnvpY6iUzGZaM8jZcB -X5Knhr6yvUNr8BtON/LJ0Y2wae+sWwGotTZOlUsOyjmgnx326CkgeAQ9Moonjvqw -73TqgOMpmtTwWkWrZylGkGgD0CoJVg5R9NNKWIthTSpuRm1TKle69IoguWLSvtin -upWl6mN7EmXCkatjJEmR+wCAczkquWk3Qo966w6r/WLKbDkd8RrPCh5WjvpqnLKA -C9Zuk4ssw1i1Pwv+FhCZbvJ/UgkBq1UjoBEzbSpq1W3ul+W2x0DGRmENY6aRvJqi -8aNBX6vzD17epe9qkRbriGA8nK9j18ZnfHLGlPGDwkgOpRF8gHmRCkSi/QARAQAB -tC9EYW1pZW4gR291dHRlLUdhdHRhdCA8ZGdvdXR0ZWdhdHRhdEBpbmNlbnAub3Jn -PokCVAQTAQgAPgIbAwIeAQIXgAIZAQcLBwgJCgMCBhUICgsJAgUWAgMBABYhBE+i -CCNi/nOtA7iIMKjccGfiX7q7BQJcvj4oAAoJEKjccGfiX7q7NZAQAKl2rh+SsUpV -tFBrpdgNSUwSIiXF3bKMGKi363BEHe1/LYlKKKmFNHBJ3Xfu/7xLwAftg8skZS4d -5Bujzb6uolBUqIfp7iNk8xX0x+5D+0et8hGa7hHtaL21WUm2TKmLPsFS2HCDJsLW -SUBh5zWqVHOPvmNl10hWr5MV+MJA6yl0TP4hEpudvrtMOCe9ohKVuul3P5xxeYEq -9tfvtnFSk84N8/pRs0pB7+hjGm0DvKfwdqWZ78Z+wyB6WLy/7OGxv86ojqWJA9NV -YrwZAzqmw4o0ZhFiIFidqp07YT+jGvUYcDVSEW2Tkg4KIkbEO5+Bhv55xSj1zfdS -kQIJeCELfop/zPFXUCHZ5TOUOBI1zMV803eIbMX8HwfoGwyOe5kKv4GJj6WxvIeB -iD1cTRGgMOCkQrLIdyyuiYVCX6ntdiGQAsc7XJNGM/K4V2BTiUja0ZrNBujuOijD -OQYSrYY9FujmUCu8TSl7E/AHu9OKXTCTaQWQjBUp20ZWmuVrpdl3onsrPp7chICt -P+PIgPtcAci7gSVFt3QKCxA5LydqKxs162swS7OW6PADA7k35WhptSHMRM+1nDQ2 -h/milyTPBtRYlKZABj58ZAad3WJWLf6CpiDwKngntPYiSc8OwHRLZQSVDNYLDiC9 -P7Atp1PEXDt97MMjNfeVYGzJSgVblxvUtC1EYW1pZW4gR291dHRlLUdhdHRhdCA8 -ZGdvdXR0ZWdhdHRhdEBmc2ZlLm9yZz6JAoMEEwEIAG00Gmh0dHA6Ly93d3cuaW5j -ZW5wLm9yZy9vcGVucGdwLWtleXNpZ25pbmctcG9saWN5LnR4dAIbAwULCQgHAgYV -CAkKCwIEFgIDAQIeAQIXgBYhBE+iCCNi/nOtA7iIMKjccGfiX7q7BQJcvj4xAAoJ -EKjccGfiX7q723QQALv29z/hJgrawAbcu2xZ568Ncy+oNUbdOurumnlVdgBoQx2b -i7zUswEGZfXcLteS4KN+M9u3M/Ph7pp47mluQJj4lK/W7w9qm3AsVwQiPFMTgp+f -0jFN0jUll2OXyJC0gxJUoYGIxehylyReV5XkdWeFGkKX0au+nE1IvZDI2D+pAPHL -Pq/3LzY5UK7m6w51983heD2m2qtXucydL9kIQjA5Dkao9MwaaBs3a4TluGj6eMOP -tw7JpbGRFmvOP7AM9JvN7GQZ5x95qV03hiRWx50gfuSkynVdu2QTTOQiY1mkMswz -8ZRjoxxMS9Ybc66zzh4pKwOg1cQiSrfKrHytQczMuX6CG4VnqSzI9VVyF49ZThNq -hiZSLFbZivBLmqwutgP8IU2RcepDQgdiyd3J/aVkbuaCMlrdnC9qwwVB8wdLCQTo -+cY9IqhrMV5J3vRksGNHs0YzlBCrqmjqtxlXsP1GWgHZKEIc147E+LWMApbn1xP5 -WJuFQ4E2esvgdaL6+CAjomW0EIuno23cO6ycokc29pE7TxpyHPgrpc6Szwbdrn7O -cthUHP8N4QEzLfzfbM5g09nNQyEwzcVcOS40VQn79EmnSbyBHJXWZo8K5AS7lN5c -aqa2jnomFAbbCG8mk27O99WWsrMovFfPf0OTcguyy/mvZixJdlXH5qwuh9OxtCVE -YW1pZW4gR291dHRlLUdhdHRhdCA8ZGdnQGluY2VucC5vcmc+iQKABBMBCABqMRpo -dHRwczovL2luY2VucC5vcmcvb3BlbnBncC1rZXlzaWduaW5nLXBvbGljeS50eHQC -GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQRPoggjYv5zrQO4iDCo3HBn4l+6 -uwUCXL4+MQAKCRCo3HBn4l+6uwoGD/4mOKfPL6sDoujPnWv610BsJhxDW1mttBK7 -YiNPdEXDjVAUXawgD48igCVHYFrKKLkXINHFgusgSJtJB1KeHqlxFg4r39gIU783 -3tdDXMPyU8su/ZF5su2W3J3fP5reww/yyG4Bmmc1fHlwNr9tCVqixnqv3KpNJoK3 -BsrtpJOR7rU6SvihKAM8pGWfkBjyn2UVqpoG2sCRhuHIwGx/0Tw2/zwA4zEO++WB -oJFaXW/FWxAEYwMO1EdeuJH3xLK65CtA33A4K6rDgEvR+6ZojRXxsfJfwSTchyuq -tFe4VlPsSduW6DO376rTOizjavANedjRrti5K8Xicvvx07w0zkUKYYHM9WYrTOOk -cLZNuIL430VMEHN47ajLSxib2MIPzjNAJF1luXDKkRiHnwPSDRZAiOEmi9HI8DyT -xfKHNkNJOtZSuBHqqkPNYrvXvjkLrlzMckplbnzrCbfLi3Zew8D9qC7DDwtYO/Z1 -tpHWeeF7mJJbN/VnDKf6+Aon/OBNCjGAVXz/T55PpKNBTv/ezeolPcIn1njZjbQl -W1KHrfa7YJYHRsPhn8qxYaqNrDFWIkRJAHyMgFFYNQRowqmblT+lIwuD1v/ZWDXz -oUVkt2tC4UagtQO/r/IuJVNbdZtyfSzGV+Lkb4bo2gs3i4qLieHVcPBdVXaRF6YS -lM/q8JLxA7kBDQRTI4j+AQgA6GEmtBA2fHPaVeK5V2+Nq2wWX179WZDyKtB9PDiy -FYv1ao3IXtYpfBfnIxDenJHZ8TJlWLD9NCCq6+aeh6V1dzo4OnwJVf7OxVTuGcvJ -81SAxS2fAn9vMTv7/AjyJq7baXl+zP4V6b7yFKgr1tPSqMcMM7u7RZN1nHJsY1I1 -Qo5Nv/7iCs/USc1/pzurJiIMQtD11noC0L49kxV8r3BsCBjXhZN8HGwbt02WX0ae -UJ7pm0xjrr9QJr9/6rLy2RWw2qWceMUsAeV/IYuD/h1r7SYGl8rFxC2BRsJqaUfU -+XkyvlXekZzhTjIjCCGxEYX5uN1wXdVaki9c41f1iuGoBwARAQABiQNVBBgBAgAg -AhsCFiEET6III2L+c60DuIgwqNxwZ+JfursFAly+Pk4BKcBdIAQZAQIABgUCUyOI -/gAKCRCqQ3PmyCx4rV29CACX5k+60iH6j+aKD325pOSBadOomJYvQybd81vjorDV -JusBX7zuFhyN98fhHkdTS5rWip82jtK/hWtqV5xEi1TuaPd7096g7pwl8gN51Fcp -0iqyy2ge51PB+WiqXiqcaRNZYBMMc6+/uE3lknLrXuVcxARwLWB/UviPmLgm0UMZ -aaSddh9itb3TiyJ63ykxeejqjpoi6dbmj7NP3nuxPAyQXbIGT2jH7JGzLKy6tIWB -yulbPAbtI7ZtGXvBqhZ5qWIYU5fUmENpqZJLlgzZz0fjrExwn64q2rb1t3Oe2iay -eMdxhHBT5s/vGmcorCy1c6Tf0iGODJc/ELfRETU0WXqrCRCo3HBn4l+6u5CMD/4t -5I209CXriZ8H0ExNDhqQw7FD/Xyt3oBPqWmdaktu1fqueCxAqWUYay+XjiTwURIF -dTYGl3REmI9wO13CPtQbDSxcZdEdZlAPxPDEefcAwd2gdPxkRtg5iv82JW0YL9Vi -ZF7zCjA+Ob/fV3dGlSABTR+B7W34HXo7N1D+gBXIQcm6ApawTCGhk/GPz88bF4+w -Y+zTL8H1cqz6GdfQsBeAKULisOA58aQluLd+lS6i4B6FnKyTbyqsvVBv5VC8RAbe -QaSSxmx1JCMbFEMudjkyW8X3w9OPHiIxQ2xoT1jcWshY1IlIL77dd3NtH4q+1zKO -oXEfDibEF8ua3Ji/qa8AjbqQB0jN/o/WnUJo6U16A2wQDyBPOP/Xg7cfu9MRaMos -y43V3CI/RiXyIKF0IVWGuAyK8peap8sMozwaNaYV8fNMLZrV0gjqohCDx0/NOddO -QxxvlxDKKtO8oMQZ17dHVdWeLb228aZrYaKubBg1EG3mJoNOYiHXmuwh4I4n+QXi -jC5d9MSNqA0Dx7fRwd/H2Xqfe9b56rhcxyoXDXL0KawBLB7BEHgD8hhBObWcV4SX -27CUliI5bAn6jTXMflbax7JeCUM7ftvuHbLScQz+qY7V/HKEAWcMa5aSBe9XGRrn -M3gZOVwKd3sMndhDdNSurBwXhKPR9hewfxKwFKaMgLgzBFsW830WCSsGAQQB2kcP -AQEHQPN1KutRNEw5ruEupwj5X47kn+dBPssCpVlxRfq+ix8BiQLfBBgBCABSFiEE -T6III2L+c60DuIgwqNxwZ+JfursFAlsW830xGmh0dHBzOi8vaW5jZW5wLm9yZy9v -cGVucGdwLWtleXNpZ25pbmctcG9saWN5LnR4dAIbAgCBCRCo3HBn4l+6u3YgBBkW -CAAdFiEEgMwbjQTCYt3+4ZgMb38PkdE4/HsFAlsW830ACgkQb38PkdE4/Hvh8QEA -6wYmL9DVE++/LXXS/rFC/PqEvR1Xg/INIEqFX4n6A5cA/3Z+OCyTRXlNL5/0VGOf -6fL9D7PIeSxuZMpR2f9m5dcE3egQAISwpiN5d9GjTyOAOcz06TGacLWgSnHXfZbH -7cbBZtde7iYbrkN1O1+hRksoj/VnGL3+fOwI2qhO7Xx4JN0dUddB36ga1ZOGyxS8 -n19KUO285uuSs/a+hQIqI2VC9V2plgPCg1afFEpwn7VjJa0BH63mjjoCVv+hzDFs -FcIr+c10C9rKL2MpoiywDGoW2lRj7DOOPiS1+KC+JApEcia7WlW5mvk7WfFmP8F4 -CR/NpMyc29+GWcr3rBFRQqftIyDUhYV5+RZhgvRzhGztxQ//2euLUI/puZxmffs4 -+kbp06Z6naMkjgGCSUNJGlhp3mlzsBMLK97/rMP4SZ4kumrO8ldx2Otv85B+onMU -KyzSkOWUiF88w/ihcUxxmWUkZEOn5T/EC4JTQZpghiwezoDCf5JOBGFp1ahzqZCL -lzLNEWdPK6Z/tOtzpGS9XNr8S9iOtjAfThb8Uu4pYs2pkjzdrJnHsUp8S6QhH9a4 -1CnDaDgw3qvasBfhi+Sl+nSiOJYo0cJrmBBtiMDj8c46JSnxg+9N3sahbak4OpXO -cPEex59sFWknX5fKt7OX0ksJxceEWzNxMwiMZLdn6OzFk25stRzqQTnplfWY+UEn -mIUH+Z72NjFdY6JVTksGeCXlSDxz1em8pBl68U97dY6jPC7tpPnc3HFJp53p8/7J -zYsuZj9nmDMEX0PliRYJKwYBBAHaRw8BAQdAz75Hlekc16JhhfI0MKdEVxLdkxhc -MCO0ZG6WMBAmNpe0H1dlcm5lciBLb2NoIChkaXN0IHNpZ25pbmcgMjAyMCmImgQT -FgoAQhYhBG2qbmSnbShAVxtJAlKIl7gmQDraBQJfQ+w1AhsDBQkShccRBQsJCAcC -AyICAQYVCgkICwIEFgIDAQIeBwIXgAAKCRBSiJe4JkA62nmuAP9uL/HOdB0gvwWr -H+FpURJLs4bnaZaPIk9ARrU0EXRgJgD/YCGfHQXpIPT0ZaXuwJexK04Z+qMFR/bM -1q1Leo5CjgY= -=278x ------END PGP PUBLIC KEY BLOCK----- diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/watch b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/watch deleted file mode 100644 index 0f219698..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/watch +++ /dev/null @@ -1,5 +0,0 @@ -version=4 - -opts=pgpsigurlmangle=s/$/.sig/ \ - https://gnupg.org/ftp/gcrypt/@PACKAGE@/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ \ - debian uupdate diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/depcomp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/depcomp deleted file mode 100755 index e5f9736c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/depcomp +++ /dev/null @@ -1,589 +0,0 @@ -#! /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 <oliva@dcc.unicamp.br>. - -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 <bug-automake@gnu.org>. -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/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/HACKING b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/HACKING deleted file mode 100644 index bfdbdde8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/HACKING +++ /dev/null @@ -1,38 +0,0 @@ -# HACKING -*- org -*- -#+TITLE: Hacking notes for PINentry -#+STARTUP: showall - -* No ChangeLog files - - Do not write ChangeLog files for Pinentry. We put change - information only in the GIT commit log, and generate a top-level - ChangeLog file from logs at "make dist" time. As such, there are - strict requirements on the form of the commit log messages. - - -* Commit log requirements - - Your commit log should always start with a one-line summary, the - second line should be blank, and the remaining lines are usually - ChangeLog-style entries for all affected files. However, it's fine - -- even recommended -- to write a few lines of prose describing the - change, when the summary and ChangeLog entries don't give enough of - the big picture. Omit the leading TABs that you're used to seeing - in a "real" ChangeLog file, but keep the maximum line length at 72 - or smaller, so that the generated ChangeLog lines, each with its - leading TAB, will not exceed 80 columns. - - For more information please check the HACKING file from the GnuPG - project. - -* String translation - - Pinentry does not not require any translation files because it - expects that all strings are provided localized by the caller. This - is due to the design constraint to keep the tool simple and also to - make sure that translations match those of GnuPG. - - The available translated strings can be found in GnuPG, file - agent/call-pinentry, function start_pinentry. If a string is not - available the Pinentry code uses a default as a fallback. However, - it is highly suggested to provide Pinentry with translated strings. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.am deleted file mode 100644 index e02b74c9..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (C) 2002 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY 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 - -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = HACKING - -info_TEXINFOS = pinentry.texi - -pinentry_TEXINFOS = gpl.texi - -DISTCLEANFILES = pinentry.tmp pinentry.ops diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.in deleted file mode 100644 index e127328f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.in +++ /dev/null @@ -1,838 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Copyright (C) 2002 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY 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 -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \ - $(srcdir)/stamp-vti $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) -am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) -am__v_DVIPS_0 = @echo " DVIPS " $@; -am__v_DVIPS_1 = -AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@) -am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@) -am__v_MAKEINFO_0 = @echo " MAKEINFO" $@; -am__v_MAKEINFO_1 = -AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@) -am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@) -am__v_INFOHTML_0 = @echo " INFOHTML" $@; -am__v_INFOHTML_1 = -AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@) -am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@) -am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@; -am__v_TEXI2DVI_1 = -AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@) -am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@) -am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@; -am__v_TEXI2PDF_1 = -AM_V_texinfo = $(am__v_texinfo_@AM_V@) -am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@) -am__v_texinfo_0 = -q -am__v_texinfo_1 = -AM_V_texidevnull = $(am__v_texidevnull_@AM_V@) -am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) -am__v_texidevnull_0 = > /dev/null -am__v_texidevnull_1 = -INFO_DEPS = $(srcdir)/pinentry.info -TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex -am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux -DVIS = pinentry.dvi -PDFS = pinentry.pdf -PSS = pinentry.ps -HTMLS = pinentry.html -TEXINFOS = pinentry.texi -TEXI2DVI = texi2dvi -TEXI2PDF = $(TEXI2DVI) --pdf --batch -MAKEINFOHTML = $(MAKEINFO) --html -AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) -DVIPS = dvips -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__installdirs = "$(DESTDIR)$(infodir)" -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__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(pinentry_TEXINFOS) $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/mdate-sh \ - $(top_srcdir)/build-aux/texinfo.tex mdate-sh texinfo.tex -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -EXTRA_DIST = HACKING -info_TEXINFOS = pinentry.texi -pinentry_TEXINFOS = gpl.texi -DISTCLEANFILES = pinentry.tmp pinentry.ops -all: all-am - -.SUFFIXES: -.SUFFIXES: .dvi .html .info .pdf .ps .texi -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -.texi.info: - $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && $(am__cd) $(srcdir) && \ - rm -rf $$backupdir && mkdir $$backupdir && \ - if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ - for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ - if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ - done; \ - else :; fi && \ - cd "$$am__cwd"; \ - if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ $<; \ - then \ - rc=0; \ - $(am__cd) $(srcdir); \ - else \ - rc=$$?; \ - $(am__cd) $(srcdir) && \ - $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ - fi; \ - rm -rf $$backupdir; exit $$rc - -.texi.dvi: - $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ - $< - -.texi.pdf: - $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ - $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ - $< - -.texi.html: - $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) - $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $(@:.html=.htp) $<; \ - then \ - rm -rf $@ && mv $(@:.html=.htp) $@; \ - else \ - rm -rf $(@:.html=.htp); exit 1; \ - fi -$(srcdir)/pinentry.info: pinentry.texi $(srcdir)/version.texi $(pinentry_TEXINFOS) -pinentry.dvi: pinentry.texi $(srcdir)/version.texi $(pinentry_TEXINFOS) -pinentry.pdf: pinentry.texi $(srcdir)/version.texi $(pinentry_TEXINFOS) -pinentry.html: pinentry.texi $(srcdir)/version.texi $(pinentry_TEXINFOS) -$(srcdir)/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/stamp-vti -$(srcdir)/stamp-vti: pinentry.texi $(top_srcdir)/configure - @(dir=.; test -f ./pinentry.texi || dir=$(srcdir); \ - set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/pinentry.texi`; \ - echo "@set UPDATED $$1 $$2 $$3"; \ - echo "@set UPDATED-MONTH $$2 $$3"; \ - echo "@set EDITION $(VERSION)"; \ - echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ - (cmp -s vti.tmp$$$$ $(srcdir)/version.texi \ - || (echo "Updating $(srcdir)/version.texi" && \ - cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \ - mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \ - rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$ - @cp $(srcdir)/version.texi $@ - -mostlyclean-vti: - -rm -f vti.tmp* $(srcdir)/version.texi.tmp* - -maintainer-clean-vti: -@MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi -.dvi.ps: - $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ - $(DVIPS) $(AM_V_texinfo) -o $@ $< - -uninstall-dvi-am: - @$(NORMAL_UNINSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ - rm -f "$(DESTDIR)$(dvidir)/$$f"; \ - done - -uninstall-html-am: - @$(NORMAL_UNINSTALL) - @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ - rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ - done - -uninstall-info-am: - @$(PRE_UNINSTALL) - @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ - then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ - done; \ - else :; fi - @$(NORMAL_UNINSTALL) - @list='$(INFO_DEPS)'; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ - echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ - rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ - else :; fi); \ - done - -uninstall-pdf-am: - @$(NORMAL_UNINSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ - rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ - done - -uninstall-ps-am: - @$(NORMAL_UNINSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ - rm -f "$(DESTDIR)$(psdir)/$$f"; \ - done - -dist-info: $(INFO_DEPS) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ - for base in $$list; do \ - case $$base in \ - $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$base; then d=.; else d=$(srcdir); fi; \ - base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ - for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ - if test -f $$file; then \ - relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f "$(distdir)/$$relfile" || \ - cp -p $$file "$(distdir)/$$relfile"; \ - else :; fi; \ - done; \ - done - -mostlyclean-aminfo: - -rm -rf pinentry.t2d pinentry.t2p - -clean-aminfo: - -test -z "pinentry.dvi pinentry.pdf pinentry.ps pinentry.html" \ - || rm -rf pinentry.dvi pinentry.pdf pinentry.ps pinentry.html - -maintainer-clean-aminfo: - @list='$(INFO_DEPS)'; for i in $$list; do \ - i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ - echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ - rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ - done -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-info -check-am: all-am -check: check-am -all-am: Makefile $(INFO_DEPS) -installdirs: - for dir in "$(DESTDIR)$(infodir)"; 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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -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-aminfo clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: $(DVIS) - -html: html-am - -html-am: $(HTMLS) - -info: info-am - -info-am: $(INFO_DEPS) - -install-data-am: install-info-am - -install-dvi: install-dvi-am - -install-dvi-am: $(DVIS) - @$(NORMAL_INSTALL) - @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \ - fi; \ - 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)$(dvidir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ - done -install-exec-am: - -install-html: install-html-am - -install-html-am: $(HTMLS) - @$(NORMAL_INSTALL) - @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ - $(am__strip_dir) \ - d2=$$d$$p; \ - if test -d "$$d2"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ - $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ - echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \ - $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ - else \ - list2="$$list2 $$d2"; \ - fi; \ - done; \ - test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ - done; } -install-info: install-info-am - -install-info-am: $(INFO_DEPS) - @$(NORMAL_INSTALL) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \ - fi; \ - for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - esac; \ - if test -f $$file; then d=.; else d=$(srcdir); fi; \ - file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ - for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ - $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ - if test -f $$ifile; then \ - echo "$$ifile"; \ - else : ; fi; \ - done; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done - @$(POST_INSTALL) - @if $(am__can_run_installinfo); then \ - list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ - for file in $$list; do \ - relfile=`echo "$$file" | sed 's|^.*/||'`; \ - echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ - install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ - done; \ - else : ; fi -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: $(PDFS) - @$(NORMAL_INSTALL) - @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \ - fi; \ - 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)$(pdfdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done -install-ps: install-ps-am - -install-ps-am: $(PSS) - @$(NORMAL_INSTALL) - @list='$(PSS)'; test -n "$(psdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \ - fi; \ - 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)$(psdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti - -pdf: pdf-am - -pdf-am: $(PDFS) - -ps: ps-am - -ps-am: $(PSS) - -uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-pdf-am uninstall-ps-am - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-aminfo clean-generic \ - cscopelist-am ctags-am dist-info distclean distclean-generic \ - distdir 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 \ - maintainer-clean maintainer-clean-aminfo \ - maintainer-clean-generic maintainer-clean-vti mostlyclean \ - mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \ - pdf-am ps ps-am tags-am uninstall uninstall-am \ - uninstall-dvi-am uninstall-html-am uninstall-info-am \ - uninstall-pdf-am uninstall-ps-am - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/gpl.texi b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/gpl.texi deleted file mode 100644 index 6eb301e2..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/gpl.texi +++ /dev/null @@ -1,392 +0,0 @@ -@node Copying -@unnumbered GNU General Public License - -@cindex GPL, GNU General Public License -@center Version 2, June 1991 - -@display -Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. -59 Temple Place -- Suite 330, Boston, MA 02111-1307, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -@end display - -@heading Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software---to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - -@iftex -@heading TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -@end iftex -@ifinfo -@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -@end ifinfo - -@enumerate -@item -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. - -@item -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. - -@item -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: - -@enumerate a -@item -You must cause the modified files to carry prominent notices -stating that you changed the files and the date of any change. - -@item -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. - -@item -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.) -@end enumerate - -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. - -@item -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: - -@enumerate a -@item -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, - -@item -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, - -@item -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.) -@end enumerate - -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. - -@item -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. - -@item -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. - -@item -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. - -@item -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. - -@item -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. - -@item -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. - -@item -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. - -@center NO WARRANTY - -@item -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. - -@item -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 enumerate - -@iftex -@heading END OF TERMS AND CONDITIONS -@end iftex -@ifinfo -@center END OF TERMS AND CONDITIONS -@end ifinfo - -@page -@heading 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. - -@smallexample -@var{one line to give the program's name and an idea of what it does.} -Copyright (C) 19@var{yy} @var{name of author} - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. -@end smallexample - -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: - -@smallexample -Gnomovision version 69, Copyright (C) 19@var{yy} @var{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. -@end smallexample - -The hypothetical commands @samp{show w} and @samp{show c} should show -the appropriate parts of the General Public License. Of course, the -commands you use may be called something other than @samp{show w} and -@samp{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: - -@smallexample -@group -Yoyodyne, Inc., hereby disclaims all copyright -interest in the program `Gnomovision' -(which makes passes at compilers) written -by James Hacker. - -@var{signature of Ty Coon}, 1 April 1989 -Ty Coon, President of Vice -@end group -@end smallexample - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/mdate-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/mdate-sh deleted file mode 100755 index 83d27009..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/mdate-sh +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/sh -# Get modification time of a file or directory and pretty-print it. - -scriptversion=2007-03-30.02 - -# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007 Free Software -# Foundation, Inc. -# written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995 -# -# 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 <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -case $1 in - '') - echo "$0: No file. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: mdate-sh [--help] [--version] FILE - -Pretty-print the modification time of FILE. - -Report bugs to <bug-automake@gnu.org>. -EOF - exit $? - ;; - -v | --v*) - echo "mdate-sh $scriptversion" - exit $? - ;; -esac - -# Prevent date giving response in another language. -LANG=C -export LANG -LC_ALL=C -export LC_ALL -LC_TIME=C -export LC_TIME - -# GNU ls changes its time format in response to the TIME_STYLE -# variable. Since we cannot assume `unset' works, revert this -# variable to its documented default. -if test "${TIME_STYLE+set}" = set; then - TIME_STYLE=posix-long-iso - export TIME_STYLE -fi - -save_arg1=$1 - -# Find out how to get the extended ls output of a file or directory. -if ls -L /dev/null 1>/dev/null 2>&1; then - ls_command='ls -L -l -d' -else - ls_command='ls -l -d' -fi -# Avoid user/group names that might have spaces, when possible. -if ls -n /dev/null 1>/dev/null 2>&1; then - ls_command="$ls_command -n" -fi - -# A `ls -l' line looks as follows on OS/2. -# drwxrwx--- 0 Aug 11 2001 foo -# This differs from Unix, which adds ownership information. -# drwxrwx--- 2 root root 4096 Aug 11 2001 foo -# -# To find the date, we split the line on spaces and iterate on words -# until we find a month. This cannot work with files whose owner is a -# user named `Jan', or `Feb', etc. However, it's unlikely that `/' -# will be owned by a user whose name is a month. So we first look at -# the extended ls output of the root directory to decide how many -# words should be skipped to get the date. - -# On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. -set x`$ls_command /` - -# Find which argument is the month. -month= -command= -until test $month -do - shift - # Add another shift to the command. - command="$command shift;" - case $1 in - Jan) month=January; nummonth=1;; - Feb) month=February; nummonth=2;; - Mar) month=March; nummonth=3;; - Apr) month=April; nummonth=4;; - May) month=May; nummonth=5;; - Jun) month=June; nummonth=6;; - Jul) month=July; nummonth=7;; - Aug) month=August; nummonth=8;; - Sep) month=September; nummonth=9;; - Oct) month=October; nummonth=10;; - Nov) month=November; nummonth=11;; - Dec) month=December; nummonth=12;; - esac -done - -# Get the extended ls output of the file or directory. -set dummy x`eval "$ls_command \"\$save_arg1\""` - -# Remove all preceding arguments -eval $command - -# Because of the dummy argument above, month is in $2. -# -# On a POSIX system, we should have -# -# $# = 5 -# $1 = file size -# $2 = month -# $3 = day -# $4 = year or time -# $5 = filename -# -# On Darwin 7.7.0 and 7.6.0, we have -# -# $# = 4 -# $1 = day -# $2 = month -# $3 = year or time -# $4 = filename - -# Get the month. -case $2 in - Jan) month=January; nummonth=1;; - Feb) month=February; nummonth=2;; - Mar) month=March; nummonth=3;; - Apr) month=April; nummonth=4;; - May) month=May; nummonth=5;; - Jun) month=June; nummonth=6;; - Jul) month=July; nummonth=7;; - Aug) month=August; nummonth=8;; - Sep) month=September; nummonth=9;; - Oct) month=October; nummonth=10;; - Nov) month=November; nummonth=11;; - Dec) month=December; nummonth=12;; -esac - -case $3 in - ???*) day=$1;; - *) day=$3; shift;; -esac - -# Here we have to deal with the problem that the ls output gives either -# the time of day or the year. -case $3 in - *:*) set `date`; eval year=\$$# - case $2 in - Jan) nummonthtod=1;; - Feb) nummonthtod=2;; - Mar) nummonthtod=3;; - Apr) nummonthtod=4;; - May) nummonthtod=5;; - Jun) nummonthtod=6;; - Jul) nummonthtod=7;; - Aug) nummonthtod=8;; - Sep) nummonthtod=9;; - Oct) nummonthtod=10;; - Nov) nummonthtod=11;; - Dec) nummonthtod=12;; - esac - # For the first six month of the year the time notation can also - # be used for files modified in the last year. - if (expr $nummonth \> $nummonthtod) > /dev/null; - then - year=`expr $year - 1` - fi;; - *) year=$3;; -esac - -# The result. -echo $day $month $year - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.info b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.info deleted file mode 100644 index a560bfaa..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.info +++ /dev/null @@ -1,1089 +0,0 @@ -This is pinentry.info, produced by makeinfo version 6.5 from -pinentry.texi. - -INFO-DIR-SECTION GNU Utilities -START-INFO-DIR-ENTRY -* pinentry: (pinentry). Securely ask for a passphrase or PIN. -END-INFO-DIR-ENTRY - -This file documents the use and the internals of the PINENTRY. - - This is edition 1.2.1, last updated 25 August 2021, of 'The -'PINEntry' Manual', for version 1.2.1. - - Published by g10 Code GmbH -Hüttenstr. 61 -40699 Erkrath, Germany - - Copyright (C) 2002, 2005, 2015 g10 Code GmbH - - Permission is granted to copy, distribute and/or modify this document -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. The text of the license can be found in the -section entitled "Copying". - - -File: pinentry.info, Node: Top, Next: Using pinentry, Up: (dir) - -Introduction -************ - -This manual documents how to use the PINENTRY and its protocol. - - The PINENTRY is a small GUI application used to enter PINs or -passphrases. It is usually invoked by GPG-AGENT (*note Invoking the -gpg-agent: (gnupg)Invoking GPG-AGENT, for details). - - PINENTRY comes in several flavors to fit the look and feel of the -used GUI toolkit: A GTK+ based one named 'pinentry-gtk'; a QT based one -named 'pinentry-qt'; and, two non-graphical ones 'pinentry-curses', -which uses curses, and 'pinentry-tty', which doesn't require anything -more than a simple terminal. Not all of them are necessarily available -on your installation. If curses is supported on your system, the -GUI-based flavors fall back to curses when the 'DISPLAY' variable is not -set. - -* Menu: - -* Using pinentry:: How to use the beast. -* Front ends:: Description and comparison of the front ends - -Developer information - -* Protocol:: The Assuan protocol description. -* Implementation Details:: For those extending or writing a new pinentry. - -Miscellaneous - -* Copying:: GNU General Public License says - how you can copy and share PIN-Entry - as well as this manual. - -Indices - -* Option Index:: Index to command line options. -* Index:: Index of concepts and symbol names. - - -File: pinentry.info, Node: Using pinentry, Next: Front ends, Prev: Top, Up: Top - -1 How to use the PINENTRY -************************* - -You may run PINENTRY directly from the command line and pass the -commands according to the Assuan protocol via stdin/stdout. - - Here is a list of options supported by all flavors of pinentry: - -'--version' - Print the program version and licensing information. - -'--help' - Print a usage message summarizing the most useful command line - options. - -'--debug' -'-d' - Turn on some debugging. Mostly useful for the maintainers. Note - that this may reveal sensitive information like the entered - passphrase. - -'--no-global-grab' -'-g' - Grab the keyboard only when the window is focused. Use this option - if you are debugging software using the PINENTRY; otherwise you may - not be able to to access your X session anymore (unless you have - other means to connect to the machine to kill the PINENTRY). - -'--parent-wid N' - Use window ID N as the parent window for positioning the window. - Note, that this is not fully supported by all flavors of PINENTRY. - -'--timeout SECONDS' - Give up waiting for input from the user after the specified number - of seconds and return an error. The error returned is the same as - if the Cancel button was selected. To disable the timeout and wait - indefinitely, set this to 0, which is the default. - -'--display STRING' -'--ttyname STRING' -'--ttytype STRING' -'--lc-ctype STRING' -'--lc-messages STRING' - These options are used to pass localization information to - PINENTRY. They are required because PINENTRY is usually called by - some background process which does not have any information about - the locale and terminal to use. It is also possible to pass these - options using Assuan protocol options. - - -File: pinentry.info, Node: Front ends, Next: Protocol, Prev: Using pinentry, Up: Top - -2 Front Ends -************ - -There are several different flavors of PINENTRY. Concretely, there are -Gtk+2, Qt 4/5, TQt, EFL, FLTK, Gnome 3, Emacs, curses and tty variants. -These different implementations provide higher levels of integration -with a specific environment. For instance, the Gnome 3 PINENTRY uses -Gnome 3 widgets to display the prompts. For Gnome 3 users, this higher -level of integration provides a more consistent aesthetic. However, -this comes at a cost. Because this PINENTRY uses so many components, -there is a larger chance of a failure. In particular, there is a larger -chance that the passphrase is saved in memory and that memory is exposed -to an attacker (consider the OpenSSL Heartbeat vulnerability). - - To understand how many components touch the passphrase, consider -again the Gnome 3 implementation. When a user presses a button on the -keyboard, the key is passed from the kernel to the X server to the -toolkit (Gtk+) and to the actual text entry widget. Along the way, the -key is saved in memory and processed. In fact, the key presses are -probably read using standard C library functions, which buffer the -input. None of this code is careful to make sure the contents of the -memory are not leaked by keeping the data in unpagable memory and wiping -it when the buffer is freed. However, even if they did, there is still -the problem that when a computer hibernates, the system writes unpagable -memory to disk anyway. Further, many installations are virtualized -(e.g., running on Xen) and have little control over their actual -environment. - - The curses variant uses a significant smaller software stack and the -tty variant uses an even smaller one. However, if they are run in an -X terminal, then a similar number of components are handling the -passphrase as in the Gnome 3 case! Thus, to be most secure, you need to -direct GPG Agent to use a fixed virtual console. Since you need to -remain logged in for GPG Agent to use that console, you should run there -and have 'screen' or 'tmux' lock the tty. - - The Emacs pinentry implementation interacts with a running Emacs -session and directs the Emacs instance to display the passphrase prompt. -Since this doesn't work very well if there is no Emacs running, the -generic PINENTRY backend checks if a PINENTRY-enabled Emacs should be -used. Specifically, it looks to see if the 'INSIDE_EMACS' variable is -set and then attempts to establish a connection to the specified -address. If this is the case, then instead of, e.g., 'pinentry-gtk2' -displaying a Gtk+2 pinentry, it interacts with the Emacs session. This -functionality can be explicitly disabled by passing -'--disable-inside-emacs' to 'configure' when building PINENTRY. - - Having Emacs get the passphrase is convenient, however, it is a -significant security risk. Emacs is a huge program, which doesn't -provide any process isolation to speak of. As such, having it handle -the passphrase adds a huge chunk of code to the user's trusted computing -base. Because of this concern, Emacs doesn't enable this by default, -unless the 'allow-emacs-pinentry' option is explicitly set in his or her -'.gnupg/gpg-agent.conf' file. - - Similar to the inside-emacs check, the PINENTRY frontends check -whether the 'DISPLAY' variable is set and a working X server is -available. If this is not the case, then they fallback to the curses -front end. This can also be disabled by passing -'--disable-fallback-curses' to 'configure' at build time. - - -File: pinentry.info, Node: Protocol, Next: Implementation Details, Prev: Front ends, Up: Top - -3 PINENTRY's Assuan Protocol -**************************** - -The PINENTRY should never service more than one connection at once. It -is reasonable to exec the PINENTRY prior to a request. - - The PINENTRY does not need to stay in memory because the GPG-AGENT -has the ability to cache passphrases. The usual way to run the PINENTRY -is by setting up a pipe (not a socket) and then fork/exec the PINENTRY. -The communication is then done by means of the protocol described here -until the client is satisfied with the result. - - Although it is called a PINENTRY, it allows entering reasonably long -strings (strings that are up to 2048 characters long are supported by -every pinentry). The client using the PINENTRY has to check for -correctness. - - Note that all strings are expected to be encoded as UTF-8; PINENTRY -takes care of converting it to the locally used codeset. To include -linefeeds or other special characters, you may percent-escape them -(e.g., a line feed is encoded as '%0A', the percent sign itself is -encoded as '%25', etc.). - - The following is a list of supported commands: - -'Set the timeout before returning an error' - C: SETTIMEOUT 30 - S: OK - -'Set the descriptive text to display' - C: SETDESC Enter PIN for Richard Nixon <nobody@trickydicky.gov> - S: OK - -'Set the prompt to show' - When asking for a PIN, set the text just before the widget for - passphrase entry. - C: SETPROMPT PIN: - S: OK - - You should use an underscore in the text only if you know that a - modern version of pinentry is used. Modern versions underline the - next character after the underscore and use the first such - underlined character as a keyboard accelerator. Use a double - underscore to escape an underscore. - -'Set the window title' - This command may be used to change the default window title. When - using this feature you should take care that the window is still - identifiable as the pinentry. - C: SETTITLE Tape Recorder Room - S: OK - -'Set the button texts' - There are three texts which should be used to override the English - defaults: - - To set the text for the button signaling confirmation (in UTF-8). - See SETPROMPT on how to use an keyboard accelerator. - C: SETOK Yes - S: OK - - To set the text for the button signaling cancellation or - disagreement (in UTF-8). See SETPROMPT on how to use an keyboard - accelerator. - C: SETCANCEL No - S: OK - - In case three buttons are required, use the following command to - set the text (UTF-8) for the non-affirmative response button. The - affirmative button text is still set using SETOK and the CANCEL - button text with SETCANCEL. See SETPROMPT on how to use an keyboard - accelerator. - C: SETNOTOK Do not do this - S: OK - -'Set the Error text' - This is used by the client to display an error message. In - contrast to the other commands, the error message is automatically - reset with a GETPIN or CONFIRM, and is only displayed when asking - for a PIN. - C: SETERROR Invalid PIN entered - please try again - S: OK - -'Enable a passphrase quality indicator' - Adds a quality indicator to the GETPIN window. This indicator is - updated as the passphrase is typed. The clients needs to implement - an inquiry named "QUALITY" which gets passed the current passphrase - (percent-plus escaped) and should send back a string with a single - numerical value between -100 and 100. Negative values will be - displayed in red. - C: SETQUALITYBAR - S: OK - - If a custom label for the quality bar is required, just add that - label as an argument as a percent-escaped string. You will need - this feature to translate the label because PINENTRY has no - internal gettext except for stock strings from the toolkit library. - - If you want to show a tooltip for the quality bar, you may use - C: SETQUALITYBAR_TT string - S: OK - - With STRING being a percent escaped string shown as the tooltip. - -'Enable enforcement of passphrase constraints' - This will make the pinentry check whether the new passphrase - entered by the user satisfies the passphrase constraints before - passing the passphrase to gpg-agent and closing the pinentry. This - gives the user the chance to modify the passphrase until the - constraints are satisfied without retyping the passphrase. - C: OPTION constraints-enforce - S: OK - - To inform the user about the constraints a short hint and a longer - hint can be set using - C: OPTION constraints-hint-short=At least 8 characters - S: OK - C: OPTION constraints-hint-long=The passphrase must ... - S: OK - - Additionally, a title for the dialog showing details in case of - unsatisfied constraints can be set using - C: OPTION constraints-error-title=Passphrase Not Allowed - S: OK - - All strings have to be percent escaped. - -'Enable an action for generating a passphrase' - Adds an action for generating a random passphrase to the GETPIN - window. The action is only available when asking for a new - passphrase, i.e. if SETREPEAT has been called. - C: SETGENPIN Suggest - S: OK - - If you want to provide a tooltip for the action, you may use - C: SETGENPIN_TT Suggest a random passphrase - S: OK - -'Enable passphrase formatting' - Passphrase formatting will group the characters of the passphrase - into groups of five characters separated by non-breaking spaces or - a similar separator. This is useful in combination with passphrase - generation to make the generated passphrase easier readable. - C: OPTION formatted-passphrase - S: OK - - Note: If passphrase formatting is enabled, then, depending on the - concrete pinentry, all occurrences of the character used as - separator may be stripped from the entered passphrase. - - To provide a hint for the user that is shown if passphrase - formatting is enabled use - C: OPTION formatted-passphrase-hint=Blanks are not part of the passphrase. - S: OK - -'Ask for a PIN' - The meat of this tool is to ask for a passphrase of PIN, it is done - with this command: - C: GETPIN - S: D no more tapes - S: OK - Note that the passphrase is transmitted in clear using standard - data responses. Expect it to be in UTF-8. - -'Ask for confirmation' - To ask for a confirmation (yes or no), you can use this command: - C: CONFIRM - S: OK - The client should use SETDESC to set an appropriate text before - issuing this command, and may use SETPROMPT to set the button - texts. The value returned is either OK for YES or the error code - 'ASSUAN_Not_Confirmed'. - -'Show a message' - To show a message, you can use this command: - C: MESSAGE - S: OK - alternatively you may add an option to confirm: - C: CONFIRM --one-button - S: OK - The client should use SETDESC to set an appropriate text before - issuing this command, and may use SETOK to set the text for the - dismiss button. The value returned is OK or an error message. - -'Set the output device' - When using X, the PINENTRY program must be invoked with an - appropriate 'DISPLAY' environment variable or the '--display' - option. - - When using a text terminal: - C: OPTION ttyname=/dev/tty3 - S: OK - C: OPTION ttytype=vt100 - S: OK - C: OPTION lc-ctype=de_DE.UTF-8 - S: OK - The client should use the 'ttyname' option to set the output TTY - file name, the 'ttytype' option to the 'TERM' variable appropriate - for this tty and 'lc-ctype' to the locale which defines the - character set to use for this terminal. - -'Set the default strings' - To avoid having translations in Pinentry proper, the caller may set - certain translated strings which are used by PINENTRY as default - strings. - - C: OPTION default-ok=_Korrekt - S: OK - C: OPTION default-cancel=Abbruch - S: OK - C: OPTION default-prompt=PIN eingeben: - S: OK - The strings are subject to accelerator marking, see SETPROMPT for - details. - -'Passphrase caching' - - Some environments, such as GNOME, cache passwords and passphrases. - The PINENTRY should only use an external cache if the - 'allow-external-password-cache' option was set and a stable key - identifier (using SETKEYINFO) was provided. In this case, if the - passphrase was read from the cache, the PINENTRY should send the - 'PASSWORD_FROM_CACHE' status message before returning the - passphrase. This indicates to GPG Agent that it should not - increment the passphrase retry counter. - - C: OPTION allow-external-password-cache - S: OK - C: SETKEYINFO key-grip - S: OK - C: getpin - S: S PASSWORD_FROM_CACHE - S: D 1234 - S: OK - - Note: if 'allow-external-password-cache' is not specified, an - external password cache must not be used: this can lead to subtle - bugs. In particular, if this option is not specified, then GPG - Agent does not recognize the 'PASSWORD_FROM_CACHE' status message - and will count trying a cached password against the password retry - count. If the password retry count is 1, then the user will never - have the opportunity to correct the cached password. - - Note: it is strongly recommended that a pinentry supporting this - feature provide the user an option to enable it manually. That is, - saving a passphrase in an external password manager should be - opt-in. - - The key identifier provided SETKEYINFO must be considered opaque - and may change in the future. It currently has the form - 'X/HEXSTRING' where 'X' is either 'n', 's', or 'u'. In the former - two cases, the HEXSTRING corresponds to the key grip. The key grip - is not the OpenPGP Key ID, but it can be mapped to the key using - the following: - - # gpg2 --with-keygrip --list-secret-keys - - and searching the output for the key grip. The same command-line - options can also be used with gpgsm. - - -File: pinentry.info, Node: Implementation Details, Next: Copying, Prev: Protocol, Up: Top - -4 Implementation Details -************************ - -The pinentry source code can be divided into three categories. There is -a backend module, which lives in 'pinentry/', there are utility -functions, e.g., in 'secmem/', and there are various frontends. - - All of the low-level logic lives in the backend. This frees the -frontends from having to implement, e.g., the Assuan protocol. When the -backend receives an option, it updates the state in a 'pinentry_t' -struct. The frontend is called when the client either calls 'GETPIN', -'CONFIRM' or 'MESSAGE'. In these cases, the backend invokes the -'pinentry_cmd_handler', which is passed the 'pinentry_t' struct. - - When the callback is invoked, the frontend should create a window -based on the state in the 'pinentry_t' struct. For instance, the title -to use for the dialog's window (if any) is stored in the 'title' field. -If the is 'NULL', the frontend should choose a reasonable default value. -(Default is not always provided, because different tool kits and -environments have different reasonable defaults.) - - The widget needs to support a number of different interactions with -the user. Each of them is described below. - -'Passphrase Confirmation' - - When creating a new key, the passphrase should be entered twice. - The client (typically GPG Agent) indicates this to the PINENTRY by - invoking 'SETREPEAT'. In this case, the backend sets the - 'repeat_passphrase' field to a copy of the passed string. The - value of this field should be used to label a second text input. - - It is the frontend's responsibility to check that the passwords - match. If they don't match, the frontend should display an error - message and continue to prompt the user. - - If the passwords do match, then, when the user presses the okay - button, the 'repeat_okay' field should be set to '1' (this causes - the backend to emit the 'S PIN_REPEATED' status message). - -'Message Box' - - Sometimes GPG Agent needs to display a message. In this case, the - 'pin' variable is 'NULL'. - - At the Assuan level, this mode is selected by using either the - 'MESSAGE' or the 'CONFIRM' command instead of the 'GETPIN' command. - The 'MESSAGE' command never shows the cancel or an other button. - The same holds for 'CONFIRM' if it was passed the "-one-button" - argument. If 'CONFIRM' was not passed this argument, the dialog - for 'CONFIRM' should show both the 'ok' and the 'cancel' buttons - and optionally the 'notok' button. The frontend can determine - whether the dialog is a one-button dialog by inspecting the - 'one_button' variable. - -'Passphrase Entry' - - If neither of the above cases holds, then GPG Agent is simply - requesting the passphrase. In this case, the 'ok' and 'cancel' - buttons should be displayed. - - The layout of the three variants is quite similar. Here are the -relevant elements that describe the layout: - -'title' - The window's title. - -'description' - The reason for the dialog. When requesting a passphrase, this - describes the key. When showing a message box, this is the message - to show. - -'error' - If GPG Agent determines that the passphrase was incorrect, it will - call 'GETPIN' again (up to a configurable number of times) to again - prompt the user. In this case, this variable contains a - description of the error message. This text should typically be - highlighted in someway. - -'prompt, default-prompt' - The string to associate with the passphrase entry box. - - There is a subtle difference between 'prompt' and 'default-prompt'. - 'default-prompt' means that a stylized prompt (e.g., an icon - suggesting a prompt) may be used. 'prompt' means that the entry's - meaning is not consistent with such a style and, as such, no icon - should be used. - - If both variables are set, the 'prompt' variant takes precedence. - -'repeat_passphrase' - The string to associate with the second passphrase entry box. The - second passphrase entry box should only be shown if this is not - 'NULL'. - -'ok, default-ok' - The string to show in the 'ok' button. - - If there are any '_' characters, the following character should be - used as an accelerator. (A double underscore means a plain - underscore should be shown.) If the frontend does not support - accelerators, then the underscores should be removed manually. - - There is a subtle difference between 'ok' and 'default-ok'. - 'default-ok' means that a stylized OK button should be used. For - instance, it could include a check mark. 'ok' means that the - button's meaning is not consistent with such an icon and, as such, - no icon should be used. Thus, if the 'ok' button should have the - text "No password required" then 'ok' should be used because a - check mark icon doesn't make sense. - - If this variable is 'NULL', the frontend should choose a reasonable - default. - - If both variables are set, the 'ok' variant takes precedence. - -'cancel, default-cancel' - Like the 'ok' and 'default-ok' buttons except these strings are - used for the cancel button. - - This button should not be shown if 'one_button' is set. - - 'default-notok' Like the 'default-ok' button except this string is - used for the other button. - - This button should only be displayed when showing a message box. - If these variables are 'NULL' or 'one_button' is set, this button - should not be displayed. - -'quality_bar' - If this is set, a widget should be used to show the password's - quality. The value of this field is a label for the widget. - - Note: to update the password quality, whenever the password - changes, call the 'pinentry_inq_quality' function and then update - the password quality widget correspondingly. - -'quality_bar_tt' - A tooltip for the quality bar. - -'constraints_enforce' - If this is not 0, then passphrase constraints are enforced by - gpg-agent. In this case pinentry can use the - 'pinentry_inq_checkpin' function for checking whether the new - passphrase satisfies the constraints before passing it to - gpg-agent. - -'constraints_hint_short' - A short translated hint for the user with the constraints for new - passphrases to be displayed near the passphrase input field. - -'constraints_hint_short' - A longer translated hint for the user with the constraints for new - passphrases to be displayed for example as tooltip. - -'constraints_error_title' - A short translated title for an error dialog informing the user - about unsatisfied passphrase constraints. - -'genpin_label' - If this is set, a generate action should be shown. The value of - this field is a label for the action. - - Note: Call the 'pinentry_inq_genpin' function to request a randomly - generated passphrase. - -'genpin_tt' - The tooltip for the generate action. - -'formatted_passphrase' - If this is not 0, then passphrase formatting should be enabled. If - it is enabled, then the unmasked passphrase should be grouped into - groups of five characters separated by non-breaking spaces or a - similar separator. - - To simplify the implementation all occurrences of the character - used as separator can be stripped from the entered passphrase, if - formatting is enabled. - -'formatted_passphrase_hint' - A hint to be shown if passphrase formatting is enabled. It should - be shown near the passphrase input field. - -'default_pwmngr' - If 'may_cache_password' and 'keyinfo' are set and the user - consents, then the PINENTRY may cache the password with an external - manager. Note: getting the user's consent is essential, because - password managers often provide a different level of security. If - the above condition is true and 'tried_password_cache' is false, - then a check box with the specified string should be displayed. - The check box must default to off. - -'default-cf-visi' - The string to show with a question if you want to confirm that the - user wants to change the visibility of the password. - -'default-tt-visi' - Tooltip for an action that would reveal the entered password. - -'default-tt-hide' - Tooltip for an action that would hide the password revealed by the - action labeld with 'default-tt-visi' - -'default-capshint' - A hint to be shown if Caps Lock is on. - - When the handler is done, it should store the passphrase in 'pin', if -appropriate. This variable is allocated in secure memory. Use -'pinentry_setbufferlen' to size the buffer. - - The actual return code is dependent on whether the dialog is in -message mode or in passphrase mode. - - If the dialog is in message mode and the user pressed ok, return 1. -Otherwise, return 0. If an error occurred, indicate this by setting it -in 'specific_err' or setting 'locale_err' to '1' (for locale specific -errors). If the dialog was canceled, then the handler should set the -'canceled' variable to '1'. If the not ok button was pressed, don't do -anything else. - - If the dialog is in passphrase mode return '1' if the user entered a -password and pressed ok. If an error occurred, return '-1' and set -'specific_err' or 'locale_err', as above. If the user canceled the -dialog box, return '-1'. - - If the window was closed, then the handler should set the -'close_button' variable and otherwise act as if the cancel button was -pressed. - - -File: pinentry.info, Node: Copying, Next: Option Index, Prev: Implementation Details, Up: Top - -GNU General Public License -************************** - - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -Preamble -======== - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free software--to -make sure the software is free for all its users. This General Public -License applies to most of the Free Software Foundation's software and -to any other program whose authors commit to using it. (Some other Free -Software Foundation software is covered by the GNU Library General -Public License instead.) You can apply it to your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it if -you want it, that you can change the software or use pieces of it in new -free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, -and (2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 1. 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. - - 2. 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. - - 3. 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. - - 4. 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. - - 5. 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. - - 6. 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. - - 7. 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. - - 8. 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. - - 9. 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. - - 10. 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. - - 11. 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 - - 12. 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. - - 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY - MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE - LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, - INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR - INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU - OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY - OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs -============================================= - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - ONE LINE TO GIVE THE PROGRAM'S NAME AND AN IDEA OF WHAT IT DOES. - Copyright (C) 19YY NAME OF AUTHOR - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. - - Also add information on how to contact you by electronic and paper -mail. - - If the program is interactive, make it output a short notice like -this when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details - type `show w'. This is free software, and you are welcome - to redistribute it under certain conditions; type `show c' - for details. - - The hypothetical commands 'show w' and 'show c' should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than 'show w' and 'show -c'; they could even be mouse-clicks or menu items--whatever suits your -program. - - You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the program, -if necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright - interest in the program `Gnomovision' - (which makes passes at compilers) written - by James Hacker. - - SIGNATURE OF TY COON, 1 April 1989 - Ty Coon, President of Vice - - This General Public License does not permit incorporating your -program into proprietary programs. If your program is a subroutine -library, you may consider it more useful to permit linking proprietary -applications with the library. If this is what you want to do, use the -GNU Library General Public License instead of this License. - - -File: pinentry.info, Node: Option Index, Next: Index, Prev: Copying, Up: Top - -Option Index -************ - - -* Menu: - -* d: Using pinentry. (line 20) -* debug: Using pinentry. (line 20) -* display: Using pinentry. (line 46) -* g: Using pinentry. (line 26) -* help: Using pinentry. (line 15) -* lc-ctype: Using pinentry. (line 46) -* lc-messa: Using pinentry. (line 46) -* no-global-grab: Using pinentry. (line 26) -* parent-wid: Using pinentry. (line 32) -* timeout: Using pinentry. (line 36) -* ttyname: Using pinentry. (line 46) -* ttytype: Using pinentry. (line 46) -* version: Using pinentry. (line 12) - - -File: pinentry.info, Node: Index, Prev: Option Index, Up: Top - -Index -***** - - -* Menu: - -* GPL, GNU General Public License: Copying. (line 6) -* introduction: Top. (line 6) - - - -Tag Table: -Node: Top815 -Node: Using pinentry2240 -Node: Front ends4091 -Node: Protocol7660 -Node: Implementation Details18285 -Node: Copying27843 -Node: Option Index47022 -Node: Index48104 - -End Tag Table diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.texi b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.texi deleted file mode 100644 index 11728909..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.texi +++ /dev/null @@ -1,865 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename pinentry.info - -@include version.texi - -@macro copyrightnotice -Copyright @copyright{} 2002, 2005, 2015 g10 Code GmbH -@end macro -@macro permissionnotice -Permission is granted to copy, distribute and/or modify this document -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. The text of the license can be found in the -section entitled ``Copying''. -@end macro - -@macro pinentry -@sc{pinentry} -@end macro - -@settitle Using the PIN-Entry - -@c Create a separate index for command line options. -@defcodeindex op -@c Merge the standard indexes into a single one. -@syncodeindex fn cp -@syncodeindex vr cp -@syncodeindex ky cp -@syncodeindex pg cp -@syncodeindex tp cp - -@c printing stuff taken from gcc. -@macro gnupgtabopt{body} -@code{\body\} -@end macro -@macro gnupgoptlist{body} -@smallexample -\body\ -@end smallexample -@end macro -@c Makeinfo handles the above macro OK, TeX needs manual line breaks; -@c they get lost at some point in handling the macro. But if @macro is -@c used here rather than @alias, it produces double line breaks. -@iftex -@alias gol = * -@end iftex -@ifnottex -@macro gol -@end macro -@end ifnottex - - -@c %**end of header - -@ifnottex -@dircategory GNU Utilities -@direntry -* pinentry: (pinentry). Securely ask for a passphrase or PIN. -@end direntry -This file documents the use and the internals of the @pinentry{}. - -This is edition @value{EDITION}, last updated @value{UPDATED}, of -@cite{The `PINEntry' Manual}, for version @value{VERSION}. -@sp 1 -Published by g10 Code GmbH@* -Hüttenstr. 61@* -40699 Erkrath, Germany -@sp 1 -@copyrightnotice{} -@sp 1 -@permissionnotice{} -@end ifnottex - -@setchapternewpage odd - -@titlepage -@title Using the PIN-Entry -@subtitle Version @value{VERSION} -@subtitle @value{UPDATED} -@author Werner Koch @code{(wk@@gnupg.org)} - -@page -@vskip 0pt plus 1filll -@copyrightnotice{} -@sp 2 -@permissionnotice{} -@end titlepage -@summarycontents -@contents -@page - - -@node Top -@top Introduction -@cindex introduction - -This manual documents how to use the @pinentry{} and its protocol. - -The @pinentry{} is a small GUI application used to enter PINs or -passphrases. It is usually invoked by @sc{gpg-agent} -(@pxref{Invoking GPG-AGENT, ,Invoking the gpg-agent, gnupg, - The `GNU Privacy Guard' Manual}, for details). - -@pinentry{} comes in several flavors to fit the look and feel of the -used GUI toolkit: A @sc{GTK+} based one named @code{pinentry-gtk}; a -@sc{Qt} based one named @code{pinentry-qt}; and, two non-graphical -ones @code{pinentry-curses}, which uses curses, and -@code{pinentry-tty}, which doesn't require anything more than a simple -terminal. Not all of them are necessarily available on your -installation. If curses is supported on your system, the GUI-based -flavors fall back to curses when the @code{DISPLAY} variable is not -set. - - -@menu -* Using pinentry:: How to use the beast. -* Front ends:: Description and comparison of the front ends - -Developer information - -* Protocol:: The Assuan protocol description. -* Implementation Details:: For those extending or writing a new pinentry. - -Miscellaneous - -* Copying:: GNU General Public License says - how you can copy and share PIN-Entry - as well as this manual. - -Indices - -* Option Index:: Index to command line options. -* Index:: Index of concepts and symbol names. -@end menu - -@node Using pinentry -@chapter How to use the @pinentry{} - -@c man begin DESCRIPTION - -You may run @pinentry{} directly from the command line and pass the -commands according to the Assuan protocol via stdin/stdout. - - -@c man end - -@c man begin OPTIONS - -Here is a list of options supported by all flavors of pinentry: - -@table @gnupgtabopt -@item --version -@opindex version -Print the program version and licensing information. - -@item --help -@opindex help -Print a usage message summarizing the most useful command line options. - -@item --debug -@itemx -d -@opindex debug -@opindex d -Turn on some debugging. Mostly useful for the maintainers. Note that -this may reveal sensitive information like the entered passphrase. - -@c @item --enhanced -@c @itemx -e -@c @opindex enhanced -@c @opindex e -@c Ask for timeouts and insurance, too. Note that this is currently not -@c fully supported. - -@item --no-global-grab -@itemx -g -@opindex no-global-grab -@opindex g -Grab the keyboard only when the window is focused. Use this option if -you are debugging software using the @pinentry{}; otherwise you may -not be able to to access your X session anymore (unless you have other -means to connect to the machine to kill the @pinentry{}). - -@item --parent-wid @var{n} -@opindex parent-wid -Use window ID @var{n} as the parent window for positioning the window. -Note, that this is not fully supported by all flavors of @pinentry{}. - -@item --timeout @var{seconds} -@opindex timeout -Give up waiting for input from the user after the specified number of -seconds and return an error. The error returned is the same as if the -Cancel button was selected. To disable the timeout and wait -indefinitely, set this to 0, which is the default. - -@item --display @var{string} -@itemx --ttyname @var{string} -@itemx --ttytype @var{string} -@itemx --lc-ctype @var{string} -@itemx --lc-messages @var{string} -@opindex display -@opindex ttyname -@opindex ttytype -@opindex lc-ctype -@opindex lc-messa -These options are used to pass localization information to -@pinentry{}. They are required because @pinentry{} is usually called -by some background process which does not have any information about -the locale and terminal to use. It is also possible to pass these -options using Assuan protocol options. -@end table - -@node Front ends -@chapter Front Ends - -There are several different flavors of @pinentry{}. Concretely, there -are Gtk+2, Qt@tie{}4/5, TQt, EFL, FLTK, Gnome@tie{}3, Emacs, curses and -tty variants. These different implementations provide higher levels -of integration with a specific environment. For instance, the -Gnome@tie{}3 @pinentry{} uses Gnome@tie{}3 widgets to display the -prompts. For Gnome@tie{}3 users, this higher level of integration -provides a more consistent aesthetic. However, this comes at a cost. -Because this @pinentry{} uses so many components, there is a larger -chance of a failure. In particular, there is a larger chance that the -passphrase is saved in memory and that memory is exposed to an -attacker (consider the OpenSSL Heartbeat vulnerability). - -To understand how many components touch the passphrase, consider again -the Gnome@tie{}3 implementation. When a user presses a button on the -keyboard, the key is passed from the kernel to the X@tie{}server to -the toolkit (Gtk+) and to the actual text entry widget. Along the -way, the key is saved in memory and processed. In fact, the key -presses are probably read using standard C library functions, which -buffer the input. None of this code is careful to make sure the -contents of the memory are not leaked by keeping the data in unpagable -memory and wiping it when the buffer is freed. However, even if they -did, there is still the problem that when a computer hibernates, the -system writes unpagable memory to disk anyway. Further, many -installations are virtualized (e.g., running on Xen) and have little -control over their actual environment. - -The curses variant uses a significant smaller software stack and the -tty variant uses an even smaller one. However, if they are run in an -X@tie{}terminal, then a similar number of components are handling the -passphrase as in the Gnome@tie{}3 case! Thus, to be most secure, you -need to direct GPG@tie{}Agent to use a fixed virtual console. Since -you need to remain logged in for GPG@tie{}Agent to use that console, -you should run there and have @code{screen} or @code{tmux} lock the -tty. - -The Emacs pinentry implementation interacts with a running Emacs -session and directs the Emacs instance to display the passphrase -prompt. Since this doesn't work very well if there is no Emacs -running, the generic @pinentry{} backend checks if a -@pinentry{}-enabled Emacs should be used. Specifically, it looks to -see if the @code{INSIDE_EMACS} variable is set and then attempts to -establish a connection to the specified address. If this is the case, -then instead of, e.g., @code{pinentry-gtk2} displaying a Gtk+2 -pinentry, it interacts with the Emacs session. This functionality can -be explicitly disabled by passing @code{--disable-inside-emacs} to -@code{configure} when building @pinentry{}. - -Having Emacs get the passphrase is convenient, however, it is a -significant security risk. Emacs is a huge program, which doesn't -provide any process isolation to speak of. As such, having it handle -the passphrase adds a huge chunk of code to the user's trusted computing -base. Because of this concern, Emacs doesn't enable this by default, -unless the @code{allow-emacs-pinentry} option is explicitly set in his -or her @code{.gnupg/gpg-agent.conf} file. - -Similar to the inside-emacs check, the @pinentry{} frontends check -whether the @code{DISPLAY} variable is set and a working X server is -available. If this is not the case, then they fallback to the curses -front end. This can also be disabled by passing -@code{--disable-fallback-curses} to @code{configure} at build time. - -@c -@c Assuan Protocol -@c -@node Protocol -@chapter @pinentry{}'s Assuan Protocol - -The @pinentry{} should never service more than one connection at once. -It is reasonable to exec the @pinentry{} prior to a request. - -The @pinentry{} does not need to stay in memory because the -@sc{gpg-agent} has the ability to cache passphrases. The usual way to -run the @pinentry{} is by setting up a pipe (not a socket) and then -fork/exec the @pinentry{}. The communication is then done by means of -the protocol described here until the client is satisfied with the -result. - -Although it is called a @pinentry{}, it allows entering reasonably -long strings (strings that are up to 2048 characters long are -supported by every pinentry). The client using the @pinentry{} has to -check for correctness. - -Note that all strings are expected to be encoded as UTF-8; @pinentry{} -takes care of converting it to the locally used codeset. To include -linefeeds or other special characters, you may percent-escape them -(e.g., a line feed is encoded as @code{%0A}, the percent sign itself -is encoded as @code{%25}, etc.). - -The following is a list of supported commands: - -@table @gnupgtabopt - -@item Set the timeout before returning an error -@example - C: SETTIMEOUT 30 - S: OK -@end example - -@item Set the descriptive text to display -@example - C: SETDESC Enter PIN for Richard Nixon <nobody@@trickydicky.gov> - S: OK -@end example - -@item Set the prompt to show -When asking for a PIN, set the text just before the widget for -passphrase entry. -@example - C: SETPROMPT PIN: - S: OK -@end example - -You should use an underscore in the text only if you know that a -modern version of pinentry is used. Modern versions underline the -next character after the underscore and use the first such underlined -character as a keyboard accelerator. Use a double underscore to -escape an underscore. - -@item Set the window title -This command may be used to change the default window title. When -using this feature you should take care that the window is still -identifiable as the pinentry. -@example - C: SETTITLE Tape Recorder Room - S: OK -@end example - -@item Set the button texts -There are three texts which should be used to override the English -defaults: - -To set the text for the button signaling confirmation (in UTF-8). -See SETPROMPT on how to use an keyboard accelerator. -@example - C: SETOK Yes - S: OK -@end example - - -To set the text for the button signaling cancellation or disagreement -(in UTF-8). See SETPROMPT on how to use an keyboard accelerator. -@example - C: SETCANCEL No - S: OK -@end example - - -In case three buttons are required, use the following command to set -the text (UTF-8) for the non-affirmative response button. The -affirmative button text is still set using SETOK and the CANCEL button -text with SETCANCEL. See SETPROMPT on how to use an keyboard -accelerator. -@example - C: SETNOTOK Do not do this - S: OK -@end example - - - -@item Set the Error text -This is used by the client to display an error message. In contrast -to the other commands, the error message is automatically reset with -a GETPIN or CONFIRM, and is only displayed when asking for a PIN. -@example - C: SETERROR Invalid PIN entered - please try again - S: OK -@end example - -@item Enable a passphrase quality indicator -Adds a quality indicator to the GETPIN window. This indicator is -updated as the passphrase is typed. The clients needs to implement an -inquiry named "QUALITY" which gets passed the current passphrase -(percent-plus escaped) and should send back a string with a single -numerical value between -100 and 100. Negative values will be -displayed in red. -@example - C: SETQUALITYBAR - S: OK -@end example - -If a custom label for the quality bar is required, just add that label -as an argument as a percent-escaped string. You will need this -feature to translate the label because @pinentry{} has no internal -gettext except for stock strings from the toolkit library. - -If you want to show a tooltip for the quality bar, you may use -@example - C: SETQUALITYBAR_TT string - S: OK -@end example - -@noindent -With STRING being a percent escaped string shown as the tooltip. - - -@item Enable enforcement of passphrase constraints -This will make the pinentry check whether the new passphrase entered by -the user satisfies the passphrase constraints before passing the passphrase -to gpg-agent and closing the pinentry. This gives the user the chance to -modify the passphrase until the constraints are satisfied without retyping -the passphrase. -@example - C: OPTION constraints-enforce - S: OK -@end example - -To inform the user about the constraints a short hint and a longer hint -can be set using -@example - C: OPTION constraints-hint-short=At least 8 characters - S: OK - C: OPTION constraints-hint-long=The passphrase must ... - S: OK -@end example - -Additionally, a title for the dialog showing details in case of unsatisfied -constraints can be set using -@example - C: OPTION constraints-error-title=Passphrase Not Allowed - S: OK -@end example - -All strings have to be percent escaped. - - -@item Enable an action for generating a passphrase -Adds an action for generating a random passphrase to the GETPIN window. -The action is only available when asking for a new passphrase, i.e. if -SETREPEAT has been called. -@example - C: SETGENPIN Suggest - S: OK -@end example - -If you want to provide a tooltip for the action, you may use -@example - C: SETGENPIN_TT Suggest a random passphrase - S: OK -@end example - - -@item Enable passphrase formatting -Passphrase formatting will group the characters of the passphrase into -groups of five characters separated by non-breaking spaces or a similar -separator. This is useful in combination with passphrase generation to make -the generated passphrase easier readable. -@example - C: OPTION formatted-passphrase - S: OK -@end example - -Note: If passphrase formatting is enabled, then, depending on the concrete -pinentry, all occurrences of the character used as separator may be stripped -from the entered passphrase. - -To provide a hint for the user that is shown if passphrase formatting is -enabled use -@example - C: OPTION formatted-passphrase-hint=Blanks are not part of the passphrase. - S: OK -@end example - - -@item Ask for a PIN -The meat of this tool is to ask for a passphrase of PIN, it is done with -this command: -@example - C: GETPIN - S: D no more tapes - S: OK -@end example -Note that the passphrase is transmitted in clear using standard data -responses. Expect it to be in UTF-8. - -@item Ask for confirmation -To ask for a confirmation (yes or no), you can use this command: -@example - C: CONFIRM - S: OK -@end example -The client should use SETDESC to set an appropriate text before -issuing this command, and may use SETPROMPT to set the button texts. -The value returned is either OK for YES or the error code -@code{ASSUAN_Not_Confirmed}. - -@item Show a message -To show a message, you can use this command: -@example - C: MESSAGE - S: OK -@end example -alternatively you may add an option to confirm: -@example - C: CONFIRM --one-button - S: OK -@end example -The client should use SETDESC to set an appropriate text before issuing -this command, and may use SETOK to set the text for the dismiss button. -The value returned is OK or an error message. - -@item Set the output device -When using X, the @pinentry{} program must be invoked with an -appropriate @code{DISPLAY} environment variable or the -@code{--display} option. - -When using a text terminal: -@example - C: OPTION ttyname=/dev/tty3 - S: OK - C: OPTION ttytype=vt100 - S: OK - C: OPTION lc-ctype=de_DE.UTF-8 - S: OK -@end example -The client should use the @code{ttyname} option to set the output TTY -file name, the @code{ttytype} option to the @code{TERM} variable -appropriate for this tty and @code{lc-ctype} to the locale which -defines the character set to use for this terminal. - -@item Set the default strings -To avoid having translations in Pinentry proper, the caller may set -certain translated strings which are used by @pinentry{} as default -strings. - -@example - C: OPTION default-ok=_Korrekt - S: OK - C: OPTION default-cancel=Abbruch - S: OK - C: OPTION default-prompt=PIN eingeben: - S: OK -@end example -The strings are subject to accelerator marking, see SETPROMPT for -details. - -@item Passphrase caching - -Some environments, such as GNOME, cache passwords and passphrases. -The @pinentry{} should only use an external cache if the -@code{allow-external-password-cache} option was set and a stable key -identifier (using SETKEYINFO) was provided. In this case, if the -passphrase was read from the cache, the @pinentry{} should send the -@code{PASSWORD_FROM_CACHE} status message before returning the -passphrase. This indicates to GPG Agent that it should not increment -the passphrase retry counter. - -@example - C: OPTION allow-external-password-cache - S: OK - C: SETKEYINFO key-grip - S: OK - C: getpin - S: S PASSWORD_FROM_CACHE - S: D 1234 - S: OK -@end example - -Note: if @code{allow-external-password-cache} is not specified, an -external password cache must not be used: this can lead to subtle -bugs. In particular, if this option is not specified, then GPG Agent -does not recognize the @code{PASSWORD_FROM_CACHE} status message and -will count trying a cached password against the password retry count. -If the password retry count is 1, then the user will never have the -opportunity to correct the cached password. - -Note: it is strongly recommended that a pinentry supporting this -feature provide the user an option to enable it manually. That is, -saving a passphrase in an external password manager should be opt-in. - -The key identifier provided SETKEYINFO must be considered opaque and -may change in the future. It currently has the form -@code{X/HEXSTRING} where @code{X} is either @code{n}, @code{s}, or -@code{u}. In the former two cases, the HEXSTRING corresponds to the -key grip. The key grip is not the OpenPGP Key ID, but it can be -mapped to the key using the following: - -@example - # gpg2 --with-keygrip --list-secret-keys -@end example - -@noindent -and searching the output for the key grip. The same command-line -options can also be used with gpgsm. - -@end table - -@node Implementation Details -@chapter Implementation Details - -The pinentry source code can be divided into three categories. There -is a backend module, which lives in @code{pinentry/}, there are -utility functions, e.g., in @code{secmem/}, and there are various -frontends. - -All of the low-level logic lives in the backend. This frees the -frontends from having to implement, e.g., the Assuan protocol. When -the backend receives an option, it updates the state in a -@code{pinentry_t} struct. The frontend is called when the client -either calls @code{GETPIN}, @code{CONFIRM} or @code{MESSAGE}. In -these cases, the backend invokes the @code{pinentry_cmd_handler}, -which is passed the @code{pinentry_t} struct. - -When the callback is invoked, the frontend should create a window -based on the state in the @code{pinentry_t} struct. For instance, the -title to use for the dialog's window (if any) is stored in the -@code{title} field. If the is @code{NULL}, the frontend should choose -a reasonable default value. (Default is not always provided, because -different tool kits and environments have different reasonable -defaults.) - -The widget needs to support a number of different interactions with -the user. Each of them is described below. - -@table @gnupgtabopt -@item Passphrase Confirmation - -When creating a new key, the passphrase should be entered twice. The -client (typically GPG Agent) indicates this to the @pinentry{} by -invoking @code{SETREPEAT}. In this case, the backend sets the -@code{repeat_passphrase} field to a copy of the passed string. The -value of this field should be used to label a second text input. - -It is the frontend's responsibility to check that the passwords match. -If they don't match, the frontend should display an error message and -continue to prompt the user. - -If the passwords do match, then, when the user presses the okay -button, the @code{repeat_okay} field should be set to @code{1} (this -causes the backend to emit the @code{S PIN_REPEATED} status message). - -@item Message Box - -Sometimes GPG Agent needs to display a message. In this case, the -@code{pin} variable is @code{NULL}. - -At the Assuan level, this mode is selected by using either the -@code{MESSAGE} or the @code{CONFIRM} command instead of the -@code{GETPIN} command. The @code{MESSAGE} command never shows the -cancel or an other button. The same holds for @code{CONFIRM} if it -was passed the ``--one-button'' argument. If @code{CONFIRM} was not -passed this argument, the dialog for @code{CONFIRM} should show both -the @code{ok} and the @code{cancel} buttons and optionally the -@code{notok} button. The frontend can determine whether the dialog is -a one-button dialog by inspecting the @code{one_button} variable. - -@item Passphrase Entry - -If neither of the above cases holds, then GPG Agent is simply -requesting the passphrase. In this case, the @code{ok} and -@code{cancel} buttons should be displayed. - -@end table - -The layout of the three variants is quite similar. Here are the -relevant elements that describe the layout: - -@table @gnupgtabopt -@item @code{title} -The window's title. - -@item @code{description} -The reason for the dialog. When requesting a passphrase, this -describes the key. When showing a message box, this is the message to -show. - -@item @code{error} -If GPG Agent determines that the passphrase was incorrect, it will -call @code{GETPIN} again (up to a configurable number of times) to -again prompt the user. In this case, this variable contains a -description of the error message. This text should typically be -highlighted in someway. - -@item @code{prompt}, @code{default-prompt} -The string to associate with the passphrase entry box. - -There is a subtle difference between @code{prompt} and -@code{default-prompt}. @code{default-prompt} means that a stylized -prompt (e.g., an icon suggesting a prompt) may be used. @code{prompt} -means that the entry's meaning is not consistent with such a style -and, as such, no icon should be used. - -If both variables are set, the @code{prompt} variant takes precedence. - -@item @code{repeat_passphrase} -The string to associate with the second passphrase entry box. The -second passphrase entry box should only be shown if this is not -@code{NULL}. - -@item @code{ok}, @code{default-ok} -The string to show in the @code{ok} button. - -If there are any @code{_} characters, the following character should -be used as an accelerator. (A double underscore means a plain -underscore should be shown.) If the frontend does not support -accelerators, then the underscores should be removed manually. - -There is a subtle difference between @code{ok} and @code{default-ok}. -@code{default-ok} means that a stylized OK button should be used. For -instance, it could include a check mark. @code{ok} means that the -button's meaning is not consistent with such an icon and, as such, no -icon should be used. Thus, if the @code{ok} button should have the -text ``No password required'' then @code{ok} should be used because a -check mark icon doesn't make sense. - -If this variable is @code{NULL}, the frontend should choose a -reasonable default. - -If both variables are set, the @code{ok} variant takes precedence. - -@item @code{cancel}, @code{default-cancel} -Like the @code{ok} and @code{default-ok} buttons except these strings -are used for the cancel button. - -This button should not be shown if @code{one_button} is set. - -@code{default-notok} -Like the @code{default-ok} button except this string is used for the -other button. - -This button should only be displayed when showing a message box. If -these variables are @code{NULL} or @code{one_button} is set, this -button should not be displayed. - -@item @code{quality_bar} -If this is set, a widget should be used to show the password's -quality. The value of this field is a label for the widget. - -Note: to update the password quality, whenever the password changes, -call the @code{pinentry_inq_quality} function and then update the -password quality widget correspondingly. - -@item @code{quality_bar_tt} -A tooltip for the quality bar. - -@item @code{constraints_enforce} -If this is not 0, then passphrase constraints are enforced by gpg-agent. -In this case pinentry can use the @code{pinentry_inq_checkpin} function -for checking whether the new passphrase satisfies the constraints before -passing it to gpg-agent. - -@item @code{constraints_hint_short} -A short translated hint for the user with the constraints for new -passphrases to be displayed near the passphrase input field. - -@item @code{constraints_hint_short} -A longer translated hint for the user with the constraints for new -passphrases to be displayed for example as tooltip. - -@item @code{constraints_error_title} -A short translated title for an error dialog informing the user about -unsatisfied passphrase constraints. - -@item @code{genpin_label} -If this is set, a generate action should be shown. The value of this -field is a label for the action. - -Note: Call the @code{pinentry_inq_genpin} function to request a randomly -generated passphrase. - -@item @code{genpin_tt} -The tooltip for the generate action. - -@item @code{formatted_passphrase} -If this is not 0, then passphrase formatting should be enabled. If it is -enabled, then the unmasked passphrase should be grouped into groups of five -characters separated by non-breaking spaces or a similar separator. - -To simplify the implementation all occurrences of the character used as -separator can be stripped from the entered passphrase, if formatting is -enabled. - -@item @code{formatted_passphrase_hint} -A hint to be shown if passphrase formatting is enabled. It should be shown -near the passphrase input field. - -@item @code{default_pwmngr} -If @code{may_cache_password} and @code{keyinfo} are set and the user -consents, then the @pinentry{} may cache the password with an external -manager. Note: getting the user's consent is essential, because -password managers often provide a different level of security. If the -above condition is true and @code{tried_password_cache} is false, then -a check box with the specified string should be displayed. The check -box must default to off. - -@item @code{default-cf-visi} -The string to show with a question if you want to confirm that -the user wants to change the visibility of the password. - -@item @code{default-tt-visi} -Tooltip for an action that would reveal the entered password. - -@item @code{default-tt-hide} -Tooltip for an action that would hide the password revealed -by the action labeld with @code{default-tt-visi} - -@item @code{default-capshint} -A hint to be shown if Caps Lock is on. - -@end table - -When the handler is done, it should store the passphrase in -@code{pin}, if appropriate. This variable is allocated in secure -memory. Use @code{pinentry_setbufferlen} to size the buffer. - -The actual return code is dependent on whether the dialog is in -message mode or in passphrase mode. - -If the dialog is in message mode and the user pressed ok, return 1. -Otherwise, return 0. If an error occurred, indicate this by setting it -in @code{specific_err} or setting @code{locale_err} to @code{1} (for -locale specific errors). If the dialog was canceled, then the handler -should set the @code{canceled} variable to @code{1}. If the not ok -button was pressed, don't do anything else. - -If the dialog is in passphrase mode return @code{1} if the user -entered a password and pressed ok. If an error occurred, return -@code{-1} and set @code{specific_err} or @code{locale_err}, as above. -If the user canceled the dialog box, return @code{-1}. - -If the window was closed, then the handler should set the -@code{close_button} variable and otherwise act as if the cancel button -was pressed. - - - -@c --------------------------------------------------------------------- -@c Legal Blurbs -@c --------------------------------------------------------------------- - -@include gpl.texi - -@c --------------------------------------------------------------------- -@c Indexes -@c --------------------------------------------------------------------- - -@node Option Index -@unnumbered Option Index - -@printindex op - -@node Index -@unnumbered Index - -@printindex cp - -@c --------------------------------------------------------------------- -@c Epilogue -@c --------------------------------------------------------------------- - -@bye diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/stamp-vti b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/stamp-vti deleted file mode 100644 index 77a967c8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/stamp-vti +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 25 August 2021 -@set UPDATED-MONTH August 2021 -@set EDITION 1.2.1 -@set VERSION 1.2.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/texinfo.tex b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/texinfo.tex deleted file mode 100644 index 3f81058b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/texinfo.tex +++ /dev/null @@ -1,8638 +0,0 @@ -% texinfo.tex -- TeX macros to handle Texinfo files. -% -% Load plain if necessary, i.e., if running under initex. -\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi -% -\def\texinfoversion{2016-11-05.00} -% -% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007 Free Software Foundation, Inc. -% -% This texinfo.tex 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 3, or (at -% your option) any later version. -% -% This texinfo.tex file 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 texinfo.tex file; see the file COPYING. If not, -% see <https://www.gnu.org/licenses/>. -% -% As a special exception, when this file is read by TeX when processing -% a Texinfo source document, you may use the result without -% restriction. (This has been our intent since Texinfo was invented.) -% -% Please try the latest version of texinfo.tex before submitting bug -% reports; you can get the latest version from: -% https://www.gnu.org/software/texinfo/ (the Texinfo home page), or -% ftp://tug.org/tex/texinfo.tex -% (and all CTAN mirrors, see https://www.ctan.org). -% The texinfo.tex in any given distribution could well be out -% of date, so if that's what you're using, please check. -% -% Send bug reports to bug-texinfo@gnu.org. Please include including a -% complete document in each bug report with which we can reproduce the -% problem. Patches are, of course, greatly appreciated. -% -% To process a Texinfo manual with TeX, it's most reliable to use the -% texi2dvi shell script that comes with the distribution. For a simple -% manual foo.texi, however, you can get away with this: -% tex foo.texi -% texindex foo.?? -% tex foo.texi -% tex foo.texi -% dvips foo.dvi -o # or whatever; this makes foo.ps. -% The extra TeX runs get the cross-reference information correct. -% Sometimes one run after texindex suffices, and sometimes you need more -% than two; texi2dvi does it as many times as necessary. -% -% It is possible to adapt texinfo.tex for other languages, to some -% extent. You can get the existing language-specific files from the -% full Texinfo distribution. -% -% The GNU Texinfo home page is https://www.gnu.org/software/texinfo. - - -\message{Loading texinfo [version \texinfoversion]:} - -% If in a .fmt file, print the version number -% and turn on active characters that we couldn't do earlier because -% they might have appeared in the input file name. -\everyjob{\message{[Texinfo version \texinfoversion]}% - \catcode`+=\active \catcode`\_=\active} - - -\chardef\other=12 - -% We never want plain's \outer definition of \+ in Texinfo. -% For @tex, we can use \tabalign. -\let\+ = \relax - -% Save some plain tex macros whose names we will redefine. -\let\ptexb=\b -\let\ptexbullet=\bullet -\let\ptexc=\c -\let\ptexcomma=\, -\let\ptexdot=\. -\let\ptexdots=\dots -\let\ptexend=\end -\let\ptexequiv=\equiv -\let\ptexexclam=\! -\let\ptexfootnote=\footnote -\let\ptexgtr=> -\let\ptexhat=^ -\let\ptexi=\i -\let\ptexindent=\indent -\let\ptexinsert=\insert -\let\ptexlbrace=\{ -\let\ptexless=< -\let\ptexnewwrite\newwrite -\let\ptexnoindent=\noindent -\let\ptexplus=+ -\let\ptexrbrace=\} -\let\ptexslash=\/ -\let\ptexstar=\* -\let\ptext=\t - -% If this character appears in an error message or help string, it -% starts a new line in the output. -\newlinechar = `^^J - -% Use TeX 3.0's \inputlineno to get the line number, for better error -% messages, but if we're using an old version of TeX, don't do anything. -% -\ifx\inputlineno\thisisundefined - \let\linenumber = \empty % Pre-3.0. -\else - \def\linenumber{l.\the\inputlineno:\space} -\fi - -% Set up fixed words for English if not already set. -\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi -\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi -\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi -\ifx\putwordin\undefined \gdef\putwordin{in}\fi -\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi -\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi -\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi -\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi -\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi -\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi -\ifx\putwordof\undefined \gdef\putwordof{of}\fi -\ifx\putwordon\undefined \gdef\putwordon{on}\fi -\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi -\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi -\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi -\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi -\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi -\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi -\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi -% -\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi -\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi -\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi -\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi -\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi -\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi -\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi -\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi -\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi -\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi -\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi -\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi -% -\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi -\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi -\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi -\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi -\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi - -% Since the category of space is not known, we have to be careful. -\chardef\spacecat = 10 -\def\spaceisspace{\catcode`\ =\spacecat} - -% sometimes characters are active, so we need control sequences. -\chardef\colonChar = `\: -\chardef\commaChar = `\, -\chardef\dashChar = `\- -\chardef\dotChar = `\. -\chardef\exclamChar= `\! -\chardef\lquoteChar= `\` -\chardef\questChar = `\? -\chardef\rquoteChar= `\' -\chardef\semiChar = `\; -\chardef\underChar = `\_ - -% Ignore a token. -% -\def\gobble#1{} - -% The following is used inside several \edef's. -\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} - -% Hyphenation fixes. -\hyphenation{ - Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script - ap-pen-dix bit-map bit-maps - data-base data-bases eshell fall-ing half-way long-est man-u-script - man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm - par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces - spell-ing spell-ings - stand-alone strong-est time-stamp time-stamps which-ever white-space - wide-spread wrap-around -} - -% Margin to add to right of even pages, to left of odd pages. -\newdimen\bindingoffset -\newdimen\normaloffset -\newdimen\pagewidth \newdimen\pageheight - -% For a final copy, take out the rectangles -% that mark overfull boxes (in case you have decided -% that the text looks ok even though it passes the margin). -% -\def\finalout{\overfullrule=0pt} - -% @| inserts a changebar to the left of the current line. It should -% surround any changed text. This approach does *not* work if the -% change spans more than two lines of output. To handle that, we would -% have adopt a much more difficult approach (putting marks into the main -% vertical list for the beginning and end of each change). -% -\def\|{% - % \vadjust can only be used in horizontal mode. - \leavevmode - % - % Append this vertical mode material after the current line in the output. - \vadjust{% - % We want to insert a rule with the height and depth of the current - % leading; that is exactly what \strutbox is supposed to record. - \vskip-\baselineskip - % - % \vadjust-items are inserted at the left edge of the type. So - % the \llap here moves out into the left-hand margin. - \llap{% - % - % For a thicker or thinner bar, change the `1pt'. - \vrule height\baselineskip width1pt - % - % This is the space between the bar and the text. - \hskip 12pt - }% - }% -} - -% Sometimes it is convenient to have everything in the transcript file -% and nothing on the terminal. We don't just call \tracingall here, -% since that produces some useless output on the terminal. We also make -% some effort to order the tracing commands to reduce output in the log -% file; cf. trace.sty in LaTeX. -% -\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% -\def\loggingall{% - \tracingstats2 - \tracingpages1 - \tracinglostchars2 % 2 gives us more in etex - \tracingparagraphs1 - \tracingoutput1 - \tracingmacros2 - \tracingrestores1 - \showboxbreadth\maxdimen \showboxdepth\maxdimen - \ifx\eTeXversion\undefined\else % etex gives us more logging - \tracingscantokens1 - \tracingifs1 - \tracinggroups1 - \tracingnesting2 - \tracingassigns1 - \fi - \tracingcommands3 % 3 gives us more in etex - \errorcontextlines16 -}% - -% add check for \lastpenalty to plain's definitions. If the last thing -% we did was a \nobreak, we don't want to insert more space. -% -\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount - \removelastskip\penalty-50\smallskip\fi\fi} -\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount - \removelastskip\penalty-100\medskip\fi\fi} -\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount - \removelastskip\penalty-200\bigskip\fi\fi} - -% For @cropmarks command. -% Do @cropmarks to get crop marks. -% -\newif\ifcropmarks -\let\cropmarks = \cropmarkstrue -% -% Dimensions to add cropmarks at corners. -% Added by P. A. MacKay, 12 Nov. 1986 -% -\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines -\newdimen\cornerlong \cornerlong=1pc -\newdimen\cornerthick \cornerthick=.3pt -\newdimen\topandbottommargin \topandbottommargin=.75in - -% Main output routine. -\chardef\PAGE = 255 -\output = {\onepageout{\pagecontents\PAGE}} - -\newbox\headlinebox -\newbox\footlinebox - -% \onepageout takes a vbox as an argument. Note that \pagecontents -% does insertions, but you have to call it yourself. -\def\onepageout#1{% - \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi - % - \ifodd\pageno \advance\hoffset by \bindingoffset - \else \advance\hoffset by -\bindingoffset\fi - % - % Do this outside of the \shipout so @code etc. will be expanded in - % the headline as they should be, not taken literally (outputting ''code). - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% - % - {% - % Have to do this stuff outside the \shipout because we want it to - % take effect in \write's, yet the group defined by the \vbox ends - % before the \shipout runs. - % - \indexdummies % don't expand commands in the output. - \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. - % We don't want .vr (or whatever) entries like this: - % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} - % "\acronym" won't work when it's read back in; - % it needs to be - % {\code {{\tt \backslashcurfont }acronym} - \shipout\vbox{% - % Do this early so pdf references go to the beginning of the page. - \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi - % - \ifcropmarks \vbox to \outervsize\bgroup - \hsize = \outerhsize - \vskip-\topandbottommargin - \vtop to0pt{% - \line{\ewtop\hfil\ewtop}% - \nointerlineskip - \line{% - \vbox{\moveleft\cornerthick\nstop}% - \hfill - \vbox{\moveright\cornerthick\nstop}% - }% - \vss}% - \vskip\topandbottommargin - \line\bgroup - \hfil % center the page within the outer (page) hsize. - \ifodd\pageno\hskip\bindingoffset\fi - \vbox\bgroup - \fi - % - \unvbox\headlinebox - \pagebody{#1}% - \ifdim\ht\footlinebox > 0pt - % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingyyy.) - % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 24pt - \unvbox\footlinebox - \fi - % - \ifcropmarks - \egroup % end of \vbox\bgroup - \hfil\egroup % end of (centering) \line\bgroup - \vskip\topandbottommargin plus1fill minus1fill - \boxmaxdepth = \cornerthick - \vbox to0pt{\vss - \line{% - \vbox{\moveleft\cornerthick\nsbot}% - \hfill - \vbox{\moveright\cornerthick\nsbot}% - }% - \nointerlineskip - \line{\ewbot\hfil\ewbot}% - }% - \egroup % \vbox from first cropmarks clause - \fi - }% end of \shipout\vbox - }% end of group with \indexdummies - \advancepageno - \ifnum\outputpenalty>-20000 \else\dosupereject\fi -} - -\newinsert\margin \dimen\margin=\maxdimen - -\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} -{\catcode`\@ =11 -\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi -% marginal hacks, juha@viisa.uucp (Juha Takala) -\ifvoid\margin\else % marginal info is present - \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi -\dimen@=\dp#1 \unvbox#1 -\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi -\ifr@ggedbottom \kern-\dimen@ \vfil \fi} -} - -% Here are the rules for the cropmarks. Note that they are -% offset so that the space between them is truly \outerhsize or \outervsize -% (P. A. MacKay, 12 November, 1986) -% -\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} -\def\nstop{\vbox - {\hrule height\cornerthick depth\cornerlong width\cornerthick}} -\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} -\def\nsbot{\vbox - {\hrule height\cornerlong depth\cornerthick width\cornerthick}} - -% Parse an argument, then pass it to #1. The argument is the rest of -% the input line (except we remove a trailing comment). #1 should be a -% macro which expects an ordinary undelimited TeX argument. -% -\def\parsearg{\parseargusing{}} -\def\parseargusing#1#2{% - \def\argtorun{#2}% - \begingroup - \obeylines - \spaceisspace - #1% - \parseargline\empty% Insert the \empty token, see \finishparsearg below. -} - -{\obeylines % - \gdef\parseargline#1^^M{% - \endgroup % End of the group started in \parsearg. - \argremovecomment #1\comment\ArgTerm% - }% -} - -% First remove any @comment, then any @c comment. -\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} - -% Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space. -% -% \argremovec might leave us with trailing space, e.g., -% @end itemize @c foo -% This space token undergoes the same procedure and is eventually removed -% by \finishparsearg. -% -\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} -\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} -\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% - \def\temp{#3}% - \ifx\temp\empty - % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: - \let\temp\finishparsearg - \else - \let\temp\argcheckspaces - \fi - % Put the space token in: - \temp#1 #3\ArgTerm -} - -% If a _delimited_ argument is enclosed in braces, they get stripped; so -% to get _exactly_ the rest of the line, we had to prevent such situation. -% We prepended an \empty token at the very beginning and we expand it now, -% just before passing the control to \argtorun. -% (Similarly, we have to think about #3 of \argcheckspacesY above: it is -% either the null string, or it ends with \^^M---thus there is no danger -% that a pair of braces would be stripped. -% -% But first, we have to remove the trailing space token. -% -\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} - -% \parseargdef\foo{...} -% is roughly equivalent to -% \def\foo{\parsearg\Xfoo} -% \def\Xfoo#1{...} -% -% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my -% favourite TeX trick. --kasal, 16nov03 - -\def\parseargdef#1{% - \expandafter \doparseargdef \csname\string#1\endcsname #1% -} -\def\doparseargdef#1#2{% - \def#2{\parsearg#1}% - \def#1##1% -} - -% Several utility definitions with active space: -{ - \obeyspaces - \gdef\obeyedspace{ } - - % Make each space character in the input produce a normal interword - % space in the output. Don't allow a line break at this space, as this - % is used only in environments like @example, where each line of input - % should produce a line of output anyway. - % - \gdef\sepspaces{\obeyspaces\let =\tie} - - % If an index command is used in an @example environment, any spaces - % therein should become regular spaces in the raw index file, not the - % expansion of \tie (\leavevmode \penalty \@M \ ). - \gdef\unsepspaces{\let =\space} -} - - -\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} - -% Define the framework for environments in texinfo.tex. It's used like this: -% -% \envdef\foo{...} -% \def\Efoo{...} -% -% It's the responsibility of \envdef to insert \begingroup before the -% actual body; @end closes the group after calling \Efoo. \envdef also -% defines \thisenv, so the current environment is known; @end checks -% whether the environment name matches. The \checkenv macro can also be -% used to check whether the current environment is the one expected. -% -% Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as environments; they don't open a group. (The -% implementation of @end takes care not to call \endgroup in this -% special case.) - - -% At runtime, environments start with this: -\def\startenvironment#1{\begingroup\def\thisenv{#1}} -% initialize -\let\thisenv\empty - -% ... but they get defined via ``\envdef\foo{...}'': -\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} -\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} - -% Check whether we're in the right environment: -\def\checkenv#1{% - \def\temp{#1}% - \ifx\thisenv\temp - \else - \badenverr - \fi -} - -% Evironment mismatch, #1 expected: -\def\badenverr{% - \errhelp = \EMsimple - \errmessage{This command can appear only \inenvironment\temp, - not \inenvironment\thisenv}% -} -\def\inenvironment#1{% - \ifx#1\empty - out of any environment% - \else - in environment \expandafter\string#1% - \fi -} - -% @end foo executes the definition of \Efoo. -% But first, it executes a specialized version of \checkenv -% -\parseargdef\end{% - \if 1\csname iscond.#1\endcsname - \else - % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 - \expandafter\checkenv\csname#1\endcsname - \csname E#1\endcsname - \endgroup - \fi -} - -\newhelp\EMsimple{Press RETURN to continue.} - - -%% Simple single-character @ commands - -% @@ prints an @ -% Kludge this until the fonts are right (grr). -\def\@{{\tt\char64}} - -% This is turned off because it was never documented -% and you can use @w{...} around a quote to suppress ligatures. -%% Define @` and @' to be the same as ` and ' -%% but suppressing ligatures. -%\def\`{{`}} -%\def\'{{'}} - -% Used to generate quoted braces. -\def\mylbrace {{\tt\char123}} -\def\myrbrace {{\tt\char125}} -\let\{=\mylbrace -\let\}=\myrbrace -\begingroup - % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux/toc files. - \catcode`\{ = \other \catcode`\} = \other - \catcode`\[ = 1 \catcode`\] = 2 - \catcode`\! = 0 \catcode`\\ = \other - !gdef!lbracecmd[\{]% - !gdef!rbracecmd[\}]% - !gdef!lbraceatcmd[@{]% - !gdef!rbraceatcmd[@}]% -!endgroup - -% @comma{} to avoid , parsing problems. -\let\comma = , - -% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent -% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. -\let\, = \c -\let\dotaccent = \. -\def\ringaccent#1{{\accent23 #1}} -\let\tieaccent = \t -\let\ubaraccent = \b -\let\udotaccent = \d - -% Other special characters: @questiondown @exclamdown @ordf @ordm -% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. -\def\questiondown{?`} -\def\exclamdown{!`} -\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} -\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} - -% Dotless i and dotless j, used for accents. -\def\imacro{i} -\def\jmacro{j} -\def\dotless#1{% - \def\temp{#1}% - \ifx\temp\imacro \ptexi - \else\ifx\temp\jmacro \j - \else \errmessage{@dotless can be used only with i or j}% - \fi\fi -} - -% The \TeX{} logo, as in plain, but resetting the spacing so that a -% period following counts as ending a sentence. (Idea found in latex.) -% -\edef\TeX{\TeX \spacefactor=1000 } - -% @LaTeX{} logo. Not quite the same results as the definition in -% latex.ltx, since we use a different font for the raised A; it's most -% convenient for us to use an explicitly smaller font, rather than using -% the \scriptstyle font (since we don't reset \scriptstyle and -% \scriptscriptstyle). -% -\def\LaTeX{% - L\kern-.36em - {\setbox0=\hbox{T}% - \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% - \kern-.15em - \TeX -} - -% Be sure we're in horizontal mode when doing a tie, since we make space -% equivalent to this in @example-like environments. Otherwise, a space -% at the beginning of a line will start with \penalty -- and -% since \penalty is valid in vertical mode, we'd end up putting the -% penalty on the vertical list instead of in the new paragraph. -{\catcode`@ = 11 - % Avoid using \@M directly, because that causes trouble - % if the definition is written into an index file. - \global\let\tiepenalty = \@M - \gdef\tie{\leavevmode\penalty\tiepenalty\ } -} - -% @: forces normal size whitespace following. -\def\:{\spacefactor=1000 } - -% @* forces a line break. -\def\*{\hfil\break\hbox{}\ignorespaces} - -% @/ allows a line break. -\let\/=\allowbreak - -% @. is an end-of-sentence period. -\def\.{.\spacefactor=\endofsentencespacefactor\space} - -% @! is an end-of-sentence bang. -\def\!{!\spacefactor=\endofsentencespacefactor\space} - -% @? is an end-of-sentence query. -\def\?{?\spacefactor=\endofsentencespacefactor\space} - -% @frenchspacing on|off says whether to put extra space after punctuation. -% -\def\onword{on} -\def\offword{off} -% -\parseargdef\frenchspacing{% - \def\temp{#1}% - \ifx\temp\onword \plainfrenchspacing - \else\ifx\temp\offword \plainnonfrenchspacing - \else - \errhelp = \EMsimple - \errmessage{Unknown @frenchspacing option `\temp', must be on/off}% - \fi\fi -} - -% @w prevents a word break. Without the \leavevmode, @w at the -% beginning of a paragraph, when TeX is still in vertical mode, would -% produce a whole line of output instead of starting the paragraph. -\def\w#1{\leavevmode\hbox{#1}} - -% @group ... @end group forces ... to be all on one page, by enclosing -% it in a TeX vbox. We use \vtop instead of \vbox to construct the box -% to keep its height that of a normal line. According to the rules for -% \topskip (p.114 of the TeXbook), the glue inserted is -% max (\topskip - \ht (first item), 0). If that height is large, -% therefore, no glue is inserted, and the space between the headline and -% the text is small, which looks bad. -% -% Another complication is that the group might be very large. This can -% cause the glue on the previous page to be unduly stretched, because it -% does not have much material. In this case, it's better to add an -% explicit \vfill so that the extra space is at the bottom. The -% threshold for doing this is if the group is more than \vfilllimit -% percent of a page (\vfilllimit can be changed inside of @tex). -% -\newbox\groupbox -\def\vfilllimit{0.7} -% -\envdef\group{% - \ifnum\catcode`\^^M=\active \else - \errhelp = \groupinvalidhelp - \errmessage{@group invalid in context where filling is enabled}% - \fi - \startsavinginserts - % - \setbox\groupbox = \vtop\bgroup - % Do @comment since we are called inside an environment such as - % @example, where each end-of-line in the input causes an - % end-of-line in the output. We don't want the end-of-line after - % the `@group' to put extra space in the output. Since @group - % should appear on a line by itself (according to the Texinfo - % manual), we don't worry about eating any user text. - \comment -} -% -% The \vtop produces a box with normal height and large depth; thus, TeX puts -% \baselineskip glue before it, and (when the next line of text is done) -% \lineskip glue after it. Thus, space below is not quite equal to space -% above. But it's pretty close. -\def\Egroup{% - % To get correct interline space between the last line of the group - % and the first line afterwards, we have to propagate \prevdepth. - \endgraf % Not \par, as it may have been set to \lisppar. - \global\dimen1 = \prevdepth - \egroup % End the \vtop. - % \dimen0 is the vertical size of the group's box. - \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox - % \dimen2 is how much space is left on the page (more or less). - \dimen2 = \pageheight \advance\dimen2 by -\pagetotal - % if the group doesn't fit on the current page, and it's a big big - % group, force a page break. - \ifdim \dimen0 > \dimen2 - \ifdim \pagetotal < \vfilllimit\pageheight - \page - \fi - \fi - \box\groupbox - \prevdepth = \dimen1 - \checkinserts -} -% -% TeX puts in an \escapechar (i.e., `@') at the beginning of the help -% message, so this ends up printing `@group can only ...'. -% -\newhelp\groupinvalidhelp{% -group can only be used in environments such as @example,^^J% -where each line of input produces a line of output.} - -% @need space-in-mils -% forces a page break if there is not space-in-mils remaining. - -\newdimen\mil \mil=0.001in - -% Old definition--didn't work. -%\parseargdef\need{\par % -%% This method tries to make TeX break the page naturally -%% if the depth of the box does not fit. -%{\baselineskip=0pt% -%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak -%\prevdepth=-1000pt -%}} - -\parseargdef\need{% - % Ensure vertical mode, so we don't make a big box in the middle of a - % paragraph. - \par - % - % If the @need value is less than one line space, it's useless. - \dimen0 = #1\mil - \dimen2 = \ht\strutbox - \advance\dimen2 by \dp\strutbox - \ifdim\dimen0 > \dimen2 - % - % Do a \strut just to make the height of this box be normal, so the - % normal leading is inserted relative to the preceding line. - % And a page break here is fine. - \vtop to #1\mil{\strut\vfil}% - % - % TeX does not even consider page breaks if a penalty added to the - % main vertical list is 10000 or more. But in order to see if the - % empty box we just added fits on the page, we must make it consider - % page breaks. On the other hand, we don't want to actually break the - % page after the empty box. So we use a penalty of 9999. - % - % There is an extremely small chance that TeX will actually break the - % page at this \penalty, if there are no other feasible breakpoints in - % sight. (If the user is using lots of big @group commands, which - % almost-but-not-quite fill up a page, TeX will have a hard time doing - % good page breaking, for example.) However, I could not construct an - % example where a page broke at this \penalty; if it happens in a real - % document, then we can reconsider our strategy. - \penalty9999 - % - % Back up by the size of the box, whether we did a page break or not. - \kern -#1\mil - % - % Do not allow a page break right after this kern. - \nobreak - \fi -} - -% @br forces paragraph break (and is undocumented). - -\let\br = \par - -% @page forces the start of a new page. -% -\def\page{\par\vfill\supereject} - -% @exdent text.... -% outputs text on separate line in roman font, starting at standard page margin - -% This records the amount of indent in the innermost environment. -% That's how much \exdent should take out. -\newskip\exdentamount - -% This defn is used inside fill environments such as @defun. -\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} - -% This defn is used inside nofill environments such as @example. -\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount - \leftline{\hskip\leftskip{\rm#1}}}} - -% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current -% paragraph. For more general purposes, use the \margin insertion -% class. WHICH is `l' or `r'. -% -\newskip\inmarginspacing \inmarginspacing=1cm -\def\strutdepth{\dp\strutbox} -% -\def\doinmargin#1#2{\strut\vadjust{% - \nobreak - \kern-\strutdepth - \vtop to \strutdepth{% - \baselineskip=\strutdepth - \vss - % if you have multiple lines of stuff to put here, you'll need to - % make the vbox yourself of the appropriate size. - \ifx#1l% - \llap{\ignorespaces #2\hskip\inmarginspacing}% - \else - \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% - \fi - \null - }% -}} -\def\inleftmargin{\doinmargin l} -\def\inrightmargin{\doinmargin r} -% -% @inmargin{TEXT [, RIGHT-TEXT]} -% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; -% else use TEXT for both). -% -\def\inmargin#1{\parseinmargin #1,,\finish} -\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \def\lefttext{#1}% have both texts - \def\righttext{#2}% - \else - \def\lefttext{#1}% have only one text - \def\righttext{#1}% - \fi - % - \ifodd\pageno - \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin - \else - \def\temp{\inleftmargin\lefttext}% - \fi - \temp -} - -% @include file insert text of that file as input. -% -\def\include{\parseargusing\filenamecatcodes\includezzz} -\def\includezzz#1{% - \pushthisfilestack - \def\thisfile{#1}% - {% - \makevalueexpandable - \def\temp{\input #1 }% - \expandafter - }\temp - \popthisfilestack -} -\def\filenamecatcodes{% - \catcode`\\=\other - \catcode`~=\other - \catcode`^=\other - \catcode`_=\other - \catcode`|=\other - \catcode`<=\other - \catcode`>=\other - \catcode`+=\other - \catcode`-=\other -} - -\def\pushthisfilestack{% - \expandafter\pushthisfilestackX\popthisfilestack\StackTerm -} -\def\pushthisfilestackX{% - \expandafter\pushthisfilestackY\thisfile\StackTerm -} -\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% - \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% -} - -\def\popthisfilestack{\errthisfilestackempty} -\def\errthisfilestackempty{\errmessage{Internal error: - the stack of filenames is empty.}} - -\def\thisfile{} - -% @center line -% outputs that line, centered. -% -\parseargdef\center{% - \ifhmode - \let\next\centerH - \else - \let\next\centerV - \fi - \next{\hfil \ignorespaces#1\unskip \hfil}% -} -\def\centerH#1{% - {% - \hfil\break - \advance\hsize by -\leftskip - \advance\hsize by -\rightskip - \line{#1}% - \break - }% -} -\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} - -% @sp n outputs n lines of vertical space - -\parseargdef\sp{\vskip #1\baselineskip} - -% @comment ...line which is ignored... -% @c is the same as @comment -% @ignore ... @end ignore is another way to write a comment - -\def\comment{\begingroup \catcode`\^^M=\other% -\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% -\commentxxx} -{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} - -\let\c=\comment - -% @paragraphindent NCHARS -% We'll use ems for NCHARS, close enough. -% NCHARS can also be the word `asis' or `none'. -% We cannot feasibly implement @paragraphindent asis, though. -% -\def\asisword{asis} % no translation, these are keywords -\def\noneword{none} -% -\parseargdef\paragraphindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \defaultparindent = 0pt - \else - \defaultparindent = #1em - \fi - \fi - \parindent = \defaultparindent -} - -% @exampleindent NCHARS -% We'll use ems for NCHARS like @paragraphindent. -% It seems @exampleindent asis isn't necessary, but -% I preserve it to make it similar to @paragraphindent. -\parseargdef\exampleindent{% - \def\temp{#1}% - \ifx\temp\asisword - \else - \ifx\temp\noneword - \lispnarrowing = 0pt - \else - \lispnarrowing = #1em - \fi - \fi -} - -% @firstparagraphindent WORD -% If WORD is `none', then suppress indentation of the first paragraph -% after a section heading. If WORD is `insert', then do indent at such -% paragraphs. -% -% The paragraph indentation is suppressed or not by calling -% \suppressfirstparagraphindent, which the sectioning commands do. -% We switch the definition of this back and forth according to WORD. -% By default, we suppress indentation. -% -\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} -\def\insertword{insert} -% -\parseargdef\firstparagraphindent{% - \def\temp{#1}% - \ifx\temp\noneword - \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent - \else\ifx\temp\insertword - \let\suppressfirstparagraphindent = \relax - \else - \errhelp = \EMsimple - \errmessage{Unknown @firstparagraphindent option `\temp'}% - \fi\fi -} - -% Here is how we actually suppress indentation. Redefine \everypar to -% \kern backwards by \parindent, and then reset itself to empty. -% -% We also make \indent itself not actually do anything until the next -% paragraph. -% -\gdef\dosuppressfirstparagraphindent{% - \gdef\indent{% - \restorefirstparagraphindent - \indent - }% - \gdef\noindent{% - \restorefirstparagraphindent - \noindent - }% - \global\everypar = {% - \kern -\parindent - \restorefirstparagraphindent - }% -} - -\gdef\restorefirstparagraphindent{% - \global \let \indent = \ptexindent - \global \let \noindent = \ptexnoindent - \global \everypar = {}% -} - - -% @asis just yields its argument. Used with @table, for example. -% -\def\asis#1{#1} - -% @math outputs its argument in math mode. -% -% One complication: _ usually means subscripts, but it could also mean -% an actual _ character, as in @math{@var{some_variable} + 1}. So make -% _ active, and distinguish by seeing if the current family is \slfam, -% which is what @var uses. -{ - \catcode`\_ = \active - \gdef\mathunderscore{% - \catcode`\_=\active - \def_{\ifnum\fam=\slfam \_\else\sb\fi}% - } -} -% Another complication: we want \\ (and @\) to output a \ character. -% FYI, plain.tex uses \\ as a temporary control sequence (why?), but -% this is not advertised and we don't care. Texinfo does not -% otherwise define @\. -% -% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. -\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} -% -\def\math{% - \tex - \mathunderscore - \let\\ = \mathbackslash - \mathactive - $\finishmath -} -\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. - -% Some active characters (such as <) are spaced differently in math. -% We have to reset their definitions in case the @math was an argument -% to a command which sets the catcodes (such as @item or @section). -% -{ - \catcode`^ = \active - \catcode`< = \active - \catcode`> = \active - \catcode`+ = \active - \gdef\mathactive{% - \let^ = \ptexhat - \let< = \ptexless - \let> = \ptexgtr - \let+ = \ptexplus - } -} - -% @bullet and @minus need the same treatment as @math, just above. -\def\bullet{$\ptexbullet$} -\def\minus{$-$} - -% @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in the cm -% typewriter fonts as three actual period characters; on the other hand, -% in other typewriter fonts three periods are wider than 1.5em. So do -% whichever is larger. -% -\def\dots{% - \leavevmode - \setbox0=\hbox{...}% get width of three periods - \ifdim\wd0 > 1.5em - \dimen0 = \wd0 - \else - \dimen0 = 1.5em - \fi - \hbox to \dimen0{% - \hskip 0pt plus.25fil - .\hskip 0pt plus1fil - .\hskip 0pt plus1fil - .\hskip 0pt plus.5fil - }% -} - -% @enddots{} is an end-of-sentence ellipsis. -% -\def\enddots{% - \dots - \spacefactor=\endofsentencespacefactor -} - -% @comma{} is so commas can be inserted into text without messing up -% Texinfo's parsing. -% -\let\comma = , - -% @refill is a no-op. -\let\refill=\relax - -% If working on a large document in chapters, it is convenient to -% be able to disable indexing, cross-referencing, and contents, for test runs. -% This is done with @novalidate (before @setfilename). -% -\newif\iflinks \linkstrue % by default we want the aux files. -\let\novalidate = \linksfalse - -% @setfilename is done at the beginning of every texinfo file. -% So open here the files we need to have open while reading the input. -% This makes it possible to make a .fmt file for texinfo. -\def\setfilename{% - \fixbackslash % Turn off hack to swallow `\input texinfo'. - \iflinks - \tryauxfile - % Open the new aux file. TeX will close it automatically at exit. - \immediate\openout\auxfile=\jobname.aux - \fi % \openindices needs to do some work in any case. - \openindices - \let\setfilename=\comment % Ignore extra @setfilename cmds. - % - % If texinfo.cnf is present on the system, read it. - % Useful for site-wide @afourpaper, etc. - \openin 1 texinfo.cnf - \ifeof 1 \else \input texinfo.cnf \fi - \closein 1 - % - \comment % Ignore the actual filename. -} - -% Called from \setfilename. -% -\def\openindices{% - \newindex{cp}% - \newcodeindex{fn}% - \newcodeindex{vr}% - \newcodeindex{tp}% - \newcodeindex{ky}% - \newcodeindex{pg}% -} - -% @bye. -\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} - - -\message{pdf,} -% adobe `portable' document format -\newcount\tempnum -\newcount\lnkcount -\newtoks\filename -\newcount\filenamelength -\newcount\pgn -\newtoks\toksA -\newtoks\toksB -\newtoks\toksC -\newtoks\toksD -\newbox\boxA -\newcount\countA -\newif\ifpdf -\newif\ifpdfmakepagedest - -% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 -% can be set). So we test for \relax and 0 as well as \undefined, -% borrowed from ifpdf.sty. -\ifx\pdfoutput\undefined -\else - \ifx\pdfoutput\relax - \else - \ifcase\pdfoutput - \else - \pdftrue - \fi - \fi -\fi - -% PDF uses PostScript string constants for the names of xref targets, -% for display in the outlines, and in other places. Thus, we have to -% double any backslashes. Otherwise, a name like "\node" will be -% interpreted as a newline (\n), followed by o, d, e. Not good. -% https://mailman.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html -% (and related messages, the final outcome is that it is up to the TeX -% user to double the backslashes and otherwise make the string valid, so -% that's what we do). - -% double active backslashes. -% -{\catcode`\@=0 \catcode`\\=\active - @gdef@activebackslashdouble{% - @catcode`@\=@active - @let\=@doublebackslash} -} - -% To handle parens, we must adopt a different approach, since parens are -% not active characters. hyperref.dtx (which has the same problem as -% us) handles it with this amazing macro to replace tokens, with minor -% changes for Texinfo. It is included here under the GPL by permission -% from the author, Heiko Oberdiek. -% -% #1 is the tokens to replace. -% #2 is the replacement. -% #3 is the control sequence with the string. -% -\def\HyPsdSubst#1#2#3{% - \def\HyPsdReplace##1#1##2\END{% - ##1% - \ifx\\##2\\% - \else - #2% - \HyReturnAfterFi{% - \HyPsdReplace##2\END - }% - \fi - }% - \xdef#3{\expandafter\HyPsdReplace#3#1\END}% -} -\long\def\HyReturnAfterFi#1\fi{\fi#1} - -% #1 is a control sequence in which to do the replacements. -\def\backslashparens#1{% - \xdef#1{#1}% redefine it as its expansion; the definition is simply - % \lastnode when called from \setref -> \pdfmkdest. - \HyPsdSubst{(}{\realbackslash(}{#1}% - \HyPsdSubst{)}{\realbackslash)}{#1}% -} - -\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images -with PDF output, and none of those formats could be found. (.eps cannot -be supported due to the design of the PDF format; use regular TeX (DVI -output) for that.)} - -\ifpdf - \input pdfcolor - \pdfcatalog{/PageMode /UseOutlines} - % - % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). - \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% - \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% - % - % pdftex (and the PDF format) support .png, .jpg, .pdf (among - % others). Let's try in that order. - \let\pdfimgext=\empty - \begingroup - \openin 1 #1.png \ifeof 1 - \openin 1 #1.jpg \ifeof 1 - \openin 1 #1.jpeg \ifeof 1 - \openin 1 #1.JPG \ifeof 1 - \openin 1 #1.pdf \ifeof 1 - \errhelp = \nopdfimagehelp - \errmessage{Could not find image file #1 for pdf}% - \else \gdef\pdfimgext{pdf}% - \fi - \else \gdef\pdfimgext{JPG}% - \fi - \else \gdef\pdfimgext{jpeg}% - \fi - \else \gdef\pdfimgext{jpg}% - \fi - \else \gdef\pdfimgext{png}% - \fi - \closein 1 - \endgroup - % - % without \immediate, pdftex seg faults when the same image is - % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) - \ifnum\pdftexversion < 14 - \immediate\pdfimage - \else - \immediate\pdfximage - \fi - \ifdim \wd0 >0pt width \imagewidth \fi - \ifdim \wd2 >0pt height \imageheight \fi - \ifnum\pdftexversion<13 - #1.\pdfimgext - \else - {#1.\pdfimgext}% - \fi - \ifnum\pdftexversion < 14 \else - \pdfrefximage \pdflastximage - \fi} - % - \def\pdfmkdest#1{{% - % We have to set dummies so commands such as @code, and characters - % such as \, aren't expanded when present in a section title. - \indexnofonts - \turnoffactive - \activebackslashdouble - \makevalueexpandable - \def\pdfdestname{#1}% - \backslashparens\pdfdestname - \safewhatsit{\pdfdest name{\pdfdestname} xyz}% - }} - % - % used to mark target names; must be expandable. - \def\pdfmkpgn#1{#1} - % - % by default, use a color that is dark enough to print on paper as - % nearly black, but still distinguishable for online viewing. - % (Defined in pdfcolor.tex.) - \let\urlcolor = \BrickRed - \let\linkcolor = \BrickRed - \def\endlink{\Black\pdfendlink} - % - % Adding outlines to PDF; macros for calculating structure of outlines - % come from Petr Olsak - \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% - \else \csname#1\endcsname \fi} - \def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by 1 - \expandafter\xdef\csname#1\endcsname{\the\tempnum}} - % - % #1 is the section text, which is what will be displayed in the - % outline by the pdf viewer. #2 is the pdf expression for the number - % of subentries (or empty, for subsubsections). #3 is the node text, - % which might be empty if this toc entry had no corresponding node. - % #4 is the page number - % - \def\dopdfoutline#1#2#3#4{% - % Generate a link to the node text if that exists; else, use the - % page number. We could generate a destination for the section - % text in the case where a section has no node, but it doesn't - % seem worth the trouble, since most documents are normally structured. - \def\pdfoutlinedest{#3}% - \ifx\pdfoutlinedest\empty - \def\pdfoutlinedest{#4}% - \else - % Doubled backslashes in the name. - {\activebackslashdouble \xdef\pdfoutlinedest{#3}% - \backslashparens\pdfoutlinedest}% - \fi - % - % Also double the backslashes in the display string. - {\activebackslashdouble \xdef\pdfoutlinetext{#1}% - \backslashparens\pdfoutlinetext}% - % - \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}% - } - % - \def\pdfmakeoutlines{% - \begingroup - % Thanh's hack / proper braces in bookmarks - \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace - \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace - % - % Read toc silently, to get counts of subentries for \pdfoutline. - \def\numchapentry##1##2##3##4{% - \def\thischapnum{##2}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - }% - \def\numsecentry##1##2##3##4{% - \advancenumber{chap\thischapnum}% - \def\thissecnum{##2}% - \def\thissubsecnum{0}% - }% - \def\numsubsecentry##1##2##3##4{% - \advancenumber{sec\thissecnum}% - \def\thissubsecnum{##2}% - }% - \def\numsubsubsecentry##1##2##3##4{% - \advancenumber{subsec\thissubsecnum}% - }% - \def\thischapnum{0}% - \def\thissecnum{0}% - \def\thissubsecnum{0}% - % - % use \def rather than \let here because we redefine \chapentry et - % al. a second time, below. - \def\appentry{\numchapentry}% - \def\appsecentry{\numsecentry}% - \def\appsubsecentry{\numsubsecentry}% - \def\appsubsubsecentry{\numsubsubsecentry}% - \def\unnchapentry{\numchapentry}% - \def\unnsecentry{\numsecentry}% - \def\unnsubsecentry{\numsubsecentry}% - \def\unnsubsubsecentry{\numsubsubsecentry}% - \readdatafile{toc}% - % - % Read toc second time, this time actually producing the outlines. - % The `-' means take the \expnumber as the absolute number of - % subentries, which we calculated on our first read of the .toc above. - % - % We use the node names as the destinations. - \def\numchapentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% - \def\numsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% - \def\numsubsecentry##1##2##3##4{% - \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% - \def\numsubsubsecentry##1##2##3##4{% count is always zero - \dopdfoutline{##1}{}{##3}{##4}}% - % - % PDF outlines are displayed using system fonts, instead of - % document fonts. Therefore we cannot use special characters, - % since the encoding is unknown. For example, the eogonek from - % Latin 2 (0xea) gets translated to a | character. Info from - % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. - % - % xx to do this right, we have to translate 8-bit characters to - % their "best" equivalent, based on the @documentencoding. Right - % now, I guess we'll just let the pdf reader have its way. - \indexnofonts - \setupdatafile - \catcode`\\=\active \otherbackslash - \input \jobname.toc - \endgroup - } - % - \def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 - \fi - \fi - \nextsp} - \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} - \ifnum\pdftexversion < 14 - \let \startlink \pdfannotlink - \else - \let \startlink \pdfstartlink - \fi - % make a live url in pdf output. - \def\pdfurl#1{% - \begingroup - % it seems we really need yet another set of dummies; have not - % tried to figure out what each command should do in the context - % of @url. for now, just make @/ a no-op, that's the only one - % people have actually reported a problem with. - % - \normalturnoffactive - \def\@{@}% - \let\/=\empty - \makevalueexpandable - \leavevmode\urlcolor - \startlink attr{/Border [0 0 0]}% - user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - \endgroup} - \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} - \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} - \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} - \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} - \def\maketoks{% - \expandafter\poptoks\the\toksA|ENDTOKS|\relax - \ifx\first0\adn0 - \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 - \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 - \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 - \else - \ifnum0=\countA\else\makelink\fi - \ifx\first.\let\next=\done\else - \let\next=\maketoks - \addtokens{\toksB}{\the\toksD} - \ifx\first,\addtokens{\toksB}{\space}\fi - \fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \next} - \def\makelink{\addtokens{\toksB}% - {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} - \def\pdflink#1{% - \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} - \linkcolor #1\endlink} - \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} -\else - \let\pdfmkdest = \gobble - \let\pdfurl = \gobble - \let\endlink = \relax - \let\linkcolor = \relax - \let\pdfmakeoutlines = \relax -\fi % \ifx\pdfoutput - - -\message{fonts,} - -% Change the current font style to #1, remembering it in \curfontstyle. -% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in -% italics, not bold italics. -% -\def\setfontstyle#1{% - \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. - \csname ten#1\endcsname % change the current font -} - -% Select #1 fonts with the current style. -% -\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} - -\def\rm{\fam=0 \setfontstyle{rm}} -\def\it{\fam=\itfam \setfontstyle{it}} -\def\sl{\fam=\slfam \setfontstyle{sl}} -\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} -\def\tt{\fam=\ttfam \setfontstyle{tt}} - -% Texinfo sort of supports the sans serif font style, which plain TeX does not. -% So we set up a \sf. -\newfam\sffam -\def\sf{\fam=\sffam \setfontstyle{sf}} -\let\li = \sf % Sometimes we call it \li, not \sf. - -% We don't need math for this font style. -\def\ttsl{\setfontstyle{ttsl}} - - -% Default leading. -\newdimen\textleading \textleading = 13.2pt - -% Set the baselineskip to #1, and the lineskip and strut size -% correspondingly. There is no deep meaning behind these magic numbers -% used as factors; they just match (closely enough) what Knuth defined. -% -\def\lineskipfactor{.08333} -\def\strutheightpercent{.70833} -\def\strutdepthpercent {.29167} -% -\def\setleading#1{% - \normalbaselineskip = #1\relax - \normallineskip = \lineskipfactor\normalbaselineskip - \normalbaselines - \setbox\strutbox =\hbox{% - \vrule width0pt height\strutheightpercent\baselineskip - depth \strutdepthpercent \baselineskip - }% -} - -% -% PDF CMaps. See also LaTeX's t1.cmap. -% -% \cmapOT1 -\ifpdf - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1-0) -%%Title: (TeX-OT1-0 TeX OT1 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1) -/Supplement 0 ->> def -/CMapName /TeX-OT1-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -8 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<23> <26> <0023> -<28> <3B> <0028> -<3F> <5B> <003F> -<5D> <5E> <005D> -<61> <7A> <0061> -<7B> <7C> <2013> -endbfrange -40 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <00660066> -<0C> <00660069> -<0D> <0066006C> -<0E> <006600660069> -<0F> <00660066006C> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<21> <0021> -<22> <201D> -<27> <2019> -<3C> <00A1> -<3D> <003D> -<3E> <00BF> -<5C> <201C> -<5F> <02D9> -<60> <2018> -<7D> <02DD> -<7E> <007E> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -% -% \cmapOT1IT - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1IT-0) -%%Title: (TeX-OT1IT-0 TeX OT1IT 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1IT) -/Supplement 0 ->> def -/CMapName /TeX-OT1IT-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -8 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<25> <26> <0025> -<28> <3B> <0028> -<3F> <5B> <003F> -<5D> <5E> <005D> -<61> <7A> <0061> -<7B> <7C> <2013> -endbfrange -42 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <00660066> -<0C> <00660069> -<0D> <0066006C> -<0E> <006600660069> -<0F> <00660066006C> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<21> <0021> -<22> <201D> -<23> <0023> -<24> <00A3> -<27> <2019> -<3C> <00A1> -<3D> <003D> -<3E> <00BF> -<5C> <201C> -<5F> <02D9> -<60> <2018> -<7D> <02DD> -<7E> <007E> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1IT\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -% -% \cmapOT1TT - \begingroup - \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. - \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap -%%DocumentNeededResources: ProcSet (CIDInit) -%%IncludeResource: ProcSet (CIDInit) -%%BeginResource: CMap (TeX-OT1TT-0) -%%Title: (TeX-OT1TT-0 TeX OT1TT 0) -%%Version: 1.000 -%%EndComments -/CIDInit /ProcSet findresource begin -12 dict begin -begincmap -/CIDSystemInfo -<< /Registry (TeX) -/Ordering (OT1TT) -/Supplement 0 ->> def -/CMapName /TeX-OT1TT-0 def -/CMapType 2 def -1 begincodespacerange -<00> <7F> -endcodespacerange -5 beginbfrange -<00> <01> <0393> -<09> <0A> <03A8> -<21> <26> <0021> -<28> <5F> <0028> -<61> <7E> <0061> -endbfrange -32 beginbfchar -<02> <0398> -<03> <039B> -<04> <039E> -<05> <03A0> -<06> <03A3> -<07> <03D2> -<08> <03A6> -<0B> <2191> -<0C> <2193> -<0D> <0027> -<0E> <00A1> -<0F> <00BF> -<10> <0131> -<11> <0237> -<12> <0060> -<13> <00B4> -<14> <02C7> -<15> <02D8> -<16> <00AF> -<17> <02DA> -<18> <00B8> -<19> <00DF> -<1A> <00E6> -<1B> <0153> -<1C> <00F8> -<1D> <00C6> -<1E> <0152> -<1F> <00D8> -<20> <2423> -<27> <2019> -<60> <2018> -<7F> <00A8> -endbfchar -endcmap -CMapName currentdict /CMap defineresource pop -end -end -%%EndResource -%%EOF - }\endgroup - \expandafter\edef\csname cmapOT1TT\endcsname#1{% - \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% - }% -\else - \expandafter\let\csname cmapOT1\endcsname\gobble - \expandafter\let\csname cmapOT1IT\endcsname\gobble - \expandafter\let\csname cmapOT1TT\endcsname\gobble -\fi - - -% Set the font macro #1 to the font named #2, adding on the -% specified font prefix (normally `cm'). -% #3 is the font's design size, #4 is a scale factor, #5 is the CMap -% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass -% empty to omit). -\def\setfont#1#2#3#4#5{% - \font#1=\fontprefix#2#3 scaled #4 - \csname cmap#5\endcsname#1% -} -% This is what gets called when #5 of \setfont is empty. -\let\cmap\gobble - - -% Use cm as the default font prefix. -% To specify the font prefix, you must define \fontprefix -% before you read in texinfo.tex. -\ifx\fontprefix\undefined -\def\fontprefix{cm} -\fi -% Support font families that don't use the same naming scheme as CM. -\def\rmshape{r} -\def\rmbshape{bx} %where the normal face is bold -\def\bfshape{b} -\def\bxshape{bx} -\def\ttshape{tt} -\def\ttbshape{tt} -\def\ttslshape{sltt} -\def\itshape{ti} -\def\itbshape{bxti} -\def\slshape{sl} -\def\slbshape{bxsl} -\def\sfshape{ss} -\def\sfbshape{ss} -\def\scshape{csc} -\def\scbshape{csc} - -% Definitions for a main text size of 11pt. This is the default in -% Texinfo. -% -\def\definetextfontsizexi{% -% Text fonts (11.2pt, magstep1). -\def\textnominalsize{11pt} -\edef\mainmagstep{\magstephalf} -\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} -\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} -\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} -\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} -\setfont\textsl\slshape{10}{\mainmagstep}{OT1} -\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} -\setfont\textsc\scshape{10}{\mainmagstep}{OT1} -\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstep1}{OT1} -\setfont\deftt\ttshape{10}{\magstep1}{OT1TT} -\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000}{OT1} -\setfont\smalltt\ttshape{9}{1000}{OT1TT} -\setfont\smallbf\bfshape{10}{900}{OT1} -\setfont\smallit\itshape{9}{1000}{OT1IT} -\setfont\smallsl\slshape{9}{1000}{OT1} -\setfont\smallsf\sfshape{9}{1000}{OT1} -\setfont\smallsc\scshape{10}{900}{OT1} -\setfont\smallttsl\ttslshape{10}{900}{OT1TT} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000}{OT1} -\setfont\smallertt\ttshape{8}{1000}{OT1TT} -\setfont\smallerbf\bfshape{10}{800}{OT1} -\setfont\smallerit\itshape{8}{1000}{OT1IT} -\setfont\smallersl\slshape{8}{1000}{OT1} -\setfont\smallersf\sfshape{8}{1000}{OT1} -\setfont\smallersc\scshape{10}{800}{OT1} -\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} -\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} -\setfont\titlesl\slbshape{10}{\magstep4}{OT1} -\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} -\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} -\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4}{OT1} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\authorrm{\secrm} -\def\authortt{\sectt} - -% Chapter (and unnumbered) fonts (17.28pt). -\def\chapnominalsize{17pt} -\setfont\chaprm\rmbshape{12}{\magstep2}{OT1} -\setfont\chapit\itbshape{10}{\magstep3}{OT1IT} -\setfont\chapsl\slbshape{10}{\magstep3}{OT1} -\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} -\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} -\setfont\chapsf\sfbshape{17}{1000}{OT1} -\let\chapbf=\chaprm -\setfont\chapsc\scbshape{10}{\magstep3}{OT1} -\font\chapi=cmmi12 scaled \magstep2 -\font\chapsy=cmsy10 scaled \magstep3 - -% Section fonts (14.4pt). -\def\secnominalsize{14pt} -\setfont\secrm\rmbshape{12}{\magstep1}{OT1} -\setfont\secit\itbshape{10}{\magstep2}{OT1IT} -\setfont\secsl\slbshape{10}{\magstep2}{OT1} -\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} -\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} -\setfont\secsf\sfbshape{12}{\magstep1}{OT1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep2}{OT1} -\font\seci=cmmi12 scaled \magstep1 -\font\secsy=cmsy10 scaled \magstep2 - -% Subsection fonts (13.15pt). -\def\ssecnominalsize{13pt} -\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} -\setfont\ssecit\itbshape{10}{1315}{OT1IT} -\setfont\ssecsl\slbshape{10}{1315}{OT1} -\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} -\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} -\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1315}{OT1} -\font\sseci=cmmi12 scaled \magstephalf -\font\ssecsy=cmsy10 scaled 1315 - -% Reduced fonts for @acro in text (10pt). -\def\reducednominalsize{10pt} -\setfont\reducedrm\rmshape{10}{1000}{OT1} -\setfont\reducedtt\ttshape{10}{1000}{OT1TT} -\setfont\reducedbf\bfshape{10}{1000}{OT1} -\setfont\reducedit\itshape{10}{1000}{OT1IT} -\setfont\reducedsl\slshape{10}{1000}{OT1} -\setfont\reducedsf\sfshape{10}{1000}{OT1} -\setfont\reducedsc\scshape{10}{1000}{OT1} -\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} -\font\reducedi=cmmi10 -\font\reducedsy=cmsy10 - -% reset the current fonts -\textfonts -\rm -} % end of 11pt text font size definitions - - -% Definitions to make the main text be 10pt Computer Modern, with -% section, chapter, etc., sizes following suit. This is for the GNU -% Press printing of the Emacs 22 manual. Maybe other manuals in the -% future. Used with @smallbook, which sets the leading to 12pt. -% -\def\definetextfontsizex{% -% Text fonts (10pt). -\def\textnominalsize{10pt} -\edef\mainmagstep{1000} -\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} -\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} -\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} -\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} -\setfont\textsl\slshape{10}{\mainmagstep}{OT1} -\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} -\setfont\textsc\scshape{10}{\mainmagstep}{OT1} -\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} -\font\texti=cmmi10 scaled \mainmagstep -\font\textsy=cmsy10 scaled \mainmagstep - -% A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstephalf}{OT1} -\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} -\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} -\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} - -% Fonts for indices, footnotes, small examples (9pt). -\def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000}{OT1} -\setfont\smalltt\ttshape{9}{1000}{OT1TT} -\setfont\smallbf\bfshape{10}{900}{OT1} -\setfont\smallit\itshape{9}{1000}{OT1IT} -\setfont\smallsl\slshape{9}{1000}{OT1} -\setfont\smallsf\sfshape{9}{1000}{OT1} -\setfont\smallsc\scshape{10}{900}{OT1} -\setfont\smallttsl\ttslshape{10}{900}{OT1TT} -\font\smalli=cmmi9 -\font\smallsy=cmsy9 - -% Fonts for small examples (8pt). -\def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000}{OT1} -\setfont\smallertt\ttshape{8}{1000}{OT1TT} -\setfont\smallerbf\bfshape{10}{800}{OT1} -\setfont\smallerit\itshape{8}{1000}{OT1IT} -\setfont\smallersl\slshape{8}{1000}{OT1} -\setfont\smallersf\sfshape{8}{1000}{OT1} -\setfont\smallersc\scshape{10}{800}{OT1} -\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} -\font\smalleri=cmmi8 -\font\smallersy=cmsy8 - -% Fonts for title page (20.4pt): -\def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} -\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} -\setfont\titlesl\slbshape{10}{\magstep4}{OT1} -\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} -\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} -\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} -\let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4}{OT1} -\font\titlei=cmmi12 scaled \magstep3 -\font\titlesy=cmsy10 scaled \magstep4 -\def\authorrm{\secrm} -\def\authortt{\sectt} - -% Chapter fonts (14.4pt). -\def\chapnominalsize{14pt} -\setfont\chaprm\rmbshape{12}{\magstep1}{OT1} -\setfont\chapit\itbshape{10}{\magstep2}{OT1IT} -\setfont\chapsl\slbshape{10}{\magstep2}{OT1} -\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} -\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} -\setfont\chapsf\sfbshape{12}{\magstep1}{OT1} -\let\chapbf\chaprm -\setfont\chapsc\scbshape{10}{\magstep2}{OT1} -\font\chapi=cmmi12 scaled \magstep1 -\font\chapsy=cmsy10 scaled \magstep2 - -% Section fonts (12pt). -\def\secnominalsize{12pt} -\setfont\secrm\rmbshape{12}{1000}{OT1} -\setfont\secit\itbshape{10}{\magstep1}{OT1IT} -\setfont\secsl\slbshape{10}{\magstep1}{OT1} -\setfont\sectt\ttbshape{12}{1000}{OT1TT} -\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} -\setfont\secsf\sfbshape{12}{1000}{OT1} -\let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep1}{OT1} -\font\seci=cmmi12 -\font\secsy=cmsy10 scaled \magstep1 - -% Subsection fonts (10pt). -\def\ssecnominalsize{10pt} -\setfont\ssecrm\rmbshape{10}{1000}{OT1} -\setfont\ssecit\itbshape{10}{1000}{OT1IT} -\setfont\ssecsl\slbshape{10}{1000}{OT1} -\setfont\ssectt\ttbshape{10}{1000}{OT1TT} -\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} -\setfont\ssecsf\sfbshape{10}{1000}{OT1} -\let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1000}{OT1} -\font\sseci=cmmi10 -\font\ssecsy=cmsy10 - -% Reduced fonts for @acro in text (9pt). -\def\reducednominalsize{9pt} -\setfont\reducedrm\rmshape{9}{1000}{OT1} -\setfont\reducedtt\ttshape{9}{1000}{OT1TT} -\setfont\reducedbf\bfshape{10}{900}{OT1} -\setfont\reducedit\itshape{9}{1000}{OT1IT} -\setfont\reducedsl\slshape{9}{1000}{OT1} -\setfont\reducedsf\sfshape{9}{1000}{OT1} -\setfont\reducedsc\scshape{10}{900}{OT1} -\setfont\reducedttsl\ttslshape{10}{900}{OT1TT} -\font\reducedi=cmmi9 -\font\reducedsy=cmsy9 - -% reduce space between paragraphs -\divide\parskip by 2 - -% reset the current fonts -\textfonts -\rm -} % end of 10pt text font size definitions - - -% We provide the user-level command -% @fonttextsize 10 -% (or 11) to redefine the text font size. pt is assumed. -% -\def\xword{10} -\def\xiword{11} -% -\parseargdef\fonttextsize{% - \def\textsizearg{#1}% - \wlog{doing @fonttextsize \textsizearg}% - % - % Set \globaldefs so that documents can use this inside @tex, since - % makeinfo 4.8 does not support it, but we need it nonetheless. - % - \begingroup \globaldefs=1 - \ifx\textsizearg\xword \definetextfontsizex - \else \ifx\textsizearg\xiword \definetextfontsizexi - \else - \errhelp=\EMsimple - \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} - \fi\fi - \endgroup -} - - -% In order for the font changes to affect most math symbols and letters, -% we have to define the \textfont of the standard families. Since -% texinfo doesn't allow for producing subscripts and superscripts except -% in the main text, we don't bother to reset \scriptfont and -% \scriptscriptfont (which would also require loading a lot more fonts). -% -\def\resetmathfonts{% - \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy - \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf - \textfont\ttfam=\tentt \textfont\sffam=\tensf -} - -% The font-changing commands redefine the meanings of \tenSTYLE, instead -% of just \STYLE. We do this because \STYLE needs to also set the -% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire -% \tenSTYLE to set the current font. -% -% Each font-changing command also sets the names \lsize (one size lower) -% and \lllsize (three sizes lower). These relative commands are used in -% the LaTeX logo and acronyms. -% -% This all needs generalizing, badly. -% -\def\textfonts{% - \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl - \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc - \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy - \let\tenttsl=\textttsl - \def\curfontsize{text}% - \def\lsize{reduced}\def\lllsize{smaller}% - \resetmathfonts \setleading{\textleading}} -\def\titlefonts{% - \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl - \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc - \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy - \let\tenttsl=\titlettsl - \def\curfontsize{title}% - \def\lsize{chap}\def\lllsize{subsec}% - \resetmathfonts \setleading{25pt}} -\def\titlefont#1{{\titlefonts\rm #1}} -\def\chapfonts{% - \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl - \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc - \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy - \let\tenttsl=\chapttsl - \def\curfontsize{chap}% - \def\lsize{sec}\def\lllsize{text}% - \resetmathfonts \setleading{19pt}} -\def\secfonts{% - \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl - \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc - \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy - \let\tenttsl=\secttsl - \def\curfontsize{sec}% - \def\lsize{subsec}\def\lllsize{reduced}% - \resetmathfonts \setleading{16pt}} -\def\subsecfonts{% - \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl - \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc - \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy - \let\tenttsl=\ssecttsl - \def\curfontsize{ssec}% - \def\lsize{text}\def\lllsize{small}% - \resetmathfonts \setleading{15pt}} -\let\subsubsecfonts = \subsecfonts -\def\reducedfonts{% - \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl - \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc - \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy - \let\tenttsl=\reducedttsl - \def\curfontsize{reduced}% - \def\lsize{small}\def\lllsize{smaller}% - \resetmathfonts \setleading{10.5pt}} -\def\smallfonts{% - \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl - \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc - \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy - \let\tenttsl=\smallttsl - \def\curfontsize{small}% - \def\lsize{smaller}\def\lllsize{smaller}% - \resetmathfonts \setleading{10.5pt}} -\def\smallerfonts{% - \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl - \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc - \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy - \let\tenttsl=\smallerttsl - \def\curfontsize{smaller}% - \def\lsize{smaller}\def\lllsize{smaller}% - \resetmathfonts \setleading{9.5pt}} - -% Set the fonts to use with the @small... environments. -\let\smallexamplefonts = \smallfonts - -% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample -% can fit this many characters: -% 8.5x11=86 smallbook=72 a4=90 a5=69 -% If we use \scriptfonts (8pt), then we can fit this many characters: -% 8.5x11=90+ smallbook=80 a4=90+ a5=77 -% For me, subjectively, the few extra characters that fit aren't worth -% the additional smallness of 8pt. So I'm making the default 9pt. -% -% By the way, for comparison, here's what fits with @example (10pt): -% 8.5x11=71 smallbook=60 a4=75 a5=58 -% -% I wish the USA used A4 paper. -% --karl, 24jan03. - - -% Set up the default fonts, so we can use them for creating boxes. -% -\definetextfontsizexi - -% Define these so they can be easily changed for other fonts. -\def\angleleft{$\langle$} -\def\angleright{$\rangle$} - -% Count depth in font-changes, for error checks -\newcount\fontdepth \fontdepth=0 - -% Fonts for short table of contents. -\setfont\shortcontrm\rmshape{12}{1000}{OT1} -\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 -\setfont\shortcontsl\slshape{12}{1000}{OT1} -\setfont\shortconttt\ttshape{12}{1000}{OT1TT} - -%% Add scribe-like font environments, plus @l for inline lisp (usually sans -%% serif) and @ii for TeX italic - -% \smartitalic{ARG} outputs arg in italics, followed by an italic correction -% unless the following character is such as not to need one. -\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else - \ptexslash\fi\fi\fi} -\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} -\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} - -% like \smartslanted except unconditionally uses \ttsl. -% @var is set to this for defun arguments. -\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} - -% like \smartslanted except unconditionally use \sl. We never want -% ttsl for book titles, do we? -\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} - -\let\i=\smartitalic -\let\slanted=\smartslanted -\let\var=\smartslanted -\let\dfn=\smartslanted -\let\emph=\smartitalic - -% @b, explicit bold. -\def\b#1{{\bf #1}} -\let\strong=\b - -% @sansserif, explicit sans. -\def\sansserif#1{{\sf #1}} - -% We can't just use \exhyphenpenalty, because that only has effect at -% the end of a paragraph. Restore normal hyphenation at the end of the -% group within which \nohyphenation is presumably called. -% -\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} -\def\restorehyphenation{\hyphenchar\font = `- } - -% Set sfcode to normal for the chars that usually have another value. -% Can't use plain's \frenchspacing because it uses the `\x notation, and -% sometimes \x has an active definition that messes things up. -% -\catcode`@=11 - \def\plainfrenchspacing{% - \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m - \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m - \def\endofsentencespacefactor{1000}% for @. and friends - } - \def\plainnonfrenchspacing{% - \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000 - \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250 - \def\endofsentencespacefactor{3000}% for @. and friends - } -\catcode`@=\other -\def\endofsentencespacefactor{3000}% default - -\def\t#1{% - {\tt \rawbackslash \plainfrenchspacing #1}% - \null -} -\def\samp#1{`\tclose{#1}'\null} -\setfont\keyrm\rmshape{8}{1000}{OT1} -\font\keysy=cmsy9 -\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% - \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% - \vbox{\hrule\kern-0.4pt - \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% - \kern-0.4pt\hrule}% - \kern-.06em\raise0.4pt\hbox{\angleright}}}} -\def\key #1{{\nohyphenation \uppercase{#1}}\null} -% The old definition, with no lozenge: -%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} -\def\ctrl #1{{\tt \rawbackslash \hat}#1} - -% @file, @option are the same as @samp. -\let\file=\samp -\let\option=\samp - -% @code is a modification of @t, -% which makes spaces the same size as normal in the surrounding text. -\def\tclose#1{% - {% - % Change normal interword space to be same as for the current font. - \spaceskip = \fontdimen2\font - % - % Switch to typewriter. - \tt - % - % But `\ ' produces the large typewriter interword space. - \def\ {{\spaceskip = 0pt{} }}% - % - % Turn off hyphenation. - \nohyphenation - % - \rawbackslash - \plainfrenchspacing - #1% - }% - \null -} - -% We *must* turn on hyphenation at `-' and `_' in @code. -% Otherwise, it is too hard to avoid overfull hboxes -% in the Emacs manual, the Library manual, etc. - -% Unfortunately, TeX uses one parameter (\hyphenchar) to control -% both hyphenation at - and hyphenation within words. -% We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. -{ - \catcode`\-=\active \catcode`\_=\active - \catcode`\'=\active \catcode`\`=\active - % - \global\def\code{\begingroup - \catcode\rquoteChar=\active \catcode\lquoteChar=\active - \let'\codequoteright \let`\codequoteleft - % - \catcode\dashChar=\active \catcode\underChar=\active - \ifallowcodebreaks - \let-\codedash - \let_\codeunder - \else - \let-\realdash - \let_\realunder - \fi - \codex - } -} - -\def\realdash{-} -\def\codedash{-\discretionary{}{}{}} -\def\codeunder{% - % this is all so @math{@code{var_name}+1} can work. In math mode, _ - % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) - % will therefore expand the active definition of _, which is us - % (inside @code that is), therefore an endless loop. - \ifusingtt{\ifmmode - \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. - \else\normalunderscore \fi - \discretionary{}{}{}}% - {\_}% -} -\def\codex #1{\tclose{#1}\endgroup} - -% An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. -% -\newif\ifallowcodebreaks \allowcodebreakstrue - -\def\keywordtrue{true} -\def\keywordfalse{false} - -\parseargdef\allowcodebreaks{% - \def\txiarg{#1}% - \ifx\txiarg\keywordtrue - \allowcodebreakstrue - \else\ifx\txiarg\keywordfalse - \allowcodebreaksfalse - \else - \errhelp = \EMsimple - \errmessage{Unknown @allowcodebreaks option `\txiarg'}% - \fi\fi -} - -% @kbd is like @code, except that if the argument is just one @key command, -% then @kbd has no effect. - -% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), -% `example' (@kbd uses ttsl only inside of @example and friends), -% or `code' (@kbd uses normal tty font always). -\parseargdef\kbdinputstyle{% - \def\txiarg{#1}% - \ifx\txiarg\worddistinct - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% - \else\ifx\txiarg\wordexample - \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% - \else\ifx\txiarg\wordcode - \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% - \else - \errhelp = \EMsimple - \errmessage{Unknown @kbdinputstyle option `\txiarg'}% - \fi\fi\fi -} -\def\worddistinct{distinct} -\def\wordexample{example} -\def\wordcode{code} - -% Default is `distinct.' -\kbdinputstyle distinct - -\def\xkey{\key} -\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% -\ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\look}}\fi -\else{\tclose{\kbdfont\look}}\fi} - -% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. -\let\indicateurl=\code -\let\env=\code -\let\command=\code - -% @uref (abbreviation for `urlref') takes an optional (comma-separated) -% second argument specifying the text to display and an optional third -% arg as text to display instead of (rather than in addition to) the url -% itself. First (mandatory) arg is the url. Perhaps eventually put in -% a hypertex \special here. -% -\def\uref#1{\douref #1,,,\finish} -\def\douref#1,#2,#3,#4\finish{\begingroup - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \code{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} - -% @url synonym for @uref, since that's how everyone uses it. -% -\let\url=\uref - -% rms does not like angle brackets --karl, 17may97. -% So now @email is just like @uref, unless we are pdf. -% -%\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdf - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} -\else - \let\email=\uref -\fi - -% Check if we are currently using a typewriter font. Since all the -% Computer Modern typewriter fonts have zero interword stretch (and -% shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } - -% Typeset a dimension, e.g., `in' or `pt'. The only reason for the -% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. -% -\def\dmn#1{\thinspace #1} - -\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} - -% @l was never documented to mean ``switch to the Lisp font'', -% and it is not used as such in any manual I can find. We need it for -% Polish suppressed-l. --karl, 22sep96. -%\def\l#1{{\li #1}\null} - -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font -\def\sc#1{{\smallcaps#1}} % smallcaps font -\def\ii#1{{\it #1}} % italic font - -% @acronym for "FBI", "NATO", and the like. -% We print this one point size smaller, since it's intended for -% all-uppercase. -% -\def\acronym#1{\doacronym #1,,\finish} -\def\doacronym#1,#2,#3\finish{% - {\selectfonts\lsize #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi -} - -% @abbr for "Comput. J." and the like. -% No font change, but don't do end-of-sentence spacing. -% -\def\abbr#1{\doabbr #1,,\finish} -\def\doabbr#1,#2,#3\finish{% - {\plainfrenchspacing #1}% - \def\temp{#2}% - \ifx\temp\empty \else - \space ({\unsepspaces \ignorespaces \temp \unskip})% - \fi -} - -% @pounds{} is a sterling sign, which Knuth put in the CM italic font. -% -\def\pounds{{\it\$}} - -% @euro{} comes from a separate font, depending on the current style. -% We use the free feym* fonts from the eurosym package by Henrik -% Theiling, which support regular, slanted, bold and bold slanted (and -% "outlined" (blackboard board, sort of) versions, which we don't need). -% It is available from https://www.ctan.org/tex-archive/fonts/eurosym. -% -% Although only regular is the truly official Euro symbol, we ignore -% that. The Euro is designed to be slightly taller than the regular -% font height. -% -% feymr - regular -% feymo - slanted -% feybr - bold -% feybo - bold slanted -% -% There is no good (free) typewriter version, to my knowledge. -% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. -% Hmm. -% -% Also doesn't work in math. Do we need to do math with euro symbols? -% Hope not. -% -% -\def\euro{{\eurofont e}} -\def\eurofont{% - % We set the font at each command, rather than predefining it in - % \textfonts and the other font-switching commands, so that - % installations which never need the symbol don't have to have the - % font installed. - % - % There is only one designed size (nominal 10pt), so we always scale - % that to the current nominal size. - % - % By the way, simply using "at 1em" works for cmr10 and the like, but - % does not work for cmbx10 and other extended/shrunken fonts. - % - \def\eurosize{\csname\curfontsize nominalsize\endcsname}% - % - \ifx\curfontstyle\bfstylename - % bold: - \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else - % regular: - \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize - \fi - \thiseurofont -} - -% @registeredsymbol - R in a circle. The font for the R should really -% be smaller yet, but lllsize is the best we can do for now. -% Adapted from the plain.tex definition of \copyright. -% -\def\registeredsymbol{% - $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% - \hfil\crcr\Orb}}% - }$% -} - -% @textdegree - the normal degrees sign. -% -\def\textdegree{$^\circ$} - -% Laurent Siebenmann reports \Orb undefined with: -% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 -% so we'll define it if necessary. -% -\ifx\Orb\undefined -\def\Orb{\mathhexbox20D} -\fi - - -\message{page headings,} - -\newskip\titlepagetopglue \titlepagetopglue = 1.5in -\newskip\titlepagebottomglue \titlepagebottomglue = 2pc - -% First the title page. Must do @settitle before @titlepage. -\newif\ifseenauthor -\newif\iffinishedtitlepage - -% Do an implicit @contents or @shortcontents after @end titlepage if the -% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. -% -\newif\ifsetcontentsaftertitlepage - \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue -\newif\ifsetshortcontentsaftertitlepage - \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue - -\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% - \endgroup\page\hbox{}\page} - -\envdef\titlepage{% - % Open one extra group, as we want to close it in the middle of \Etitlepage. - \begingroup - \parindent=0pt \textfonts - % Leave some space at the very top of the page. - \vglue\titlepagetopglue - % No rule at page bottom unless we print one at the top with @title. - \finishedtitlepagetrue - % - % Most title ``pages'' are actually two pages long, with space - % at the top of the second. We don't want the ragged left on the second. - \let\oldpage = \page - \def\page{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - \let\page = \oldpage - \page - \null - }% -} - -\def\Etitlepage{% - \iffinishedtitlepage\else - \finishtitlepage - \fi - % It is important to do the page break before ending the group, - % because the headline and footline are only empty inside the group. - % If we use the new definition of \page, we always get a blank page - % after the title page, which we certainly don't want. - \oldpage - \endgroup - % - % Need this before the \...aftertitlepage checks so that if they are - % in effect the toc pages will come out with page numbers. - \HEADINGSon - % - % If they want short, they certainly want long too. - \ifsetshortcontentsaftertitlepage - \shortcontents - \contents - \global\let\shortcontents = \relax - \global\let\contents = \relax - \fi - % - \ifsetcontentsaftertitlepage - \contents - \global\let\contents = \relax - \global\let\shortcontents = \relax - \fi -} - -\def\finishtitlepage{% - \vskip4pt \hrule height 2pt width \hsize - \vskip\titlepagebottomglue - \finishedtitlepagetrue -} - -%%% Macros to be used within @titlepage: - -\let\subtitlerm=\tenrm -\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} - -\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines - \let\tt=\authortt} - -\parseargdef\title{% - \checkenv\titlepage - \leftline{\titlefonts\rm #1} - % print a rule at the page bottom also. - \finishedtitlepagefalse - \vskip4pt \hrule height 4pt width \hsize \vskip4pt -} - -\parseargdef\subtitle{% - \checkenv\titlepage - {\subtitlefont \rightline{#1}}% -} - -% @author should come last, but may come many times. -% It can also be used inside @quotation. -% -\parseargdef\author{% - \def\temp{\quotation}% - \ifx\thisenv\temp - \def\quotationauthor{#1}% printed in \Equotation. - \else - \checkenv\titlepage - \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi - {\authorfont \leftline{#1}}% - \fi -} - - -%%% Set up page headings and footings. - -\let\thispage=\folio - -\newtoks\evenheadline % headline on even pages -\newtoks\oddheadline % headline on odd pages -\newtoks\evenfootline % footline on even pages -\newtoks\oddfootline % footline on odd pages - -% Now make TeX use those variables -\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline - \else \the\evenheadline \fi}} -\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline - \else \the\evenfootline \fi}\HEADINGShook} -\let\HEADINGShook=\relax - -% Commands to set those variables. -% For example, this is what @headings on does -% @evenheading @thistitle|@thispage|@thischapter -% @oddheading @thischapter|@thispage|@thistitle -% @evenfooting @thisfile|| -% @oddfooting ||@thisfile - - -\def\evenheading{\parsearg\evenheadingxxx} -\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} -\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% -\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddheading{\parsearg\oddheadingxxx} -\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} -\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% -\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% - -\def\evenfooting{\parsearg\evenfootingxxx} -\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} -\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% -\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} - -\def\oddfooting{\parsearg\oddfootingxxx} -\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} -\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% - \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% - % - % Leave some space for the footline. Hopefully ok to assume - % @evenfooting will not be used by itself. - \global\advance\pageheight by -12pt - \global\advance\vsize by -12pt -} - -\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} - - -% @headings double turns headings on for double-sided printing. -% @headings single turns headings on for single-sided printing. -% @headings off turns them off. -% @headings on same as @headings double, retained for compatibility. -% @headings after turns on double-sided headings after this page. -% @headings doubleafter turns on double-sided headings after this page. -% @headings singleafter turns on single-sided headings after this page. -% By default, they are off at the start of a document, -% and turned `on' after @end titlepage. - -\def\headings #1 {\csname HEADINGS#1\endcsname} - -\def\HEADINGSoff{% -\global\evenheadline={\hfil} \global\evenfootline={\hfil} -\global\oddheadline={\hfil} \global\oddfootline={\hfil}} -\HEADINGSoff -% When we turn headings on, set the page number to 1. -% For double-sided printing, put current file name in lower left corner, -% chapter name on inside top of right hand pages, document -% title on inside top of left hand pages, and page numbers on outside top -% edge of all pages. -\def\HEADINGSdouble{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} -\let\contentsalignmacro = \chappager - -% For single-sided printing, chapter title goes across top left of page, -% page number on top right. -\def\HEADINGSsingle{% -\global\pageno=1 -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} -\def\HEADINGSon{\HEADINGSdouble} - -\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} -\let\HEADINGSdoubleafter=\HEADINGSafter -\def\HEADINGSdoublex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\folio\hfil\thistitle}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chapoddpage -} - -\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} -\def\HEADINGSsinglex{% -\global\evenfootline={\hfil} -\global\oddfootline={\hfil} -\global\evenheadline={\line{\thischapter\hfil\folio}} -\global\oddheadline={\line{\thischapter\hfil\folio}} -\global\let\contentsalignmacro = \chappager -} - -% Subroutines used in generating headings -% This produces Day Month Year style of output. -% Only define if not already defined, in case a txi-??.tex file has set -% up a different format (e.g., txi-cs.tex does this). -\ifx\today\undefined -\def\today{% - \number\day\space - \ifcase\month - \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr - \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug - \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec - \fi - \space\number\year} -\fi - -% @settitle line... specifies the title of the document, for headings. -% It generates no output of its own. -\def\thistitle{\putwordNoTitle} -\def\settitle{\parsearg{\gdef\thistitle}} - - -\message{tables,} -% Tables -- @table, @ftable, @vtable, @item(x). - -% default indentation of table text -\newdimen\tableindent \tableindent=.8in -% default indentation of @itemize and @enumerate text -\newdimen\itemindent \itemindent=.3in -% margin between end of table item and start of table text. -\newdimen\itemmargin \itemmargin=.1in - -% used internally for \itemindent minus \itemmargin -\newdimen\itemmax - -% Note @table, @ftable, and @vtable define @item, @itemx, etc., with -% these defs. -% They also define \itemindex -% to index the item name in whatever manner is desired (perhaps none). - -\newif\ifitemxneedsnegativevskip - -\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} - -\def\internalBitem{\smallbreak \parsearg\itemzzz} -\def\internalBitemx{\itemxpar \parsearg\itemzzz} - -\def\itemzzz #1{\begingroup % - \advance\hsize by -\rightskip - \advance\hsize by -\tableindent - \setbox0=\hbox{\itemindicate{#1}}% - \itemindex{#1}% - \nobreak % This prevents a break before @itemx. - % - % If the item text does not fit in the space we have, put it on a line - % by itself, and do not allow a page break either before or after that - % line. We do not start a paragraph here because then if the next - % command is, e.g., @kindex, the whatsit would get put into the - % horizontal list on a line by itself, resulting in extra blank space. - \ifdim \wd0>\itemmax - % - % Make this a paragraph so we get the \parskip glue and wrapping, - % but leave it ragged-right. - \begingroup - \advance\leftskip by-\tableindent - \advance\hsize by\tableindent - \advance\rightskip by0pt plus1fil - \leavevmode\unhbox0\par - \endgroup - % - % We're going to be starting a paragraph, but we don't want the - % \parskip glue -- logically it's part of the @item we just started. - \nobreak \vskip-\parskip - % - % Stop a page break at the \parskip glue coming up. However, if - % what follows is an environment such as @example, there will be no - % \parskip glue; then the negative vskip we just inserted would - % cause the example and the item to crash together. So we use this - % bizarre value of 10001 as a signal to \aboveenvbreak to insert - % \parskip glue after all. Section titles are handled this way also. - % - \penalty 10001 - \endgroup - \itemxneedsnegativevskipfalse - \else - % The item text fits into the space. Start a paragraph, so that the - % following text (if any) will end up on the same line. - \noindent - % Do this with kerns and \unhbox so that if there is a footnote in - % the item text, it can migrate to the main vertical list and - % eventually be printed. - \nobreak\kern-\tableindent - \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 - \unhbox0 - \nobreak\kern\dimen0 - \endgroup - \itemxneedsnegativevskiptrue - \fi -} - -\def\item{\errmessage{@item while not in a list environment}} -\def\itemx{\errmessage{@itemx while not in a list environment}} - -% @table, @ftable, @vtable. -\envdef\table{% - \let\itemindex\gobble - \tablecheck{table}% -} -\envdef\ftable{% - \def\itemindex ##1{\doind {fn}{\code{##1}}}% - \tablecheck{ftable}% -} -\envdef\vtable{% - \def\itemindex ##1{\doind {vr}{\code{##1}}}% - \tablecheck{vtable}% -} -\def\tablecheck#1{% - \ifnum \the\catcode`\^^M=\active - \endgroup - \errmessage{This command won't work in this context; perhaps the problem is - that we are \inenvironment\thisenv}% - \def\next{\doignore{#1}}% - \else - \let\next\tablex - \fi - \next -} -\def\tablex#1{% - \def\itemindicate{#1}% - \parsearg\tabley -} -\def\tabley#1{% - {% - \makevalueexpandable - \edef\temp{\noexpand\tablez #1\space\space\space}% - \expandafter - }\temp \endtablez -} -\def\tablez #1 #2 #3 #4\endtablez{% - \aboveenvbreak - \ifnum 0#1>0 \advance \leftskip by #1\mil \fi - \ifnum 0#2>0 \tableindent=#2\mil \fi - \ifnum 0#3>0 \advance \rightskip by #3\mil \fi - \itemmax=\tableindent - \advance \itemmax by -\itemmargin - \advance \leftskip by \tableindent - \exdentamount=\tableindent - \parindent = 0pt - \parskip = \smallskipamount - \ifdim \parskip=0pt \parskip=2pt \fi - \let\item = \internalBitem - \let\itemx = \internalBitemx -} -\def\Etable{\endgraf\afterenvbreak} -\let\Eftable\Etable -\let\Evtable\Etable -\let\Eitemize\Etable -\let\Eenumerate\Etable - -% This is the counter used by @enumerate, which is really @itemize - -\newcount \itemno - -\envdef\itemize{\parsearg\doitemize} - -\def\doitemize#1{% - \aboveenvbreak - \itemmax=\itemindent - \advance\itemmax by -\itemmargin - \advance\leftskip by \itemindent - \exdentamount=\itemindent - \parindent=0pt - \parskip=\smallskipamount - \ifdim\parskip=0pt \parskip=2pt \fi - \def\itemcontents{#1}% - % @itemize with no arg is equivalent to @itemize @bullet. - \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi - \let\item=\itemizeitem -} - -% Definition of @item while inside @itemize and @enumerate. -% -\def\itemizeitem{% - \advance\itemno by 1 % for enumerations - {\let\par=\endgraf \smallbreak}% reasonable place to break - {% - % If the document has an @itemize directly after a section title, a - % \nobreak will be last on the list, and \sectionheading will have - % done a \vskip-\parskip. In that case, we don't want to zero - % parskip, or the item text will crash with the heading. On the - % other hand, when there is normal text preceding the item (as there - % usually is), we do want to zero parskip, or there would be too much - % space. In that case, we won't have a \nobreak before. At least - % that's the theory. - \ifnum\lastpenalty<10000 \parskip=0in \fi - \noindent - \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% - \vadjust{\penalty 1200}}% not good to break after first line of item. - \flushcr -} - -% \splitoff TOKENS\endmark defines \first to be the first token in -% TOKENS, and \rest to be the remainder. -% -\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% - -% Allow an optional argument of an uppercase letter, lowercase letter, -% or number, to specify the first label in the enumerated list. No -% argument is the same as `1'. -% -\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} -\def\enumeratey #1 #2\endenumeratey{% - % If we were given no argument, pretend we were given `1'. - \def\thearg{#1}% - \ifx\thearg\empty \def\thearg{1}\fi - % - % Detect if the argument is a single token. If so, it might be a - % letter. Otherwise, the only valid thing it can be is a number. - % (We will always have one token, because of the test we just made. - % This is a good thing, since \splitoff doesn't work given nothing at - % all -- the first parameter is undelimited.) - \expandafter\splitoff\thearg\endmark - \ifx\rest\empty - % Only one token in the argument. It could still be anything. - % A ``lowercase letter'' is one whose \lccode is nonzero. - % An ``uppercase letter'' is one whose \lccode is both nonzero, and - % not equal to itself. - % Otherwise, we assume it's a number. - % - % We need the \relax at the end of the \ifnum lines to stop TeX from - % continuing to look for a <number>. - % - \ifnum\lccode\expandafter`\thearg=0\relax - \numericenumerate % a number (we hope) - \else - % It's a letter. - \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax - \lowercaseenumerate % lowercase letter - \else - \uppercaseenumerate % uppercase letter - \fi - \fi - \else - % Multiple tokens in the argument. We hope it's a number. - \numericenumerate - \fi -} - -% An @enumerate whose labels are integers. The starting integer is -% given in \thearg. -% -\def\numericenumerate{% - \itemno = \thearg - \startenumeration{\the\itemno}% -} - -% The starting (lowercase) letter is in \thearg. -\def\lowercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more lowercase letters in @enumerate; get a bigger - alphabet}% - \fi - \char\lccode\itemno - }% -} - -% The starting (uppercase) letter is in \thearg. -\def\uppercaseenumerate{% - \itemno = \expandafter`\thearg - \startenumeration{% - % Be sure we're not beyond the end of the alphabet. - \ifnum\itemno=0 - \errmessage{No more uppercase letters in @enumerate; get a bigger - alphabet} - \fi - \char\uccode\itemno - }% -} - -% Call \doitemize, adding a period to the first argument and supplying the -% common last two arguments. Also subtract one from the initial value in -% \itemno, since @item increments \itemno. -% -\def\startenumeration#1{% - \advance\itemno by -1 - \doitemize{#1.}\flushcr -} - -% @alphaenumerate and @capsenumerate are abbreviations for giving an arg -% to @enumerate. -% -\def\alphaenumerate{\enumerate{a}} -\def\capsenumerate{\enumerate{A}} -\def\Ealphaenumerate{\Eenumerate} -\def\Ecapsenumerate{\Eenumerate} - - -% @multitable macros -% Amy Hendrickson, 8/18/94, 3/6/96 -% -% @multitable ... @end multitable will make as many columns as desired. -% Contents of each column will wrap at width given in preamble. Width -% can be specified either with sample text given in a template line, -% or in percent of \hsize, the current width of text on page. - -% Table can continue over pages but will only break between lines. - -% To make preamble: -% -% Either define widths of columns in terms of percent of \hsize: -% @multitable @columnfractions .25 .3 .45 -% @item ... -% -% Numbers following @columnfractions are the percent of the total -% current hsize to be used for each column. You may use as many -% columns as desired. - - -% Or use a template: -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item ... -% using the widest term desired in each column. - -% Each new table line starts with @item, each subsequent new column -% starts with @tab. Empty columns may be produced by supplying @tab's -% with nothing between them for as many times as empty columns are needed, -% ie, @tab@tab@tab will produce two empty columns. - -% @item, @tab do not need to be on their own lines, but it will not hurt -% if they are. - -% Sample multitable: - -% @multitable {Column 1 template} {Column 2 template} {Column 3 template} -% @item first col stuff @tab second col stuff @tab third col -% @item -% first col stuff -% @tab -% second col stuff -% @tab -% third col -% @item first col stuff @tab second col stuff -% @tab Many paragraphs of text may be used in any column. -% -% They will wrap at the width determined by the template. -% @item@tab@tab This will be in third column. -% @end multitable - -% Default dimensions may be reset by user. -% @multitableparskip is vertical space between paragraphs in table. -% @multitableparindent is paragraph indent in table. -% @multitablecolmargin is horizontal space to be left between columns. -% @multitablelinespace is space to leave between table items, baseline -% to baseline. -% 0pt means it depends on current normal line spacing. -% -\newskip\multitableparskip -\newskip\multitableparindent -\newdimen\multitablecolspace -\newskip\multitablelinespace -\multitableparskip=0pt -\multitableparindent=6pt -\multitablecolspace=12pt -\multitablelinespace=0pt - -% Macros used to set up halign preamble: -% -\let\endsetuptable\relax -\def\xendsetuptable{\endsetuptable} -\let\columnfractions\relax -\def\xcolumnfractions{\columnfractions} -\newif\ifsetpercent - -% #1 is the @columnfraction, usually a decimal number like .5, but might -% be just 1. We just use it, whatever it is. -% -\def\pickupwholefraction#1 {% - \global\advance\colcount by 1 - \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% - \setuptable -} - -\newcount\colcount -\def\setuptable#1{% - \def\firstarg{#1}% - \ifx\firstarg\xendsetuptable - \let\go = \relax - \else - \ifx\firstarg\xcolumnfractions - \global\setpercenttrue - \else - \ifsetpercent - \let\go\pickupwholefraction - \else - \global\advance\colcount by 1 - \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a - % separator; typically that is always in the input, anyway. - \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% - \fi - \fi - \ifx\go\pickupwholefraction - % Put the argument back for the \pickupwholefraction call, so - % we'll always have a period there to be parsed. - \def\go{\pickupwholefraction#1}% - \else - \let\go = \setuptable - \fi% - \fi - \go -} - -% multitable-only commands. -% -% @headitem starts a heading row, which we typeset in bold. -% Assignments have to be global since we are inside the implicit group -% of an alignment entry. Note that \everycr resets \everytab. -\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% -% -% A \tab used to include \hskip1sp. But then the space in a template -% line is not enough. That is bad. So let's go back to just `&' until -% we encounter the problem it was intended to solve again. -% --karl, nathan@acm.org, 20apr99. -\def\tab{\checkenv\multitable &\the\everytab}% - -% @multitable ... @end multitable definitions: -% -\newtoks\everytab % insert after every tab. -% -\envdef\multitable{% - \vskip\parskip - \startsavinginserts - % - % @item within a multitable starts a normal row. - % We use \def instead of \let so that if one of the multitable entries - % contains an @itemize, we don't choke on the \item (seen as \crcr aka - % \endtemplate) expanding \doitemize. - \def\item{\crcr}% - % - \tolerance=9500 - \hbadness=9500 - \setmultitablespacing - \parskip=\multitableparskip - \parindent=\multitableparindent - \overfullrule=0pt - \global\colcount=0 - % - \everycr = {% - \noalign{% - \global\everytab={}% - \global\colcount=0 % Reset the column counter. - % Check for saved footnotes, etc. - \checkinserts - % Keeps underfull box messages off when table breaks over pages. - %\filbreak - % Maybe so, but it also creates really weird page breaks when the - % table breaks over pages. Wouldn't \vfil be better? Wait until the - % problem manifests itself, so it can be fixed for real --karl. - }% - }% - % - \parsearg\domultitable -} -\def\domultitable#1{% - % To parse everything between @multitable and @item: - \setuptable#1 \endsetuptable - % - % This preamble sets up a generic column definition, which will - % be used as many times as user calls for columns. - % \vtop will set a single line and will also let text wrap and - % continue for many paragraphs if desired. - \halign\bgroup &% - \global\advance\colcount by 1 - \multistrut - \vtop{% - % Use the current \colcount to find the correct column width: - \hsize=\expandafter\csname col\the\colcount\endcsname - % - % In order to keep entries from bumping into each other - % we will add a \leftskip of \multitablecolspace to all columns after - % the first one. - % - % If a template has been used, we will add \multitablecolspace - % to the width of each template entry. - % - % If the user has set preamble in terms of percent of \hsize we will - % use that dimension as the width of the column, and the \leftskip - % will keep entries from bumping into each other. Table will start at - % left margin and final column will justify at right margin. - % - % Make sure we don't inherit \rightskip from the outer environment. - \rightskip=0pt - \ifnum\colcount=1 - % The first column will be indented with the surrounding text. - \advance\hsize by\leftskip - \else - \ifsetpercent \else - % If user has not set preamble in terms of percent of \hsize - % we will advance \hsize by \multitablecolspace. - \advance\hsize by \multitablecolspace - \fi - % In either case we will make \leftskip=\multitablecolspace: - \leftskip=\multitablecolspace - \fi - % Ignoring space at the beginning and end avoids an occasional spurious - % blank line, when TeX decides to break the line at the space before the - % box from the multistrut, so the strut ends up on a line by itself. - % For example: - % @multitable @columnfractions .11 .89 - % @item @code{#} - % @tab Legal holiday which is valid in major parts of the whole country. - % Is automatically provided with highlighting sequences respectively - % marking characters. - \noindent\ignorespaces##\unskip\multistrut - }\cr -} -\def\Emultitable{% - \crcr - \egroup % end the \halign - \global\setpercentfalse -} - -\def\setmultitablespacing{% - \def\multistrut{\strut}% just use the standard line spacing - % - % Compute \multitablelinespace (if not defined by user) for use in - % \multitableparskip calculation. We used define \multistrut based on - % this, but (ironically) that caused the spacing to be off. - % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. -\ifdim\multitablelinespace=0pt -\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip -\global\advance\multitablelinespace by-\ht0 -\fi -%% Test to see if parskip is larger than space between lines of -%% table. If not, do nothing. -%% If so, set to same dimension as multitablelinespace. -\ifdim\multitableparskip>\multitablelinespace -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. -\fi% -\ifdim\multitableparskip=0pt -\global\multitableparskip=\multitablelinespace -\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller - %% than skip between lines in the table. -\fi} - - -\message{conditionals,} - -% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, -% @ifnotxml always succeed. They currently do nothing; we don't -% attempt to check whether the conditionals are properly nested. But we -% have to remember that they are conditionals, so that @end doesn't -% attempt to close an environment group. -% -\def\makecond#1{% - \expandafter\let\csname #1\endcsname = \relax - \expandafter\let\csname iscond.#1\endcsname = 1 -} -\makecond{iftex} -\makecond{ifnotdocbook} -\makecond{ifnothtml} -\makecond{ifnotinfo} -\makecond{ifnotplaintext} -\makecond{ifnotxml} - -% Ignore @ignore, @ifhtml, @ifinfo, and the like. -% -\def\direntry{\doignore{direntry}} -\def\documentdescription{\doignore{documentdescription}} -\def\docbook{\doignore{docbook}} -\def\html{\doignore{html}} -\def\ifdocbook{\doignore{ifdocbook}} -\def\ifhtml{\doignore{ifhtml}} -\def\ifinfo{\doignore{ifinfo}} -\def\ifnottex{\doignore{ifnottex}} -\def\ifplaintext{\doignore{ifplaintext}} -\def\ifxml{\doignore{ifxml}} -\def\ignore{\doignore{ignore}} -\def\menu{\doignore{menu}} -\def\xml{\doignore{xml}} - -% Ignore text until a line `@end #1', keeping track of nested conditionals. -% -% A count to remember the depth of nesting. -\newcount\doignorecount - -\def\doignore#1{\begingroup - % Scan in ``verbatim'' mode: - \obeylines - \catcode`\@ = \other - \catcode`\{ = \other - \catcode`\} = \other - % - % Make sure that spaces turn into tokens that match what \doignoretext wants. - \spaceisspace - % - % Count number of #1's that we've seen. - \doignorecount = 0 - % - % Swallow text until we reach the matching `@end #1'. - \dodoignore{#1}% -} - -{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. - \obeylines % - % - \gdef\dodoignore#1{% - % #1 contains the command name as a string, e.g., `ifinfo'. - % - % Define a command to find the next `@end #1'. - \long\def\doignoretext##1^^M@end #1{% - \doignoretextyyy##1^^M@#1\_STOP_}% - % - % And this command to find another #1 command, at the beginning of a - % line. (Otherwise, we would consider a line `@c @ifset', for - % example, to count as an @ifset for nesting.) - \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% - % - % And now expand that command. - \doignoretext ^^M% - }% -} - -\def\doignoreyyy#1{% - \def\temp{#1}% - \ifx\temp\empty % Nothing found. - \let\next\doignoretextzzz - \else % Found a nested condition, ... - \advance\doignorecount by 1 - \let\next\doignoretextyyy % ..., look for another. - % If we're here, #1 ends with ^^M\ifinfo (for example). - \fi - \next #1% the token \_STOP_ is present just after this macro. -} - -% We have to swallow the remaining "\_STOP_". -% -\def\doignoretextzzz#1{% - \ifnum\doignorecount = 0 % We have just found the outermost @end. - \let\next\enddoignore - \else % Still inside a nested condition. - \advance\doignorecount by -1 - \let\next\doignoretext % Look for the next @end. - \fi - \next -} - -% Finish off ignored text. -{ \obeylines% - % Ignore anything after the last `@end #1'; this matters in verbatim - % environments, where otherwise the newline after an ignored conditional - % would result in a blank line in the output. - \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% -} - - -% @set VAR sets the variable VAR to an empty value. -% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. -% -% Since we want to separate VAR from REST-OF-LINE (which might be -% empty), we can't just use \parsearg; we have to insert a space of our -% own to delimit the rest of the line, and then take it out again if we -% didn't need it. -% We rely on the fact that \parsearg sets \catcode`\ =10. -% -\parseargdef\set{\setyyy#1 \endsetyyy} -\def\setyyy#1 #2\endsetyyy{% - {% - \makevalueexpandable - \def\temp{#2}% - \edef\next{\gdef\makecsname{SET#1}}% - \ifx\temp\empty - \next{}% - \else - \setzzz#2\endsetzzz - \fi - }% -} -% Remove the trailing space \setxxx inserted. -\def\setzzz#1 \endsetzzz{\next{#1}} - -% @clear VAR clears (i.e., unsets) the variable VAR. -% -\parseargdef\clear{% - {% - \makevalueexpandable - \global\expandafter\let\csname SET#1\endcsname=\relax - }% -} - -% @value{foo} gets the text saved in variable foo. -\def\value{\begingroup\makevalueexpandable\valuexxx} -\def\valuexxx#1{\expandablevalue{#1}\endgroup} -{ - \catcode`\- = \active \catcode`\_ = \active - % - \gdef\makevalueexpandable{% - \let\value = \expandablevalue - % We don't want these characters active, ... - \catcode`\-=\other \catcode`\_=\other - % ..., but we might end up with active ones in the argument if - % we're called from @code, as @code{@value{foo-bar_}}, though. - % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore - } -} - -% We have this subroutine so that we can handle at least some @value's -% properly in indexes (we call \makevalueexpandable in \indexdummies). -% The command has to be fully expandable (if the variable is set), since -% the result winds up in the index file. This means that if the -% variable's value contains other Texinfo commands, it's almost certain -% it will fail (although perhaps we could fix that with sufficient work -% to do a one-level expansion on the result, instead of complete). -% -\def\expandablevalue#1{% - \expandafter\ifx\csname SET#1\endcsname\relax - {[No value for ``#1'']}% - \message{Variable `#1', used in @value, is not set.}% - \else - \csname SET#1\endcsname - \fi -} - -% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined -% with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. -% -\makecond{ifset} -\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} -\def\doifset#1#2{% - {% - \makevalueexpandable - \let\next=\empty - \expandafter\ifx\csname SET#2\endcsname\relax - #1% If not set, redefine \next. - \fi - \expandafter - }\next -} -\def\ifsetfail{\doignore{ifset}} - -% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been -% defined with @set, or has been undefined with @clear. -% -% The `\else' inside the `\doifset' parameter is a trick to reuse the -% above code: if the variable is not set, do nothing, if it is set, -% then redefine \next to \ifclearfail. -% -\makecond{ifclear} -\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} -\def\ifclearfail{\doignore{ifclear}} - -% @dircategory CATEGORY -- specify a category of the dir file -% which this file should belong to. Ignore this in TeX. -\let\dircategory=\comment - -% @defininfoenclose. -\let\definfoenclose=\comment - - -\message{indexing,} -% Index generation facilities - -% Define \newwrite to be identical to plain tex's \newwrite -% except not \outer, so it can be used within macros and \if's. -\edef\newwrite{\makecsname{ptexnewwrite}} - -% \newindex {foo} defines an index named foo. -% It automatically defines \fooindex such that -% \fooindex ...rest of line... puts an entry in the index foo. -% It also defines \fooindfile to be the number of the output channel for -% the file that accumulates this index. The file's extension is foo. -% The name of an index should be no more than 2 characters long -% for the sake of vms. -% -\def\newindex#1{% - \iflinks - \expandafter\newwrite \csname#1indfile\endcsname - \openout \csname#1indfile\endcsname \jobname.#1 % Open the file - \fi - \expandafter\xdef\csname#1index\endcsname{% % Define @#1index - \noexpand\doindex{#1}} -} - -% @defindex foo == \newindex{foo} -% -\def\defindex{\parsearg\newindex} - -% Define @defcodeindex, like @defindex except put all entries in @code. -% -\def\defcodeindex{\parsearg\newcodeindex} -% -\def\newcodeindex#1{% - \iflinks - \expandafter\newwrite \csname#1indfile\endcsname - \openout \csname#1indfile\endcsname \jobname.#1 - \fi - \expandafter\xdef\csname#1index\endcsname{% - \noexpand\docodeindex{#1}}% -} - - -% @synindex foo bar makes index foo feed into index bar. -% Do this instead of @defindex foo if you don't want it as a separate index. -% -% @syncodeindex foo bar similar, but put all entries made for index foo -% inside @code. -% -\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} -\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} - -% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), -% #3 the target index (bar). -\def\dosynindex#1#2#3{% - % Only do \closeout if we haven't already done it, else we'll end up - % closing the target index. - \expandafter \ifx\csname donesynindex#2\endcsname \undefined - % The \closeout helps reduce unnecessary open files; the limit on the - % Acorn RISC OS is a mere 16 files. - \expandafter\closeout\csname#2indfile\endcsname - \expandafter\let\csname\donesynindex#2\endcsname = 1 - \fi - % redefine \fooindfile: - \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname - \expandafter\let\csname#2indfile\endcsname=\temp - % redefine \fooindex: - \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% -} - -% Define \doindex, the driver for all \fooindex macros. -% Argument #1 is generated by the calling \fooindex macro, -% and it is "foo", the name of the index. - -% \doindex just uses \parsearg; it calls \doind for the actual work. -% This is because \doind is more useful to call from other macros. - -% There is also \dosubind {index}{topic}{subtopic} -% which makes an entry in a two-level index such as the operation index. - -\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} -\def\singleindexer #1{\doind{\indexname}{#1}} - -% like the previous two, but they put @code around the argument. -\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} -\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} - -% Take care of Texinfo commands that can appear in an index entry. -% Since there are some commands we want to expand, and others we don't, -% we have to laboriously prevent expansion for those that we don't. -% -\def\indexdummies{% - \escapechar = `\\ % use backslash in output files. - \def\@{@}% change to @@ when we switch to @ as escape char in index files. - \def\ {\realbackslash\space }% - % - % Need these in case \tex is in effect and \{ is a \delimiter again. - % But can't use \lbracecmd and \rbracecmd because texindex assumes - % braces and backslashes are used only as delimiters. - \let\{ = \mylbrace - \let\} = \myrbrace - % - % I don't entirely understand this, but when an index entry is - % generated from a macro call, the \endinput which \scanmacro inserts - % causes processing to be prematurely terminated. This is, - % apparently, because \indexsorttmp is fully expanded, and \endinput - % is an expandable command. The redefinition below makes \endinput - % disappear altogether for that purpose -- although logging shows that - % processing continues to some further point. On the other hand, it - % seems \endinput does not hurt in the printed index arg, since that - % is still getting written without apparent harm. - % - % Sample source (mac-idx3.tex, reported by Graham Percival to - % help-texinfo, 22may06): - % @macro funindex {WORD} - % @findex xyz - % @end macro - % ... - % @funindex commtest - % - % The above is not enough to reproduce the bug, but it gives the flavor. - % - % Sample whatsit resulting: - % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} - % - % So: - \let\endinput = \empty - % - % Do the redefinitions. - \commondummies -} - -% For the aux and toc files, @ is the escape character. So we want to -% redefine everything using @ as the escape character (instead of -% \realbackslash, still used for index files). When everything uses @, -% this will be simpler. -% -\def\atdummies{% - \def\@{@@}% - \def\ {@ }% - \let\{ = \lbraceatcmd - \let\} = \rbraceatcmd - % - % Do the redefinitions. - \commondummies - \otherbackslash -} - -% Called from \indexdummies and \atdummies. -% -\def\commondummies{% - % - % \definedummyword defines \#1 as \string\#1\space, thus effectively - % preventing its expansion. This is used only for control% words, - % not control letters, because the \space would be incorrect for - % control characters, but is needed to separate the control word - % from whatever follows. - % - % For control letters, we have \definedummyletter, which omits the - % space. - % - % These can be used both for control words that take an argument and - % those that do not. If it is followed by {arg} in the input, then - % that will dutifully get written to the index (or wherever). - % - \def\definedummyword ##1{\def##1{\string##1\space}}% - \def\definedummyletter##1{\def##1{\string##1}}% - \let\definedummyaccent\definedummyletter - % - \commondummiesnofonts - % - \definedummyletter\_% - % - % Non-English letters. - \definedummyword\AA - \definedummyword\AE - \definedummyword\L - \definedummyword\OE - \definedummyword\O - \definedummyword\aa - \definedummyword\ae - \definedummyword\l - \definedummyword\oe - \definedummyword\o - \definedummyword\ss - \definedummyword\exclamdown - \definedummyword\questiondown - \definedummyword\ordf - \definedummyword\ordm - % - % Although these internal commands shouldn't show up, sometimes they do. - \definedummyword\bf - \definedummyword\gtr - \definedummyword\hat - \definedummyword\less - \definedummyword\sf - \definedummyword\sl - \definedummyword\tclose - \definedummyword\tt - % - \definedummyword\LaTeX - \definedummyword\TeX - % - % Assorted special characters. - \definedummyword\bullet - \definedummyword\comma - \definedummyword\copyright - \definedummyword\registeredsymbol - \definedummyword\dots - \definedummyword\enddots - \definedummyword\equiv - \definedummyword\error - \definedummyword\euro - \definedummyword\expansion - \definedummyword\minus - \definedummyword\pounds - \definedummyword\point - \definedummyword\print - \definedummyword\result - \definedummyword\textdegree - % - % We want to disable all macros so that they are not expanded by \write. - \macrolist - % - \normalturnoffactive - % - % Handle some cases of @value -- where it does not contain any - % (non-fully-expandable) commands. - \makevalueexpandable -} - -% \commondummiesnofonts: common to \commondummies and \indexnofonts. -% -\def\commondummiesnofonts{% - % Control letters and accents. - \definedummyletter\!% - \definedummyaccent\"% - \definedummyaccent\'% - \definedummyletter\*% - \definedummyaccent\,% - \definedummyletter\.% - \definedummyletter\/% - \definedummyletter\:% - \definedummyaccent\=% - \definedummyletter\?% - \definedummyaccent\^% - \definedummyaccent\`% - \definedummyaccent\~% - \definedummyword\u - \definedummyword\v - \definedummyword\H - \definedummyword\dotaccent - \definedummyword\ringaccent - \definedummyword\tieaccent - \definedummyword\ubaraccent - \definedummyword\udotaccent - \definedummyword\dotless - % - % Texinfo font commands. - \definedummyword\b - \definedummyword\i - \definedummyword\r - \definedummyword\sc - \definedummyword\t - % - % Commands that take arguments. - \definedummyword\acronym - \definedummyword\cite - \definedummyword\code - \definedummyword\command - \definedummyword\dfn - \definedummyword\emph - \definedummyword\env - \definedummyword\file - \definedummyword\kbd - \definedummyword\key - \definedummyword\math - \definedummyword\option - \definedummyword\pxref - \definedummyword\ref - \definedummyword\samp - \definedummyword\strong - \definedummyword\tie - \definedummyword\uref - \definedummyword\url - \definedummyword\var - \definedummyword\verb - \definedummyword\w - \definedummyword\xref -} - -% \indexnofonts is used when outputting the strings to sort the index -% by, and when constructing control sequence names. It eliminates all -% control sequences and just writes whatever the best ASCII sort string -% would be for a given command (usually its argument). -% -\def\indexnofonts{% - % Accent commands should become @asis. - \def\definedummyaccent##1{\let##1\asis}% - % We can just ignore other control letters. - \def\definedummyletter##1{\let##1\empty}% - % Hopefully, all control words can become @asis. - \let\definedummyword\definedummyaccent - % - \commondummiesnofonts - % - % Don't no-op \tt, since it isn't a user-level command - % and is used in the definitions of the active chars like <, >, |, etc. - % Likewise with the other plain tex font commands. - %\let\tt=\asis - % - \def\ { }% - \def\@{@}% - % how to handle braces? - \def\_{\normalunderscore}% - % - % Non-English letters. - \def\AA{AA}% - \def\AE{AE}% - \def\L{L}% - \def\OE{OE}% - \def\O{O}% - \def\aa{aa}% - \def\ae{ae}% - \def\l{l}% - \def\oe{oe}% - \def\o{o}% - \def\ss{ss}% - \def\exclamdown{!}% - \def\questiondown{?}% - \def\ordf{a}% - \def\ordm{o}% - % - \def\LaTeX{LaTeX}% - \def\TeX{TeX}% - % - % Assorted special characters. - % (The following {} will end up in the sort string, but that's ok.) - \def\bullet{bullet}% - \def\comma{,}% - \def\copyright{copyright}% - \def\registeredsymbol{R}% - \def\dots{...}% - \def\enddots{...}% - \def\equiv{==}% - \def\error{error}% - \def\euro{euro}% - \def\expansion{==>}% - \def\minus{-}% - \def\pounds{pounds}% - \def\point{.}% - \def\print{-|}% - \def\result{=>}% - \def\textdegree{degrees}% - % - % We need to get rid of all macros, leaving only the arguments (if present). - % Of course this is not nearly correct, but it is the best we can do for now. - % makeinfo does not expand macros in the argument to @deffn, which ends up - % writing an index entry, and texindex isn't prepared for an index sort entry - % that starts with \. - % - % Since macro invocations are followed by braces, we can just redefine them - % to take a single TeX argument. The case of a macro invocation that - % goes to end-of-line is not handled. - % - \macrolist -} - -\let\indexbackslash=0 %overridden during \printindex. -\let\SETmarginindex=\relax % put index entries in margin (undocumented)? - -% Most index entries go through here, but \dosubind is the general case. -% #1 is the index name, #2 is the entry text. -\def\doind#1#2{\dosubind{#1}{#2}{}} - -% Workhorse for all \fooindexes. -% #1 is name of index, #2 is stuff to put there, #3 is subentry -- -% empty if called from \doind, as we usually are (the main exception -% is with most defuns, which call us directly). -% -\def\dosubind#1#2#3{% - \iflinks - {% - % Store the main index entry text (including the third arg). - \toks0 = {#2}% - % If third arg is present, precede it with a space. - \def\thirdarg{#3}% - \ifx\thirdarg\empty \else - \toks0 = \expandafter{\the\toks0 \space #3}% - \fi - % - \edef\writeto{\csname#1indfile\endcsname}% - % - \safewhatsit\dosubindwrite - }% - \fi -} - -% Write the entry in \toks0 to the index file: -% -\def\dosubindwrite{% - % Put the index entry in the margin if desired. - \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% - \fi - % - % Remember, we are within a group. - \indexdummies % Must do this here, since \bf, etc expand at this stage - \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now - % so it will be output as is; and it will print as backslash. - % - % Process the index entry with all font commands turned off, to - % get the string to sort by. - {\indexnofonts - \edef\temp{\the\toks0}% need full expansion - \xdef\indexsorttmp{\temp}% - }% - % - % Set up the complete index entry, with both the sort key and - % the original text, including any font commands. We write - % three arguments to \entry to the .?? file (four in the - % subentry case), texindex reduces to two when writing the .??s - % sorted result. - \edef\temp{% - \write\writeto{% - \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% - }% - \temp -} - -% Take care of unwanted page breaks/skips around a whatsit: -% -% If a skip is the last thing on the list now, preserve it -% by backing up by \lastskip, doing the \write, then inserting -% the skip again. Otherwise, the whatsit generated by the -% \write or \pdfdest will make \lastskip zero. The result is that -% sequences like this: -% @end defun -% @tindex whatever -% @defun ... -% will have extra space inserted, because the \medbreak in the -% start of the @defun won't see the skip inserted by the @end of -% the previous defun. -% -% But don't do any of this if we're not in vertical mode. We -% don't want to do a \vskip and prematurely end a paragraph. -% -% Avoid page breaks due to these extra skips, too. -% -% But wait, there is a catch there: -% We'll have to check whether \lastskip is zero skip. \ifdim is not -% sufficient for this purpose, as it ignores stretch and shrink parts -% of the skip. The only way seems to be to check the textual -% representation of the skip. -% -% The following is almost like \def\zeroskipmacro{0.0pt} except that -% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). -% -\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} -% -\newskip\whatsitskip -\newcount\whatsitpenalty -% -% ..., ready, GO: -% -\def\safewhatsit#1{% -\ifhmode - #1% -\else - % \lastskip and \lastpenalty cannot both be nonzero simultaneously. - \whatsitskip = \lastskip - \edef\lastskipmacro{\the\lastskip}% - \whatsitpenalty = \lastpenalty - % - % If \lastskip is nonzero, that means the last item was a - % skip. And since a skip is discardable, that means this - % -\skip0 glue we're inserting is preceded by a - % non-discardable item, therefore it is not a potential - % breakpoint, therefore no \nobreak needed. - \ifx\lastskipmacro\zeroskipmacro - \else - \vskip-\whatsitskip - \fi - % - #1% - % - \ifx\lastskipmacro\zeroskipmacro - % If \lastskip was zero, perhaps the last item was a penalty, and - % perhaps it was >=10000, e.g., a \nobreak. In that case, we want - % to re-insert the same penalty (values >10000 are used for various - % signals); since we just inserted a non-discardable item, any - % following glue (such as a \parskip) would be a breakpoint. For example: - % - % @deffn deffn-whatever - % @vindex index-whatever - % Description. - % would allow a break between the index-whatever whatsit - % and the "Description." paragraph. - \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi - \else - % On the other hand, if we had a nonzero \lastskip, - % this make-up glue would be preceded by a non-discardable item - % (the whatsit from the \write), so we must insert a \nobreak. - \nobreak\vskip\whatsitskip - \fi -\fi -} - -% The index entry written in the file actually looks like -% \entry {sortstring}{page}{topic} -% or -% \entry {sortstring}{page}{topic}{subtopic} -% The texindex program reads in these files and writes files -% containing these kinds of lines: -% \initial {c} -% before the first topic whose initial is c -% \entry {topic}{pagelist} -% for a topic that is used without subtopics -% \primary {topic} -% for the beginning of a topic that is used with subtopics -% \secondary {subtopic}{pagelist} -% for each subtopic. - -% Define the user-accessible indexing commands -% @findex, @vindex, @kindex, @cindex. - -\def\findex {\fnindex} -\def\kindex {\kyindex} -\def\cindex {\cpindex} -\def\vindex {\vrindex} -\def\tindex {\tpindex} -\def\pindex {\pgindex} - -\def\cindexsub {\begingroup\obeylines\cindexsub} -{\obeylines % -\gdef\cindexsub "#1" #2^^M{\endgroup % -\dosubind{cp}{#2}{#1}}} - -% Define the macros used in formatting output of the sorted index material. - -% @printindex causes a particular index (the ??s file) to get printed. -% It does not print any chapter heading (usually an @unnumbered). -% -\parseargdef\printindex{\begingroup - \dobreak \chapheadingskip{10000}% - % - \smallfonts \rm - \tolerance = 9500 - \plainfrenchspacing - \everypar = {}% don't want the \kern\-parindent from indentation suppression. - % - % See if the index file exists and is nonempty. - % Change catcode of @ here so that if the index file contains - % \initial {@} - % as its first line, TeX doesn't complain about mismatched braces - % (because it thinks @} is a control sequence). - \catcode`\@ = 11 - \openin 1 \jobname.#1s - \ifeof 1 - % \enddoublecolumns gets confused if there is no text in the index, - % and it loses the chapter title and the aux file entries for the - % index. The easiest way to prevent this problem is to make sure - % there is some text. - \putwordIndexNonexistent - \else - % - % If the index file exists but is empty, then \openin leaves \ifeof - % false. We have to make TeX try to read something from the file, so - % it can discover if there is anything in it. - \read 1 to \temp - \ifeof 1 - \putwordIndexIsEmpty - \else - % Index files are almost Texinfo source, but we use \ as the escape - % character. It would be better to use @, but that's too big a change - % to make right now. - \def\indexbackslash{\backslashcurfont}% - \catcode`\\ = 0 - \escapechar = `\\ - \begindoublecolumns - \input \jobname.#1s - \enddoublecolumns - \fi - \fi - \closein 1 -\endgroup} - -% These macros are used by the sorted index file itself. -% Change them to control the appearance of the index. - -\def\initial#1{{% - % Some minor font changes for the special characters. - \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt - % - % Remove any glue we may have, we'll be inserting our own. - \removelastskip - % - % We like breaks before the index initials, so insert a bonus. - \nobreak - \vskip 0pt plus 3\baselineskip - \penalty 0 - \vskip 0pt plus -3\baselineskip - % - % Typeset the initial. Making this add up to a whole number of - % baselineskips increases the chance of the dots lining up from column - % to column. It still won't often be perfect, because of the stretch - % we need before each entry, but it's better. - % - % No shrink because it confuses \balancecolumns. - \vskip 1.67\baselineskip plus .5\baselineskip - \leftline{\secbf #1}% - % Do our best not to break after the initial. - \nobreak - \vskip .33\baselineskip plus .1\baselineskip -}} - -% \entry typesets a paragraph consisting of the text (#1), dot leaders, and -% then page number (#2) flushed to the right margin. It is used for index -% and table of contents entries. The paragraph is indented by \leftskip. -% -% A straightforward implementation would start like this: -% \def\entry#1#2{... -% But this frozes the catcodes in the argument, and can cause problems to -% @code, which sets - active. This problem was fixed by a kludge--- -% ``-'' was active throughout whole index, but this isn't really right. -% -% The right solution is to prevent \entry from swallowing the whole text. -% --kasal, 21nov03 -\def\entry{% - \begingroup - % - % Start a new paragraph if necessary, so our assignments below can't - % affect previous text. - \par - % - % Do not fill out the last line with white space. - \parfillskip = 0in - % - % No extra space above this paragraph. - \parskip = 0in - % - % Do not prefer a separate line ending with a hyphen to fewer lines. - \finalhyphendemerits = 0 - % - % \hangindent is only relevant when the entry text and page number - % don't both fit on one line. In that case, bob suggests starting the - % dots pretty far over on the line. Unfortunately, a large - % indentation looks wrong when the entry text itself is broken across - % lines. So we use a small indentation and put up with long leaders. - % - % \hangafter is reset to 1 (which is the value we want) at the start - % of each paragraph, so we need not do anything with that. - \hangindent = 2em - % - % When the entry text needs to be broken, just fill out the first line - % with blank space. - \rightskip = 0pt plus1fil - % - % A bit of stretch before each entry for the benefit of balancing - % columns. - \vskip 0pt plus1pt - % - % Swallow the left brace of the text (first parameter): - \afterassignment\doentry - \let\temp = -} -\def\doentry{% - \bgroup % Instead of the swallowed brace. - \noindent - \aftergroup\finishentry - % And now comes the text of the entry. -} -\def\finishentry#1{% - % #1 is the page number. - % - % The following is kludged to not output a line of dots in the index if - % there are no page numbers. The next person who breaks this will be - % cursed by a Unix daemon. - \def\tempa{{\rm }}% - \def\tempb{#1}% - \edef\tempc{\tempa}% - \edef\tempd{\tempb}% - \ifx\tempc\tempd - \ % - \else - % - % If we must, put the page number on a line of its own, and fill out - % this line with blank space. (The \hfil is overwhelmed with the - % fill leaders glue in \indexdotfill if the page number does fit.) - \hfil\penalty50 - \null\nobreak\indexdotfill % Have leaders before the page number. - % - % The `\ ' here is removed by the implicit \unskip that TeX does as - % part of (the primitive) \par. Without it, a spurious underfull - % \hbox ensues. - \ifpdf - \pdfgettoks#1.% - \ \the\toksA - \else - \ #1% - \fi - \fi - \par - \endgroup -} - -% Like plain.tex's \dotfill, except uses up at least 1 em. -\def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} - -\def\primary #1{\line{#1\hfil}} - -\newskip\secondaryindent \secondaryindent=0.5cm -\def\secondary#1#2{{% - \parfillskip=0in - \parskip=0in - \hangindent=1in - \hangafter=1 - \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill - \ifpdf - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \else - #2 - \fi - \par -}} - -% Define two-column mode, which we use to typeset indexes. -% Adapted from the TeXbook, page 416, which is to say, -% the manmac.tex format used to print the TeXbook itself. -\catcode`\@=11 - -\newbox\partialpage -\newdimen\doublecolumnhsize - -\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns - % Grab any single-column material above us. - \output = {% - % - % Here is a possibility not foreseen in manmac: if we accumulate a - % whole lot of material, we might end up calling this \output - % routine twice in a row (see the doublecol-lose test, which is - % essentially a couple of indexes with @setchapternewpage off). In - % that case we just ship out what is in \partialpage with the normal - % output routine. Generally, \partialpage will be empty when this - % runs and this will be a no-op. See the indexspread.tex test case. - \ifvoid\partialpage \else - \onepageout{\pagecontents\partialpage}% - \fi - % - \global\setbox\partialpage = \vbox{% - % Unvbox the main output page. - \unvbox\PAGE - \kern-\topskip \kern\baselineskip - }% - }% - \eject % run that output routine to set \partialpage - % - % Use the double-column output routine for subsequent pages. - \output = {\doublecolumnout}% - % - % Change the page size parameters. We could do this once outside this - % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 - % format, but then we repeat the same computation. Repeating a couple - % of assignments once per index is clearly meaningless for the - % execution time, so we may as well do it in one place. - % - % First we halve the line length, less a little for the gutter between - % the columns. We compute the gutter based on the line length, so it - % changes automatically with the paper format. The magic constant - % below is chosen so that the gutter has the same value (well, +-<1pt) - % as it did when we hard-coded it. - % - % We put the result in a separate register, \doublecolumhsize, so we - % can restore it in \pagesofar, after \hsize itself has (potentially) - % been clobbered. - % - \doublecolumnhsize = \hsize - \advance\doublecolumnhsize by -.04154\hsize - \divide\doublecolumnhsize by 2 - \hsize = \doublecolumnhsize - % - % Double the \vsize as well. (We don't need a separate register here, - % since nobody clobbers \vsize.) - \vsize = 2\vsize -} - -% The double-column output routine for all double-column pages except -% the last. -% -\def\doublecolumnout{% - \splittopskip=\topskip \splitmaxdepth=\maxdepth - % Get the available space for the double columns -- the normal - % (undoubled) page height minus any material left over from the - % previous page. - \dimen@ = \vsize - \divide\dimen@ by 2 - \advance\dimen@ by -\ht\partialpage - % - % box0 will be the left-hand column, box2 the right. - \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ - \onepageout\pagesofar - \unvbox255 - \penalty\outputpenalty -} -% -% Re-output the contents of the output page -- any previous material, -% followed by the two boxes we just split, in box0 and box2. -\def\pagesofar{% - \unvbox\partialpage - % - \hsize = \doublecolumnhsize - \wd0=\hsize \wd2=\hsize - \hbox to\pagewidth{\box0\hfil\box2}% -} -% -% All done with double columns. -\def\enddoublecolumns{% - % The following penalty ensures that the page builder is exercised - % _before_ we change the output routine. This is necessary in the - % following situation: - % - % The last section of the index consists only of a single entry. - % Before this section, \pagetotal is less than \pagegoal, so no - % break occurs before the last section starts. However, the last - % section, consisting of \initial and the single \entry, does not - % fit on the page and has to be broken off. Without the following - % penalty the page builder will not be exercised until \eject - % below, and by that time we'll already have changed the output - % routine to the \balancecolumns version, so the next-to-last - % double-column page will be processed with \balancecolumns, which - % is wrong: The two columns will go to the main vertical list, with - % the broken-off section in the recent contributions. As soon as - % the output routine finishes, TeX starts reconsidering the page - % break. The two columns and the broken-off section both fit on the - % page, because the two columns now take up only half of the page - % goal. When TeX sees \eject from below which follows the final - % section, it invokes the new output routine that we've set after - % \balancecolumns below; \onepageout will try to fit the two columns - % and the final section into the vbox of \pageheight (see - % \pagebody), causing an overfull box. - % - % Note that glue won't work here, because glue does not exercise the - % page builder, unlike penalties (see The TeXbook, pp. 280-281). - \penalty0 - % - \output = {% - % Split the last of the double-column material. Leave it on the - % current page, no automatic page break. - \balancecolumns - % - % If we end up splitting too much material for the current page, - % though, there will be another page break right after this \output - % invocation ends. Having called \balancecolumns once, we do not - % want to call it again. Therefore, reset \output to its normal - % definition right away. (We hope \balancecolumns will never be - % called on to balance too much material, but if it is, this makes - % the output somewhat more palatable.) - \global\output = {\onepageout{\pagecontents\PAGE}}% - }% - \eject - \endgroup % started in \begindoublecolumns - % - % \pagegoal was set to the doubled \vsize above, since we restarted - % the current page. We're now back to normal single-column - % typesetting, so reset \pagegoal to the normal \vsize (after the - % \endgroup where \vsize got restored). - \pagegoal = \vsize -} -% -% Called at the end of the double column material. -\def\balancecolumns{% - \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. - \dimen@ = \ht0 - \advance\dimen@ by \topskip - \advance\dimen@ by-\baselineskip - \divide\dimen@ by 2 % target to split to - %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% - \splittopskip = \topskip - % Loop until we get a decent breakpoint. - {% - \vbadness = 10000 - \loop - \global\setbox3 = \copy0 - \global\setbox1 = \vsplit3 to \dimen@ - \ifdim\ht3>\dimen@ - \global\advance\dimen@ by 1pt - \repeat - }% - %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% - \setbox0=\vbox to\dimen@{\unvbox1}% - \setbox2=\vbox to\dimen@{\unvbox3}% - % - \pagesofar -} -\catcode`\@ = \other - - -\message{sectioning,} -% Chapters, sections, etc. - -% \unnumberedno is an oxymoron, of course. But we count the unnumbered -% sections so that we can refer to them unambiguously in the pdf -% outlines by their "section number". We avoid collisions with chapter -% numbers by starting them at 10000. (If a document ever has 10000 -% chapters, we're in trouble anyway, I'm sure.) -\newcount\unnumberedno \unnumberedno = 10000 -\newcount\chapno -\newcount\secno \secno=0 -\newcount\subsecno \subsecno=0 -\newcount\subsubsecno \subsubsecno=0 - -% This counter is funny since it counts through charcodes of letters A, B, ... -\newcount\appendixno \appendixno = `\@ -% -% \def\appendixletter{\char\the\appendixno} -% We do the following ugly conditional instead of the above simple -% construct for the sake of pdftex, which needs the actual -% letter in the expansion, not just typeset. -% -\def\appendixletter{% - \ifnum\appendixno=`A A% - \else\ifnum\appendixno=`B B% - \else\ifnum\appendixno=`C C% - \else\ifnum\appendixno=`D D% - \else\ifnum\appendixno=`E E% - \else\ifnum\appendixno=`F F% - \else\ifnum\appendixno=`G G% - \else\ifnum\appendixno=`H H% - \else\ifnum\appendixno=`I I% - \else\ifnum\appendixno=`J J% - \else\ifnum\appendixno=`K K% - \else\ifnum\appendixno=`L L% - \else\ifnum\appendixno=`M M% - \else\ifnum\appendixno=`N N% - \else\ifnum\appendixno=`O O% - \else\ifnum\appendixno=`P P% - \else\ifnum\appendixno=`Q Q% - \else\ifnum\appendixno=`R R% - \else\ifnum\appendixno=`S S% - \else\ifnum\appendixno=`T T% - \else\ifnum\appendixno=`U U% - \else\ifnum\appendixno=`V V% - \else\ifnum\appendixno=`W W% - \else\ifnum\appendixno=`X X% - \else\ifnum\appendixno=`Y Y% - \else\ifnum\appendixno=`Z Z% - % The \the is necessary, despite appearances, because \appendixletter is - % expanded while writing the .toc file. \char\appendixno is not - % expandable, thus it is written literally, thus all appendixes come out - % with the same letter (or @) in the toc without it. - \else\char\the\appendixno - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi - \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} - -% Each @chapter defines this as the name of the chapter. -% page headings and footings can use it. @section does likewise. -% However, they are not reliable, because we don't use marks. -\def\thischapter{} -\def\thissection{} - -\newcount\absseclevel % used to calculate proper heading level -\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count - -% @raisesections: treat @section as chapter, @subsection as section, etc. -\def\raisesections{\global\advance\secbase by -1} -\let\up=\raisesections % original BFox name - -% @lowersections: treat @chapter as section, @section as subsection, etc. -\def\lowersections{\global\advance\secbase by 1} -\let\down=\lowersections % original BFox name - -% we only have subsub. -\chardef\maxseclevel = 3 -% -% A numbered section within an unnumbered changes to unnumbered too. -% To achieve this, remember the "biggest" unnum. sec. we are currently in: -\chardef\unmlevel = \maxseclevel -% -% Trace whether the current chapter is an appendix or not: -% \chapheadtype is "N" or "A", unnumbered chapters are ignored. -\def\chapheadtype{N} - -% Choose a heading macro -% #1 is heading type -% #2 is heading level -% #3 is text for heading -\def\genhead#1#2#3{% - % Compute the abs. sec. level: - \absseclevel=#2 - \advance\absseclevel by \secbase - % Make sure \absseclevel doesn't fall outside the range: - \ifnum \absseclevel < 0 - \absseclevel = 0 - \else - \ifnum \absseclevel > 3 - \absseclevel = 3 - \fi - \fi - % The heading type: - \def\headtype{#1}% - \if \headtype U% - \ifnum \absseclevel < \unmlevel - \chardef\unmlevel = \absseclevel - \fi - \else - % Check for appendix sections: - \ifnum \absseclevel = 0 - \edef\chapheadtype{\headtype}% - \else - \if \headtype A\if \chapheadtype N% - \errmessage{@appendix... within a non-appendix chapter}% - \fi\fi - \fi - % Check for numbered within unnumbered: - \ifnum \absseclevel > \unmlevel - \def\headtype{U}% - \else - \chardef\unmlevel = 3 - \fi - \fi - % Now print the heading: - \if \headtype U% - \ifcase\absseclevel - \unnumberedzzz{#3}% - \or \unnumberedseczzz{#3}% - \or \unnumberedsubseczzz{#3}% - \or \unnumberedsubsubseczzz{#3}% - \fi - \else - \if \headtype A% - \ifcase\absseclevel - \appendixzzz{#3}% - \or \appendixsectionzzz{#3}% - \or \appendixsubseczzz{#3}% - \or \appendixsubsubseczzz{#3}% - \fi - \else - \ifcase\absseclevel - \chapterzzz{#3}% - \or \seczzz{#3}% - \or \numberedsubseczzz{#3}% - \or \numberedsubsubseczzz{#3}% - \fi - \fi - \fi - \suppressfirstparagraphindent -} - -% an interface: -\def\numhead{\genhead N} -\def\apphead{\genhead A} -\def\unnmhead{\genhead U} - -% @chapter, @appendix, @unnumbered. Increment top-level counter, reset -% all lower-level sectioning counters to zero. -% -% Also set \chaplevelprefix, which we prepend to @float sequence numbers -% (e.g., figures), q.v. By default (before any chapter), that is empty. -\let\chaplevelprefix = \empty -% -\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz -\def\chapterzzz#1{% - % section resetting is \global in case the chapter is in a group, such - % as an @include file. - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\chapno by 1 - % - % Used for \float. - \gdef\chaplevelprefix{\the\chapno.}% - \resetallfloatnos - % - \message{\putwordChapter\space \the\chapno}% - % - % Write the actual heading. - \chapmacro{#1}{Ynumbered}{\the\chapno}% - % - % So @section and the like are numbered underneath this chapter. - \global\let\section = \numberedsec - \global\let\subsection = \numberedsubsec - \global\let\subsubsection = \numberedsubsubsec -} - -\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz -\def\appendixzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\appendixno by 1 - \gdef\chaplevelprefix{\appendixletter.}% - \resetallfloatnos - % - \def\appendixnum{\putwordAppendix\space \appendixletter}% - \message{\appendixnum}% - % - \chapmacro{#1}{Yappendix}{\appendixletter}% - % - \global\let\section = \appendixsec - \global\let\subsection = \appendixsubsec - \global\let\subsubsection = \appendixsubsubsec -} - -\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz -\def\unnumberedzzz#1{% - \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 - \global\advance\unnumberedno by 1 - % - % Since an unnumbered has no number, no prefix for figures. - \global\let\chaplevelprefix = \empty - \resetallfloatnos - % - % This used to be simply \message{#1}, but TeX fully expands the - % argument to \message. Therefore, if #1 contained @-commands, TeX - % expanded them. For example, in `@unnumbered The @cite{Book}', TeX - % expanded @cite (which turns out to cause errors because \cite is meant - % to be executed, not expanded). - % - % Anyway, we don't want the fully-expanded definition of @cite to appear - % as a result of the \message, we just want `@cite' itself. We use - % \the<toks register> to achieve this: TeX expands \the<toks> only once, - % simply yielding the contents of <toks register>. (We also do this for - % the toc entries.) - \toks0 = {#1}% - \message{(\the\toks0)}% - % - \chapmacro{#1}{Ynothing}{\the\unnumberedno}% - % - \global\let\section = \unnumberedsec - \global\let\subsection = \unnumberedsubsec - \global\let\subsubsection = \unnumberedsubsubsec -} - -% @centerchap is like @unnumbered, but the heading is centered. -\outer\parseargdef\centerchap{% - % Well, we could do the following in a group, but that would break - % an assumption that \chapmacro is called at the outermost level. - % Thus we are safer this way: --kasal, 24feb04 - \let\centerparametersmaybe = \centerparameters - \unnmhead0{#1}% - \let\centerparametersmaybe = \relax -} - -% @top is like @unnumbered. -\let\top\unnumbered - -% Sections. -\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz -\def\seczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% -} - -\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz -\def\appendixsectionzzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% -} -\let\appendixsec\appendixsection - -\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz -\def\unnumberedseczzz#1{% - \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 - \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% -} - -% Subsections. -\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz -\def\numberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% -} - -\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz -\def\appendixsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno}% -} - -\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz -\def\unnumberedsubseczzz#1{% - \global\subsubsecno=0 \global\advance\subsecno by 1 - \sectionheading{#1}{subsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno}% -} - -% Subsubsections. -\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz -\def\numberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynumbered}% - {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz -\def\appendixsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Yappendix}% - {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz -\def\unnumberedsubsubseczzz#1{% - \global\advance\subsubsecno by 1 - \sectionheading{#1}{subsubsec}{Ynothing}% - {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% -} - -% These macros control what the section commands do, according -% to what kind of chapter we are in (ordinary, appendix, or unnumbered). -% Define them by default for a numbered chapter. -\let\section = \numberedsec -\let\subsection = \numberedsubsec -\let\subsubsection = \numberedsubsubsec - -% Define @majorheading, @heading and @subheading - -% NOTE on use of \vbox for chapter headings, section headings, and such: -% 1) We use \vbox rather than the earlier \line to permit -% overlong headings to fold. -% 2) \hyphenpenalty is set to 10000 because hyphenation in a -% heading is obnoxious; this forbids it. -% 3) Likewise, headings look best if no \parindent is used, and -% if justification is not attempted. Hence \raggedright. - - -\def\majorheading{% - {\advance\chapheadingskip by 10pt \chapbreak }% - \parsearg\chapheadingzzz -} - -\def\chapheading{\chapbreak \parsearg\chapheadingzzz} -\def\chapheadingzzz#1{% - {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}% - \bigskip \par\penalty 200\relax - \suppressfirstparagraphindent -} - -% @heading, @subheading, @subsubheading. -\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} -\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} - \suppressfirstparagraphindent} - -% These macros generate a chapter, section, etc. heading only -% (including whitespace, linebreaking, etc. around it), -% given all the information in convenient, parsed form. - -%%% Args are the skip and penalty (usually negative) -\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} - -%%% Define plain chapter starts, and page on/off switching for it -% Parameter controlling skip before chapter headings (if needed) - -\newskip\chapheadingskip - -\def\chapbreak{\dobreak \chapheadingskip {-4000}} -\def\chappager{\par\vfill\supereject} -\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi} - -\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} - -\def\CHAPPAGoff{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chapbreak -\global\let\pagealignmacro=\chappager} - -\def\CHAPPAGon{% -\global\let\contentsalignmacro = \chappager -\global\let\pchapsepmacro=\chappager -\global\let\pagealignmacro=\chappager -\global\def\HEADINGSon{\HEADINGSsingle}} - -\def\CHAPPAGodd{% -\global\let\contentsalignmacro = \chapoddpage -\global\let\pchapsepmacro=\chapoddpage -\global\let\pagealignmacro=\chapoddpage -\global\def\HEADINGSon{\HEADINGSdouble}} - -\CHAPPAGon - -% Chapter opening. -% -% #1 is the text, #2 is the section type (Ynumbered, Ynothing, -% Yappendix, Yomitfromtoc), #3 the chapter number. -% -% To test against our argument. -\def\Ynothingkeyword{Ynothing} -\def\Yomitfromtockeyword{Yomitfromtoc} -\def\Yappendixkeyword{Yappendix} -% -\def\chapmacro#1#2#3{% - \pchapsepmacro - {% - \chapfonts \rm - % - % Have to define \thissection before calling \donoderef, because the - % xref code eventually uses it. On the other hand, it has to be called - % after \pchapsepmacro, or the headline will change too soon. - \gdef\thissection{#1}% - \gdef\thischaptername{#1}% - % - % Only insert the separating space if we have a chapter/appendix - % number, and don't print the unnumbered ``number''. - \def\temptype{#2}% - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unnchap}% - \gdef\thischapternum{}% - \gdef\thischapter{#1}% - \else\ifx\temptype\Yomitfromtockeyword - \setbox0 = \hbox{}% contents like unnumbered, but no toc entry - \def\toctype{omit}% - \gdef\thischapternum{}% - \gdef\thischapter{}% - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% - \def\toctype{app}% - \xdef\thischapternum{\appendixletter}% - % We don't substitute the actual chapter name into \thischapter - % because we don't want its macros evaluated now. And we don't - % use \thissection because that changes with each section. - % - \xdef\thischapter{\putwordAppendix{} \appendixletter: - \noexpand\thischaptername}% - \else - \setbox0 = \hbox{#3\enspace}% - \def\toctype{numchap}% - \xdef\thischapternum{\the\chapno}% - \xdef\thischapter{\putwordChapter{} \the\chapno: - \noexpand\thischaptername}% - \fi\fi\fi - % - % Write the toc entry for this chapter. Must come before the - % \donoderef, because we include the current node name in the toc - % entry, and \donoderef resets it to empty. - \writetocentry{\toctype}{#1}{#3}% - % - % For pdftex, we have to write out the node definition (aka, make - % the pdfdest) after any page break, but before the actual text has - % been typeset. If the destination for the pdf outline is after the - % text, then jumping from the outline may wind up with the text not - % being visible, for instance under high magnification. - \donoderef{#2}% - % - % Typeset the actual heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent=\wd0 \centerparametersmaybe - \unhbox0 #1\par}% - }% - \nobreak\bigskip % no page break after a chapter title - \nobreak -} - -% @centerchap -- centered and unnumbered. -\let\centerparametersmaybe = \relax -\def\centerparameters{% - \advance\rightskip by 3\rightskip - \leftskip = \rightskip - \parfillskip = 0pt -} - - -% I don't think this chapter style is supported any more, so I'm not -% updating it with the new noderef stuff. We'll see. --karl, 11aug03. -% -\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} -% -\def\unnchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\nobreak -} -\def\chfopen #1#2{\chapoddpage {\chapfonts -\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% -\par\penalty 5000 % -} -\def\centerchfopen #1{% -\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt - \hfill {\rm #1}\hfill}}\bigskip \par\nobreak -} -\def\CHAPFopen{% - \global\let\chapmacro=\chfopen - \global\let\centerchapmacro=\centerchfopen} - - -% Section titles. These macros combine the section number parts and -% call the generic \sectionheading to do the printing. -% -\newskip\secheadingskip -\def\secheadingbreak{\dobreak \secheadingskip{-1000}} - -% Subsection titles. -\newskip\subsecheadingskip -\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} - -% Subsubsection titles. -\def\subsubsecheadingskip{\subsecheadingskip} -\def\subsubsecheadingbreak{\subsecheadingbreak} - - -% Print any size, any type, section title. -% -% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is -% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the -% section number. -% -\def\sectionheading#1#2#3#4{% - {% - % Switch to the right set of fonts. - \csname #2fonts\endcsname \rm - % - % Insert space above the heading. - \csname #2headingbreak\endcsname - % - % Only insert the space after the number if we have a section number. - \def\sectionlevel{#2}% - \def\temptype{#3}% - % - \ifx\temptype\Ynothingkeyword - \setbox0 = \hbox{}% - \def\toctype{unn}% - \gdef\thissection{#1}% - \else\ifx\temptype\Yomitfromtockeyword - % for @headings -- no section number, don't include in toc, - % and don't redefine \thissection. - \setbox0 = \hbox{}% - \def\toctype{omit}% - \let\sectionlevel=\empty - \else\ifx\temptype\Yappendixkeyword - \setbox0 = \hbox{#4\enspace}% - \def\toctype{app}% - \gdef\thissection{#1}% - \else - \setbox0 = \hbox{#4\enspace}% - \def\toctype{num}% - \gdef\thissection{#1}% - \fi\fi\fi - % - % Write the toc entry (before \donoderef). See comments in \chapmacro. - \writetocentry{\toctype\sectionlevel}{#1}{#4}% - % - % Write the node reference (= pdf destination for pdftex). - % Again, see comments in \chapmacro. - \donoderef{#3}% - % - % Interline glue will be inserted when the vbox is completed. - % That glue will be a valid breakpoint for the page, since it'll be - % preceded by a whatsit (usually from the \donoderef, or from the - % \writetocentry if there was no node). We don't want to allow that - % break, since then the whatsits could end up on page n while the - % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. - \nobreak - % - % Output the actual section heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright - \hangindent=\wd0 % zero if no section number - \unhbox0 #1}% - }% - % Add extra space after the heading -- half of whatever came above it. - % Don't allow stretch, though. - \kern .5 \csname #2headingskip\endcsname - % - % Do not let the kern be a potential breakpoint, as it would be if it - % was followed by glue. - \nobreak - % - % We'll almost certainly start a paragraph next, so don't let that - % glue accumulate. (Not a breakpoint because it's preceded by a - % discardable item.) - \vskip-\parskip - % - % This is purely so the last item on the list is a known \penalty > - % 10000. This is so \startdefun can avoid allowing breakpoints after - % section headings. Otherwise, it would insert a valid breakpoint between: - % - % @section sec-whatever - % @deffn def-whatever - \penalty 10001 -} - - -\message{toc,} -% Table of contents. -\newwrite\tocfile - -% Write an entry to the toc file, opening it if necessary. -% Called from @chapter, etc. -% -% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} -% We append the current node name (if any) and page number as additional -% arguments for the \{chap,sec,...}entry macros which will eventually -% read this. The node name is used in the pdf outlines as the -% destination to jump to. -% -% We open the .toc file for writing here instead of at @setfilename (or -% any other fixed time) so that @contents can be anywhere in the document. -% But if #1 is `omit', then we don't do anything. This is used for the -% table of contents chapter openings themselves. -% -\newif\iftocfileopened -\def\omitkeyword{omit}% -% -\def\writetocentry#1#2#3{% - \edef\writetoctype{#1}% - \ifx\writetoctype\omitkeyword \else - \iftocfileopened\else - \immediate\openout\tocfile = \jobname.toc - \global\tocfileopenedtrue - \fi - % - \iflinks - {\atdummies - \edef\temp{% - \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% - \temp - }% - \fi - \fi - % - % Tell \shipout to create a pdf destination on each page, if we're - % writing pdf. These are used in the table of contents. We can't - % just write one on every page because the title pages are numbered - % 1 and 2 (the page numbers aren't printed), and so are the first - % two pages of the document. Thus, we'd have two destinations named - % `1', and two named `2'. - \ifpdf \global\pdfmakepagedesttrue \fi -} - - -% These characters do not print properly in the Computer Modern roman -% fonts, so we must take special care. This is more or less redundant -% with the Texinfo input format setup at the end of this file. -% -\def\activecatcodes{% - \catcode`\"=\active - \catcode`\$=\active - \catcode`\<=\active - \catcode`\>=\active - \catcode`\\=\active - \catcode`\^=\active - \catcode`\_=\active - \catcode`\|=\active - \catcode`\~=\active -} - - -% Read the toc file, which is essentially Texinfo input. -\def\readtocfile{% - \setupdatafile - \activecatcodes - \input \jobname.toc -} - -\newskip\contentsrightmargin \contentsrightmargin=1in -\newcount\savepageno -\newcount\lastnegativepageno \lastnegativepageno = -1 - -% Prepare to read what we've written to \tocfile. -% -\def\startcontents#1{% - % If @setchapternewpage on, and @headings double, the contents should - % start on an odd page, unlike chapters. Thus, we maintain - % \contentsalignmacro in parallel with \pagealignmacro. - % From: Torbjorn Granlund <tege@matematik.su.se> - \contentsalignmacro - \immediate\closeout\tocfile - % - % Don't need to put `Contents' or `Short Contents' in the headline. - % It is abundantly clear what they are. - \def\thischapter{}% - \chapmacro{#1}{Yomitfromtoc}{}% - % - \savepageno = \pageno - \begingroup % Set up to handle contents files properly. - \raggedbottom % Worry more about breakpoints than the bottom. - \advance\hsize by -\contentsrightmargin % Don't use the full line length. - % - % Roman numerals for page numbers. - \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi -} - - -% Normal (long) toc. -\def\contents{% - \startcontents{\putwordTOC}% - \openin 1 \jobname.toc - \ifeof 1 \else - \readtocfile - \fi - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \ifeof 1 \else - \pdfmakeoutlines - \fi - \closein 1 - \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno -} - -% And just the chapters. -\def\summarycontents{% - \startcontents{\putwordShortTOC}% - % - \let\numchapentry = \shortchapentry - \let\appentry = \shortchapentry - \let\unnchapentry = \shortunnchapentry - % We want a true roman here for the page numbers. - \secfonts - \let\rm=\shortcontrm \let\bf=\shortcontbf - \let\sl=\shortcontsl \let\tt=\shortconttt - \rm - \hyphenpenalty = 10000 - \advance\baselineskip by 1pt % Open it up a little. - \def\numsecentry##1##2##3##4{} - \let\appsecentry = \numsecentry - \let\unnsecentry = \numsecentry - \let\numsubsecentry = \numsecentry - \let\appsubsecentry = \numsecentry - \let\unnsubsecentry = \numsecentry - \let\numsubsubsecentry = \numsecentry - \let\appsubsubsecentry = \numsecentry - \let\unnsubsubsecentry = \numsecentry - \openin 1 \jobname.toc - \ifeof 1 \else - \readtocfile - \fi - \closein 1 - \vfill \eject - \contentsalignmacro % in case @setchapternewpage odd is in effect - \endgroup - \lastnegativepageno = \pageno - \global\pageno = \savepageno -} -\let\shortcontents = \summarycontents - -% Typeset the label for a chapter or appendix for the short contents. -% The arg is, e.g., `A' for an appendix, or `3' for a chapter. -% -\def\shortchaplabel#1{% - % This space should be enough, since a single number is .5em, and the - % widest letter (M) is 1em, at least in the Computer Modern fonts. - % But use \hss just in case. - % (This space doesn't include the extra space that gets added after - % the label; that gets put in by \shortchapentry above.) - % - % We'd like to right-justify chapter numbers, but that looks strange - % with appendix letters. And right-justifying numbers and - % left-justifying letters looks strange when there is less than 10 - % chapters. Have to read the whole toc once to know how many chapters - % there are before deciding ... - \hbox to 1em{#1\hss}% -} - -% These macros generate individual entries in the table of contents. -% The first argument is the chapter or section name. -% The last argument is the page number. -% The arguments in between are the chapter number, section number, ... - -% Chapters, in the main contents. -\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} -% -% Chapters, in the short toc. -% See comments in \dochapentry re vbox and related settings. -\def\shortchapentry#1#2#3#4{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% -} - -% Appendices, in the main contents. -% Need the word Appendix, and a fixed-size box. -% -\def\appendixbox#1{% - % We use M since it's probably the widest letter. - \setbox0 = \hbox{\putwordAppendix{} M}% - \hbox to \wd0{\putwordAppendix{} #1\hss}} -% -\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} - -% Unnumbered chapters. -\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} -\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} - -% Sections. -\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} -\let\appsecentry=\numsecentry -\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} - -% Subsections. -\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} -\let\appsubsecentry=\numsubsecentry -\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} - -% And subsubsections. -\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} -\let\appsubsubsecentry=\numsubsubsecentry -\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} - -% This parameter controls the indentation of the various levels. -% Same as \defaultparindent. -\newdimen\tocindent \tocindent = 15pt - -% Now for the actual typesetting. In all these, #1 is the text and #2 is the -% page number. -% -% If the toc has to be broken over pages, we want it to be at chapters -% if at all possible; hence the \penalty. -\def\dochapentry#1#2{% - \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip - \begingroup - \chapentryfonts - \tocentry{#1}{\dopageno\bgroup#2\egroup}% - \endgroup - \nobreak\vskip .25\baselineskip plus.1\baselineskip -} - -\def\dosecentry#1#2{\begingroup - \secentryfonts \leftskip=\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsecentry#1#2{\begingroup - \subsecentryfonts \leftskip=2\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -\def\dosubsubsecentry#1#2{\begingroup - \subsubsecentryfonts \leftskip=3\tocindent - \tocentry{#1}{\dopageno\bgroup#2\egroup}% -\endgroup} - -% We use the same \entry macro as for the index entries. -\let\tocentry = \entry - -% Space between chapter (or whatever) number and the title. -\def\labelspace{\hskip1em \relax} - -\def\dopageno#1{{\rm #1}} -\def\doshortpageno#1{{\rm #1}} - -\def\chapentryfonts{\secfonts \rm} -\def\secentryfonts{\textfonts} -\def\subsecentryfonts{\textfonts} -\def\subsubsecentryfonts{\textfonts} - - -\message{environments,} -% @foo ... @end foo. - -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% -% Since these characters are used in examples, it should be an even number of -% \tt widths. Each \tt character is 1en, so two makes it 1em. -% -\def\point{$\star$} -\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} -\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} -\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} -\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} - -% The @error{} command. -% Adapted from the TeXbook's \boxit. -% -\newbox\errorbox -% -{\tentt \global\dimen0 = 3em}% Width of the box. -\dimen2 = .55pt % Thickness of rules -% The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} -% -\setbox\errorbox=\hbox to \dimen0{\hfil - \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. - \advance\hsize by -2\dimen2 % Rules. - \vbox{% - \hrule height\dimen2 - \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. - \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. - \kern3pt\vrule width\dimen2}% Space to right. - \hrule height\dimen2} - \hfil} -% -\def\error{\leavevmode\lower.7ex\copy\errorbox} - -% @tex ... @end tex escapes into raw Tex temporarily. -% One exception: @ is still an escape character, so that @end tex works. -% But \@ or @@ will get a plain tex @ character. - -\envdef\tex{% - \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 - \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 - \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie - \catcode `\%=14 - \catcode `\+=\other - \catcode `\"=\other - \catcode `\|=\other - \catcode `\<=\other - \catcode `\>=\other - \escapechar=`\\ - % - \let\b=\ptexb - \let\bullet=\ptexbullet - \let\c=\ptexc - \let\,=\ptexcomma - \let\.=\ptexdot - \let\dots=\ptexdots - \let\equiv=\ptexequiv - \let\!=\ptexexclam - \let\i=\ptexi - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \let\{=\ptexlbrace - \let\+=\tabalign - \let\}=\ptexrbrace - \let\/=\ptexslash - \let\*=\ptexstar - \let\t=\ptext - \let\frenchspacing=\plainfrenchspacing - % - \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% - \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% - \def\@{@}% -} -% There is no need to define \Etex. - -% Define @lisp ... @end lisp. -% @lisp environment forms a group so it can rebind things, -% including the definition of @end lisp (which normally is erroneous). - -% Amount to narrow the margins by for @lisp. -\newskip\lispnarrowing \lispnarrowing=0.4in - -% This is the definition that ^^M gets inside @lisp, @example, and other -% such environments. \null is better than a space, since it doesn't -% have any width. -\def\lisppar{\null\endgraf} - -% This space is always present above and below environments. -\newskip\envskipamount \envskipamount = 0pt - -% Make spacing and below environment symmetrical. We use \parskip here -% to help in doing that, since in @example-like environments \parskip -% is reset to zero; thus the \afterenvbreak inserts no space -- but the -% start of the next paragraph will insert \parskip. -% -\def\aboveenvbreak{{% - % =10000 instead of <10000 because of a special case in \itemzzz and - % \sectionheading, q.v. - \ifnum \lastpenalty=10000 \else - \advance\envskipamount by \parskip - \endgraf - \ifdim\lastskip<\envskipamount - \removelastskip - % it's not a good place to break if the last penalty was \nobreak - % or better ... - \ifnum\lastpenalty<10000 \penalty-50 \fi - \vskip\envskipamount - \fi - \fi -}} - -\let\afterenvbreak = \aboveenvbreak - -% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will -% also clear it, so that its embedded environments do the narrowing again. -\let\nonarrowing=\relax - -% @cartouche ... @end cartouche: draw rectangle w/rounded corners around -% environment contents. -\font\circle=lcircle10 -\newdimen\circthick -\newdimen\cartouter\newdimen\cartinner -\newskip\normbskip\newskip\normpskip\newskip\normlskip -\circthick=\fontdimen8\circle -% -\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth -\def\ctr{{\hskip 6pt\circle\char'010}} -\def\cbl{{\circle\char'012\hskip -6pt}} -\def\cbr{{\hskip 6pt\circle\char'011}} -\def\carttop{\hbox to \cartouter{\hskip\lskip - \ctl\leaders\hrule height\circthick\hfil\ctr - \hskip\rskip}} -\def\cartbot{\hbox to \cartouter{\hskip\lskip - \cbl\leaders\hrule height\circthick\hfil\cbr - \hskip\rskip}} -% -\newskip\lskip\newskip\rskip - -\envdef\cartouche{% - \ifhmode\par\fi % can't be in the midst of a paragraph. - \startsavinginserts - \lskip=\leftskip \rskip=\rightskip - \leftskip=0pt\rightskip=0pt % we want these *outside*. - \cartinner=\hsize \advance\cartinner by-\lskip - \advance\cartinner by-\rskip - \cartouter=\hsize - \advance\cartouter by 18.4pt % allow for 3pt kerns on either - % side, and for 6pt waste from - % each corner char, and rule thickness - \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip - % Flag to tell @lisp, etc., not to narrow margin. - \let\nonarrowing = t% - \vbox\bgroup - \baselineskip=0pt\parskip=0pt\lineskip=0pt - \carttop - \hbox\bgroup - \hskip\lskip - \vrule\kern3pt - \vbox\bgroup - \kern3pt - \hsize=\cartinner - \baselineskip=\normbskip - \lineskip=\normlskip - \parskip=\normpskip - \vskip -\parskip - \comment % For explanation, see the end of \def\group. -} -\def\Ecartouche{% - \ifhmode\par\fi - \kern3pt - \egroup - \kern3pt\vrule - \hskip\rskip - \egroup - \cartbot - \egroup - \checkinserts -} - - -% This macro is called at the beginning of all the @example variants, -% inside a group. -\def\nonfillstart{% - \aboveenvbreak - \hfuzz = 12pt % Don't be fussy - \sepspaces % Make spaces be word-separators rather than space tokens. - \let\par = \lisppar % don't ignore blank lines - \obeylines % each line of input is a line of output - \parskip = 0pt - \parindent = 0pt - \emergencystretch = 0pt % don't try to avoid overfull boxes - \ifx\nonarrowing\relax - \advance \leftskip by \lispnarrowing - \exdentamount=\lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \let\exdent=\nofillexdent -} - -% If you want all examples etc. small: @set dispenvsize small. -% If you want even small examples the full size: @set dispenvsize nosmall. -% This affects the following displayed environments: -% @example, @display, @format, @lisp -% -\def\smallword{small} -\def\nosmallword{nosmall} -\let\SETdispenvsize\relax -\def\setnormaldispenv{% - \ifx\SETdispenvsize\smallword - % end paragraph for sake of leading, in case document has no blank - % line. This is redundant with what happens in \aboveenvbreak, but - % we need to do it before changing the fonts, and it's inconvenient - % to change the fonts afterward. - \ifnum \lastpenalty=10000 \else \endgraf \fi - \smallexamplefonts \rm - \fi -} -\def\setsmalldispenv{% - \ifx\SETdispenvsize\nosmallword - \else - \ifnum \lastpenalty=10000 \else \endgraf \fi - \smallexamplefonts \rm - \fi -} - -% We often define two environments, @foo and @smallfoo. -% Let's do it by one command: -\def\makedispenv #1#2{ - \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} - \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} - \expandafter\let\csname E#1\endcsname \afterenvbreak - \expandafter\let\csname Esmall#1\endcsname \afterenvbreak -} - -% Define two synonyms: -\def\maketwodispenvs #1#2#3{ - \makedispenv{#1}{#3} - \makedispenv{#2}{#3} -} - -% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. -% -% @smallexample and @smalllisp: use smaller fonts. -% Originally contributed by Pavel@xerox. -% -\maketwodispenvs {lisp}{example}{% - \nonfillstart - \tt\quoteexpand - \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. - \gobble % eat return -} -% @display/@smalldisplay: same as @lisp except keep current font. -% -\makedispenv {display}{% - \nonfillstart - \gobble -} - -% @format/@smallformat: same as @display except don't narrow margins. -% -\makedispenv{format}{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} - -% @flushleft: same as @format, but doesn't obey \SETdispenvsize. -\envdef\flushleft{% - \let\nonarrowing = t% - \nonfillstart - \gobble -} -\let\Eflushleft = \afterenvbreak - -% @flushright. -% -\envdef\flushright{% - \let\nonarrowing = t% - \nonfillstart - \advance\leftskip by 0pt plus 1fill - \gobble -} -\let\Eflushright = \afterenvbreak - - -% @quotation does normal linebreaking (hence we can't use \nonfillstart) -% and narrows the margins. We keep \parskip nonzero in general, since -% we're doing normal filling. So, when using \aboveenvbreak and -% \afterenvbreak, temporarily make \parskip 0. -% -\envdef\quotation{% - {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip - \parindent=0pt - % - % @cartouche defines \nonarrowing to inhibit narrowing at next level down. - \ifx\nonarrowing\relax - \advance\leftskip by \lispnarrowing - \advance\rightskip by \lispnarrowing - \exdentamount = \lispnarrowing - \else - \let\nonarrowing = \relax - \fi - \parsearg\quotationlabel -} - -% We have retained a nonzero parskip for the environment, since we're -% doing normal filling. -% -\def\Equotation{% - \par - \ifx\quotationauthor\undefined\else - % indent a bit. - \leftline{\kern 2\leftskip \sl ---\quotationauthor}% - \fi - {\parskip=0pt \afterenvbreak}% -} - -% If we're given an argument, typeset it in bold with a colon after. -\def\quotationlabel#1{% - \def\temp{#1}% - \ifx\temp\empty \else - {\bf #1: }% - \fi -} - - -% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>} -% If we want to allow any <char> as delimiter, -% we need the curly braces so that makeinfo sees the @verb command, eg: -% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org -% -% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. -% -% [Knuth] p.344; only we need to do the other characters Texinfo sets -% active too. Otherwise, they get lost as the first character on a -% verbatim line. -\def\dospecials{% - \do\ \do\\\do\{\do\}\do\$\do\&% - \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% - \do\<\do\>\do\|\do\@\do+\do\"% -} -% -% [Knuth] p. 380 -\def\uncatcodespecials{% - \def\do##1{\catcode`##1=\other}\dospecials} -% -% [Knuth] pp. 380,381,391 -% Disable Spanish ligatures ?` and !` of \tt font -\begingroup - \catcode`\`=\active\gdef`{\relax\lq} -\endgroup -% -% Setup for the @verb command. -% -% Eight spaces for a tab -\begingroup - \catcode`\^^I=\active - \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} -\endgroup -% -\def\setupverb{% - \tt % easiest (and conventionally used) font for verbatim - \def\par{\leavevmode\endgraf}% - \catcode`\`=\active - \tabeightspaces - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces -} - -% Setup for the @verbatim environment -% -% Real tab expansion -\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount -% -\def\starttabbox{\setbox0=\hbox\bgroup} - -% Allow an option to not replace quotes with a regular directed right -% quote/apostrophe (char 0x27), but instead use the undirected quote -% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it -% the default, but it works for pasting with more pdf viewers (at least -% evince), the lilypond developers report. xpdf does work with the -% regular 0x27. -% -\def\codequoteright{% - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax - '% - \else - \char'15 - \fi -} -% -% and a similar option for the left quote char vs. a grave accent. -% Modern fonts display ASCII 0x60 as a grave accent, so some people like -% the code environments to do likewise. -% -\def\codequoteleft{% - \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax - `% - \else - \char'22 - \fi -} -% -\begingroup - \catcode`\^^I=\active - \gdef\tabexpand{% - \catcode`\^^I=\active - \def^^I{\leavevmode\egroup - \dimen0=\wd0 % the width so far, or since the previous tab - \divide\dimen0 by\tabw - \multiply\dimen0 by\tabw % compute previous multiple of \tabw - \advance\dimen0 by\tabw % advance to next multiple of \tabw - \wd0=\dimen0 \box0 \starttabbox - }% - } - \catcode`\'=\active - \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% - % - \catcode`\`=\active - \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% - % - \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% -\endgroup - -% start the verbatim environment. -\def\setupverbatim{% - \let\nonarrowing = t% - \nonfillstart - % Easiest (and conventionally used) font for verbatim - \tt - \def\par{\leavevmode\egroup\box0\endgraf}% - \catcode`\`=\active - \tabexpand - \quoteexpand - % Respect line breaks, - % print special symbols as themselves, and - % make each space count - % must do in this order: - \obeylines \uncatcodespecials \sepspaces - \everypar{\starttabbox}% -} - -% Do the @verb magic: verbatim text is quoted by unique -% delimiter characters. Before first delimiter expect a -% right brace, after last delimiter expect closing brace: -% -% \def\doverb'{'<char>#1<char>'}'{#1} -% -% [Knuth] p. 382; only eat outer {} -\begingroup - \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other - \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] -\endgroup -% -\def\verb{\begingroup\setupverb\doverb} -% -% -% Do the @verbatim magic: define the macro \doverbatim so that -% the (first) argument ends when '@end verbatim' is reached, ie: -% -% \def\doverbatim#1@end verbatim{#1} -% -% For Texinfo it's a lot easier than for LaTeX, -% because texinfo's \verbatim doesn't stop at '\end{verbatim}': -% we need not redefine '\', '{' and '}'. -% -% Inspired by LaTeX's verbatim command set [latex.ltx] -% -\begingroup - \catcode`\ =\active - \obeylines % - % ignore everything up to the first ^^M, that's the newline at the end - % of the @verbatim input line itself. Otherwise we get an extra blank - % line in the output. - \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% - % We really want {...\end verbatim} in the body of the macro, but - % without the active space; thus we have to use \xdef and \gobble. -\endgroup -% -\envdef\verbatim{% - \setupverbatim\doverbatim -} -\let\Everbatim = \afterenvbreak - - -% @verbatiminclude FILE - insert text of file in verbatim environment. -% -\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} -% -\def\doverbatiminclude#1{% - {% - \makevalueexpandable - \setupverbatim - \input #1 - \afterenvbreak - }% -} - -% @copying ... @end copying. -% Save the text away for @insertcopying later. -% -% We save the uninterpreted tokens, rather than creating a box. -% Saving the text in a box would be much easier, but then all the -% typesetting commands (@smallbook, font changes, etc.) have to be done -% beforehand -- and a) we want @copying to be done first in the source -% file; b) letting users define the frontmatter in as flexible order as -% possible is very desirable. -% -\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} -\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} -% -\def\insertcopying{% - \begingroup - \parindent = 0pt % paragraph indentation looks wrong on title page - \scanexp\copyingtext - \endgroup -} - - -\message{defuns,} -% @defun etc. - -\newskip\defbodyindent \defbodyindent=.4in -\newskip\defargsindent \defargsindent=50pt -\newskip\deflastargmargin \deflastargmargin=18pt -\newcount\defunpenalty - -% Start the processing of @deffn: -\def\startdefun{% - \ifnum\lastpenalty<10000 - \medbreak - \defunpenalty=10003 % Will keep this @deffn together with the - % following @def command, see below. - \else - % If there are two @def commands in a row, we'll have a \nobreak, - % which is there to keep the function description together with its - % header. But if there's nothing but headers, we need to allow a - % break somewhere. Check specifically for penalty 10002, inserted - % by \printdefunline, instead of 10000, since the sectioning - % commands also insert a nobreak penalty, and we don't want to allow - % a break between a section heading and a defun. - % - % As a minor refinement, we avoid "club" headers by signalling - % with penalty of 10003 after the very first @deffn in the - % sequence (see above), and penalty of 10002 after any following - % @def command. - \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi - % - % Similarly, after a section heading, do not allow a break. - % But do insert the glue. - \medskip % preceded by discardable penalty, so not a breakpoint - \fi - % - \parindent=0in - \advance\leftskip by \defbodyindent - \exdentamount=\defbodyindent -} - -\def\dodefunx#1{% - % First, check whether we are in the right environment: - \checkenv#1% - % - % As above, allow line break if we have multiple x headers in a row. - % It's not a great place, though. - \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi - % - % And now, it's time to reuse the body of the original defun: - \expandafter\gobbledefun#1% -} -\def\gobbledefun#1\startdefun{} - -% \printdefunline \deffnheader{text} -% -\def\printdefunline#1#2{% - \begingroup - % call \deffnheader: - #1#2 \endheader - % common ending: - \interlinepenalty = 10000 - \advance\rightskip by 0pt plus 1fil - \endgraf - \nobreak\vskip -\parskip - \penalty\defunpenalty % signal to \startdefun and \dodefunx - % Some of the @defun-type tags do not enable magic parentheses, - % rendering the following check redundant. But we don't optimize. - \checkparencounts - \endgroup -} - -\def\Edefun{\endgraf\medbreak} - -% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remainnig is to define \deffnheader. -% -\def\makedefun#1{% - \expandafter\let\csname E#1\endcsname = \Edefun - \edef\temp{\noexpand\domakedefun - \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% - \temp -} - -% \domakedefun \deffn \deffnx \deffnheader -% -% Define \deffn and \deffnx, without parameters. -% \deffnheader has to be defined explicitly. -% -\def\domakedefun#1#2#3{% - \envdef#1{% - \startdefun - \parseargusing\activeparens{\printdefunline#3}% - }% - \def#2{\dodefunx#1}% - \def#3% -} - -%%% Untyped functions: - -% @deffn category name args -\makedefun{deffn}{\deffngeneral{}} - -% @deffn category class name args -\makedefun{defop}#1 {\defopon{#1\ \putwordon}} - -% \defopon {category on}class name args -\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deffngeneral {subind}category name args -% -\def\deffngeneral#1#2 #3 #4\endheader{% - % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. - \dosubind{fn}{\code{#3}}{#1}% - \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% -} - -%%% Typed functions: - -% @deftypefn category type name args -\makedefun{deftypefn}{\deftypefngeneral{}} - -% @deftypeop category class type name args -\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} - -% \deftypeopon {category on}class type name args -\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } - -% \deftypefngeneral {subind}category type name args -% -\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% - \dosubind{fn}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} - -%%% Typed variables: - -% @deftypevr category type var args -\makedefun{deftypevr}{\deftypecvgeneral{}} - -% @deftypecv category class type var args -\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} - -% \deftypecvof {category of}class type var args -\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } - -% \deftypecvgeneral {subind}category type var args -% -\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% - \dosubind{vr}{\code{#4}}{#1}% - \defname{#2}{#3}{#4}\defunargs{#5\unskip}% -} - -%%% Untyped variables: - -% @defvr category var args -\makedefun{defvr}#1 {\deftypevrheader{#1} {} } - -% @defcv category class var args -\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} - -% \defcvof {category of}class var args -\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } - -%%% Type: -% @deftp category name args -\makedefun{deftp}#1 #2 #3\endheader{% - \doind{tp}{\code{#2}}% - \defname{#1}{}{#2}\defunargs{#3\unskip}% -} - -% Remaining @defun-like shortcuts: -\makedefun{defun}{\deffnheader{\putwordDeffunc} } -\makedefun{defmac}{\deffnheader{\putwordDefmac} } -\makedefun{defspec}{\deffnheader{\putwordDefspec} } -\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } -\makedefun{defvar}{\defvrheader{\putwordDefvar} } -\makedefun{defopt}{\defvrheader{\putwordDefopt} } -\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } -\makedefun{defmethod}{\defopon\putwordMethodon} -\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} -\makedefun{defivar}{\defcvof\putwordInstanceVariableof} -\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} - -% \defname, which formats the name of the @def (not the args). -% #1 is the category, such as "Function". -% #2 is the return type, if any. -% #3 is the function name. -% -% We are followed by (but not passed) the arguments, if any. -% -\def\defname#1#2#3{% - % Get the values of \leftskip and \rightskip as they were outside the @def... - \advance\leftskip by -\defbodyindent - % - % How we'll format the type name. Putting it in brackets helps - % distinguish it from the body text that may end up on the next line - % just below it. - \def\temp{#1}% - \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} - % - % Figure out line sizes for the paragraph shape. - % The first line needs space for \box0; but if \rightskip is nonzero, - % we need only space for the part of \box0 which exceeds it: - \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip - % The continuations: - \dimen2=\hsize \advance\dimen2 by -\defargsindent - % (plain.tex says that \dimen1 should be used only as global.) - \parshape 2 0in \dimen0 \defargsindent \dimen2 - % - % Put the type name to the right margin. - \noindent - \hbox to 0pt{% - \hfil\box0 \kern-\hsize - % \hsize has to be shortened this way: - \kern\leftskip - % Intentionally do not respect \rightskip, since we need the space. - }% - % - % Allow all lines to be underfull without complaint: - \tolerance=10000 \hbadness=10000 - \exdentamount=\defbodyindent - {% - % defun fonts. We use typewriter by default (used to be bold) because: - % . we're printing identifiers, they should be in tt in principle. - % . in languages with many accents, such as Czech or French, it's - % common to leave accents off identifiers. The result looks ok in - % tt, but exceedingly strange in rm. - % . we don't want -- and --- to be treated as ligatures. - % . this still does not fix the ?` and !` ligatures, but so far no - % one has made identifiers using them :). - \df \tt - \def\temp{#2}% return value type - \ifx\temp\empty\else \tclose{\temp} \fi - #3% output function name - }% - {\rm\enskip}% hskip 0.5 em of \tenrm - % - \boldbrax - % arguments will be output next, if any. -} - -% Print arguments in slanted roman (not ttsl), inconsistently with using -% tt for the name. This is because literal text is sometimes needed in -% the argument list (groff manual), and ttsl and tt are not very -% distinguishable. Prevent hyphenation at `-' chars. -% -\def\defunargs#1{% - % use sl by default (not ttsl), - % tt for the names. - \df \sl \hyphenchar\font=0 - % - % On the other hand, if an argument has two dashes (for instance), we - % want a way to get ttsl. Let's try @var for that. - \let\var=\ttslanted - #1% - \sl\hyphenchar\font=45 -} - -% We want ()&[] to print specially on the defun line. -% -\def\activeparens{% - \catcode`\(=\active \catcode`\)=\active - \catcode`\[=\active \catcode`\]=\active - \catcode`\&=\active -} - -% Make control sequences which act like normal parenthesis chars. -\let\lparen = ( \let\rparen = ) - -% Be sure that we always have a definition for `(', etc. For example, -% if the fn name has parens in it, \boldbrax will not be in effect yet, -% so TeX would otherwise complain about undefined control sequence. -{ - \activeparens - \global\let(=\lparen \global\let)=\rparen - \global\let[=\lbrack \global\let]=\rbrack - \global\let& = \& - - \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} - \gdef\magicamp{\let&=\amprm} -} - -\newcount\parencount - -% If we encounter &foo, then turn on ()-hacking afterwards -\newif\ifampseen -\def\amprm#1 {\ampseentrue{\bf\ }} - -\def\parenfont{% - \ifampseen - % At the first level, print parens in roman, - % otherwise use the default font. - \ifnum \parencount=1 \rm \fi - \else - % The \sf parens (in \boldbrax) actually are a little bolder than - % the contained text. This is especially needed for [ and ] . - \sf - \fi -} -\def\infirstlevel#1{% - \ifampseen - \ifnum\parencount=1 - #1% - \fi - \fi -} -\def\bfafterword#1 {#1 \bf} - -\def\opnr{% - \global\advance\parencount by 1 - {\parenfont(}% - \infirstlevel \bfafterword -} -\def\clnr{% - {\parenfont)}% - \infirstlevel \sl - \global\advance\parencount by -1 -} - -\newcount\brackcount -\def\lbrb{% - \global\advance\brackcount by 1 - {\bf[}% -} -\def\rbrb{% - {\bf]}% - \global\advance\brackcount by -1 -} - -\def\checkparencounts{% - \ifnum\parencount=0 \else \badparencount \fi - \ifnum\brackcount=0 \else \badbrackcount \fi -} -\def\badparencount{% - \errmessage{Unbalanced parentheses in @def}% - \global\parencount=0 -} -\def\badbrackcount{% - \errmessage{Unbalanced square braces in @def}% - \global\brackcount=0 -} - - -\message{macros,} -% @macro. - -% To do this right we need a feature of e-TeX, \scantokens, -% which we arrange to emulate with a temporary file in ordinary TeX. -\ifx\eTeXversion\undefined - \newwrite\macscribble - \def\scantokens#1{% - \toks0={#1}% - \immediate\openout\macscribble=\jobname.tmp - \immediate\write\macscribble{\the\toks0}% - \immediate\closeout\macscribble - \input \jobname.tmp - } -\fi - -\def\scanmacro#1{% - \begingroup - \newlinechar`\^^M - \let\xeatspaces\eatspaces - % Undo catcode changes of \startcontents and \doprintindex - % When called from @insertcopying or (short)caption, we need active - % backslash to get it printed correctly. Previously, we had - % \catcode`\\=\other instead. We'll see whether a problem appears - % with macro expansion. --kasal, 19aug04 - \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ - % ... and \example - \spaceisspace - % - % Append \endinput to make sure that TeX does not see the ending newline. - % I've verified that it is necessary both for e-TeX and for ordinary TeX - % --kasal, 29nov03 - \scantokens{#1\endinput}% - \endgroup -} - -\def\scanexp#1{% - \edef\temp{\noexpand\scanmacro{#1}}% - \temp -} - -\newcount\paramno % Count of parameters -\newtoks\macname % Macro name -\newif\ifrecursive % Is it recursive? - -% List of all defined macros in the form -% \definedummyword\macro1\definedummyword\macro2... -% Currently is also contains all @aliases; the list can be split -% if there is a need. -\def\macrolist{} - -% Add the macro to \macrolist -\def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname} -\def\addtomacrolistxxx#1{% - \toks0 = \expandafter{\macrolist\definedummyword#1}% - \xdef\macrolist{\the\toks0}% -} - -% Utility routines. -% This does \let #1 = #2, with \csnames; that is, -% \let \csname#1\endcsname = \csname#2\endcsname -% (except of course we have to play expansion games). -% -\def\cslet#1#2{% - \expandafter\let - \csname#1\expandafter\endcsname - \csname#2\endcsname -} - -% Trim leading and trailing spaces off a string. -% Concepts from aro-bend problem 15 (see CTAN). -{\catcode`\@=11 -\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} -\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} -\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} -\def\unbrace#1{#1} -\unbrace{\gdef\trim@@@ #1 } #2@{#1} -} - -% Trim a single trailing ^^M off a string. -{\catcode`\^^M=\other \catcode`\Q=3% -\gdef\eatcr #1{\eatcra #1Q^^MQ}% -\gdef\eatcra#1^^MQ{\eatcrb#1Q}% -\gdef\eatcrb#1Q#2Q{#1}% -} - -% Macro bodies are absorbed as an argument in a context where -% all characters are catcode 10, 11 or 12, except \ which is active -% (as in normal texinfo). It is necessary to change the definition of \. - -% It's necessary to have hard CRs when the macro is executed. This is -% done by making ^^M (\endlinechar) catcode 12 when reading the macro -% body, and then making it the \newlinechar in \scanmacro. - -\def\scanctxt{% - \catcode`\"=\other - \catcode`\+=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\@=\other - \catcode`\^=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\~=\other -} - -\def\scanargctxt{% - \scanctxt - \catcode`\\=\other - \catcode`\^^M=\other -} - -\def\macrobodyctxt{% - \scanctxt - \catcode`\{=\other - \catcode`\}=\other - \catcode`\^^M=\other - \usembodybackslash -} - -\def\macroargctxt{% - \scanctxt - \catcode`\\=\other -} - -% \mbodybackslash is the definition of \ in @macro bodies. -% It maps \foo\ => \csname macarg.foo\endcsname => #N -% where N is the macro parameter number. -% We define \csname macarg.\endcsname to be \realbackslash, so -% \\ in macro replacement text gets you a backslash. - -{\catcode`@=0 @catcode`@\=@active - @gdef@usembodybackslash{@let\=@mbodybackslash} - @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} -} -\expandafter\def\csname macarg.\endcsname{\realbackslash} - -\def\macro{\recursivefalse\parsearg\macroxxx} -\def\rmacro{\recursivetrue\parsearg\macroxxx} - -\def\macroxxx#1{% - \getargs{#1}% now \macname is the macname and \argl the arglist - \ifx\argl\empty % no arguments - \paramno=0% - \else - \expandafter\parsemargdef \argl;% - \fi - \if1\csname ismacro.\the\macname\endcsname - \message{Warning: redefining \the\macname}% - \else - \expandafter\ifx\csname \the\macname\endcsname \relax - \else \errmessage{Macro name \the\macname\space already defined}\fi - \global\cslet{macsave.\the\macname}{\the\macname}% - \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% - \addtomacrolist{\the\macname}% - \fi - \begingroup \macrobodyctxt - \ifrecursive \expandafter\parsermacbody - \else \expandafter\parsemacbody - \fi} - -\parseargdef\unmacro{% - \if1\csname ismacro.#1\endcsname - \global\cslet{#1}{macsave.#1}% - \global\expandafter\let \csname ismacro.#1\endcsname=0% - % Remove the macro name from \macrolist: - \begingroup - \expandafter\let\csname#1\endcsname \relax - \let\definedummyword\unmacrodo - \xdef\macrolist{\macrolist}% - \endgroup - \else - \errmessage{Macro #1 not defined}% - \fi -} - -% Called by \do from \dounmacro on each macro. The idea is to omit any -% macro definitions that have been changed to \relax. -% -\def\unmacrodo#1{% - \ifx #1\relax - % remove this - \else - \noexpand\definedummyword \noexpand#1% - \fi -} - -% This makes use of the obscure feature that if the last token of a -% <parameter list> is #, then the preceding argument is delimited by -% an opening brace, and that opening brace is not consumed. -\def\getargs#1{\getargsxxx#1{}} -\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} -\def\getmacname #1 #2\relax{\macname={#1}} -\def\getmacargs#1{\def\argl{#1}} - -% Parse the optional {params} list. Set up \paramno and \paramlist -% so \defmacro knows what to do. Define \macarg.blah for each blah -% in the params list, to be ##N where N is the position in that list. -% That gets used by \mbodybackslash (above). - -% We need to get `macro parameter char #' into several definitions. -% The technique used is stolen from LaTeX: let \hash be something -% unexpandable, insert that wherever you need a #, and then redefine -% it to # just before using the token list produced. -% -% The same technique is used to protect \eatspaces till just before -% the macro is used. - -\def\parsemargdef#1;{\paramno=0\def\paramlist{}% - \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} -\def\parsemargdefxxx#1,{% - \if#1;\let\next=\relax - \else \let\next=\parsemargdefxxx - \advance\paramno by 1% - \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname - {\xeatspaces{\hash\the\paramno}}% - \edef\paramlist{\paramlist\hash\the\paramno,}% - \fi\next} - -% These two commands read recursive and nonrecursive macro bodies. -% (They're different since rec and nonrec macros end differently.) - -\long\def\parsemacbody#1@end macro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% -\long\def\parsermacbody#1@end rmacro% -{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% - -% This defines the macro itself. There are six cases: recursive and -% nonrecursive macros of zero, one, and many arguments. -% Much magic with \expandafter here. -% \xdef is used so that macro definitions will survive the file -% they're defined in; @include reads the file inside a group. -\def\defmacro{% - \let\hash=##% convert placeholders to macro parameter chars - \ifrecursive - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\scanmacro{\temp}}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname xxx\endcsname}% - \expandafter\xdef\csname\the\macname xxx\endcsname##1{% - \egroup\noexpand\scanmacro{\temp}}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{\egroup\noexpand\scanmacro{\temp}}% - \fi - \else - \ifcase\paramno - % 0 - \expandafter\xdef\csname\the\macname\endcsname{% - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \or % 1 - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \noexpand\braceorline - \expandafter\noexpand\csname\the\macname xxx\endcsname}% - \expandafter\xdef\csname\the\macname xxx\endcsname##1{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \else % many - \expandafter\xdef\csname\the\macname\endcsname{% - \bgroup\noexpand\macroargctxt - \expandafter\noexpand\csname\the\macname xx\endcsname}% - \expandafter\xdef\csname\the\macname xx\endcsname##1{% - \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% - \expandafter\expandafter - \expandafter\xdef - \expandafter\expandafter - \csname\the\macname xxx\endcsname - \paramlist{% - \egroup - \noexpand\norecurse{\the\macname}% - \noexpand\scanmacro{\temp}\egroup}% - \fi - \fi} - -\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} - -% \braceorline decides whether the next nonwhitespace character is a -% {. If so it reads up to the closing }, if not, it reads the whole -% line. Whatever was read is then fed to the next control sequence -% as an argument (by \parsebrace or \parsearg) -\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} -\def\braceorlinexxx{% - \ifx\nchar\bgroup\else - \expandafter\parsearg - \fi \macnamexxx} - - -% @alias. -% We need some trickery to remove the optional spaces around the equal -% sign. Just make them active and then expand them all to nothing. -\def\alias{\parseargusing\obeyspaces\aliasxxx} -\def\aliasxxx #1{\aliasyyy#1\relax} -\def\aliasyyy #1=#2\relax{% - {% - \expandafter\let\obeyedspace=\empty - \addtomacrolist{#1}% - \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% - }% - \next -} - - -\message{cross references,} - -\newwrite\auxfile -\newif\ifhavexrefs % True if xref values are known. -\newif\ifwarnedxrefs % True if we warned once that they aren't known. - -% @inforef is relatively simple. -\def\inforef #1{\inforefzzz #1,,,,**} -\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, - node \samp{\ignorespaces#1{}}} - -% @node's only job in TeX is to define \lastnode, which is used in -% cross-references. The @node line might or might not have commas, and -% might or might not have spaces before the first comma, like: -% @node foo , bar , ... -% We don't want such trailing spaces in the node name. -% -\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} -% -% also remove a trailing comma, in case of something like this: -% @node Help-Cross, , , Cross-refs -\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} -\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} - -\let\nwnode=\node -\let\lastnode=\empty - -% Write a cross-reference definition for the current node. #1 is the -% type (Ynumbered, Yappendix, Ynothing). -% -\def\donoderef#1{% - \ifx\lastnode\empty\else - \setref{\lastnode}{#1}% - \global\let\lastnode=\empty - \fi -} - -% @anchor{NAME} -- define xref target at arbitrary point. -% -\newcount\savesfregister -% -\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} -\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} -\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} - -% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an -% anchor), which consists of three parts: -% 1) NAME-title - the current sectioning name taken from \thissection, -% or the anchor name. -% 2) NAME-snt - section number and type, passed as the SNT arg, or -% empty for anchors. -% 3) NAME-pg - the page number. -% -% This is called from \donoderef, \anchor, and \dofloat. In the case of -% floats, there is an additional part, which is not written here: -% 4) NAME-lof - the text as it should appear in a @listoffloats. -% -\def\setref#1#2{% - \pdfmkdest{#1}% - \iflinks - {% - \atdummies % preserve commands, but don't expand them - \edef\writexrdef##1##2{% - \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef - ##1}{##2}}% these are parameters of \writexrdef - }% - \toks0 = \expandafter{\thissection}% - \immediate \writexrdef{title}{\the\toks0 }% - \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout - }% - \fi -} - -% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is -% the node name, #2 the name of the Info cross-reference, #3 the printed -% node name, #4 the name of the Info file, #5 the name of the printed -% manual. All but the node name can be omitted. -% -\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} -\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} -\def\ref#1{\xrefX[#1,,,,,,,]} -\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup - \unsepspaces - \def\printedmanual{\ignorespaces #5}% - \def\printedrefname{\ignorespaces #3}% - \setbox1=\hbox{\printedmanual\unskip}% - \setbox0=\hbox{\printedrefname\unskip}% - \ifdim \wd0 = 0pt - % No printed node name was explicitly given. - \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax - % Use the node name inside the square brackets. - \def\printedrefname{\ignorespaces #1}% - \else - % Use the actual chapter/section title appear inside - % the square brackets. Use the real section title if we have it. - \ifdim \wd1 > 0pt - % It is in another manual, so we don't have it. - \def\printedrefname{\ignorespaces #1}% - \else - \ifhavexrefs - % We know the real title if we have the xref values. - \def\printedrefname{\refx{#1-title}{}}% - \else - % Otherwise just copy the Info node name. - \def\printedrefname{\ignorespaces #1}% - \fi% - \fi - \fi - \fi - % - % Make link in pdf output. - \ifpdf - \leavevmode - \getfilename{#4}% - {\indexnofonts - \turnoffactive - % See comments at \activebackslashdouble. - {\activebackslashdouble \xdef\pdfxrefdest{#1}% - \backslashparens\pdfxrefdest}% - % - \ifnum\filenamelength>0 - \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{\pdfxrefdest}% - \else - \startlink attr{/Border [0 0 0]}% - goto name{\pdfmkpgn{\pdfxrefdest}}% - \fi - }% - \linkcolor - \fi - % - % Float references are printed completely differently: "Figure 1.2" - % instead of "[somenode], p.3". We distinguish them by the - % LABEL-title being set to a magic string. - {% - % Have to otherify everything special to allow the \csname to - % include an _ in the xref name, etc. - \indexnofonts - \turnoffactive - \expandafter\global\expandafter\let\expandafter\Xthisreftitle - \csname XR#1-title\endcsname - }% - \iffloat\Xthisreftitle - % If the user specified the print name (third arg) to the ref, - % print it instead of our usual "Figure 1.2". - \ifdim\wd0 = 0pt - \refx{#1-snt}{}% - \else - \printedrefname - \fi - % - % if the user also gave the printed manual name (fifth arg), append - % "in MANUALNAME". - \ifdim \wd1 > 0pt - \space \putwordin{} \cite{\printedmanual}% - \fi - \else - % node/anchor (non-float) references. - % - % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not - % insert empty discretionaries after hyphens, which means that it will - % not find a line break at a hyphen in a node names. Since some manuals - % are best written with fairly long node names, containing hyphens, this - % is a loss. Therefore, we give the text of the node name again, so it - % is as if TeX is seeing it for the first time. - \ifdim \wd1 > 0pt - \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% - \else - % _ (for example) has to be the character _ for the purposes of the - % control sequence corresponding to the node, but it has to expand - % into the usual \leavevmode...\vrule stuff for purposes of - % printing. So we \turnoffactive for the \refx-snt, back on for the - % printing, back off for the \refx-pg. - {\turnoffactive - % Only output a following space if the -snt ref is nonempty; for - % @unnumbered and @anchor, it won't be. - \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% - \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi - }% - % output the `[mynode]' via a macro so it can be overridden. - \xrefprintnodename\printedrefname - % - % But we always want a comma and a space: - ,\space - % - % output the `page 3'. - \turnoffactive \putwordpage\tie\refx{#1-pg}{}% - \fi - \fi - \endlink -\endgroup} - -% This macro is called from \xrefX for the `[nodename]' part of xref -% output. It's a separate macro only so it can be changed more easily, -% since square brackets don't work well in some documents. Particularly -% one that Bob is working on :). -% -\def\xrefprintnodename#1{[#1]} - -% Things referred to by \setref. -% -\def\Ynothing{} -\def\Yomitfromtoc{} -\def\Ynumbered{% - \ifnum\secno=0 - \putwordChapter@tie \the\chapno - \else \ifnum\subsecno=0 - \putwordSection@tie \the\chapno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno - \else - \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} -\def\Yappendix{% - \ifnum\secno=0 - \putwordAppendix@tie @char\the\appendixno{}% - \else \ifnum\subsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno - \else \ifnum\subsubsecno=0 - \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno - \else - \putwordSection@tie - @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno - \fi\fi\fi -} - -% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. -% If its value is nonempty, SUFFIX is output afterward. -% -\def\refx#1#2{% - {% - \indexnofonts - \otherbackslash - \expandafter\global\expandafter\let\expandafter\thisrefX - \csname XR#1\endcsname - }% - \ifx\thisrefX\relax - % If not defined, say something at least. - \angleleft un\-de\-fined\angleright - \iflinks - \ifhavexrefs - \message{\linenumber Undefined cross reference `#1'.}% - \else - \ifwarnedxrefs\else - \global\warnedxrefstrue - \message{Cross reference values unknown; you must run TeX again.}% - \fi - \fi - \fi - \else - % It's defined, so just use it. - \thisrefX - \fi - #2% Output the suffix in any case. -} - -% This is the macro invoked by entries in the aux file. Usually it's -% just a \def (we prepend XR to the control sequence name to avoid -% collisions). But if this is a float type, we have more work to do. -% -\def\xrdef#1#2{% - {% The node name might contain 8-bit characters, which in our current - % implementation are changed to commands like @'e. Don't let these - % mess up the control sequence name. - \indexnofonts - \turnoffactive - \xdef\safexrefname{#1}% - }% - % - \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref - % - % Was that xref control sequence that we just defined for a float? - \expandafter\iffloat\csname XR\safexrefname\endcsname - % it was a float, and we have the (safe) float type in \iffloattype. - \expandafter\let\expandafter\floatlist - \csname floatlist\iffloattype\endcsname - % - % Is this the first time we've seen this float type? - \expandafter\ifx\floatlist\relax - \toks0 = {\do}% yes, so just \do - \else - % had it before, so preserve previous elements in list. - \toks0 = \expandafter{\floatlist\do}% - \fi - % - % Remember this xref in the control sequence \floatlistFLOATTYPE, - % for later use in \listoffloats. - \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 - {\safexrefname}}% - \fi -} - -% Read the last existing aux file, if any. No error if none exists. -% -\def\tryauxfile{% - \openin 1 \jobname.aux - \ifeof 1 \else - \readdatafile{aux}% - \global\havexrefstrue - \fi - \closein 1 -} - -\def\setupdatafile{% - \catcode`\^^@=\other - \catcode`\^^A=\other - \catcode`\^^B=\other - \catcode`\^^C=\other - \catcode`\^^D=\other - \catcode`\^^E=\other - \catcode`\^^F=\other - \catcode`\^^G=\other - \catcode`\^^H=\other - \catcode`\^^K=\other - \catcode`\^^L=\other - \catcode`\^^N=\other - \catcode`\^^P=\other - \catcode`\^^Q=\other - \catcode`\^^R=\other - \catcode`\^^S=\other - \catcode`\^^T=\other - \catcode`\^^U=\other - \catcode`\^^V=\other - \catcode`\^^W=\other - \catcode`\^^X=\other - \catcode`\^^Z=\other - \catcode`\^^[=\other - \catcode`\^^\=\other - \catcode`\^^]=\other - \catcode`\^^^=\other - \catcode`\^^_=\other - % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. - % in xref tags, i.e., node names. But since ^^e4 notation isn't - % supported in the main text, it doesn't seem desirable. Furthermore, - % that is not enough: for node names that actually contain a ^ - % character, we would end up writing a line like this: 'xrdef {'hat - % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first - % argument, and \hat is not an expandable control sequence. It could - % all be worked out, but why? Either we support ^^ or we don't. - % - % The other change necessary for this was to define \auxhat: - % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter - % and then to call \auxhat in \setq. - % - \catcode`\^=\other - % - % Special characters. Should be turned off anyway, but... - \catcode`\~=\other - \catcode`\[=\other - \catcode`\]=\other - \catcode`\"=\other - \catcode`\_=\other - \catcode`\|=\other - \catcode`\<=\other - \catcode`\>=\other - \catcode`\$=\other - \catcode`\#=\other - \catcode`\&=\other - \catcode`\%=\other - \catcode`+=\other % avoid \+ for paranoia even though we've turned it off - % - % This is to support \ in node names and titles, since the \ - % characters end up in a \csname. It's easier than - % leaving it active and making its active definition an actual \ - % character. What I don't understand is why it works in the *value* - % of the xrdef. Seems like it should be a catcode12 \, and that - % should not typeset properly. But it works, so I'm moving on for - % now. --karl, 15jan04. - \catcode`\\=\other - % - % Make the characters 128-255 be printing characters. - {% - \count1=128 - \def\loop{% - \catcode\count1=\other - \advance\count1 by 1 - \ifnum \count1<256 \loop \fi - }% - }% - % - % @ is our escape character in .aux files, and we need braces. - \catcode`\{=1 - \catcode`\}=2 - \catcode`\@=0 -} - -\def\readdatafile#1{% -\begingroup - \setupdatafile - \input\jobname.#1 -\endgroup} - - -\message{insertions,} -% including footnotes. - -\newcount \footnoteno - -% The trailing space in the following definition for supereject is -% vital for proper filling; pages come out unaligned when you do a -% pagealignmacro call if that space before the closing brace is -% removed. (Generally, numeric constants should always be followed by a -% space to prevent strange expansion errors.) -\def\supereject{\par\penalty -20000\footnoteno =0 } - -% @footnotestyle is meaningful for info output only. -\let\footnotestyle=\comment - -{\catcode `\@=11 -% -% Auto-number footnotes. Otherwise like plain. -\gdef\footnote{% - \let\indent=\ptexindent - \let\noindent=\ptexnoindent - \global\advance\footnoteno by \@ne - \edef\thisfootno{$^{\the\footnoteno}$}% - % - % In case the footnote comes at the end of a sentence, preserve the - % extra spacing after we do the footnote number. - \let\@sf\empty - \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi - % - % Remove inadvertent blank space before typesetting the footnote number. - \unskip - \thisfootno\@sf - \dofootnote -}% - -% Don't bother with the trickery in plain.tex to not require the -% footnote text as a parameter. Our footnotes don't need to be so general. -% -% Oh yes, they do; otherwise, @ifset (and anything else that uses -% \parseargline) fails inside footnotes because the tokens are fixed when -% the footnote is read. --karl, 16nov96. -% -\gdef\dofootnote{% - \insert\footins\bgroup - % We want to typeset this text as a normal paragraph, even if the - % footnote reference occurs in (for example) a display environment. - % So reset some parameters. - \hsize=\pagewidth - \interlinepenalty\interfootnotelinepenalty - \splittopskip\ht\strutbox % top baseline for broken footnotes - \splitmaxdepth\dp\strutbox - \floatingpenalty\@MM - \leftskip\z@skip - \rightskip\z@skip - \spaceskip\z@skip - \xspaceskip\z@skip - \parindent\defaultparindent - % - \smallfonts \rm - % - % Because we use hanging indentation in footnotes, a @noindent appears - % to exdent this text, so make it be a no-op. makeinfo does not use - % hanging indentation so @noindent can still be needed within footnote - % text after an @example or the like (not that this is good style). - \let\noindent = \relax - % - % Hang the footnote text off the number. Use \everypar in case the - % footnote extends for more than one paragraph. - \everypar = {\hang}% - \textindent{\thisfootno}% - % - % Don't crash into the line above the footnote text. Since this - % expands into a box, it must come within the paragraph, lest it - % provide a place where TeX can split the footnote. - \footstrut - \futurelet\next\fo@t -} -}%end \catcode `\@=11 - -% In case a @footnote appears in a vbox, save the footnote text and create -% the real \insert just after the vbox finished. Otherwise, the insertion -% would be lost. -% Similarly, if a @footnote appears inside an alignment, save the footnote -% text to a box and make the \insert when a row of the table is finished. -% And the same can be done for other insert classes. --kasal, 16nov03. - -% Replace the \insert primitive by a cheating macro. -% Deeper inside, just make sure that the saved insertions are not spilled -% out prematurely. -% -\def\startsavinginserts{% - \ifx \insert\ptexinsert - \let\insert\saveinsert - \else - \let\checkinserts\relax - \fi -} - -% This \insert replacement works for both \insert\footins{foo} and -% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. -% -\def\saveinsert#1{% - \edef\next{\noexpand\savetobox \makeSAVEname#1}% - \afterassignment\next - % swallow the left brace - \let\temp = -} -\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} -\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} - -\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} - -\def\placesaveins#1{% - \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname - {\box#1}% -} - -% eat @SAVE -- beware, all of them have catcode \other: -{ - \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) - \gdef\gobblesave @SAVE{} -} - -% initialization: -\def\newsaveins #1{% - \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% - \next -} -\def\newsaveinsX #1{% - \csname newbox\endcsname #1% - \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts - \checksaveins #1}% -} - -% initialize: -\let\checkinserts\empty -\newsaveins\footins -\newsaveins\margin - - -% @image. We use the macros from epsf.tex to support this. -% If epsf.tex is not installed and @image is used, we complain. -% -% Check for and read epsf.tex up front. If we read it only at @image -% time, we might be inside a group, and then its definitions would get -% undone and the next image would fail. -\openin 1 = epsf.tex -\ifeof 1 \else - % Do not bother showing banner with epsf.tex v2.7k (available in - % doc/epsf.tex and on ctan). - \def\epsfannounce{\toks0 = }% - \input epsf.tex -\fi -\closein 1 -% -% We will only complain once about lack of epsf.tex. -\newif\ifwarnednoepsf -\newhelp\noepsfhelp{epsf.tex must be installed for images to - work. It is also included in the Texinfo distribution, or you can get - it from ftp://tug.org/tex/epsf.tex.} -% -\def\image#1{% - \ifx\epsfbox\undefined - \ifwarnednoepsf \else - \errhelp = \noepsfhelp - \errmessage{epsf.tex not found, images will be ignored}% - \global\warnednoepsftrue - \fi - \else - \imagexxx #1,,,,,\finish - \fi -} -% -% Arguments to @image: -% #1 is (mandatory) image filename; we tack on .eps extension. -% #2 is (optional) width, #3 is (optional) height. -% #4 is (ignored optional) html alt text. -% #5 is (ignored optional) extension. -% #6 is just the usual extra ignored arg for parsing this stuff. -\newif\ifimagevmode -\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup - \catcode`\^^M = 5 % in case we're inside an example - \normalturnoffactive % allow _ et al. in names - % If the image is by itself, center it. - \ifvmode - \imagevmodetrue - \nobreak\bigskip - % Usually we'll have text after the image which will insert - % \parskip glue, so insert it here too to equalize the space - % above and below. - \nobreak\vskip\parskip - \nobreak - \line\bgroup - \fi - % - % Output the image. - \ifpdf - \dopdfimage{#1}{#2}{#3}% - \else - % \epsfbox itself resets \epsf?size at each figure. - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi - \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi - \epsfbox{#1.eps}% - \fi - % - \ifimagevmode \egroup \bigbreak \fi % space after the image -\endgroup} - - -% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, -% etc. We don't actually implement floating yet, we always include the -% float "here". But it seemed the best name for the future. -% -\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} - -% There may be a space before second and/or third parameter; delete it. -\def\eatcommaspace#1, {#1,} - -% #1 is the optional FLOATTYPE, the text label for this float, typically -% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, -% this float will not be numbered and cannot be referred to. -% -% #2 is the optional xref label. Also must be present for the float to -% be referable. -% -% #3 is the optional positioning argument; for now, it is ignored. It -% will somehow specify the positions allowed to float to (here, top, bottom). -% -% We keep a separate counter for each FLOATTYPE, which we reset at each -% chapter-level command. -\let\resetallfloatnos=\empty -% -\def\dofloat#1,#2,#3,#4\finish{% - \let\thiscaption=\empty - \let\thisshortcaption=\empty - % - % don't lose footnotes inside @float. - % - % BEWARE: when the floats start float, we have to issue warning whenever an - % insert appears inside a float which could possibly float. --kasal, 26may04 - % - \startsavinginserts - % - % We can't be used inside a paragraph. - \par - % - \vtop\bgroup - \def\floattype{#1}% - \def\floatlabel{#2}% - \def\floatloc{#3}% we do nothing with this yet. - % - \ifx\floattype\empty - \let\safefloattype=\empty - \else - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - \fi - % - % If label is given but no type, we handle that as the empty type. - \ifx\floatlabel\empty \else - % We want each FLOATTYPE to be numbered separately (Figure 1, - % Table 1, Figure 2, ...). (And if no label, no number.) - % - \expandafter\getfloatno\csname\safefloattype floatno\endcsname - \global\advance\floatno by 1 - % - {% - % This magic value for \thissection is output by \setref as the - % XREFLABEL-title value. \xrefX uses it to distinguish float - % labels (which have a completely different output format) from - % node and anchor labels. And \xrdef uses it to construct the - % lists of floats. - % - \edef\thissection{\floatmagic=\safefloattype}% - \setref{\floatlabel}{Yfloat}% - }% - \fi - % - % start with \parskip glue, I guess. - \vskip\parskip - % - % Don't suppress indentation if a float happens to start a section. - \restorefirstparagraphindent -} - -% we have these possibilities: -% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap -% @float Foo,lbl & no caption: Foo 1.1 -% @float Foo & @caption{Cap}: Foo: Cap -% @float Foo & no caption: Foo -% @float ,lbl & Caption{Cap}: 1.1: Cap -% @float ,lbl & no caption: 1.1 -% @float & @caption{Cap}: Cap -% @float & no caption: -% -\def\Efloat{% - \let\floatident = \empty - % - % In all cases, if we have a float type, it comes first. - \ifx\floattype\empty \else \def\floatident{\floattype}\fi - % - % If we have an xref label, the number comes next. - \ifx\floatlabel\empty \else - \ifx\floattype\empty \else % if also had float type, need tie first. - \appendtomacro\floatident{\tie}% - \fi - % the number. - \appendtomacro\floatident{\chaplevelprefix\the\floatno}% - \fi - % - % Start the printed caption with what we've constructed in - % \floatident, but keep it separate; we need \floatident again. - \let\captionline = \floatident - % - \ifx\thiscaption\empty \else - \ifx\floatident\empty \else - \appendtomacro\captionline{: }% had ident, so need a colon between - \fi - % - % caption text. - \appendtomacro\captionline{\scanexp\thiscaption}% - \fi - % - % If we have anything to print, print it, with space before. - % Eventually this needs to become an \insert. - \ifx\captionline\empty \else - \vskip.5\parskip - \captionline - % - % Space below caption. - \vskip\parskip - \fi - % - % If have an xref label, write the list of floats info. Do this - % after the caption, to avoid chance of it being a breakpoint. - \ifx\floatlabel\empty \else - % Write the text that goes in the lof to the aux file as - % \floatlabel-lof. Besides \floatident, we include the short - % caption if specified, else the full caption if specified, else nothing. - {% - \atdummies - % - % since we read the caption text in the macro world, where ^^M - % is turned into a normal character, we have to scan it back, so - % we don't write the literal three characters "^^M" into the aux file. - \scanexp{% - \xdef\noexpand\gtemp{% - \ifx\thisshortcaption\empty - \thiscaption - \else - \thisshortcaption - \fi - }% - }% - \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident - \ifx\gtemp\empty \else : \gtemp \fi}}% - }% - \fi - \egroup % end of \vtop - % - % place the captured inserts - % - % BEWARE: when the floats start floating, we have to issue warning - % whenever an insert appears inside a float which could possibly - % float. --kasal, 26may04 - % - \checkinserts -} - -% Append the tokens #2 to the definition of macro #1, not expanding either. -% -\def\appendtomacro#1#2{% - \expandafter\def\expandafter#1\expandafter{#1#2}% -} - -% @caption, @shortcaption -% -\def\caption{\docaption\thiscaption} -\def\shortcaption{\docaption\thisshortcaption} -\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} -\def\defcaption#1#2{\egroup \def#1{#2}} - -% The parameter is the control sequence identifying the counter we are -% going to use. Create it if it doesn't exist and assign it to \floatno. -\def\getfloatno#1{% - \ifx#1\relax - % Haven't seen this figure type before. - \csname newcount\endcsname #1% - % - % Remember to reset this floatno at the next chap. - \expandafter\gdef\expandafter\resetallfloatnos - \expandafter{\resetallfloatnos #1=0 }% - \fi - \let\floatno#1% -} - -% \setref calls this to get the XREFLABEL-snt value. We want an @xref -% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we -% first read the @float command. -% -\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% - -% Magic string used for the XREFLABEL-title value, so \xrefX can -% distinguish floats from other xref types. -\def\floatmagic{!!float!!} - -% #1 is the control sequence we are passed; we expand into a conditional -% which is true if #1 represents a float ref. That is, the magic -% \thissection value which we \setref above. -% -\def\iffloat#1{\expandafter\doiffloat#1==\finish} -% -% #1 is (maybe) the \floatmagic string. If so, #2 will be the -% (safe) float type for this float. We set \iffloattype to #2. -% -\def\doiffloat#1=#2=#3\finish{% - \def\temp{#1}% - \def\iffloattype{#2}% - \ifx\temp\floatmagic -} - -% @listoffloats FLOATTYPE - print a list of floats like a table of contents. -% -\parseargdef\listoffloats{% - \def\floattype{#1}% floattype - {% - % the floattype might have accents or other special characters, - % but we need to use it in a control sequence name. - \indexnofonts - \turnoffactive - \xdef\safefloattype{\floattype}% - }% - % - % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. - \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax - \ifhavexrefs - % if the user said @listoffloats foo but never @float foo. - \message{\linenumber No `\safefloattype' floats to list.}% - \fi - \else - \begingroup - \leftskip=\tocindent % indent these entries like a toc - \let\do=\listoffloatsdo - \csname floatlist\safefloattype\endcsname - \endgroup - \fi -} - -% This is called on each entry in a list of floats. We're passed the -% xref label, in the form LABEL-title, which is how we save it in the -% aux file. We strip off the -title and look up \XRLABEL-lof, which -% has the text we're supposed to typeset here. -% -% Figures without xref labels will not be included in the list (since -% they won't appear in the aux file). -% -\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} -\def\listoffloatsdoentry#1-title\finish{{% - % Can't fully expand XR#1-lof because it can contain anything. Just - % pass the control sequence. On the other hand, XR#1-pg is just the - % page number, and we want to fully expand that so we can get a link - % in pdf output. - \toksA = \expandafter{\csname XR#1-lof\endcsname}% - % - % use the same \entry macro we use to generate the TOC and index. - \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% - \writeentry -}} - - -\message{localization,} - -% @documentlanguage is usually given very early, just after -% @setfilename. If done too late, it may not override everything -% properly. Single argument is the language abbreviation. -% It would be nice if we could set up a hyphenation file here. -% -\parseargdef\documentlanguage{% - \tex % read txi-??.tex file in plain TeX. - % Read the file if it exists. - \openin 1 txi-#1.tex - \ifeof 1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% - \else - \input txi-#1.tex - \fi - \closein 1 - \endgroup -} -\newhelp\nolanghelp{The given language definition file cannot be found or -is empty. Maybe you need to install it? In the current directory -should work if nowhere else does.} - -% Set the catcode of characters 128 through 255 to the specified number. -% -\def\setnonasciicharscatcode#1{% - \count255=128 - \loop\ifnum\count255<256 - \global\catcode\count255=#1 - \advance\count255 by 1 - \repeat -} - -% @documentencoding sets the definition of non-ASCII characters -% according to the specified encoding. -% -\parseargdef\documentencoding{% - % Encoding being declared for the document. - \def\declaredencoding{\csname #1.enc\endcsname}% - % - % Supported encodings: names converted to tokens in order to be able - % to compare them with \ifx. - \def\ascii{\csname US-ASCII.enc\endcsname}% - \def\latnine{\csname ISO-8859-15.enc\endcsname}% - \def\latone{\csname ISO-8859-1.enc\endcsname}% - \def\lattwo{\csname ISO-8859-2.enc\endcsname}% - \def\utfeight{\csname UTF-8.enc\endcsname}% - % - \ifx \declaredencoding \ascii - \asciichardefs - % - \else \ifx \declaredencoding \lattwo - \setnonasciicharscatcode\active - \lattwochardefs - % - \else \ifx \declaredencoding \latone - \setnonasciicharscatcode\active - \latonechardefs - % - \else \ifx \declaredencoding \latnine - \setnonasciicharscatcode\active - \latninechardefs - % - \else \ifx \declaredencoding \utfeight - \setnonasciicharscatcode\active - \utfeightchardefs - % - \else - \message{Unknown document encoding #1, ignoring.}% - % - \fi % utfeight - \fi % latnine - \fi % latone - \fi % lattwo - \fi % ascii -} - -% A message to be logged when using a character that isn't available -% the default font encoding (OT1). -% -\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} - -% Take account of \c (plain) vs. \, (Texinfo) difference. -\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} - -% First, make active non-ASCII characters in order for them to be -% correctly categorized when TeX reads the replacement text of -% macros containing the character definitions. -\setnonasciicharscatcode\active -% -% Latin1 (ISO-8859-1) character definitions. -\def\latonechardefs{% - \gdef^^a0{~} - \gdef^^a1{\exclamdown} - \gdef^^a2{\missingcharmsg{CENT SIGN}} - \gdef^^a3{{\pounds}} - \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdef^^a5{\missingcharmsg{YEN SIGN}} - \gdef^^a6{\missingcharmsg{BROKEN BAR}} - \gdef^^a7{\S} - \gdef^^a8{\"{}} - \gdef^^a9{\copyright} - \gdef^^aa{\ordf} - \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} - \gdef^^ac{$\lnot$} - \gdef^^ad{\-} - \gdef^^ae{\registeredsymbol} - \gdef^^af{\={}} - % - \gdef^^b0{\textdegree} - \gdef^^b1{$\pm$} - \gdef^^b2{$^2$} - \gdef^^b3{$^3$} - \gdef^^b4{\'{}} - \gdef^^b5{$\mu$} - \gdef^^b6{\P} - % - \gdef^^b7{$^.$} - \gdef^^b8{\cedilla\ } - \gdef^^b9{$^1$} - \gdef^^ba{\ordm} - % - \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} - \gdef^^bc{$1\over4$} - \gdef^^bd{$1\over2$} - \gdef^^be{$3\over4$} - \gdef^^bf{\questiondown} - % - \gdef^^c0{\`A} - \gdef^^c1{\'A} - \gdef^^c2{\^A} - \gdef^^c3{\~A} - \gdef^^c4{\"A} - \gdef^^c5{\ringaccent A} - \gdef^^c6{\AE} - \gdef^^c7{\cedilla C} - \gdef^^c8{\`E} - \gdef^^c9{\'E} - \gdef^^ca{\^E} - \gdef^^cb{\"E} - \gdef^^cc{\`I} - \gdef^^cd{\'I} - \gdef^^ce{\^I} - \gdef^^cf{\"I} - % - \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} - \gdef^^d1{\~N} - \gdef^^d2{\`O} - \gdef^^d3{\'O} - \gdef^^d4{\^O} - \gdef^^d5{\~O} - \gdef^^d6{\"O} - \gdef^^d7{$\times$} - \gdef^^d8{\O} - \gdef^^d9{\`U} - \gdef^^da{\'U} - \gdef^^db{\^U} - \gdef^^dc{\"U} - \gdef^^dd{\'Y} - \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} - \gdef^^df{\ss} - % - \gdef^^e0{\`a} - \gdef^^e1{\'a} - \gdef^^e2{\^a} - \gdef^^e3{\~a} - \gdef^^e4{\"a} - \gdef^^e5{\ringaccent a} - \gdef^^e6{\ae} - \gdef^^e7{\cedilla c} - \gdef^^e8{\`e} - \gdef^^e9{\'e} - \gdef^^ea{\^e} - \gdef^^eb{\"e} - \gdef^^ec{\`{\dotless i}} - \gdef^^ed{\'{\dotless i}} - \gdef^^ee{\^{\dotless i}} - \gdef^^ef{\"{\dotless i}} - % - \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} - \gdef^^f1{\~n} - \gdef^^f2{\`o} - \gdef^^f3{\'o} - \gdef^^f4{\^o} - \gdef^^f5{\~o} - \gdef^^f6{\"o} - \gdef^^f7{$\div$} - \gdef^^f8{\o} - \gdef^^f9{\`u} - \gdef^^fa{\'u} - \gdef^^fb{\^u} - \gdef^^fc{\"u} - \gdef^^fd{\'y} - \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} - \gdef^^ff{\"y} -} - -% Latin9 (ISO-8859-15) encoding character definitions. -\def\latninechardefs{% - % Encoding is almost identical to Latin1. - \latonechardefs - % - \gdef^^a4{\euro} - \gdef^^a6{\v S} - \gdef^^a8{\v s} - \gdef^^b4{\v Z} - \gdef^^b8{\v z} - \gdef^^bc{\OE} - \gdef^^bd{\oe} - \gdef^^be{\"Y} -} - -% Latin2 (ISO-8859-2) character definitions. -\def\lattwochardefs{% - \gdef^^a0{~} - \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} - \gdef^^a2{\u{}} - \gdef^^a3{\L} - \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} - \gdef^^a5{\v L} - \gdef^^a6{\'S} - \gdef^^a7{\S} - \gdef^^a8{\"{}} - \gdef^^a9{\v S} - \gdef^^aa{\cedilla S} - \gdef^^ab{\v T} - \gdef^^ac{\'Z} - \gdef^^ad{\-} - \gdef^^ae{\v Z} - \gdef^^af{\dotaccent Z} - % - \gdef^^b0{\textdegree} - \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} - \gdef^^b2{\missingcharmsg{OGONEK}} - \gdef^^b3{\l} - \gdef^^b4{\'{}} - \gdef^^b5{\v l} - \gdef^^b6{\'s} - \gdef^^b7{\v{}} - \gdef^^b8{\cedilla\ } - \gdef^^b9{\v s} - \gdef^^ba{\cedilla s} - \gdef^^bb{\v t} - \gdef^^bc{\'z} - \gdef^^bd{\H{}} - \gdef^^be{\v z} - \gdef^^bf{\dotaccent z} - % - \gdef^^c0{\'R} - \gdef^^c1{\'A} - \gdef^^c2{\^A} - \gdef^^c3{\u A} - \gdef^^c4{\"A} - \gdef^^c5{\'L} - \gdef^^c6{\'C} - \gdef^^c7{\cedilla C} - \gdef^^c8{\v C} - \gdef^^c9{\'E} - \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} - \gdef^^cb{\"E} - \gdef^^cc{\v E} - \gdef^^cd{\'I} - \gdef^^ce{\^I} - \gdef^^cf{\v D} - % - \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} - \gdef^^d1{\'N} - \gdef^^d2{\v N} - \gdef^^d3{\'O} - \gdef^^d4{\^O} - \gdef^^d5{\H O} - \gdef^^d6{\"O} - \gdef^^d7{$\times$} - \gdef^^d8{\v R} - \gdef^^d9{\ringaccent U} - \gdef^^da{\'U} - \gdef^^db{\H U} - \gdef^^dc{\"U} - \gdef^^dd{\'Y} - \gdef^^de{\cedilla T} - \gdef^^df{\ss} - % - \gdef^^e0{\'r} - \gdef^^e1{\'a} - \gdef^^e2{\^a} - \gdef^^e3{\u a} - \gdef^^e4{\"a} - \gdef^^e5{\'l} - \gdef^^e6{\'c} - \gdef^^e7{\cedilla c} - \gdef^^e8{\v c} - \gdef^^e9{\'e} - \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} - \gdef^^eb{\"e} - \gdef^^ec{\v e} - \gdef^^ed{\'\i} - \gdef^^ee{\^\i} - \gdef^^ef{\v d} - % - \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} - \gdef^^f1{\'n} - \gdef^^f2{\v n} - \gdef^^f3{\'o} - \gdef^^f4{\^o} - \gdef^^f5{\H o} - \gdef^^f6{\"o} - \gdef^^f7{$\div$} - \gdef^^f8{\v r} - \gdef^^f9{\ringaccent u} - \gdef^^fa{\'u} - \gdef^^fb{\H u} - \gdef^^fc{\"u} - \gdef^^fd{\'y} - \gdef^^fe{\cedilla t} - \gdef^^ff{\dotaccent{}} -} - -% UTF-8 character definitions. -% -% This code to support UTF-8 is based on LaTeX's utf8.def, with some -% changes for Texinfo conventions. It is included here under the GPL by -% permission from Frank Mittelbach and the LaTeX team. -% -\newcount\countUTFx -\newcount\countUTFy -\newcount\countUTFz - -\gdef\UTFviiiTwoOctets#1#2{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\endcsname} -% -\gdef\UTFviiiThreeOctets#1#2#3{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} -% -\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter - \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} - -\gdef\UTFviiiDefined#1{% - \ifx #1\relax - \message{\linenumber Unicode char \string #1 not defined for Texinfo}% - \else - \expandafter #1% - \fi -} - -\begingroup - \catcode`\~13 - \catcode`\"12 - - \def\UTFviiiLoop{% - \global\catcode\countUTFx\active - \uccode`\~\countUTFx - \uppercase\expandafter{\UTFviiiTmp}% - \advance\countUTFx by 1 - \ifnum\countUTFx < \countUTFy - \expandafter\UTFviiiLoop - \fi} - - \countUTFx = "C2 - \countUTFy = "E0 - \def\UTFviiiTmp{% - \xdef~{\noexpand\UTFviiiTwoOctets\string~}} - \UTFviiiLoop - - \countUTFx = "E0 - \countUTFy = "F0 - \def\UTFviiiTmp{% - \xdef~{\noexpand\UTFviiiThreeOctets\string~}} - \UTFviiiLoop - - \countUTFx = "F0 - \countUTFy = "F4 - \def\UTFviiiTmp{% - \xdef~{\noexpand\UTFviiiFourOctets\string~}} - \UTFviiiLoop -\endgroup - -\begingroup - \catcode`\"=12 - \catcode`\<=12 - \catcode`\.=12 - \catcode`\,=12 - \catcode`\;=12 - \catcode`\!=12 - \catcode`\~=13 - - \gdef\DeclareUnicodeCharacter#1#2{% - \countUTFz = "#1\relax - \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% - \begingroup - \parseXMLCharref - \def\UTFviiiTwoOctets##1##2{% - \csname u8:##1\string ##2\endcsname}% - \def\UTFviiiThreeOctets##1##2##3{% - \csname u8:##1\string ##2\string ##3\endcsname}% - \def\UTFviiiFourOctets##1##2##3##4{% - \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% - \expandafter\expandafter\expandafter\expandafter - \expandafter\expandafter\expandafter - \gdef\UTFviiiTmp{#2}% - \endgroup} - - \gdef\parseXMLCharref{% - \ifnum\countUTFz < "A0\relax - \errhelp = \EMsimple - \errmessage{Cannot define Unicode char value < 00A0}% - \else\ifnum\countUTFz < "800\relax - \parseUTFviiiA,% - \parseUTFviiiB C\UTFviiiTwoOctets.,% - \else\ifnum\countUTFz < "10000\relax - \parseUTFviiiA;% - \parseUTFviiiA,% - \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% - \else - \parseUTFviiiA;% - \parseUTFviiiA,% - \parseUTFviiiA!% - \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% - \fi\fi\fi - } - - \gdef\parseUTFviiiA#1{% - \countUTFx = \countUTFz - \divide\countUTFz by 64 - \countUTFy = \countUTFz - \multiply\countUTFz by 64 - \advance\countUTFx by -\countUTFz - \advance\countUTFx by 128 - \uccode `#1\countUTFx - \countUTFz = \countUTFy} - - \gdef\parseUTFviiiB#1#2#3#4{% - \advance\countUTFz by "#10\relax - \uccode `#3\countUTFz - \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} -\endgroup - -\def\utfeightchardefs{% - \DeclareUnicodeCharacter{00A0}{\tie} - \DeclareUnicodeCharacter{00A1}{\exclamdown} - \DeclareUnicodeCharacter{00A3}{\pounds} - \DeclareUnicodeCharacter{00A8}{\"{ }} - \DeclareUnicodeCharacter{00A9}{\copyright} - \DeclareUnicodeCharacter{00AA}{\ordf} - \DeclareUnicodeCharacter{00AD}{\-} - \DeclareUnicodeCharacter{00AE}{\registeredsymbol} - \DeclareUnicodeCharacter{00AF}{\={ }} - - \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} - \DeclareUnicodeCharacter{00B4}{\'{ }} - \DeclareUnicodeCharacter{00B8}{\cedilla{ }} - \DeclareUnicodeCharacter{00BA}{\ordm} - \DeclareUnicodeCharacter{00BF}{\questiondown} - - \DeclareUnicodeCharacter{00C0}{\`A} - \DeclareUnicodeCharacter{00C1}{\'A} - \DeclareUnicodeCharacter{00C2}{\^A} - \DeclareUnicodeCharacter{00C3}{\~A} - \DeclareUnicodeCharacter{00C4}{\"A} - \DeclareUnicodeCharacter{00C5}{\AA} - \DeclareUnicodeCharacter{00C6}{\AE} - \DeclareUnicodeCharacter{00C7}{\cedilla{C}} - \DeclareUnicodeCharacter{00C8}{\`E} - \DeclareUnicodeCharacter{00C9}{\'E} - \DeclareUnicodeCharacter{00CA}{\^E} - \DeclareUnicodeCharacter{00CB}{\"E} - \DeclareUnicodeCharacter{00CC}{\`I} - \DeclareUnicodeCharacter{00CD}{\'I} - \DeclareUnicodeCharacter{00CE}{\^I} - \DeclareUnicodeCharacter{00CF}{\"I} - - \DeclareUnicodeCharacter{00D1}{\~N} - \DeclareUnicodeCharacter{00D2}{\`O} - \DeclareUnicodeCharacter{00D3}{\'O} - \DeclareUnicodeCharacter{00D4}{\^O} - \DeclareUnicodeCharacter{00D5}{\~O} - \DeclareUnicodeCharacter{00D6}{\"O} - \DeclareUnicodeCharacter{00D8}{\O} - \DeclareUnicodeCharacter{00D9}{\`U} - \DeclareUnicodeCharacter{00DA}{\'U} - \DeclareUnicodeCharacter{00DB}{\^U} - \DeclareUnicodeCharacter{00DC}{\"U} - \DeclareUnicodeCharacter{00DD}{\'Y} - \DeclareUnicodeCharacter{00DF}{\ss} - - \DeclareUnicodeCharacter{00E0}{\`a} - \DeclareUnicodeCharacter{00E1}{\'a} - \DeclareUnicodeCharacter{00E2}{\^a} - \DeclareUnicodeCharacter{00E3}{\~a} - \DeclareUnicodeCharacter{00E4}{\"a} - \DeclareUnicodeCharacter{00E5}{\aa} - \DeclareUnicodeCharacter{00E6}{\ae} - \DeclareUnicodeCharacter{00E7}{\cedilla{c}} - \DeclareUnicodeCharacter{00E8}{\`e} - \DeclareUnicodeCharacter{00E9}{\'e} - \DeclareUnicodeCharacter{00EA}{\^e} - \DeclareUnicodeCharacter{00EB}{\"e} - \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} - \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} - \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} - \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} - - \DeclareUnicodeCharacter{00F1}{\~n} - \DeclareUnicodeCharacter{00F2}{\`o} - \DeclareUnicodeCharacter{00F3}{\'o} - \DeclareUnicodeCharacter{00F4}{\^o} - \DeclareUnicodeCharacter{00F5}{\~o} - \DeclareUnicodeCharacter{00F6}{\"o} - \DeclareUnicodeCharacter{00F8}{\o} - \DeclareUnicodeCharacter{00F9}{\`u} - \DeclareUnicodeCharacter{00FA}{\'u} - \DeclareUnicodeCharacter{00FB}{\^u} - \DeclareUnicodeCharacter{00FC}{\"u} - \DeclareUnicodeCharacter{00FD}{\'y} - \DeclareUnicodeCharacter{00FF}{\"y} - - \DeclareUnicodeCharacter{0100}{\=A} - \DeclareUnicodeCharacter{0101}{\=a} - \DeclareUnicodeCharacter{0102}{\u{A}} - \DeclareUnicodeCharacter{0103}{\u{a}} - \DeclareUnicodeCharacter{0106}{\'C} - \DeclareUnicodeCharacter{0107}{\'c} - \DeclareUnicodeCharacter{0108}{\^C} - \DeclareUnicodeCharacter{0109}{\^c} - \DeclareUnicodeCharacter{010A}{\dotaccent{C}} - \DeclareUnicodeCharacter{010B}{\dotaccent{c}} - \DeclareUnicodeCharacter{010C}{\v{C}} - \DeclareUnicodeCharacter{010D}{\v{c}} - \DeclareUnicodeCharacter{010E}{\v{D}} - - \DeclareUnicodeCharacter{0112}{\=E} - \DeclareUnicodeCharacter{0113}{\=e} - \DeclareUnicodeCharacter{0114}{\u{E}} - \DeclareUnicodeCharacter{0115}{\u{e}} - \DeclareUnicodeCharacter{0116}{\dotaccent{E}} - \DeclareUnicodeCharacter{0117}{\dotaccent{e}} - \DeclareUnicodeCharacter{011A}{\v{E}} - \DeclareUnicodeCharacter{011B}{\v{e}} - \DeclareUnicodeCharacter{011C}{\^G} - \DeclareUnicodeCharacter{011D}{\^g} - \DeclareUnicodeCharacter{011E}{\u{G}} - \DeclareUnicodeCharacter{011F}{\u{g}} - - \DeclareUnicodeCharacter{0120}{\dotaccent{G}} - \DeclareUnicodeCharacter{0121}{\dotaccent{g}} - \DeclareUnicodeCharacter{0124}{\^H} - \DeclareUnicodeCharacter{0125}{\^h} - \DeclareUnicodeCharacter{0128}{\~I} - \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} - \DeclareUnicodeCharacter{012A}{\=I} - \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} - \DeclareUnicodeCharacter{012C}{\u{I}} - \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} - - \DeclareUnicodeCharacter{0130}{\dotaccent{I}} - \DeclareUnicodeCharacter{0131}{\dotless{i}} - \DeclareUnicodeCharacter{0132}{IJ} - \DeclareUnicodeCharacter{0133}{ij} - \DeclareUnicodeCharacter{0134}{\^J} - \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} - \DeclareUnicodeCharacter{0139}{\'L} - \DeclareUnicodeCharacter{013A}{\'l} - - \DeclareUnicodeCharacter{0141}{\L} - \DeclareUnicodeCharacter{0142}{\l} - \DeclareUnicodeCharacter{0143}{\'N} - \DeclareUnicodeCharacter{0144}{\'n} - \DeclareUnicodeCharacter{0147}{\v{N}} - \DeclareUnicodeCharacter{0148}{\v{n}} - \DeclareUnicodeCharacter{014C}{\=O} - \DeclareUnicodeCharacter{014D}{\=o} - \DeclareUnicodeCharacter{014E}{\u{O}} - \DeclareUnicodeCharacter{014F}{\u{o}} - - \DeclareUnicodeCharacter{0150}{\H{O}} - \DeclareUnicodeCharacter{0151}{\H{o}} - \DeclareUnicodeCharacter{0152}{\OE} - \DeclareUnicodeCharacter{0153}{\oe} - \DeclareUnicodeCharacter{0154}{\'R} - \DeclareUnicodeCharacter{0155}{\'r} - \DeclareUnicodeCharacter{0158}{\v{R}} - \DeclareUnicodeCharacter{0159}{\v{r}} - \DeclareUnicodeCharacter{015A}{\'S} - \DeclareUnicodeCharacter{015B}{\'s} - \DeclareUnicodeCharacter{015C}{\^S} - \DeclareUnicodeCharacter{015D}{\^s} - \DeclareUnicodeCharacter{015E}{\cedilla{S}} - \DeclareUnicodeCharacter{015F}{\cedilla{s}} - - \DeclareUnicodeCharacter{0160}{\v{S}} - \DeclareUnicodeCharacter{0161}{\v{s}} - \DeclareUnicodeCharacter{0162}{\cedilla{t}} - \DeclareUnicodeCharacter{0163}{\cedilla{T}} - \DeclareUnicodeCharacter{0164}{\v{T}} - - \DeclareUnicodeCharacter{0168}{\~U} - \DeclareUnicodeCharacter{0169}{\~u} - \DeclareUnicodeCharacter{016A}{\=U} - \DeclareUnicodeCharacter{016B}{\=u} - \DeclareUnicodeCharacter{016C}{\u{U}} - \DeclareUnicodeCharacter{016D}{\u{u}} - \DeclareUnicodeCharacter{016E}{\ringaccent{U}} - \DeclareUnicodeCharacter{016F}{\ringaccent{u}} - - \DeclareUnicodeCharacter{0170}{\H{U}} - \DeclareUnicodeCharacter{0171}{\H{u}} - \DeclareUnicodeCharacter{0174}{\^W} - \DeclareUnicodeCharacter{0175}{\^w} - \DeclareUnicodeCharacter{0176}{\^Y} - \DeclareUnicodeCharacter{0177}{\^y} - \DeclareUnicodeCharacter{0178}{\"Y} - \DeclareUnicodeCharacter{0179}{\'Z} - \DeclareUnicodeCharacter{017A}{\'z} - \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} - \DeclareUnicodeCharacter{017C}{\dotaccent{z}} - \DeclareUnicodeCharacter{017D}{\v{Z}} - \DeclareUnicodeCharacter{017E}{\v{z}} - - \DeclareUnicodeCharacter{01C4}{D\v{Z}} - \DeclareUnicodeCharacter{01C5}{D\v{z}} - \DeclareUnicodeCharacter{01C6}{d\v{z}} - \DeclareUnicodeCharacter{01C7}{LJ} - \DeclareUnicodeCharacter{01C8}{Lj} - \DeclareUnicodeCharacter{01C9}{lj} - \DeclareUnicodeCharacter{01CA}{NJ} - \DeclareUnicodeCharacter{01CB}{Nj} - \DeclareUnicodeCharacter{01CC}{nj} - \DeclareUnicodeCharacter{01CD}{\v{A}} - \DeclareUnicodeCharacter{01CE}{\v{a}} - \DeclareUnicodeCharacter{01CF}{\v{I}} - - \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} - \DeclareUnicodeCharacter{01D1}{\v{O}} - \DeclareUnicodeCharacter{01D2}{\v{o}} - \DeclareUnicodeCharacter{01D3}{\v{U}} - \DeclareUnicodeCharacter{01D4}{\v{u}} - - \DeclareUnicodeCharacter{01E2}{\={\AE}} - \DeclareUnicodeCharacter{01E3}{\={\ae}} - \DeclareUnicodeCharacter{01E6}{\v{G}} - \DeclareUnicodeCharacter{01E7}{\v{g}} - \DeclareUnicodeCharacter{01E8}{\v{K}} - \DeclareUnicodeCharacter{01E9}{\v{k}} - - \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} - \DeclareUnicodeCharacter{01F1}{DZ} - \DeclareUnicodeCharacter{01F2}{Dz} - \DeclareUnicodeCharacter{01F3}{dz} - \DeclareUnicodeCharacter{01F4}{\'G} - \DeclareUnicodeCharacter{01F5}{\'g} - \DeclareUnicodeCharacter{01F8}{\`N} - \DeclareUnicodeCharacter{01F9}{\`n} - \DeclareUnicodeCharacter{01FC}{\'{\AE}} - \DeclareUnicodeCharacter{01FD}{\'{\ae}} - \DeclareUnicodeCharacter{01FE}{\'{\O}} - \DeclareUnicodeCharacter{01FF}{\'{\o}} - - \DeclareUnicodeCharacter{021E}{\v{H}} - \DeclareUnicodeCharacter{021F}{\v{h}} - - \DeclareUnicodeCharacter{0226}{\dotaccent{A}} - \DeclareUnicodeCharacter{0227}{\dotaccent{a}} - \DeclareUnicodeCharacter{0228}{\cedilla{E}} - \DeclareUnicodeCharacter{0229}{\cedilla{e}} - \DeclareUnicodeCharacter{022E}{\dotaccent{O}} - \DeclareUnicodeCharacter{022F}{\dotaccent{o}} - - \DeclareUnicodeCharacter{0232}{\=Y} - \DeclareUnicodeCharacter{0233}{\=y} - \DeclareUnicodeCharacter{0237}{\dotless{j}} - - \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} - \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} - \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} - \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} - \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} - \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} - \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} - \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} - \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} - \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} - \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} - \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} - - \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} - \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} - - \DeclareUnicodeCharacter{1E20}{\=G} - \DeclareUnicodeCharacter{1E21}{\=g} - \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} - \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} - \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} - \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} - \DeclareUnicodeCharacter{1E26}{\"H} - \DeclareUnicodeCharacter{1E27}{\"h} - - \DeclareUnicodeCharacter{1E30}{\'K} - \DeclareUnicodeCharacter{1E31}{\'k} - \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} - \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} - \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} - \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} - \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} - \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} - \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} - \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} - \DeclareUnicodeCharacter{1E3E}{\'M} - \DeclareUnicodeCharacter{1E3F}{\'m} - - \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} - \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} - \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} - \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} - \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} - \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} - \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} - \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} - \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} - \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} - - \DeclareUnicodeCharacter{1E54}{\'P} - \DeclareUnicodeCharacter{1E55}{\'p} - \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} - \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} - \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} - \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} - \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} - \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} - \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} - \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} - - \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} - \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} - \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} - \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} - \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} - \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} - \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} - \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} - \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} - \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} - - \DeclareUnicodeCharacter{1E7C}{\~V} - \DeclareUnicodeCharacter{1E7D}{\~v} - \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} - \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} - - \DeclareUnicodeCharacter{1E80}{\`W} - \DeclareUnicodeCharacter{1E81}{\`w} - \DeclareUnicodeCharacter{1E82}{\'W} - \DeclareUnicodeCharacter{1E83}{\'w} - \DeclareUnicodeCharacter{1E84}{\"W} - \DeclareUnicodeCharacter{1E85}{\"w} - \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} - \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} - \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} - \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} - \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} - \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} - \DeclareUnicodeCharacter{1E8C}{\"X} - \DeclareUnicodeCharacter{1E8D}{\"x} - \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} - \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} - - \DeclareUnicodeCharacter{1E90}{\^Z} - \DeclareUnicodeCharacter{1E91}{\^z} - \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} - \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} - \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} - \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} - \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} - \DeclareUnicodeCharacter{1E97}{\"t} - \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} - \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} - - \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} - \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} - - \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} - \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} - \DeclareUnicodeCharacter{1EBC}{\~E} - \DeclareUnicodeCharacter{1EBD}{\~e} - - \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} - \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} - \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} - \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} - - \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} - \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} - - \DeclareUnicodeCharacter{1EF2}{\`Y} - \DeclareUnicodeCharacter{1EF3}{\`y} - \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} - - \DeclareUnicodeCharacter{1EF8}{\~Y} - \DeclareUnicodeCharacter{1EF9}{\~y} - - \DeclareUnicodeCharacter{2013}{--} - \DeclareUnicodeCharacter{2014}{---} - \DeclareUnicodeCharacter{2022}{\bullet} - \DeclareUnicodeCharacter{2026}{\dots} - \DeclareUnicodeCharacter{20AC}{\euro} - - \DeclareUnicodeCharacter{2192}{\expansion} - \DeclareUnicodeCharacter{21D2}{\result} - - \DeclareUnicodeCharacter{2212}{\minus} - \DeclareUnicodeCharacter{2217}{\point} - \DeclareUnicodeCharacter{2261}{\equiv} -}% end of \utfeightchardefs - - -% US-ASCII character definitions. -\def\asciichardefs{% nothing need be done - \relax -} - -% Make non-ASCII characters printable again for compatibility with -% existing Texinfo documents that may use them, even without declaring a -% document encoding. -% -\setnonasciicharscatcode \other - - -\message{formatting,} - -\newdimen\defaultparindent \defaultparindent = 15pt - -\chapheadingskip = 15pt plus 4pt minus 2pt -\secheadingskip = 12pt plus 3pt minus 2pt -\subsecheadingskip = 9pt plus 2pt minus 2pt - -% Prevent underfull vbox error messages. -\vbadness = 10000 - -% Don't be so finicky about underfull hboxes, either. -\hbadness = 2000 - -% Following George Bush, just get rid of widows and orphans. -\widowpenalty=10000 -\clubpenalty=10000 - -% Use TeX 3.0's \emergencystretch to help line breaking, but if we're -% using an old version of TeX, don't do anything. We want the amount of -% stretch added to depend on the line length, hence the dependence on -% \hsize. We call this whenever the paper size is set. -% -\def\setemergencystretch{% - \ifx\emergencystretch\thisisundefined - % Allow us to assign to \emergencystretch anyway. - \def\emergencystretch{\dimen0}% - \else - \emergencystretch = .15\hsize - \fi -} - -% Parameters in order: 1) textheight; 2) textwidth; -% 3) voffset; 4) hoffset; 5) binding offset; 6) topskip; -% 7) physical page height; 8) physical page width. -% -% We also call \setleading{\textleading}, so the caller should define -% \textleading. The caller should also set \parskip. -% -\def\internalpagesizes#1#2#3#4#5#6#7#8{% - \voffset = #3\relax - \topskip = #6\relax - \splittopskip = \topskip - % - \vsize = #1\relax - \advance\vsize by \topskip - \outervsize = \vsize - \advance\outervsize by 2\topandbottommargin - \pageheight = \vsize - % - \hsize = #2\relax - \outerhsize = \hsize - \advance\outerhsize by 0.5in - \pagewidth = \hsize - % - \normaloffset = #4\relax - \bindingoffset = #5\relax - % - \ifpdf - \pdfpageheight #7\relax - \pdfpagewidth #8\relax - \fi - % - \setleading{\textleading} - % - \parindent = \defaultparindent - \setemergencystretch -} - -% @letterpaper (the default). -\def\letterpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}% - {\voffset}{.25in}% - {\bindingoffset}{36pt}% - {11in}{8.5in}% -}} - -% Use @smallbook to reset parameters for 7x9.25 trim size. -\def\smallbook{{\globaldefs = 1 - \parskip = 2pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.5in}{5in}% - {\voffset}{.25in}% - {\bindingoffset}{16pt}% - {9.25in}{7in}% - % - \lispnarrowing = 0.3in - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = .5cm -}} - -% Use @smallerbook to reset parameters for 6x9 trim size. -% (Just testing, parameters still in flux.) -\def\smallerbook{{\globaldefs = 1 - \parskip = 1.5pt plus 1pt - \textleading = 12pt - % - \internalpagesizes{7.4in}{4.8in}% - {-.2in}{-.4in}% - {0pt}{14pt}% - {9in}{6in}% - % - \lispnarrowing = 0.25in - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = .4cm -}} - -% Use @afourpaper to print on European A4 paper. -\def\afourpaper{{\globaldefs = 1 - \parskip = 3pt plus 2pt minus 1pt - \textleading = 13.2pt - % - % Double-side printing via postscript on Laserjet 4050 - % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. - % To change the settings for a different printer or situation, adjust - % \normaloffset until the front-side and back-side texts align. Then - % do the same for \bindingoffset. You can set these for testing in - % your texinfo source file like this: - % @tex - % \global\normaloffset = -6mm - % \global\bindingoffset = 10mm - % @end tex - \internalpagesizes{51\baselineskip}{160mm} - {\voffset}{\hoffset}% - {\bindingoffset}{44pt}% - {297mm}{210mm}% - % - \tolerance = 700 - \hfuzz = 1pt - \contentsrightmargin = 0pt - \defbodyindent = 5mm -}} - -% Use @afivepaper to print on European A5 paper. -% From romildo@urano.iceb.ufop.br, 2 July 2000. -% He also recommends making @example and @lisp be small. -\def\afivepaper{{\globaldefs = 1 - \parskip = 2pt plus 1pt minus 0.1pt - \textleading = 12.5pt - % - \internalpagesizes{160mm}{120mm}% - {\voffset}{\hoffset}% - {\bindingoffset}{8pt}% - {210mm}{148mm}% - % - \lispnarrowing = 0.2in - \tolerance = 800 - \hfuzz = 1.2pt - \contentsrightmargin = 0pt - \defbodyindent = 2mm - \tableindent = 12mm -}} - -% A specific text layout, 24x15cm overall, intended for A4 paper. -\def\afourlatex{{\globaldefs = 1 - \afourpaper - \internalpagesizes{237mm}{150mm}% - {\voffset}{4.6mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - % - % Must explicitly reset to 0 because we call \afourpaper. - \globaldefs = 0 -}} - -% Use @afourwide to print on A4 paper in landscape format. -\def\afourwide{{\globaldefs = 1 - \afourpaper - \internalpagesizes{241mm}{165mm}% - {\voffset}{-2.95mm}% - {\bindingoffset}{7mm}% - {297mm}{210mm}% - \globaldefs = 0 -}} - -% @pagesizes TEXTHEIGHT[,TEXTWIDTH] -% Perhaps we should allow setting the margins, \topskip, \parskip, -% and/or leading, also. Or perhaps we should compute them somehow. -% -\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} -\def\pagesizesyyy#1,#2,#3\finish{{% - \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi - \globaldefs = 1 - % - \parskip = 3pt plus 2pt minus 1pt - \setleading{\textleading}% - % - \dimen0 = #1 - \advance\dimen0 by \voffset - % - \dimen2 = \hsize - \advance\dimen2 by \normaloffset - % - \internalpagesizes{#1}{\hsize}% - {\voffset}{\normaloffset}% - {\bindingoffset}{44pt}% - {\dimen0}{\dimen2}% -}} - -% Set default to letter. -% -\letterpaper - - -\message{and turning on texinfo input format.} - -% Define macros to output various characters with catcode for normal text. -\catcode`\"=\other -\catcode`\~=\other -\catcode`\^=\other -\catcode`\_=\other -\catcode`\|=\other -\catcode`\<=\other -\catcode`\>=\other -\catcode`\+=\other -\catcode`\$=\other -\def\normaldoublequote{"} -\def\normaltilde{~} -\def\normalcaret{^} -\def\normalunderscore{_} -\def\normalverticalbar{|} -\def\normalless{<} -\def\normalgreater{>} -\def\normalplus{+} -\def\normaldollar{$}%$ font-lock fix - -% This macro is used to make a character print one way in \tt -% (where it can probably be output as-is), and another way in other fonts, -% where something hairier probably needs to be done. -% -% #1 is what to print if we are indeed using \tt; #2 is what to print -% otherwise. Since all the Computer Modern typewriter fonts have zero -% interword stretch (and shrink), and it is reasonable to expect all -% typewriter fonts to have this, we can check that font parameter. -% -\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} - -% Same as above, but check for italic font. Actually this also catches -% non-italic slanted fonts since it is impossible to distinguish them from -% italic fonts. But since this is only used by $ and it uses \sl anyway -% this is not a problem. -\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} - -% Turn off all special characters except @ -% (and those which the user can use as if they were ordinary). -% Most of these we simply print from the \tt font, but for some, we can -% use math or other variants that look better in normal text. - -\catcode`\"=\active -\def\activedoublequote{{\tt\char34}} -\let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt\char126}} -\chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} - -\catcode`\_=\active -\def_{\ifusingtt\normalunderscore\_} -\let\realunder=_ -% Subroutine for the previous macro. -\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } - -\catcode`\|=\active -\def|{{\tt\char124}} -\chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} -\chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix - -% If a .fmt file is being used, characters that might appear in a file -% name cannot be active until we have parsed the command line. -% So turn them off again, and have \everyjob (or @setfilename) turn them on. -% \otherifyactive is called near the end of this file. -\def\otherifyactive{\catcode`+=\other \catcode`\_=\other} - -% Used sometimes to turn off (effectively) the active characters even after -% parsing them. -\def\turnoffactive{% - \normalturnoffactive - \otherbackslash -} - -\catcode`\@=0 - -% \backslashcurfont outputs one backslash character in current font, -% as in \char`\\. -\global\chardef\backslashcurfont=`\\ -\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work - -% \realbackslash is an actual character `\' with catcode other, and -% \doublebackslash is two of them (for the pdf outlines). -{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} - -% In texinfo, backslash is an active character; it prints the backslash -% in fixed width font. -\catcode`\\=\active -@def@normalbackslash{{@tt@backslashcurfont}} -% On startup, @fixbackslash assigns: -% @let \ = @normalbackslash - -% \rawbackslash defines an active \ to do \backslashcurfont. -% \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. -@gdef@rawbackslash{@let\=@backslashcurfont} -@gdef@otherbackslash{@let\=@realbackslash} - -% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let\=@normalbackslash - @let"=@normaldoublequote - @let~=@normaltilde - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let<=@normalless - @let>=@normalgreater - @let+=@normalplus - @let$=@normaldollar %$ font-lock fix - @unsepspaces -} - -% Make _ and + \other characters, temporarily. -% This is canceled by @fixbackslash. -@otherifyactive - -% If a .fmt file is being used, we don't want the `\input texinfo' to show up. -% That is what \eatinput is for; after that, the `\' should revert to printing -% a backslash. -% -@gdef@eatinput input texinfo{@fixbackslash} -@global@let\ = @eatinput - -% On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\' in the file would cause an error. This macro tries to fix -% that, assuming it is called before the first `\' could plausibly occur. -% Also turn back on active characters that might appear in the input -% file name, in case not using a pre-dumped format. -% -@gdef@fixbackslash{% - @ifx\@eatinput @let\ = @normalbackslash @fi - @catcode`+=@active - @catcode`@_=@active -} - -% Say @foo, not \foo, in error messages. -@escapechar = `@@ - -% These look ok in all fonts, so just make them not special. -@catcode`@& = @other -@catcode`@# = @other -@catcode`@% = @other - - -@c Local variables: -@c eval: (add-hook 'write-file-hooks 'time-stamp) -@c page-delimiter: "^\\\\message" -@c time-stamp-start: "def\\\\texinfoversion{" -@c time-stamp-format: "%:y-%02m-%02d.%02H" -@c time-stamp-end: "}" -@c End: - -@c vim:sw=2: - -@ignore - arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 -@end ignore diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/version.texi b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/version.texi deleted file mode 100644 index 77a967c8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/version.texi +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 25 August 2021 -@set UPDATED-MONTH August 2021 -@set EDITION 1.2.1 -@set VERSION 1.2.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.am deleted file mode 100644 index 23399b07..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.am +++ /dev/null @@ -1,38 +0,0 @@ -# Makefile.am - PIN entry EFL frontend. -# Copyright (C) 2017 Obsidian-Studios, Inc. -# Author William L. Thomson Jr. <wlt@o-sinc.com> -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY 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 - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-efl - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - -AM_CPPFLAGS = $(COMMON_CFLAGS) $(EFL_CFLAGS) $(ncurses_include) \ - -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(EFL_LIBS) $(libcurses) - -pinentry_efl_SOURCES = pinentry-efl.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.in deleted file mode 100644 index 4d5cec7d..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.in +++ /dev/null @@ -1,690 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry EFL frontend. -# Copyright (C) 2017 Obsidian-Studios, Inc. -# Author William L. Thomson Jr. <wlt@o-sinc.com> -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY 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 - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-efl$(EXEEXT) -subdir = efl -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_efl_OBJECTS = pinentry-efl.$(OBJEXT) -pinentry_efl_OBJECTS = $(am_pinentry_efl_OBJECTS) -pinentry_efl_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_efl_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/pinentry-efl.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_efl_SOURCES) -DIST_SOURCES = $(pinentry_efl_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) $(EFL_CFLAGS) $(ncurses_include) \ - -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry - -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(EFL_LIBS) $(libcurses) - -pinentry_efl_SOURCES = pinentry-efl.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu efl/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu efl/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-efl$(EXEEXT): $(pinentry_efl_OBJECTS) $(pinentry_efl_DEPENDENCIES) $(EXTRA_pinentry_efl_DEPENDENCIES) - @rm -f pinentry-efl$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pinentry_efl_OBJECTS) $(pinentry_efl_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-efl.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/pinentry-efl.Po - -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 -f ./$(DEPDIR)/pinentry-efl.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/pinentry-efl.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/pinentry-efl.c deleted file mode 100644 index 58796ba1..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/pinentry-efl.c +++ /dev/null @@ -1,621 +0,0 @@ -/* pinentry-efl.c - Copyright (C) 2017 Obsidian-Studios, Inc. - Author William L. Thomson Jr. <wlt@o-sinc.com> - - Based on pinentry-gtk2.c - Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> - Copyright (C) 2001, 2002, 2007, 2015 g10 Code GmbH - Copyright (C) 2004 by Albrecht Dreß <albrecht.dress@arcor.de> - - pinentry-efl is a pinentry application for the EFL widget set. - It tries to follow the Gnome Human Interface Guide as close as - possible. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <Elementary.h> -#include <Ecore_X.h> -#include <gpg-error.h> -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wstrict-prototypes" -#endif -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) -#pragma GCC diagnostic pop -#endif - -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#else -#include "getopt.h" -#endif /* HAVE_GETOPT_H */ - -#include "pinentry.h" - -#ifdef FALLBACK_CURSES -#include "pinentry-curses.h" -#endif - -#define PGMNAME "pinentry-efl" - -#ifndef VERSION -#define VERSION -#endif - -#define ENTRY_HIDE "Hide entry" -#define ENTRY_SHOW "Show entry" - -typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; - -static const int WIDTH = 480; -static const int BUTTON_HEIGHT = 27; -static const int BUTTON_WIDTH = 70; -static const int BUTTON_ICON_SIZE = 13; -static const int PADDING = 5; - -static Eina_Bool got_input; -static Ecore_Timer *timer; -static Evas_Object *check_label; -static Evas_Object *error_label; -static Evas_Object *entry; -static Evas_Object *repeat_entry; -static Evas_Object *qualitybar; -static Evas_Object *win; -static char **pargv; -static int grab_failed; -static int passphrase_ok; -static int confirm_mode; -static int pargc; -static confirm_value_t confirm_value; -static pinentry_t pinentry; - -pinentry_cmd_handler_t pinentry_cmd_handler; - -static void -quit (void) -{ - evas_object_del(win); - elm_exit(); - ecore_main_loop_quit (); -} - -static void -delete_event (void *data EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, - void *event EINA_UNUSED) -{ - pinentry->close_button = 1; - quit (); -} - -static void -changed_text_handler (void *data EINA_UNUSED, - Evas_Object *obj, - void *event EINA_UNUSED) -{ - const char *s; - int length; - int percent; - - got_input = EINA_TRUE; - - if (pinentry->repeat_passphrase && repeat_entry) - { - elm_object_text_set (repeat_entry, ""); - elm_object_text_set (error_label, ""); - } - - if (!qualitybar || !pinentry->quality_bar) - return; - - s = elm_object_text_get (obj); - if (!s) - s = ""; - length = strlen (s); - percent = length? pinentry_inq_quality (pinentry, s, length) : 0; - evas_object_color_set(qualitybar, - 255 - ( 2.55 * percent ), - 2.55 * percent, 0, 255); - elm_progressbar_value_set (qualitybar, (double) percent / 100.0); -} - -static void -on_check (void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) -{ - if(elm_check_state_get(obj)) - { - elm_entry_password_set(entry, EINA_FALSE); - elm_object_text_set(check_label,ENTRY_HIDE); - } - else - { - elm_entry_password_set(entry, EINA_TRUE); - elm_object_text_set(check_label,ENTRY_SHOW); - } - evas_object_size_hint_min_set(check_label, - ELM_SCALE_SIZE(BUTTON_WIDTH), - ELM_SCALE_SIZE(BUTTON_HEIGHT)); - evas_object_size_hint_align_set(check_label, 0, 1); -} - -static void -on_click (void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) -{ - if (confirm_mode) - { - confirm_value = (confirm_value_t) data; - quit (); - return; - } - - if (data) - { - const char *s; - const char *s2; - - s = elm_entry_entry_get (entry); - if (!s) - s = ""; - - if (pinentry->repeat_passphrase && repeat_entry) - { - s2 = elm_entry_entry_get (repeat_entry); - if (!s2) - s2 = ""; - if (strcmp (s, s2)) - { - elm_object_text_set(error_label, - pinentry->repeat_error_string? - pinentry->repeat_error_string: - "not correctly repeated"); - elm_object_focus_set(entry,EINA_TRUE); - return; - } - pinentry->repeat_okay = 1; - } - - passphrase_ok = 1; - pinentry_setbufferlen (pinentry, strlen (s) + 1); - if (pinentry->pin) - strncpy (pinentry->pin, s, strlen(s) + 1); - } - quit (); -} - -static void -enter_callback (void *data, Evas_Object * obj, void *event_info EINA_UNUSED) -{ - if (data) - elm_object_focus_set (data, 1); - else - on_click ((void *) CONFIRM_OK, obj, NULL); -} - -static Eina_Bool -timeout_cb (const void * data) -{ - pinentry_t pe = (pinentry_t)data; - if (!got_input) - { - ecore_main_loop_quit(); - if (pe) - pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); - } - - timer = NULL; - return ECORE_CALLBACK_DONE; -} - -static void -create_window (void) -{ - char *txt; - Evas_Object *icon; - Evas_Object *obj; - Evas_Object *table; - int btn_txt_len = 0; - int row = 0; - int ok_len = 0; - - win = elm_win_util_dialog_add(NULL,"pinentry","enter pin"); - elm_win_autodel_set(win, EINA_TRUE); - elm_win_center(win,EINA_TRUE,EINA_TRUE); - evas_object_smart_callback_add(win, "delete,request", delete_event, NULL); - - table = elm_table_add(win); - elm_table_padding_set(table,ELM_SCALE_SIZE(PADDING),0); - evas_object_size_hint_padding_set (table, - ELM_SCALE_SIZE(PADDING), - ELM_SCALE_SIZE(PADDING), - ELM_SCALE_SIZE(PADDING), - ELM_SCALE_SIZE(PADDING)); - evas_object_show(table); - - if (pinentry->title) - { - txt = elm_entry_utf8_to_markup(pinentry->title); - elm_win_title_set ( win, txt ); - free (txt); - } - - /* Description Label */ - if (pinentry->description) - { - char* aligned; - int len; - - obj = elm_label_add(table); - elm_label_line_wrap_set (obj, ELM_WRAP_WORD); - txt = elm_entry_utf8_to_markup(pinentry->description); - len = strlen(txt)+20; // 20 chars for align tag - aligned = calloc(len+1,sizeof(char)); - if(aligned) - { - snprintf(aligned,len, "<align=left>%s</align>",txt); - elm_object_text_set(obj,aligned); - free (aligned); - } else - elm_object_text_set(obj,txt); - free (txt); - evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); - elm_table_pack(table, obj, 1, row, 5, 1); - evas_object_show(obj); - row++; - } - if (!confirm_mode && (pinentry->error || pinentry->repeat_passphrase)) - { - /* Error Label */ - if (pinentry->error) - txt = elm_entry_utf8_to_markup(pinentry->error); - else - txt = ""; - obj = elm_label_add(table); - evas_object_color_set(obj, 255, 0, 0, 255); - elm_object_text_set(obj,txt); - elm_object_style_set(obj,"slide_bounce"); - elm_label_slide_duration_set(obj, 10); - elm_label_slide_mode_set(obj, ELM_LABEL_SLIDE_MODE_ALWAYS); - elm_label_slide_go(obj); - evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); - elm_table_pack(table, obj, 1, row, 5, 1); - evas_object_show(obj); - if (pinentry->error) - free (txt); - row++; - } - - qualitybar = NULL; - - if (!confirm_mode) - { - - if (pinentry->prompt) - { - /* Entry/Prompt Label */ - obj = elm_label_add(table); - txt = elm_entry_utf8_to_markup(pinentry->prompt); - elm_object_text_set(obj,txt); - free (txt); - evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); - elm_table_pack(table, obj, 1, row, 1, 1); - evas_object_show(obj); - } - - entry = elm_entry_add(table); - elm_entry_scrollable_set(entry, EINA_TRUE); - elm_scroller_policy_set(entry, - ELM_SCROLLER_POLICY_OFF, - ELM_SCROLLER_POLICY_OFF); - elm_entry_password_set(entry, EINA_TRUE); - elm_entry_single_line_set(entry, EINA_TRUE); - evas_object_size_hint_weight_set(entry, 0, 0); - evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, 0); - elm_table_pack(table, entry, 2, row, 4, 1); - evas_object_smart_callback_add(entry, - "changed", - changed_text_handler, - NULL); - evas_object_show(entry); - row++; - - /* Check box */ - obj = elm_check_add(table); - evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); - elm_table_pack(table, obj, 1, row, 1, 1); - evas_object_smart_callback_add(obj, "changed", on_check, NULL); - evas_object_show(obj); - - /* Check Label */ - check_label = elm_label_add(table); - on_check((void *)NULL, obj, (void *)NULL); - elm_table_pack(table, check_label, 2, row, 4, 1); - evas_object_show(check_label); - row++; - - if (pinentry->quality_bar) - { - /* Quality Bar Label */ - obj = elm_label_add(table); - txt = elm_entry_utf8_to_markup(pinentry->quality_bar); - elm_object_text_set(obj,txt); - free (txt); - evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); - elm_table_pack(table, obj, 1, row, 1, 1); - evas_object_show(obj); - - qualitybar = elm_progressbar_add(table); - evas_object_color_set(qualitybar, 255, 0, 0, 255); - evas_object_show(qualitybar); - if (pinentry->quality_bar_tt) - elm_object_tooltip_text_set (qualitybar, - pinentry->quality_bar_tt); - evas_object_size_hint_weight_set(qualitybar, EVAS_HINT_EXPAND, 0); - evas_object_size_hint_align_set(qualitybar, EVAS_HINT_FILL, 0); - elm_table_pack(table, qualitybar, 2, row, 4, 1); - row++; - } - - if (pinentry->repeat_passphrase) - { - /* Repeat Label */ - obj = elm_label_add(table); - txt = elm_entry_utf8_to_markup(pinentry->repeat_passphrase); - elm_object_text_set(obj,txt); - free (txt); - evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); - elm_table_pack(table, obj, 1, row, 1, 1); - evas_object_show(obj); - - repeat_entry = elm_entry_add(table); - elm_entry_scrollable_set(repeat_entry, EINA_TRUE); - elm_scroller_policy_set(repeat_entry, - ELM_SCROLLER_POLICY_OFF, - ELM_SCROLLER_POLICY_OFF); - elm_entry_password_set(repeat_entry, EINA_TRUE); - elm_entry_single_line_set(repeat_entry, EINA_TRUE); - evas_object_size_hint_weight_set(repeat_entry, 0, 0); - evas_object_size_hint_align_set(repeat_entry, EVAS_HINT_FILL, 0); - elm_table_pack(table, repeat_entry, 2, row, 4, 1); - evas_object_smart_callback_add (repeat_entry, "activated", - enter_callback, NULL); - evas_object_show(repeat_entry); - evas_object_smart_callback_add (entry, - "activated", - enter_callback, - repeat_entry); - evas_object_smart_callback_add(repeat_entry, - "activated", - on_click, - (void *) CONFIRM_OK); - row++; - } - else - evas_object_smart_callback_add(entry, - "activated", - on_click, - (void *) CONFIRM_OK); - } - - /* Cancel Button */ - if (!pinentry->one_button) - { - obj = elm_button_add(table); - icon = elm_icon_add (table); - evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - if (elm_icon_standard_set (icon, "dialog-cancel") || - elm_icon_standard_set (icon, "window-close")) - { - evas_object_size_hint_min_set(icon, - ELM_SCALE_SIZE(BUTTON_ICON_SIZE), - ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); - elm_object_part_content_set(obj, "icon", icon); - evas_object_show (icon); - } - else - evas_object_del(icon); - if (pinentry->cancel || pinentry->default_cancel) - { - if(pinentry->cancel) - txt = elm_entry_utf8_to_markup(pinentry->cancel); - else - txt = elm_entry_utf8_to_markup(pinentry->default_cancel); - if(txt[0]=='_') - elm_object_text_set(obj,txt+1); - else - elm_object_text_set(obj,txt); - btn_txt_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); - free (txt); - } - else - elm_object_text_set(obj, "Cancel"); //STOCK_CANCEL - evas_object_size_hint_align_set(obj, 0, 0); - if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) - evas_object_size_hint_min_set(obj, - btn_txt_len, - ELM_SCALE_SIZE(BUTTON_HEIGHT)); - else - evas_object_size_hint_min_set(obj, - ELM_SCALE_SIZE(BUTTON_WIDTH), - ELM_SCALE_SIZE(BUTTON_HEIGHT)); - elm_table_pack(table, obj, 4, row, 1, 1); - evas_object_smart_callback_add(obj, - "clicked", - on_click, - (void *) CONFIRM_CANCEL); - evas_object_show(obj); - } - - /* OK Button */ - obj = elm_button_add(table); - icon = elm_icon_add (table); - evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - if (elm_icon_standard_set (icon, "dialog-ok") || - elm_icon_standard_set (icon, "list-add")) - { - evas_object_size_hint_min_set(icon, - ELM_SCALE_SIZE(BUTTON_ICON_SIZE), - ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); - elm_object_part_content_set(obj, "icon", icon); - evas_object_show (icon); - } - else - evas_object_del(icon); - if (pinentry->ok || pinentry->default_ok) - { - if(pinentry->ok) - txt = elm_entry_utf8_to_markup(pinentry->ok); - else - txt = elm_entry_utf8_to_markup(pinentry->default_ok); - if(txt[0]=='_') - elm_object_text_set(obj,txt+1); - else - elm_object_text_set(obj,txt); - ok_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); - if(ok_len>btn_txt_len) - btn_txt_len = ok_len; - free (txt); - } - else - elm_object_text_set(obj,"OK"); //STOCK_OK - evas_object_size_hint_align_set(obj, 0, 0); - if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) - evas_object_size_hint_min_set(obj, - btn_txt_len, - ELM_SCALE_SIZE(BUTTON_HEIGHT)); - else - evas_object_size_hint_min_set(obj, - ELM_SCALE_SIZE(BUTTON_WIDTH), - ELM_SCALE_SIZE(BUTTON_HEIGHT)); - elm_table_pack(table, obj, 5, row, 1, 1); - evas_object_smart_callback_add(obj, "clicked", on_click, (void *) CONFIRM_OK); - evas_object_show(obj); - - /* Key/Lock Icon */ - obj = elm_icon_add (win); - evas_object_size_hint_aspect_set (obj, EVAS_ASPECT_CONTROL_BOTH, 1, 1); - if (elm_icon_standard_set (obj, "dialog-password")) - { - double ic_size = WIDTH/5; - if(row==0) - ic_size = ic_size/3.5; - else if(row<4) - ic_size = ic_size - ic_size/row; - evas_object_size_hint_min_set(obj, - ELM_SCALE_SIZE(ic_size), - ELM_SCALE_SIZE(ic_size)); - evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0.5); - elm_table_pack(table, obj, 0, 0, 1, row? row:1); - evas_object_show (obj); - } - else - evas_object_del(obj); - - /* Box for padding */ - obj = elm_box_add (win); - elm_box_pack_end (obj, table); - evas_object_show (obj); - - elm_win_resize_object_add(win,obj); - - if(entry) - elm_object_focus_set (entry, EINA_TRUE); - - evas_object_show(win); - elm_win_activate(win); - - if (pinentry->timeout > 0) - timer = ecore_timer_add (pinentry->timeout, - (Ecore_Task_Cb)timeout_cb, - pinentry); -} - -static int -efl_cmd_handler (pinentry_t pe) -{ - int want_pass = !!pe->pin; - - got_input = EINA_FALSE; - pinentry = pe; - confirm_value = CONFIRM_CANCEL; - passphrase_ok = 0; - confirm_mode = want_pass ? 0 : 1; - /* init ecore-x explicitly using DISPLAY since this can launch - * from console - */ - if (pe->display) - ecore_x_init (pe->display); - elm_init (pargc, pargv); - create_window (); - ecore_main_loop_begin (); - - if (timer) - { - ecore_timer_del (timer); - timer = NULL; - } - - if (confirm_value == CONFIRM_CANCEL || grab_failed) - pe->canceled = 1; - - pinentry = NULL; - if (want_pass) - { - if (passphrase_ok && pe->pin) - return strlen (pe->pin); - else - return -1; - } - else - return (confirm_value == CONFIRM_OK) ? 1 : 0; -} - -int -main (int argc, char *argv[]) -{ - pinentry_init (PGMNAME); - -#ifdef FALLBACK_CURSES - if (pinentry_have_display (argc, argv)) - { -#endif - - pinentry_cmd_handler = efl_cmd_handler; - pargc = argc; - pargv = argv; - -#ifdef FALLBACK_CURSES - } - else - { - pinentry_cmd_handler = curses_cmd_handler; - } -#endif - - pinentry_parse_opts (argc, argv); - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.am deleted file mode 100644 index 6bb806bd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -# Makefile.am - PIN entry emacs frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-emacs - -AM_CPPFLAGS = $(COMMON_CFLAGS) $(NEMACS_INCLUDE) -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBEMACS) $(LIBICONV) - -pinentry_emacs_SOURCES = pinentry-emacs.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.in deleted file mode 100644 index 97da3707..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.in +++ /dev/null @@ -1,679 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry emacs frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-emacs$(EXEEXT) -subdir = emacs -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_emacs_OBJECTS = pinentry-emacs.$(OBJEXT) -pinentry_emacs_OBJECTS = $(am_pinentry_emacs_OBJECTS) -pinentry_emacs_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -pinentry_emacs_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/pinentry-emacs.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_emacs_SOURCES) -DIST_SOURCES = $(pinentry_emacs_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -AM_CPPFLAGS = $(COMMON_CFLAGS) $(NEMACS_INCLUDE) -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBEMACS) $(LIBICONV) - -pinentry_emacs_SOURCES = pinentry-emacs.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu emacs/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu emacs/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-emacs$(EXEEXT): $(pinentry_emacs_OBJECTS) $(pinentry_emacs_DEPENDENCIES) $(EXTRA_pinentry_emacs_DEPENDENCIES) - @rm -f pinentry-emacs$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pinentry_emacs_OBJECTS) $(pinentry_emacs_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-emacs.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/pinentry-emacs.Po - -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 -f ./$(DEPDIR)/pinentry-emacs.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/pinentry-emacs.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/pinentry-emacs.c deleted file mode 100644 index 116cddc8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/pinentry-emacs.c +++ /dev/null @@ -1,49 +0,0 @@ -/* pinentry-emacs.c - A secure emacs dialog for PIN entry, library version - * Copyright (C) 2015 Daiki Ueno - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> - -#include "pinentry.h" -#include "pinentry-emacs.h" - -pinentry_cmd_handler_t pinentry_cmd_handler = emacs_cmd_handler; - - - -int -main (int argc, char *argv[]) -{ - pinentry_init ("pinentry-emacs"); - - pinentry_parse_opts (argc, argv); - - if (!pinentry_emacs_init ()) - return 1; - - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.am deleted file mode 100644 index 660ab4ce..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -# Makefile.am - PIN entry FLTK frontend. -# SPDX-License-Identifier: GPL-2.0+ - -bin_PROGRAMS = pinentry-fltk - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - -AM_CPPFLAGS = $(COMMON_CFLAGS) $(FLTKCXXFLAGS) $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -AM_CXXFLAGS = -std=c++11 -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a $(COMMON_LIBS) $(FLTKLIBS) $(libcurses) - -pinentry_fltk_SOURCES = main.cxx pinwindow.cxx pinwindow.h \ - passwindow.cxx passwindow.h \ - qualitypasswindow.cxx qualitypasswindow.h - -EXTRA_DIST = encrypt.xpm icon.xpm diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.in deleted file mode 100644 index 78a8c57a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.in +++ /dev/null @@ -1,698 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry FLTK frontend. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-fltk$(EXEEXT) -subdir = fltk -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_fltk_OBJECTS = main.$(OBJEXT) pinwindow.$(OBJEXT) \ - passwindow.$(OBJEXT) qualitypasswindow.$(OBJEXT) -pinentry_fltk_OBJECTS = $(am_pinentry_fltk_OBJECTS) -pinentry_fltk_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_fltk_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/main.Po ./$(DEPDIR)/passwindow.Po \ - ./$(DEPDIR)/pinwindow.Po ./$(DEPDIR)/qualitypasswindow.Po -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_@AM_V@) -am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_fltk_SOURCES) -DIST_SOURCES = $(pinentry_fltk_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) $(FLTKCXXFLAGS) $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -AM_CXXFLAGS = -std=c++11 -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a $(COMMON_LIBS) $(FLTKLIBS) $(libcurses) -pinentry_fltk_SOURCES = main.cxx pinwindow.cxx pinwindow.h \ - passwindow.cxx passwindow.h \ - qualitypasswindow.cxx qualitypasswindow.h - -EXTRA_DIST = encrypt.xpm icon.xpm -all: all-am - -.SUFFIXES: -.SUFFIXES: .cxx .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fltk/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu fltk/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-fltk$(EXEEXT): $(pinentry_fltk_OBJECTS) $(pinentry_fltk_DEPENDENCIES) $(EXTRA_pinentry_fltk_DEPENDENCIES) - @rm -f pinentry-fltk$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(pinentry_fltk_OBJECTS) $(pinentry_fltk_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwindow.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinwindow.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qualitypasswindow.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.cxx.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cxx.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/passwindow.Po - -rm -f ./$(DEPDIR)/pinwindow.Po - -rm -f ./$(DEPDIR)/qualitypasswindow.Po - -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 -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/passwindow.Po - -rm -f ./$(DEPDIR)/pinwindow.Po - -rm -f ./$(DEPDIR)/qualitypasswindow.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/encrypt.xpm b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/encrypt.xpm deleted file mode 100644 index 80402e39..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/encrypt.xpm +++ /dev/null @@ -1,83 +0,0 @@ -/* XPM */ -static const char * const encrypt_xpm[] = { -/* columns rows colors chars-per-pixel */ -"32 45 32 1 ", -" c #9B7738", -". c #B08830", -"X c #CA9703", -"o c #C99607", -"O c #CD9A02", -"+ c #D19D03", -"@ c #D4A002", -"# c #D7A305", -"$ c #D8A501", -"% c #DFAB01", -"& c #DCA803", -"* c #E3B103", -"= c #E7B702", -"- c #C39A31", -"; c #D4AC2F", -": c #E6BE26", -"> c #EFC002", -", c #F5CD06", -"< c #FEE21D", -"1 c #FCE01F", -"2 c #F6D424", -"3 c #B49A55", -"4 c #CAAC5F", -"5 c #FCE854", -"6 c #888887", -"7 c #9A9A9A", -"8 c #A7A7A7", -"9 c #B8B8B7", -"0 c #F3F08F", -"q c #C3C3C3", -"w c gray85", -"e c None", -/* pixels */ -"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", -"eeeeeeeeeee889qqqq987eeeeeeeeeee", -"eeeeeeeee89qwwwqqwwww88eeeeeeeee", -"eeeeeeee99qq877777669wq8eeeeeeee", -"eeeeeee99q888888888876ww9eeeeeee", -"eeeeee99q888888887778869q9eeeeee", -"eeeee89q8888eeeeeeee7786wq8eeeee", -"eeeee999888eeeeeeeeee7777wqeeeee", -"eeee899778eeeeeeeeeeee776wq8eeee", -"eeee8q977eeeeeeeeeeeeee779q9eeee", -"eeee8q977eeeeeeeeeeeeee777w9eeee", -"eeee8q867eeeeeeeeeeeeee776wqeeee", -"eeee8q768eeeeeeeeeeeeee766wqeeee", -"eeee8q768eeeeeeeeeeeeee766wqeeee", -"eeee8q778eeeeeeeeeeeeee776wqeeee", -"eeee8q778eeeeeeeeeeeeee776wqeeee", -"eeee8q888eeeeeeeeeeeeee786wqeeee", -"eeee8q888eeeeeeeeeeeeee786wqeeee", -"eeee8q898eeeeeeeeeeeeee796wqeeee", -"eeee8q898eeeeeeeeeeeeee896wqeeee", -"e45444443333 3333444003e", -"e4552::;;--... ...--;;:25003e", -"e4552,>>=&@OXXooXO+@$&*=>,15003e", -"e4552,>>*&#+ooooo++##&*=>,15003e", -"e4552,>>*&#+XXXXXO+@#&*=>,<5003e", -"e4552,>>=%$+OXXOO++##&*=>,15003e", -"e4552,>>=%$OooXXO+@@#&%=,,<5003e", -"e4552,>>=%$@OXXO+@@#&&*=>,15003e", -"e4552,>>*&$+XXXXOO++@#%=>,<5003e", -"e4552,>>=&$+OXXO++@@$&*=,,<5003e", -"e4552,>>=%$+XXXXOO+@#&*=>,<5003e", -"e4552,>>*&#+ooXO++@##&*>,,<5003e", -"e4552,>>=%$@OXXO++@$$%*>,,<5003e", -"e4552,>>=%$+OXXO++@#$&*=,,<5003e", -"e4552,>>=%$@OOOO++@$&%*=>,<5003e", -"e4552,>>=%$+OXXOO+@#&%=>,,<5003e", -"e4552,>>=%$+OXXOO+@##%*=>,<5003e", -"e4552,>>*&#+oooO++@#&&*>,,<5003e", -"e4552,>>=%$@OOOO+@$&%%*>,,<5003e", -"e4552,>>=%$@OOXO+@$&%%*>,,<5003e", -"e4552,>>=%$+OXXO+@$&&%*>,,<5003e", -"e4552,>>=%$@OOO+@@$&%%=>,,<5003e", -"e4552,>>=%$@OOO+@@$&%%=>,,<5003e", -"e4552,>>=%$@OOO+@@$&%%=>,,<5003e", -"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" -}; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/icon.xpm b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/icon.xpm deleted file mode 100644 index eed3cd66..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/icon.xpm +++ /dev/null @@ -1,37 +0,0 @@ -/* XPM */ -static const char *const icon_xpm[] = { -"31 29 3 1 ", -" c black", -". c yellow", -"X c None", - -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -" XXXXXXXXXXXXXXXXXX", -" ........... XXXXXXXXXXXXXXXXXX", -" ........... XXXXXXXXXXXXXXXXXX", -" ... ... XXXXXXXXXXXXXXXXXX", -" ... XXX ... ", -" ... XXX ... ................. ", -" ... XXX ... ................. ", -" ... XXX ... ... ... ", -" ... ... XXXXXXX ... X ... ", -" ........... XXXXXXX ... X ... ", -" ........... XXXXXXX X ... ", -" XXXXXXXXXXXXX ", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", -"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -}; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/main.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/main.cxx deleted file mode 100644 index 2afad1cd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/main.cxx +++ /dev/null @@ -1,366 +0,0 @@ -/* - main.cpp - A Fltk based dialog for PIN entry. - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#define PGMNAME (PACKAGE_NAME"-fltk") - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <errno.h> -#include <getopt.h> -#include <assert.h> - -#include "memory.h" -#include <memory> - -#include <pinentry.h> -#ifdef FALLBACK_CURSES -#include <pinentry-curses.h> -#endif - -#include <string> -#include <string.h> -#include <stdexcept> - - -#include <FL/Fl.H> -#include <FL/Fl_Window.H> -#include <FL/fl_ask.H> - -#include "pinwindow.h" -#include "passwindow.h" -#include "qualitypasswindow.h" - -#define CONFIRM_STRING "Confirm" -#define REPEAT_ERROR_STRING "Texts do not match" -#define OK_STRING "OK" -#define CANCEL_STRING "Cancel" - -char *application = NULL; - -static std::string escape_accel_utf8(const char *s) -{ - std::string result; - if (NULL != s) - { - result.reserve(strlen(s)); - for (const char *p = s; *p; ++p) - { - if ('&' == *p) - result.push_back(*p); - result.push_back(*p); - } - } - return result; -} - -// For button labels -// Accelerator '_' (used e.g. by GPG2) is converted to '&' (for FLTK) -// '&' is escaped as in escape_accel_utf8() -static std::string convert_accel_utf8(const char *s) -{ - static bool last_was_underscore = false; - std::string result; - if (NULL != s) - { - result.reserve(strlen(s)); - for (const char *p = s; *p; ++p) - { - // & => && - if ('&' == *p) - result.push_back(*p); - // _ => & (handle '__' as escaped underscore) - if ('_' == *p) - { - if (last_was_underscore) - { - result.push_back(*p); - last_was_underscore = false; - } - else - last_was_underscore = true; - } - else - { - if (last_was_underscore) - result.push_back('&'); - result.push_back(*p); - last_was_underscore = false; - } - } - } - return result; -} - -class cancel_exception -{ - -}; - -static int get_quality(const char *passwd, void *ptr) -{ - if (NULL == passwd || 0 == *passwd) - return 0; - - pinentry_t* pe = reinterpret_cast<pinentry_t*>(ptr); - return pinentry_inq_quality(*pe, passwd, strlen(passwd)); -} - -bool is_short(const char *str) -{ - return fl_utf_nb_char(reinterpret_cast<const unsigned char*>(str), strlen(str)) < 16; -} - -bool is_empty(const char *str) -{ - return (NULL == str) || (0 == *str); -} - -static int fltk_cmd_handler(pinentry_t pe) -{ - int ret = -1; - - try - { - // TODO: Add parent window to pinentry-fltk window - //if (pe->parent_wid){} - std::string title = !is_empty(pe->title)?pe->title:PGMNAME; - std::string ok = convert_accel_utf8(pe->ok?pe->ok:(pe->default_ok?pe->default_ok:OK_STRING)); - std::string cancel = convert_accel_utf8(pe->cancel?pe->cancel:(pe->default_cancel?pe->default_cancel:CANCEL_STRING)); - - if (!!pe->pin) // password (or confirmation) - { - std::unique_ptr<PinWindow> window; - - bool isSimple = (NULL == pe->quality_bar) && // pinenty.h: If this is not NULL ... - is_empty(pe->error) && is_empty(pe->description) && - is_short(pe->prompt); - if (isSimple) - { - assert(NULL == pe->description); - window.reset(PinWindow::create()); - window->prompt(pe->prompt); - } - else - { - PassWindow *pass = NULL; - - if (pe->quality_bar) // pinenty.h: If this is not NULL ... - { - QualityPassWindow *p = QualityPassWindow::create(get_quality, &pe); - window.reset(p); - pass = p; - p->quality(pe->quality_bar); - } - else - { - pass = PassWindow::create(); - window.reset(pass); - } - - if (NULL == pe->description) - { - pass->description(pe->prompt); - pass->prompt(" "); - } - else - { - pass->description(pe->description); - pass->prompt(escape_accel_utf8(pe->prompt).c_str()); - } - pass->description(pe->description); - pass->prompt(escape_accel_utf8(pe->prompt).c_str()); - - - if (NULL != pe->error) - pass->error(pe->error); - } - - window->ok(ok.c_str()); - window->cancel(cancel.c_str()); - window->title(title.c_str()); - window->showModal((NULL != application)?1:0, &application); - - if (NULL == window->passwd()) - throw cancel_exception(); - - const std::string password = window->passwd(); - window.reset(); - - if (pe->repeat_passphrase) - { - const char *dont_match = NULL; - do - { - if (NULL == dont_match && is_short(pe->repeat_passphrase)) - { - window.reset(PinWindow::create()); - window->prompt(escape_accel_utf8(pe->repeat_passphrase).c_str()); - } - else - { - PassWindow *pass = PassWindow::create(); - window.reset(pass); - pass->description(pe->repeat_passphrase); - pass->prompt(" "); - pass->error(dont_match); - } - - window->ok(ok.c_str()); - window->cancel(cancel.c_str()); - window->title(title.c_str()); - window->showModal(); - - if (NULL == window->passwd()) - throw cancel_exception(); - - if (password == window->passwd()) - { - pe->repeat_okay = 1; - ret = 1; - break; - } - else - { - dont_match = (NULL!=pe->repeat_error_string)? pe->repeat_error_string:REPEAT_ERROR_STRING; - } - } while (true); - } - else - ret = 1; - - pinentry_setbufferlen(pe, password.size()+1); - if (pe->pin) - { - memcpy(pe->pin, password.c_str(), password.size()+1); - pe->result = password.size(); - ret = password.size(); - } - } - else - { - // Confirmation or Message Dialog title, desc - Fl_Window dummy(0,0, 1,1); - - dummy.border(0); - dummy.show((NULL != application)?1:0, &application); - dummy.hide(); - - fl_message_title(title.c_str()); - - int result = -1; - - const char *message = (NULL != pe->description)?pe->description:CONFIRM_STRING; - - if (pe->one_button) - { - fl_ok = ok.c_str(); - fl_message("%s", message); - result = 1; // OK - } - else if (pe->notok) - { - switch (fl_choice("%s", ok.c_str(), cancel.c_str(), pe->notok, message)) - { - case 0: result = 1; break; - case 2: result = 0; break; - default: - case 1: result = -1;break; - } - } - else - { - switch (fl_choice("%s", ok.c_str(), cancel.c_str(), NULL, message)) - { - case 0: result = 1; break; - default: - case 1: result = -1;break; - } - } - - // cancel -> pe->canceled = true, 0 - // ok/y -> 1 - // no -> 0 - if (-1 == result) - pe->canceled = true; - ret = (1 == result); - } - Fl::check(); - } - catch (const cancel_exception&) - { - ret = -1; - } - catch (...) - { - ret = -1; - } - // do_touch_file(pe); only for NCURSES? - return ret; - } - -pinentry_cmd_handler_t pinentry_cmd_handler = fltk_cmd_handler; - -int main(int argc, char *argv[]) -{ - application = *argv; - pinentry_init(PGMNAME); - -#ifdef FALLBACK_CURSES - if (!pinentry_have_display(argc, argv)) - pinentry_cmd_handler = curses_cmd_handler; - else -#endif - { - //FLTK understood only -D (--display) - // and should be converted into -di[splay] - const static struct option long_options[] = - { - {"display", required_argument, 0, 'D' }, - {NULL, no_argument, 0, 0 } - }; - - for (int i = 0; i < argc-1; ++i) - { - switch (getopt_long(argc-i, argv+i, "D:", long_options, NULL)) - { - case 'D': - { - char* emul[] = {application, (char*)"-display", optarg}; - Fl::args(3, emul); - i = argc; - break; - } - default: - break; - } - } - } - - pinentry_parse_opts(argc, argv); - return pinentry_loop() ?EXIT_FAILURE:EXIT_SUCCESS; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.cxx deleted file mode 100644 index a0cbe25d..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.cxx +++ /dev/null @@ -1,86 +0,0 @@ -/* - passwindow.cxx - PassWindow is a more complex fltk dialog with more longer - desc field and possibility to show some error text. - if needed qualitybar - should be used QualityPassWindow. - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#include "passwindow.h" - -#include <FL/Fl_Window.H> -#include <FL/Fl_Box.H> -#include <FL/Fl_Input.H> - -const char *PassWindow::DESCRIPTION = "Please enter the passphrase:"; - -PassWindow::PassWindow() : error_(NULL) -{ -} - -void PassWindow::prompt(const char *name) -{ - set_label(input_, name, PROMPT); -} - -void PassWindow::description(const char *name) -{ - set_label(message_, name, DESCRIPTION); -} - -void PassWindow::error(const char *name) -{ - set_label(error_, name, ""); -} - -int PassWindow::init(const int cx, const int cy) -{ - int y = PinWindow::init(cx, cy); - - assert(window_ == Fl_Group::current()); // make_window should all add current - - y = icon_->y(); // move back to icon's - - const int mx = icon_->x()+icon_->w(); - message_->resize(mx, icon_->y(), cx-mx-10, icon_->h()); - message_->align(Fl_Align(FL_ALIGN_LEFT | FL_ALIGN_CLIP | FL_ALIGN_WRAP | FL_ALIGN_INSIDE)); - description(NULL); - y += icon_->h(); - - input_->resize(130, y+5, cx-150, 25); - input_->labeltype(FL_NORMAL_LABEL); - prompt(NULL); - y = input_->y()+input_->h(); - - error_ = new Fl_Box(20, y+5, cx-30, 30); - error_->labelcolor(FL_RED); - error_->align(Fl_Align(FL_ALIGN_CENTER | FL_ALIGN_WRAP | FL_ALIGN_INSIDE)); // if not fit - user can read - y = error_->y()+error_->h(); - return y; -} - -PassWindow* PassWindow::create() -{ - PassWindow* p = new PassWindow; - p->init(460, 185); - p->window_->end(); - p->input_->take_focus(); - return p; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.h deleted file mode 100644 index 28472d52..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - passwindow.h - PassWindow is a more complex fltk dialog with more longer - desc field and possibility to show some error text. - if needed qualitybar - should be used QualityPassWindow. - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#ifndef __PASSWINDOW_H__ -#define __PASSWINDOW_H__ - -#include "pinwindow.h" - -class PassWindow : public PinWindow -{ -protected: - static const char *DESCRIPTION; - -protected: - Fl_Box *error_; - PassWindow(); - -public: - virtual void prompt(const char *message); - virtual void description(const char *desc); - virtual void error(const char *err); - - static PassWindow* create(); - -protected: - virtual int init(const int cx, const int cy); -}; - -#endif //#ifndef __PASSWINDOW_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.cxx deleted file mode 100644 index c187dd5e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.cxx +++ /dev/null @@ -1,251 +0,0 @@ -/* - pinwindow.cxx - PinWindow is a simple fltk dialog for entring password - with timeout. if needed description (long text), error message, qualitybar - and etc should used PassWindow. - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#include <FL/Fl.H> -#include <FL/Fl_Window.H> -#include <FL/Fl_Box.H> -#include <FL/Fl_Input.H> -#include <FL/Fl_Button.H> -#include <FL/Fl_Secret_Input.H> -#include <FL/Fl_Return_Button.H> -#include <FL/Fl_Pixmap.H> - -#include "memory.h" - -#include "encrypt.xpm" -#include "icon.xpm" - -#include "pinwindow.h" - -const char *PinWindow::TITLE = "Password"; -const char *PinWindow::BUTTON_OK = "OK"; -const char *PinWindow::BUTTON_CANCEL = "Cancel"; -const char *PinWindow::PROMPT = "Passphrase:"; - -static const char *timeout_format = "%s(%d)"; - -static Fl_Pixmap encrypt(encrypt_xpm); -static Fl_Pixmap icon(icon_xpm); - -PinWindow::PinWindow() : window_(NULL) - ,message_(NULL) ,input_(NULL) ,ok_(NULL) ,cancel_(NULL) - ,cancel_name_(BUTTON_CANCEL) - ,passwd_(NULL) ,timeout_(0) -{ -} - -PinWindow::~PinWindow() -{ - wipe(); - release(); - delete window_; -} - -void PinWindow::release() -{ - if (NULL != passwd_) - { - memset(passwd_, 0, strlen(passwd_)); - secmem_free(passwd_); - } - passwd_ = NULL; -} - -void PinWindow::title(const char *name) -{ - set_label(window_, name, TITLE); -} - -void PinWindow::ok(const char* name) -{ - set_label(ok_, name, BUTTON_OK); -} - -void PinWindow::cancel(const char* label) -{ - if (NULL != label && 0 != *label) - cancel_name_ = label; - else - cancel_name_ = BUTTON_CANCEL; - - update_cancel_label(); -} - -void PinWindow::prompt(const char *name) -{ - set_label(message_, name, PROMPT); -} - -void PinWindow::timeout(unsigned int time) -{ - if (timeout_ == time) - return; - - // A xor B ~ A != B - if ( (time>0) != (timeout_>0)) - { - //enable or disable - if (time>0) - Fl::add_timeout(1.0, timeout_cb, this); - else - Fl::remove_timeout(timeout_cb, this); - } - - timeout_=time; - update_cancel_label(); - --timeout_; -} - -void PinWindow::showModal() -{ - if (NULL != window_) - { - window_->show(); - Fl::run(); - } - Fl::check(); -} - -void PinWindow::showModal(const int argc, char* argv[]) -{ - if (NULL != window_) - { - window_->show(argc, argv); - Fl::run(); - } - Fl::check(); -} - -int PinWindow::init(const int cx, const int cy) -{ - assert(NULL == window_); - window_ = new Fl_Window(cx, cy, TITLE); - - Fl_RGB_Image app(&icon); - window_->icon(&app); - - icon_ = new Fl_Box(10, 10, 64, 64); - icon_->image(encrypt); - - message_ = new Fl_Box(79, 5, cx-99, 44, PROMPT); - message_->align(Fl_Align(FL_ALIGN_LEFT_TOP | FL_ALIGN_WRAP | FL_ALIGN_INSIDE)); // left - - input_ = new Fl_Secret_Input(79, 59, cx-99, 25); - input_->labeltype(FL_NO_LABEL); - - - const int button_y = cy-40; - ok_ = new Fl_Return_Button(cx-300, button_y, 120, 25, BUTTON_OK); - ok_->callback(ok_cb, this); - - cancel_ = new Fl_Button(cx-160, button_y, 120, 25); - update_cancel_label(); - cancel_->callback(cancel_cb, this); - - window_->hotspot(input_); - window_->set_modal(); - - return 84; -}; - -void PinWindow::update_cancel_label() -{ - if (timeout_ == 0) - { - cancel_->label(cancel_name_.c_str()); - } - else - { - const size_t len = cancel_name_.size()+strlen(timeout_format)+10+1; - char *buf = new char[len]; - snprintf(buf, len, timeout_format, cancel_name_.c_str(), timeout_); - cancel_->copy_label(buf); - delete[] buf; // no way to attach label - } -} - -void PinWindow::timeout_cb(void* val) -{ - PinWindow *self = reinterpret_cast<PinWindow*>(val); - if (self->timeout_ == 0) - { - cancel_cb(self->cancel_, self); - } - else - { - self->update_cancel_label(); - --self->timeout_; - Fl::repeat_timeout(1.0, timeout_cb, val); - } -} - -void PinWindow::cancel_cb(Fl_Widget *button, void *val) -{ - PinWindow *self = reinterpret_cast<PinWindow*>(val); - - self->wipe(); - self->release(); - self->window_->hide(); -} - -void PinWindow::ok_cb(Fl_Widget *button, void *val) -{ - PinWindow *self = reinterpret_cast<PinWindow*>(val); - - self->release(); - - const char *passwd = self->input_->value(); - size_t len = strlen(passwd)+1; - self->passwd_ = reinterpret_cast<char*>(secmem_malloc(len)); - if (NULL != self->passwd_) - memcpy(self->passwd_, passwd, len); - - self->wipe(); - self->window_->hide(); -} - -void PinWindow::wipe() -{ - int len = input_->size(); - char* emul = new char[len+1]; - for (int i=0; i<len; ++i) - { - emul[i] = 0x20 + rand()%(128-20); // [20..127] - } - emul[len] = 0; - input_->replace(0, len, emul, len); - delete[] emul; - - input_->value(TITLE); // hide size too -} - -PinWindow* PinWindow::create() -{ - PinWindow* p = new PinWindow; - p->init(410, 140); - p->window_->end(); - p->input_->take_focus(); - return p; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.h deleted file mode 100644 index e1548dae..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - pinwindow.h - PinWindow is a simple fltk dialog for entring password - with timeout. if needed description (long text), error message, qualitybar - and etc should used PassWindow. - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#ifndef __PINWINDOW_H__ -#define __PINWINDOW_H__ - -#include "config.h" - -class Fl_Window; -class Fl_Box; -class Fl_Input; -class Fl_Button; -class Fl_Widget; - -#include <assert.h> -#include <string> - -class PinWindow -{ -protected: - static const char *TITLE; - static const char *BUTTON_OK; - static const char *BUTTON_CANCEL; - static const char *PROMPT; - -protected: - PinWindow(const PinWindow&); - PinWindow& operator=(const PinWindow&); - - Fl_Window *window_; - Fl_Box *icon_; - - Fl_Box *message_; - Fl_Input *input_; - - Fl_Button *ok_, *cancel_; - - std::string cancel_name_; - char *passwd_; // SECURE_MEMORY - unsigned int timeout_; // click cancel if timeout - -public: - virtual ~PinWindow(); - - static PinWindow* create(); - - inline const char* passwd() const { return passwd_; } - - virtual void timeout(unsigned int time); // 0 - infinity, seconds - virtual void title(const char *title); - virtual void ok(const char* ok); - virtual void cancel(const char* cancel); - virtual void prompt(const char *message); - - virtual void showModal(); - virtual void showModal(const int argc, char* argv[]); - -protected: - PinWindow(); - - void wipe(); // clear UI memory - void release(); // clear secure memory - void update_cancel_label(); - - virtual int init(const int cx, const int cy); - - //callbacks - static void cancel_cb(Fl_Widget *button, void *val); - static void ok_cb(Fl_Widget *button, void *val); - static void timeout_cb(void*); - - // ISSUE: Fl_Window component in tinycore works only as Fl_Window::label(...); not Fl_Widget - template <class TWidget> void set_label(TWidget* widget, const char *label, const char *def) - { - assert(NULL != widget); // widget must be created - - if (NULL != widget) - { - if (NULL != label && 0 != *label) - widget->copy_label(label); - else - widget->label(def); - } - }; -}; - -#endif //#ifndef __PINWINDOW_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.cxx deleted file mode 100644 index 45290730..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.cxx +++ /dev/null @@ -1,93 +0,0 @@ -/* - qualitypasswindow.cxx - QualityPassWindow pin entry - with Password QualityBar and etc - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#include <FL/Fl_Window.H> -#include <FL/Fl_Box.H> -#include <FL/Fl_Input.H> -#include <FL/Fl_Progress.H> - -#include "qualitypasswindow.h" - -const char *QualityPassWindow::QUALITY = "Quality"; - -QualityPassWindow::QualityPassWindow(QualityPassWindow::GetQualityFn qualify, void* ptr) - : get_quality_(qualify) - ,get_quality_user_(ptr) - ,quality_(NULL) -{ - assert(NULL != qualify); -} - -void QualityPassWindow::input_changed(Fl_Widget *input, void *val) -{ - QualityPassWindow *self = reinterpret_cast<QualityPassWindow*>(val); - - assert(NULL != self->get_quality_); // function should be assigned in ctor - assert(NULL != self->quality_); // quality progress bar must be created in init - - if (NULL != self->quality_ && NULL != self->get_quality_) - { - int result = self->get_quality_(self->input_->value(), self->get_quality_user_); - bool isErr = (result <= 0); - if (isErr) - result = -result; - self->quality_->selection_color(isErr?FL_RED:FL_GREEN); - self->quality_->value(std::min(result, 100)); - } -} - -QualityPassWindow* QualityPassWindow::create(QualityPassWindow::GetQualityFn qualify, void *user) -{ - QualityPassWindow *p = new QualityPassWindow(qualify, user); - p->init(460, 215); - p->window_->end(); - p->input_->take_focus(); - return p; -} - -void QualityPassWindow::quality(const char *name) -{ - set_label(quality_, name, QUALITY); -} - -int QualityPassWindow::init(const int cx, const int cy) -{ - int y = PassWindow::init(cx, cy); - assert(window_ == Fl_Group::current()); // make_window should all add current - - input_->when(FL_WHEN_CHANGED); - input_->callback(input_changed, this); - - y = input_->y() + input_->h(); - - quality_ = new Fl_Progress(input_->x(), y+5, input_->w(), 25, QUALITY); - quality_->align(Fl_Align(FL_ALIGN_LEFT | FL_ALIGN_CLIP | FL_ALIGN_WRAP)); - quality_->maximum(100.1); - quality_->minimum(0.0); - y = quality_->y() + quality_->h(); - - error_->position(error_->x(), y+5); - - return error_->y() + error_->h(); -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.h deleted file mode 100644 index eee55150..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - qualitypasswindow.h - QualityPassWindow pin entry with Password QualityBar - and etc - - Copyright (C) 2016 Anatoly madRat L. Berenblit - - Written by Anatoly madRat L. Berenblit <madrat-@users.noreply.github.com>. - - 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. - SPDX-License-Identifier: GPL-2.0+ -*/ - -#ifndef __QUALITYPASSWINDOW_H__ -#define __QUALITYPASSWINDOW_H__ - -#include "passwindow.h" -class Fl_Progress; - -class QualityPassWindow : public PassWindow -{ -protected: - static const char *QUALITY; - -public: - typedef int (*GetQualityFn)(const char *passwd, void *ptr); - - static QualityPassWindow* create(GetQualityFn qualify, void* user); - - void quality(const char *name); - -protected: - QualityPassWindow(GetQualityFn qualify, void*); - - const GetQualityFn get_quality_; - void* const get_quality_user_; - - Fl_Progress *quality_; - virtual int init(const int cx, const int cy); - - static void input_changed(Fl_Widget *input, void *val); -}; - -#endif //#ifndef __QUALITYPASSWINDOW_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.am deleted file mode 100644 index 96ae5a61..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -# Makefile.am - PIN entry GTK+ frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-gnome3 - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - -AM_CPPFLAGS = $(COMMON_CFLAGS) $(GNOME3_CFLAGS) \ - $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(GNOME3_LIBS) $(libcurses) - -pinentry_gnome3_SOURCES = pinentry-gnome3.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.in deleted file mode 100644 index 9d4c480e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.in +++ /dev/null @@ -1,689 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry GTK+ frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-gnome3$(EXEEXT) -subdir = gnome3 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_gnome3_OBJECTS = pinentry-gnome3.$(OBJEXT) -pinentry_gnome3_OBJECTS = $(am_pinentry_gnome3_OBJECTS) -pinentry_gnome3_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_gnome3_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/pinentry-gnome3.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_gnome3_SOURCES) -DIST_SOURCES = $(pinentry_gnome3_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) $(GNOME3_CFLAGS) \ - $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry - -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(GNOME3_LIBS) $(libcurses) - -pinentry_gnome3_SOURCES = pinentry-gnome3.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnome3/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu gnome3/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-gnome3$(EXEEXT): $(pinentry_gnome3_OBJECTS) $(pinentry_gnome3_DEPENDENCIES) $(EXTRA_pinentry_gnome3_DEPENDENCIES) - @rm -f pinentry-gnome3$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pinentry_gnome3_OBJECTS) $(pinentry_gnome3_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-gnome3.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/pinentry-gnome3.Po - -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 -f ./$(DEPDIR)/pinentry-gnome3.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/pinentry-gnome3.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/pinentry-gnome3.c deleted file mode 100644 index 0b8d8d18..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/pinentry-gnome3.c +++ /dev/null @@ -1,549 +0,0 @@ -/* pinentry-gnome3.c - * Copyright (C) 2015 g10 Code GmbH - * - * pinentry-gnome-3 is a pinentry application for GNOME 3. It tries - * to follow the Gnome Human Interface Guide as close as possible. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <gcr/gcr-base.h> - -#include <string.h> -#include <stdlib.h> - -#include <assuan.h> - -#include "memory.h" - -#include "pinentry.h" - -#ifdef FALLBACK_CURSES -#include "pinentry-curses.h" -#endif - - -#define PGMNAME "pinentry-gnome3" - -#ifndef VERSION -# define VERSION -#endif - - -struct pe_gnome3_run_s { - pinentry_t pinentry; - GcrPrompt *prompt; - GMainLoop *main_loop; - int ret; - guint timeout_id; - int timed_out; -}; - -static void pe_gcr_prompt_password_done (GObject *source_object, - GAsyncResult *res, gpointer user_data); - -static void pe_gcr_prompt_confirm_done (GObject *source_object, - GAsyncResult *res, gpointer user_data); -static gboolean pe_gcr_timeout_done (gpointer user_data); - - - -static gchar * -pinentry_utf8_validate (gchar *text) -{ - gchar *result; - - if (!text) - return NULL; - - if (g_utf8_validate (text, -1, NULL)) - return g_strdup (text); - - /* Failure: Assume that it was encoded in the current locale and - convert it to utf-8. */ - result = g_locale_to_utf8 (text, -1, NULL, NULL, NULL); - if (!result) - { - gchar *p; - - result = p = g_strdup (text); - while (!g_utf8_validate (p, -1, (const gchar **) &p)) - *p = '?'; - } - return result; -} - - -static void -_propagate_g_error_to_pinentry (pinentry_t pe, GError *error, - gpg_err_code_t code, const char *loc) -{ - char *t; - - /* We can't return the result of g_strdup_printf directly, because - * this needs to be g_free'd, but the users of PE (e.g., - * pinentry_reset in pinentry/pinentry.c) use free. */ - t = g_strdup_printf ("%d: %s", error->code, error->message); - if (t) - { - /* If strdup fails, then PE->SPECIFIC_ERR_INFO will be NULL, - * which is exactly what we want if strdup fails. So, there is - * no need to check for failure. */ - pe->specific_err_info = strdup (t); - g_free (t); - } - else - { - pe->specific_err_info = NULL; - } - - pe->specific_err = gpg_error (code); - pe->specific_err_loc = loc; -} - -static GcrPrompt * -create_prompt (pinentry_t pe, int confirm) -{ - GcrPrompt *prompt; - GError *error = NULL; - char *msg, *p; - char window_id[32]; - - /* Create the prompt. */ - prompt = GCR_PROMPT (gcr_system_prompt_open (pe->timeout ? pe->timeout : -1, NULL, &error)); - if (! prompt) - { - /* this means the timeout elapsed, but no prompt was ever shown. */ - if (error->code == GCR_SYSTEM_PROMPT_IN_PROGRESS) - { - fprintf (stderr, "Timeout: the Gcr system prompter was already in use.\n"); - pe->specific_err_info = strdup ("Timeout: the Gcr system prompter was already in use."); - /* not using GPG_ERR_TIMEOUT here because the user never saw - a prompt: */ - pe->specific_err = gpg_error (GPG_ERR_PIN_ENTRY); - } - else - { - fprintf (stderr, "couldn't create prompt for gnupg passphrase: %s\n", - error->message); - _propagate_g_error_to_pinentry (pe, error, GPG_ERR_CONFIGURATION, - "gcr_system_prompt_open"); - } - g_error_free (error); - return NULL; - } - - /* Set the messages for the various buttons, etc. */ - p = pinentry_get_title (pe); - if (p) - { - msg = pinentry_utf8_validate (p); - if (msg) - { - gcr_prompt_set_title (prompt, msg); - g_free (msg); - } - free (p); - } - - if (pe->description) - { - msg = pinentry_utf8_validate (pe->description); - gcr_prompt_set_description (prompt, msg); - g_free (msg); - } - - /* An error occurred during the last prompt. */ - if (pe->error) - { - msg = pinentry_utf8_validate (pe->error); - gcr_prompt_set_warning (prompt, msg); - g_free (msg); - } - - if (! pe->prompt && confirm) - gcr_prompt_set_message (prompt, "Message"); - else if (! pe->prompt && ! confirm) - gcr_prompt_set_message (prompt, "Enter Passphrase"); - else - { - msg = pinentry_utf8_validate (pe->prompt); - gcr_prompt_set_message (prompt, msg); - g_free (msg); - } - - if (! confirm) - gcr_prompt_set_password_new (prompt, !!pe->repeat_passphrase); - - if (pe->ok || pe->default_ok) - { - msg = pinentry_utf8_validate (pe->ok ?: pe->default_ok); - gcr_prompt_set_continue_label (prompt, msg); - g_free (msg); - } - /* XXX: Disable this button if pe->one_button is set. */ - if (pe->cancel || pe->default_cancel) - { - msg = pinentry_utf8_validate (pe->cancel ?: pe->default_cancel); - gcr_prompt_set_cancel_label (prompt, msg); - g_free (msg); - } - - if (confirm && pe->notok) - { - /* XXX: Add support for the third option. */ - } - - /* gcr expects a string; we have a int. see gcr's - ui/frob-system-prompt.c for example conversion using %lu */ - snprintf (window_id, sizeof (window_id), "%lu", - (long unsigned int)pe->parent_wid); - gcr_prompt_set_caller_window (prompt, window_id); - -#ifdef HAVE_LIBSECRET - if (! confirm && pe->allow_external_password_cache && pe->keyinfo) - { - if (pe->default_pwmngr) - { - msg = pinentry_utf8_validate (pe->default_pwmngr); - gcr_prompt_set_choice_label (prompt, msg); - g_free (msg); - } - else - gcr_prompt_set_choice_label - (prompt, "Automatically unlock this key, whenever I'm logged in"); - } -#endif - - return prompt; -} - -static int -gnome3_cmd_handler (pinentry_t pe) -{ - struct pe_gnome3_run_s state; - - state.main_loop = g_main_loop_new (NULL, FALSE); - if (!state.main_loop) - { - pe->specific_err_info = strdup ("Failed to create GMainLoop"); - pe->specific_err = gpg_error (GPG_ERR_PIN_ENTRY); - pe->specific_err_loc = "g_main_loop_new"; - pe->canceled = 1; - return -1; - } - state.pinentry = pe; - state.ret = 0; - state.timeout_id = 0; - state.timed_out = 0; - state.prompt = create_prompt (pe, !(pe->pin)); - if (!state.prompt) - { - pe->canceled = 1; - return -1; - } - if (pe->pin) - gcr_prompt_password_async (state.prompt, NULL, pe_gcr_prompt_password_done, - &state); - else - gcr_prompt_confirm_async (state.prompt, NULL, pe_gcr_prompt_confirm_done, - &state); - - if (pe->timeout) - state.timeout_id = g_timeout_add_seconds (pe->timeout, - pe_gcr_timeout_done, &state); - g_main_loop_run (state.main_loop); - - /* clean up state: */ - if (state.timeout_id && !state.timed_out) - g_source_destroy - (g_main_context_find_source_by_id (NULL, state.timeout_id)); - - g_clear_object (&state.prompt); - g_main_loop_unref (state.main_loop); - return state.ret; -}; - - -static void -pe_gcr_prompt_password_done (GObject *source_object, - GAsyncResult *res, gpointer user_data) -{ - struct pe_gnome3_run_s *state = user_data; - GcrPrompt *prompt = GCR_PROMPT (source_object); - - if (state && prompt && state->prompt == prompt) - { - const char *password; - GError *error = NULL; - pinentry_t pe = state->pinentry; - int ret = -1; - - /* "The returned password is valid until the next time a method - is called to display another prompt." */ - password = gcr_prompt_password_finish (prompt, res, &error); - if ((! password && ! error) - || (error && error->code == G_IO_ERROR_CANCELLED)) - { - /* operation was cancelled or timed out. */ - ret = -1; - if (state->timed_out) - state->pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); - if (error) - g_error_free (error); - } - else if (error) - { - _propagate_g_error_to_pinentry (pe, error, - GPG_ERR_PIN_ENTRY, - "gcr_system_password_finish"); - g_error_free (error); - ret = -1; - } - else - { - pinentry_setbufferlen (pe, strlen (password) + 1); - if (pe->pin) - strcpy (pe->pin, password); - - if (pe->repeat_passphrase) - pe->repeat_okay = 1; - -#ifdef HAVE_LIBSECRET - if (pe->allow_external_password_cache && pe->keyinfo) - pe->may_cache_password = gcr_prompt_get_choice_chosen (prompt); -#endif - - ret = 1; - } - state->ret = ret; - } - - if (state) - g_main_loop_quit (state->main_loop); -} - -static void -pe_gcr_prompt_confirm_done (GObject *source_object, GAsyncResult *res, - gpointer user_data) -{ - struct pe_gnome3_run_s *state = user_data; - GcrPrompt *prompt = GCR_PROMPT (source_object); - - if (state && prompt && state->prompt == prompt) - { - GcrPromptReply reply; - GError *error = NULL; - pinentry_t pe = state->pinentry; - int ret = -1; - - /* XXX: We don't support a third button! */ - - reply = gcr_prompt_confirm_finish (prompt, res, &error); - if (error) - { - if (error->code == G_IO_ERROR_CANCELLED) - { - pe->canceled = 1; - if (state->timed_out) - state->pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); - } - else - _propagate_g_error_to_pinentry (state->pinentry, error, GPG_ERR_PIN_ENTRY, - "gcr_system_confirm_finish"); - g_error_free (error); - ret = 0; - } - else if (reply == GCR_PROMPT_REPLY_CONTINUE - /* XXX: Hack since gcr doesn't yet support one button - message boxes treat cancel the same as okay. */ - || pe->one_button) - { - /* Confirmation. */ - ret = 1; - } - else /* GCR_PROMPT_REPLY_CANCEL */ - { - pe->canceled = 1; - if (state->timed_out) - state->pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); - ret = 0; - } - state->ret = ret; - } - - if (state) - g_main_loop_quit (state->main_loop); -} - -static gboolean -pe_gcr_timeout_done (gpointer user_data) -{ - struct pe_gnome3_run_s *state = user_data; - - if (!state) - return FALSE; - - state->timed_out = 1; - gcr_prompt_close (state->prompt); - - return FALSE; -} - -pinentry_cmd_handler_t pinentry_cmd_handler = gnome3_cmd_handler; - -/* Test whether there is a GNOME screensaver running that happens to - * be locked. Note that if there is no GNOME screensaver running at - * all the answer is still FALSE. */ -static gboolean -pe_gnome_screen_locked (void) -{ - GDBusConnection *dbus; - GError *error = NULL; - GVariant *reply, *reply_bool; - gboolean ret; - - dbus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, &error); - - if (!dbus) - { - fprintf (stderr, "failed to connect to user session D-Bus (%d): %s", - error ? error->code : -1, - error ? error->message : "<no GError>"); - if (error) - g_error_free (error); - return FALSE; - } - - /* this is intended to be the equivalent of: - * dbus-send --print-reply=literal --session \ - * --dest=org.gnome.ScreenSaver \ - * /org/gnome/ScreenSaver \ - * org.gnome.ScreenSaver.GetActive - */ - reply = g_dbus_connection_call_sync (dbus, - "org.gnome.ScreenSaver", - "/org/gnome/ScreenSaver", - "org.gnome.ScreenSaver", - "GetActive", - NULL, - ((const GVariantType *) "(b)"), - G_DBUS_CALL_FLAGS_NO_AUTO_START, - -1, - NULL, - &error); - g_object_unref(dbus); - if (!reply) - { - /* G_IO_ERROR_IS_DIRECTORY is the expected response when there is - * no gnome screensaver at all, don't be noisy in that case: */ - if (!(error && error->code == G_IO_ERROR_IS_DIRECTORY)) - fprintf (stderr, "Failed to get d-bus reply for org.gnome.ScreenSaver.GetActive (%d): %s\n", - error ? error->code : -1, - error ? error->message : "<no GError>"); - if (error) - g_error_free (error); - return FALSE; - } - reply_bool = g_variant_get_child_value (reply, 0); - if (!reply_bool) - { - fprintf (stderr, "Failed to get d-bus boolean from org.gnome.ScreenSaver.GetActive; assuming screensaver is not locked\n"); - ret = FALSE; - } - else - { - ret = g_variant_get_boolean (reply_bool); - g_variant_unref (reply_bool); - } - - g_variant_unref (reply); - return ret; -} - -/* Test whether we can create a system prompt or not. This briefly - * does create a system prompt, which blocks other tools from making - * the same request concurrently, so we just create it to test if it is - * available, and quickly close it. */ -static int -pe_gcr_system_prompt_available (void) -{ - GcrSystemPrompt *prompt; - GError *error = NULL; - int ret = 0; - - prompt = GCR_SYSTEM_PROMPT (gcr_system_prompt_open (0, NULL, &error)); - if (prompt) - { - ret = 1; - if (!gcr_system_prompt_close (prompt, NULL, &error)) - fprintf (stderr, "failed to close test Gcr System Prompt (%d): %s\n", - error ? error->code : -1, - error ? error->message : "<no GError>"); - g_clear_object (&prompt); - } - else if (error && error->code == GCR_SYSTEM_PROMPT_IN_PROGRESS) - { - /* This one particular failure is OK; we're clearly capable of - * making a system prompt, even though someone else has the - * system prompter right now: */ - ret = 1; - } - - if (error) - g_error_free (error); - return ret; -} - -int -main (int argc, char *argv[]) -{ - pinentry_init (PGMNAME); - -#ifdef FALLBACK_CURSES - if (!getenv ("DBUS_SESSION_BUS_ADDRESS")) - { - fprintf (stderr, "No $DBUS_SESSION_BUS_ADDRESS found," - " falling back to curses\n"); - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } - else if (!pe_gcr_system_prompt_available ()) - { - fprintf (stderr, "No Gcr System Prompter available," - " falling back to curses\n"); - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } - else if (pe_gnome_screen_locked ()) - { - fprintf (stderr, "GNOME screensaver is locked," - " falling back to curses\n"); - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } -#endif - - pinentry_parse_opts (argc, argv); - - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.am deleted file mode 100644 index 0523b0bf..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.am +++ /dev/null @@ -1,37 +0,0 @@ -# Makefile.am - PIN entry GTK+ frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-gtk-2 - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - -AM_CPPFLAGS = $(COMMON_CFLAGS) $(GTK2_CFLAGS) $(ncurses_include) \ - -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(GTK2_LIBS) $(libcurses) - -pinentry_gtk_2_SOURCES = pinentry-gtk-2.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.in deleted file mode 100644 index e7280593..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.in +++ /dev/null @@ -1,689 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry GTK+ frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-gtk-2$(EXEEXT) -subdir = gtk+-2 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_gtk_2_OBJECTS = pinentry-gtk-2.$(OBJEXT) -pinentry_gtk_2_OBJECTS = $(am_pinentry_gtk_2_OBJECTS) -pinentry_gtk_2_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_gtk_2_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/pinentry-gtk-2.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_gtk_2_SOURCES) -DIST_SOURCES = $(pinentry_gtk_2_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) $(GTK2_CFLAGS) $(ncurses_include) \ - -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry - -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(GTK2_LIBS) $(libcurses) - -pinentry_gtk_2_SOURCES = pinentry-gtk-2.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk+-2/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu gtk+-2/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-gtk-2$(EXEEXT): $(pinentry_gtk_2_OBJECTS) $(pinentry_gtk_2_DEPENDENCIES) $(EXTRA_pinentry_gtk_2_DEPENDENCIES) - @rm -f pinentry-gtk-2$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pinentry_gtk_2_OBJECTS) $(pinentry_gtk_2_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-gtk-2.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/pinentry-gtk-2.Po - -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 -f ./$(DEPDIR)/pinentry-gtk-2.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/pinentry-gtk-2.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/pinentry-gtk-2.c deleted file mode 100644 index 32112ae3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/pinentry-gtk-2.c +++ /dev/null @@ -1,985 +0,0 @@ -/* pinentry-gtk-2.c - * Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> - * Copyright (C) 2001, 2002, 2007, 2015 g10 Code GmbH - * Copyright (C) 2004 by Albrecht Dreß <albrecht.dress@arcor.de> - * - * pinentry-gtk-2 is a pinentry application for the Gtk+-2 widget set. - * It tries to follow the Gnome Human Interface Guide as close as - * possible. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#include <gdk/gdkkeysyms.h> -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wstrict-prototypes" -#endif -#include <gtk/gtk.h> -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) -# pragma GCC diagnostic pop -#endif -#include <assert.h> -#include <math.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <gpg-error.h> - -#ifdef HAVE_GETOPT_H -#include <getopt.h> -#else -#include "getopt.h" -#endif /* HAVE_GETOPT_H */ - -#include "pinentry.h" - -#ifdef FALLBACK_CURSES -#include "pinentry-curses.h" -#endif - - -#define PGMNAME "pinentry-gtk2" - -#ifndef VERSION -# define VERSION -#endif - -static pinentry_t pinentry; -static int grab_failed; -static int passphrase_ok; -typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; -static confirm_value_t confirm_value; - -static GtkWindow *mainwindow; -static GtkWidget *entry; -static GtkWidget *repeat_entry; -static GtkWidget *error_label; -static GtkWidget *qualitybar; -static gboolean got_input; -static guint timeout_source; -static int confirm_mode; - -/* Gnome hig small and large space in pixels. */ -#define HIG_TINY 2 -#define HIG_SMALL 6 -#define HIG_LARGE 12 - -/* The text shown in the quality bar when no text is shown. This is not - * the empty string, because with an empty string the height of - * the quality bar is less than with a non-empty string. This results - * in ugly layout changes when the text changes from non-empty to empty - * and vice versa. */ -#define QUALITYBAR_EMPTY_TEXT " " - - -/* Constrain size of the window the window should not shrink beyond - the requisition, and should not grow vertically. */ -static void -constrain_size (GtkWidget *win, GtkRequisition *req, gpointer data) -{ - static gint width, height; - GdkGeometry geo; - - (void)data; - - if (req->width == width && req->height == height) - return; - width = req->width; - height = req->height; - geo.min_width = width; - /* This limit is arbitrary, but INT_MAX breaks other things */ - geo.max_width = 10000; - geo.min_height = geo.max_height = height; - gtk_window_set_geometry_hints (GTK_WINDOW (win), NULL, &geo, - GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE); -} - - -/* Realize the window as transient. This makes the window a modal - dialog to the root window, which helps the window manager. - See the following quote from: - https://standards.freedesktop.org/wm-spec/wm-spec-1.4.html#id2512420 - - Implementing enhanced support for application transient windows - - If the WM_TRANSIENT_FOR property is set to None or Root window, the - window should be treated as a transient for all other windows in - the same group. It has been noted that this is a slight ICCCM - violation, but as this behavior is pretty standard for many - toolkits and window managers, and is extremely unlikely to break - anything, it seems reasonable to document it as standard. */ - -static void -make_transient (GtkWidget *win, GdkEvent *event, gpointer data) -{ - GdkScreen *screen; - GdkWindow *root; - - (void)event; - (void)data; - - /* Make window transient for the root window. */ - screen = gdk_screen_get_default (); - root = gdk_screen_get_root_window (screen); - gdk_window_set_transient_for (gtk_widget_get_window (win), root); -} - - -/* Convert GdkGrabStatus to string. */ -static const char * -grab_strerror (GdkGrabStatus status) -{ - switch (status) { - case GDK_GRAB_SUCCESS: return "success"; - case GDK_GRAB_ALREADY_GRABBED: return "already grabbed"; - case GDK_GRAB_INVALID_TIME: return "invalid time"; - case GDK_GRAB_NOT_VIEWABLE: return "not viewable"; - case GDK_GRAB_FROZEN: return "frozen"; - } - return "unknown"; -} - - -/* Grab the keyboard for maximum security */ -static int -grab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) -{ - GdkGrabStatus err; - int tries = 0, max_tries = 4096; - (void)data; - - if (! pinentry->grab) - return FALSE; - - do - err = gdk_keyboard_grab (gtk_widget_get_window (win), - FALSE, gdk_event_get_time (event)); - while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE); - - if (err) - { - g_critical ("could not grab keyboard: %s (%d)", - grab_strerror (err), err); - grab_failed = 1; - gtk_main_quit (); - } - - if (tries > 1) - g_warning ("it took %d tries to grab the keyboard", tries); - - return FALSE; -} - - -/* Grab the pointer to prevent the user from accidentally locking - herself out of her graphical interface. */ -static int -grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) -{ - GdkGrabStatus err; - GdkCursor *cursor; - int tries = 0, max_tries = 4096; - (void)data; - - /* Change the cursor for the duration of the grab to indicate that - * something is going on. The fvwm window manager grabs the pointer - * for a short time and thus we may end up with the already grabbed - * error code. Actually this error code should be used to detect a - * malicious grabbing application but with fvwm this renders - * Pinentry only unusable. Thus we try again several times also for - * that error code. See Debian bug 850708 for details. */ - /* XXX: It would be nice to have a key cursor, unfortunately there - is none readily available. */ - cursor = gdk_cursor_new_for_display (gtk_widget_get_display (win), - GDK_DOT); - - do - err = gdk_pointer_grab (gtk_widget_get_window (win), - TRUE, 0 /* event mask */, - NULL /* confine to */, - cursor, - gdk_event_get_time (event)); - while (tries++ < max_tries && (err == GDK_GRAB_NOT_VIEWABLE - || err == GDK_GRAB_ALREADY_GRABBED)); - - if (err) - { - g_critical ("could not grab pointer: %s (%d)", - grab_strerror (err), err); - grab_failed = 1; - gtk_main_quit (); - } - - if (tries > 1) - g_warning ("it took %d tries to grab the pointer", tries); - - return FALSE; -} - - -/* Remove all grabs and restore the windows transient state. */ -static int -ungrab_inputs (GtkWidget *win, GdkEvent *event, gpointer data) -{ - (void)data; - gdk_keyboard_ungrab (gdk_event_get_time (event)); - gdk_pointer_ungrab (gdk_event_get_time (event)); - /* Unmake window transient for the root window. */ - /* gdk_window_set_transient_for cannot be used with parent = NULL to - unset transient hint (unlike gtk_ version which can). Replacement - code is taken from gtk_window_transient_parent_unrealized. */ - gdk_property_delete (gtk_widget_get_window (win), - gdk_atom_intern_static_string ("WM_TRANSIENT_FOR")); - return FALSE; -} - - -static int -delete_event (GtkWidget *widget, GdkEvent *event, gpointer data) -{ - (void)widget; - (void)event; - (void)data; - - pinentry->close_button = 1; - gtk_main_quit (); - return TRUE; -} - - -/* A button was clicked. DATA indicates which button was clicked - (i.e., the appropriate action) and is either CONFIRM_CANCEL, - CONFIRM_OK or CONFIRM_NOTOK. */ -static void -button_clicked (GtkWidget *widget, gpointer data) -{ - (void)widget; - - if (confirm_mode) - { - confirm_value = (confirm_value_t) data; - gtk_main_quit (); - - return; - } - - if (data) - { - const char *s, *s2; - - /* Okay button or enter used in text field. */ - s = gtk_entry_get_text (GTK_ENTRY (entry)); - if (!s) - s = ""; - - if (pinentry->repeat_passphrase && repeat_entry) - { - s2 = gtk_entry_get_text (GTK_ENTRY (repeat_entry)); - if (!s2) - s2 = ""; - if (strcmp (s, s2)) - { - gtk_label_set_text (GTK_LABEL (error_label), - pinentry->repeat_error_string? - pinentry->repeat_error_string: - "not correctly repeated"); - gtk_widget_grab_focus (entry); - return; /* again */ - } - pinentry->repeat_okay = 1; - } - - passphrase_ok = 1; - pinentry_setbufferlen (pinentry, strlen (s) + 1); - if (pinentry->pin) - strcpy (pinentry->pin, s); - } - gtk_main_quit (); -} - - -static void -enter_callback (GtkWidget *widget, GtkWidget *next_widget) -{ - if (next_widget) - gtk_widget_grab_focus (next_widget); - else - button_clicked (widget, (gpointer) CONFIRM_OK); -} - - -static void -cancel_callback (GtkAccelGroup *acc, GObject *accelerable, - guint keyval, GdkModifierType modifier, gpointer data) -{ - (void)acc; - (void)keyval; - (void)modifier; - (void)data; - - button_clicked (GTK_WIDGET (accelerable), (gpointer)CONFIRM_CANCEL); -} - - - -static gchar * -pinentry_utf8_validate (gchar *text) -{ - gchar *result; - - if (!text) - return NULL; - - if (g_utf8_validate (text, -1, NULL)) - return g_strdup (text); - - /* Failure: Assume that it was encoded in the current locale and - convert it to utf-8. */ - result = g_locale_to_utf8 (text, -1, NULL, NULL, NULL); - if (!result) - { - gchar *p; - - result = p = g_strdup (text); - while (!g_utf8_validate (p, -1, (const gchar **) &p)) - *p = '?'; - } - return result; -} - - -/* Handler called for "changed". We use it to update the quality - indicator. */ -static void -changed_text_handler (GtkWidget *widget) -{ - char textbuf[50]; - const char *s; - int length; - int percent; - GdkColor color = { 0, 0, 0, 0}; - - got_input = TRUE; - - if (pinentry->repeat_passphrase && repeat_entry) - { - gtk_entry_set_text (GTK_ENTRY (repeat_entry), ""); - gtk_label_set_text (GTK_LABEL (error_label), ""); - } - - if (!qualitybar || !pinentry->quality_bar) - return; - - s = gtk_entry_get_text (GTK_ENTRY (widget)); - if (!s) - s = ""; - length = strlen (s); - percent = length? pinentry_inq_quality (pinentry, s, length) : 0; - if (!length) - { - strcpy(textbuf, QUALITYBAR_EMPTY_TEXT); - color.red = 0xffff; - } - else if (percent < 0) - { - snprintf (textbuf, sizeof textbuf, "(%d%%)", -percent); - color.red = 0xffff; - percent = -percent; - } - else - { - snprintf (textbuf, sizeof textbuf, "%d%%", percent); - color.green = 0xffff; - } - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), - (double)percent/100.0); - gtk_progress_bar_set_text (GTK_PROGRESS_BAR (qualitybar), textbuf); - gtk_widget_modify_bg (qualitybar, GTK_STATE_PRELIGHT, &color); -} - - -/* Called upon a press on Backspace in the entry widget. - Used to completely disable echoing if we got no prior input. */ -static void -backspace_handler (GtkWidget *widget, gpointer data) -{ - (void)widget; - (void)data; - - if (!got_input) - { - gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0); - if (repeat_entry) - gtk_entry_set_invisible_char (GTK_ENTRY (repeat_entry), 0); - } -} - - -#ifdef HAVE_LIBSECRET -static void -may_save_passphrase_toggled (GtkWidget *widget, gpointer data) -{ - GtkToggleButton *button = GTK_TOGGLE_BUTTON (widget); - pinentry_t ctx = (pinentry_t) data; - - ctx->may_cache_password = gtk_toggle_button_get_active (button); -} -#endif - - -/* Return TRUE if it is okay to unhide the entry. */ -static int -confirm_unhiding (void) -{ - const char *s; - GtkWidget *dialog; - int result; - char *message, *show_btn_label; - - s = gtk_entry_get_text (GTK_ENTRY (entry)); - if (!s || !*s) - return TRUE; /* Nothing entered - go ahead an unhide. */ - - message = pinentry_utf8_validate (pinentry->default_cf_visi); - if (!message) - { - message = g_strdup ("Do you really want to make " - "your passphrase visible on the screen?"); - } - - show_btn_label = pinentry_utf8_validate (pinentry->default_tt_visi); - if (!show_btn_label) - { - show_btn_label = g_strdup ("Make passphrase visible"); - } - - dialog = gtk_message_dialog_new - (GTK_WINDOW (mainwindow), - GTK_DIALOG_MODAL, - GTK_MESSAGE_WARNING, - GTK_BUTTONS_NONE, - "%s", message); - gtk_dialog_add_buttons (GTK_DIALOG (dialog), - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - show_btn_label, GTK_RESPONSE_OK, - NULL); - result = (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK); - gtk_widget_destroy (dialog); - g_free (message); - g_free (show_btn_label); - - return result; -} - - -static void -show_hide_button_toggled (GtkWidget *widget, gpointer data) -{ - GtkToggleButton *button = GTK_TOGGLE_BUTTON (widget); - GtkWidget *label = data; - const char *text; - char *tooltip; - gboolean reveal; - - if (!gtk_toggle_button_get_active (button) || !confirm_unhiding ()) - { - text = "<span font=\"Monospace\" size=\"xx-small\">abc</span>"; - tooltip = pinentry_utf8_validate (pinentry->default_tt_visi); - if (!tooltip) - { - tooltip = g_strdup ("Make the passphrase visible"); - } - gtk_toggle_button_set_active (button, FALSE); - reveal = FALSE; - } - else - { - text = "<span font=\"Monospace\" size=\"xx-small\">***</span>"; - tooltip = pinentry_utf8_validate (pinentry->default_tt_hide); - if (!tooltip) - { - tooltip = g_strdup ("Hide the passphrase"); - } - reveal = TRUE; - } - - gtk_entry_set_visibility (GTK_ENTRY (entry), reveal); - if (repeat_entry) - { - gtk_entry_set_visibility (GTK_ENTRY (repeat_entry), reveal); - } - - gtk_label_set_markup (GTK_LABEL(label), text); - if (!pinentry->grab) - { - gtk_widget_set_tooltip_text (GTK_WIDGET(button), tooltip); - } - g_free (tooltip); -} - - -static gboolean -timeout_cb (gpointer data) -{ - pinentry_t pe = (pinentry_t)data; - if (!got_input) - { - gtk_main_quit (); - if (pe) - pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); - } - - /* Don't run again. */ - timeout_source = 0; - return FALSE; -} - - -static GtkWidget * -create_show_hide_button (void) -{ - GtkWidget *button, *label; - - label = gtk_label_new (NULL); - button = gtk_toggle_button_new (); - show_hide_button_toggled (button, label); - gtk_container_add (GTK_CONTAINER (button), label); - g_signal_connect (G_OBJECT (button), "toggled", - G_CALLBACK (show_hide_button_toggled), - label); - - return button; -} - - -static GtkWidget * -create_window (pinentry_t ctx) -{ - GtkWidget *w; - GtkWidget *win, *box; - GtkWidget *wvbox, *chbox, *bbox; - GtkAccelGroup *acc; - gchar *msg; - char *p; - - repeat_entry = NULL; - - /* FIXME: check the grabbing code against the one we used with the - old gpg-agent */ - win = gtk_window_new (GTK_WINDOW_TOPLEVEL); - mainwindow = GTK_WINDOW (win); - acc = gtk_accel_group_new (); - - g_signal_connect (G_OBJECT (win), "delete_event", - G_CALLBACK (delete_event), NULL); - -#if 0 - g_signal_connect (G_OBJECT (win), "destroy", G_CALLBACK (gtk_main_quit), - NULL); -#endif - g_signal_connect (G_OBJECT (win), "size-request", - G_CALLBACK (constrain_size), NULL); - - g_signal_connect (G_OBJECT (win), - "realize", G_CALLBACK (make_transient), NULL); - - if (!confirm_mode) - { - /* We need to grab the keyboard when its visible! not when its - mapped (there is a difference) */ - g_object_set (G_OBJECT(win), "events", - GDK_VISIBILITY_NOTIFY_MASK | GDK_STRUCTURE_MASK, NULL); - - g_signal_connect (G_OBJECT (win), - pinentry->grab - ? "visibility-notify-event" - : "focus-in-event", - G_CALLBACK (grab_keyboard), NULL); - if (pinentry->grab) - g_signal_connect (G_OBJECT (win), - "visibility-notify-event", - G_CALLBACK (grab_pointer), NULL); - g_signal_connect (G_OBJECT (win), - pinentry->grab ? "unmap-event" : "focus-out-event", - G_CALLBACK (ungrab_inputs), NULL); - } - gtk_window_add_accel_group (GTK_WINDOW (win), acc); - - wvbox = gtk_vbox_new (FALSE, HIG_LARGE * 2); - gtk_container_add (GTK_CONTAINER (win), wvbox); - gtk_container_set_border_width (GTK_CONTAINER (wvbox), HIG_LARGE); - - chbox = gtk_hbox_new (FALSE, HIG_LARGE); - gtk_box_pack_start (GTK_BOX (wvbox), chbox, FALSE, FALSE, 0); - - w = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, - GTK_ICON_SIZE_DIALOG); - gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.0); - gtk_box_pack_start (GTK_BOX (chbox), w, FALSE, FALSE, 0); - - box = gtk_vbox_new (FALSE, HIG_SMALL); - gtk_box_pack_start (GTK_BOX (chbox), box, TRUE, TRUE, 0); - - p = pinentry_get_title (pinentry); - if (p) - { - msg = pinentry_utf8_validate (p); - if (msg) - gtk_window_set_title (GTK_WINDOW(win), msg); - g_free (msg); - free (p); - } - - if (pinentry->description) - { - msg = pinentry_utf8_validate (pinentry->description); - w = gtk_label_new (msg); - g_free (msg); - gtk_misc_set_alignment (GTK_MISC (w), 0.0, 0.5); - gtk_label_set_line_wrap (GTK_LABEL (w), TRUE); - gtk_box_pack_start (GTK_BOX (box), w, TRUE, FALSE, 0); - } - if (!confirm_mode && (pinentry->error || pinentry->repeat_passphrase)) - { - /* With the repeat passphrase option we need to create the label - in any case so that it may later be updated by the error - message. */ - GdkColor color = { 0, 0xffff, 0, 0 }; - - if (pinentry->error) - msg = pinentry_utf8_validate (pinentry->error); - else - msg = ""; - error_label = gtk_label_new (msg); - if (pinentry->error) - g_free (msg); - gtk_misc_set_alignment (GTK_MISC (error_label), 0.0, 0.5); - gtk_label_set_line_wrap (GTK_LABEL (error_label), TRUE); - gtk_box_pack_start (GTK_BOX (box), error_label, TRUE, FALSE, 0); - gtk_widget_modify_fg (error_label, GTK_STATE_NORMAL, &color); - } - - qualitybar = NULL; - - if (!confirm_mode) - { - int nrow; - GtkWidget *table, *hbox; - - nrow = 1; - if (pinentry->quality_bar) - nrow++; - if (pinentry->repeat_passphrase) - nrow++; - - table = gtk_table_new (nrow, 2, FALSE); - nrow = 0; - gtk_box_pack_start (GTK_BOX (box), table, FALSE, FALSE, 0); - - if (pinentry->prompt) - { - msg = pinentry_utf8_validate (pinentry->prompt); - w = gtk_label_new_with_mnemonic (msg); - g_free (msg); - gtk_misc_set_alignment (GTK_MISC (w), 1.0, 0.5); - gtk_table_attach (GTK_TABLE (table), w, 0, 1, nrow, nrow+1, - GTK_FILL, GTK_FILL, 4, 0); - } - - entry = gtk_entry_new (); - gtk_entry_set_visibility (GTK_ENTRY (entry), FALSE); - /* Allow the user to set a narrower invisible character than the - large dot currently used by GTK. Examples are "•★Ⓐ" */ - if (pinentry->invisible_char) - { - gunichar *uch; - /*""*/ - uch = g_utf8_to_ucs4 (pinentry->invisible_char, -1, NULL, NULL, NULL); - if (uch) - { - gtk_entry_set_invisible_char (GTK_ENTRY (entry), *uch); - g_free (uch); - } - } - - gtk_widget_set_size_request (entry, 200, -1); - g_signal_connect (G_OBJECT (entry), "changed", - G_CALLBACK (changed_text_handler), entry); - - /* Enable disabling echo if we're not asking for a PIN. */ - if (pinentry->prompt && !strstr (pinentry->prompt, "PIN")) - { - g_signal_connect (G_OBJECT (entry), "backspace", - G_CALLBACK (backspace_handler), entry); - } - - hbox = gtk_hbox_new (FALSE, HIG_TINY); - gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); - /* There was a wish in issue #2139 that this button should not - be part of the tab order (focus_order). - This should still be added. */ - w = create_show_hide_button (); - gtk_box_pack_end (GTK_BOX (hbox), w, FALSE, FALSE, 0); - gtk_table_attach (GTK_TABLE (table), hbox, 1, 2, nrow, nrow+1, - GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); - gtk_widget_show (entry); - nrow++; - - if (pinentry->quality_bar) - { - msg = pinentry_utf8_validate (pinentry->quality_bar); - w = gtk_label_new (msg); - g_free (msg); - gtk_misc_set_alignment (GTK_MISC (w), 1.0, 0.5); - gtk_table_attach (GTK_TABLE (table), w, 0, 1, nrow, nrow+1, - GTK_FILL, GTK_FILL, 4, 0); - qualitybar = gtk_progress_bar_new(); - gtk_progress_bar_set_text (GTK_PROGRESS_BAR (qualitybar), - QUALITYBAR_EMPTY_TEXT); - gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), 0.0); - if (pinentry->quality_bar_tt && !pinentry->grab) - { - gtk_widget_set_tooltip_text (qualitybar, - pinentry->quality_bar_tt); - } - gtk_table_attach (GTK_TABLE (table), qualitybar, 1, 2, nrow, nrow+1, - GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); - nrow++; - } - - - if (pinentry->repeat_passphrase) - { - msg = pinentry_utf8_validate (pinentry->repeat_passphrase); - w = gtk_label_new (msg); - g_free (msg); - gtk_misc_set_alignment (GTK_MISC (w), 1.0, 0.5); - gtk_table_attach (GTK_TABLE (table), w, 0, 1, nrow, nrow+1, - GTK_FILL, GTK_FILL, 4, 0); - - repeat_entry = gtk_entry_new (); - gtk_entry_set_visibility (GTK_ENTRY (repeat_entry), FALSE); - gtk_widget_set_size_request (repeat_entry, 200, -1); - gtk_table_attach (GTK_TABLE (table), repeat_entry, 1, 2, nrow, nrow+1, - GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); - gtk_widget_show (repeat_entry); - nrow++; - - g_signal_connect (G_OBJECT (repeat_entry), "activate", - G_CALLBACK (enter_callback), NULL); - } - - /* When the user presses enter in the entry widget, the widget - is activated. If we have a repeat entry, send the focus to - it. Otherwise, activate the "Ok" button. */ - g_signal_connect (G_OBJECT (entry), "activate", - G_CALLBACK (enter_callback), repeat_entry); - } - - bbox = gtk_hbutton_box_new (); - gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); - gtk_box_set_spacing (GTK_BOX (bbox), 6); - gtk_box_pack_start (GTK_BOX (wvbox), bbox, TRUE, FALSE, 0); - -#ifdef HAVE_LIBSECRET - if (ctx->allow_external_password_cache && ctx->keyinfo) - /* Only show this if we can cache passwords and we have a stable - key identifier. */ - { - if (pinentry->default_pwmngr) - { - msg = pinentry_utf8_validate (pinentry->default_pwmngr); - w = gtk_check_button_new_with_mnemonic (msg); - g_free (msg); - } - else - w = gtk_check_button_new_with_label ("Save passphrase using libsecret"); - - /* Make sure it is off by default. */ - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w), FALSE); - - gtk_box_pack_start (GTK_BOX (box), w, TRUE, FALSE, 0); - gtk_widget_show (w); - - g_signal_connect (G_OBJECT (w), "toggled", - G_CALLBACK (may_save_passphrase_toggled), - (gpointer) ctx); - } -#endif - - if (!pinentry->one_button) - { - if (pinentry->cancel) - { - msg = pinentry_utf8_validate (pinentry->cancel); - w = gtk_button_new_with_mnemonic (msg); - g_free (msg); - } - else if (pinentry->default_cancel) - { - GtkWidget *image; - - msg = pinentry_utf8_validate (pinentry->default_cancel); - w = gtk_button_new_with_mnemonic (msg); - g_free (msg); - image = gtk_image_new_from_stock (GTK_STOCK_CANCEL, - GTK_ICON_SIZE_BUTTON); - if (image) - gtk_button_set_image (GTK_BUTTON (w), image); - } - else - w = gtk_button_new_from_stock (GTK_STOCK_CANCEL); - gtk_container_add (GTK_CONTAINER (bbox), w); - g_signal_connect (G_OBJECT (w), "clicked", - G_CALLBACK (button_clicked), - (gpointer) CONFIRM_CANCEL); - - gtk_accel_group_connect (acc, GDK_KEY_Escape, 0, 0, - g_cclosure_new (G_CALLBACK (cancel_callback), - NULL, NULL)); - } - - if (confirm_mode && !pinentry->one_button && pinentry->notok) - { - msg = pinentry_utf8_validate (pinentry->notok); - w = gtk_button_new_with_mnemonic (msg); - g_free (msg); - - gtk_container_add (GTK_CONTAINER (bbox), w); - g_signal_connect (G_OBJECT (w), "clicked", - G_CALLBACK (button_clicked), - (gpointer) CONFIRM_NOTOK); - } - - if (pinentry->ok) - { - msg = pinentry_utf8_validate (pinentry->ok); - w = gtk_button_new_with_mnemonic (msg); - g_free (msg); - } - else if (pinentry->default_ok) - { - GtkWidget *image; - - msg = pinentry_utf8_validate (pinentry->default_ok); - w = gtk_button_new_with_mnemonic (msg); - g_free (msg); - image = gtk_image_new_from_stock (GTK_STOCK_OK, - GTK_ICON_SIZE_BUTTON); - if (image) - gtk_button_set_image (GTK_BUTTON (w), image); - } - else - w = gtk_button_new_from_stock (GTK_STOCK_OK); - gtk_container_add (GTK_CONTAINER(bbox), w); - if (!confirm_mode) - { - gtk_widget_set_can_default (w, TRUE); - gtk_widget_grab_default (w); - } - - g_signal_connect (G_OBJECT (w), "clicked", - G_CALLBACK(button_clicked), - (gpointer) CONFIRM_OK); - - gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER); - gtk_window_set_keep_above (GTK_WINDOW (win), TRUE); - gtk_widget_show_all (win); - gtk_window_present (GTK_WINDOW (win)); /* Make sure it has the focus. */ - - if (pinentry->timeout > 0) - timeout_source = g_timeout_add (pinentry->timeout*1000, timeout_cb, pinentry); - - return win; -} - - -static int -gtk_cmd_handler (pinentry_t pe) -{ - GtkWidget *w; - int want_pass = !!pe->pin; - - got_input = FALSE; - pinentry = pe; - confirm_value = CONFIRM_CANCEL; - passphrase_ok = 0; - confirm_mode = want_pass ? 0 : 1; - w = create_window (pe); - gtk_main (); - gtk_widget_destroy (w); - while (gtk_events_pending ()) - gtk_main_iteration (); - - if (timeout_source) - /* There is a timer running. Cancel it. */ - { - g_source_remove (timeout_source); - timeout_source = 0; - } - - if (confirm_value == CONFIRM_CANCEL || grab_failed) - pe->canceled = 1; - - pinentry = NULL; - if (want_pass) - { - if (passphrase_ok && pe->pin) - return strlen (pe->pin); - else - return -1; - } - else - return (confirm_value == CONFIRM_OK) ? 1 : 0; -} - - -pinentry_cmd_handler_t pinentry_cmd_handler = gtk_cmd_handler; - - -int -main (int argc, char *argv[]) -{ - pinentry_init (PGMNAME); - -#ifdef FALLBACK_CURSES - if (pinentry_have_display (argc, argv)) - { - if (! gtk_init_check (&argc, &argv)) - { - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } - } - else - { - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } -#else - gtk_init (&argc, &argv); -#endif - - pinentry_parse_opts (argc, argv); - - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/install-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/install-sh deleted file mode 100755 index a5897de6..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/install-sh +++ /dev/null @@ -1,519 +0,0 @@ -#!/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/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/ChangeLog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/ChangeLog deleted file mode 100644 index a7d64198..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/ChangeLog +++ /dev/null @@ -1,13 +0,0 @@ -2010-04-14 Werner Koch <wk@g10code.com> - - * pkg.m4: New. - -2004-12-22 Werner Koch <wk@g10code.com> - - * gtk.m4, glib.m4, qt.m4: Fixed for automake 1.9 - -2004-09-27 Marcus Brinkmann <marcus@g10code.de> - - * curses.m4, glib.m4, gtk.m4, iconv.m4, qt.m4: New files. - - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.am deleted file mode 100644 index a5d43de4..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ -EXTRA_DIST = curses.m4 glib.m4 gpg-error.m4 gtk.m4 iconv.m4 \ - libassuan.m4 pkg.m4 qt.m4 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.in deleted file mode 100644 index 0fb709b6..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.in +++ /dev/null @@ -1,481 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = m4 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in ChangeLog -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -EXTRA_DIST = curses.m4 glib.m4 gpg-error.m4 gtk.m4 iconv.m4 \ - libassuan.m4 pkg.m4 qt.m4 - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu m4/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-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: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ - ctags-am distclean distclean-generic distdir 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 maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/curses.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/curses.m4 deleted file mode 100644 index 572d3214..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/curses.m4 +++ /dev/null @@ -1,140 +0,0 @@ -dnl IU_LIB_NCURSES, IU_LIB_CURSES and IU_LIB_TERMCAP are: -dnl Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. -dnl Written by Miles Bader <miles@gnu.ai.mit.edu> -dnl -dnl This program is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2, or (at your option) -dnl any later version. -dnl -dnl This program is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -dnl - -dnl IU_LIB_NCURSES -- check for, and configure, ncurses -dnl -dnl If libncurses is found to exist on this system and the --disable-ncurses -dnl flag wasn't specified, defines LIBNCURSES with the appropriate linker -dnl specification, and possibly defines NCURSES_INCLUDE with the appropriate -dnl -I flag to get access to ncurses include files. -dnl -AC_DEFUN([IU_LIB_NCURSES], [ - AC_ARG_ENABLE(ncurses, [ --disable-ncurses don't prefer -lncurses over -lcurses], - , enable_ncurses=yes) - if test "$enable_ncurses" = yes; then - PKG_CHECK_MODULES([NCURSES], [ncursesw], [LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=yes], [ - PKG_CHECK_MODULES([NCURSES], [ncurses], [LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=no], [ - AC_CHECK_LIB(ncursesw, initscr, LIBNCURSES="-lncursesw", - AC_CHECK_LIB(ncurses, initscr, LIBNCURSES="-lncurses")) - if test "$ac_cv_lib_ncursesw_initscr" = yes; then - have_ncursesw=yes - else - have_ncursesw=no - fi - ]) - ]) - if test "$LIBNCURSES"; then - # Use ncurses header files instead of the ordinary ones, if possible; - # is there a better way of doing this, that avoids looking in specific - # directories? - AC_ARG_WITH([ncurses-include-dir], - AS_HELP_STRING([--with-ncurses-include-dir=DIR], - [Set directory containing the include files for - use with -lncurses, when it isn't installed as - the default curses library. If DIR is "none", - then no special ncurses include files are used.])) - if test "${with_ncurses_include_dir+set}" = set; then - AC_MSG_CHECKING(for ncurses include dir) - case "$with_ncurses_include_dir" in - no|none) - inetutils_cv_includedir_ncurses=none;; - *) - inetutils_cv_includedir_ncurses="$with_ncurses_include_dir";; - esac - AC_MSG_RESULT($inetutils_cv_includedir_ncurses) - else - AC_CACHE_CHECK(for ncurses include dir, - inetutils_cv_includedir_ncurses, - if test "$have_ncursesw" = yes; then - ncursesdir=ncursesw - else - ncursesdir=ncurses - fi - for D in $includedir $prefix/include /local/include /usr/local/include /include /usr/include; do - if test -d $D/$ncursesdir; then - inetutils_cv_includedir_ncurses="$D/$ncursesdir" - break - fi - test "$inetutils_cv_includedir_ncurses" \ - || inetutils_cv_includedir_ncurses=none - done) - fi - if test "$inetutils_cv_includedir_ncurses" = none; then - NCURSES_INCLUDE="" - else - NCURSES_INCLUDE="-I$inetutils_cv_includedir_ncurses" - fi - fi - if test $have_ncursesw = yes; then - AC_DEFINE(HAVE_NCURSESW, 1, [Define if you have working ncursesw]) - fi - fi - AC_SUBST(NCURSES_INCLUDE) - AC_SUBST(LIBNCURSES)])dnl - -dnl IU_LIB_TERMCAP -- check for various termcap libraries -dnl -dnl Checks for various common libraries implementing the termcap interface, -dnl including ncurses (unless --disable ncurses is specified), curses (which -dnl does on some systems), termcap, and termlib. If termcap is found, then -dnl LIBTERMCAP is defined with the appropriate linker specification. -dnl -AC_DEFUN([IU_LIB_TERMCAP], [ - AC_REQUIRE([IU_LIB_NCURSES]) - if test "$LIBNCURSES"; then - LIBTERMCAP="$LIBNCURSES" - else - AC_CHECK_LIB(curses, tgetent, LIBTERMCAP=-lcurses) - if test "$ac_cv_lib_curses_tgetent" = no; then - AC_CHECK_LIB(termcap, tgetent, LIBTERMCAP=-ltermcap) - fi - if test "$ac_cv_lib_termcap_tgetent" = no; then - AC_CHECK_LIB(termlib, tgetent, LIBTERMCAP=-ltermlib) - fi - fi - AC_SUBST(LIBTERMCAP)])dnl - -dnl IU_LIB_CURSES -- check for curses, and associated libraries -dnl -dnl Checks for various libraries implementing the curses interface, and if -dnl found, defines LIBCURSES to be the appropriate linker specification, -dnl *including* any termcap libraries if needed (some versions of curses -dnl don't need termcap). -dnl -AC_DEFUN([IU_LIB_CURSES], [ - AC_REQUIRE([IU_LIB_TERMCAP]) - AC_REQUIRE([IU_LIB_NCURSES]) - if test "$LIBNCURSES"; then - LIBCURSES="$LIBNCURSES" # ncurses doesn't require termcap - else - _IU_SAVE_LIBS="$LIBS" - LIBS="$LIBTERMCAP" - AC_CHECK_LIB(curses, initscr, LIBCURSES="-lcurses") - if test "$LIBCURSES" -a "$LIBTERMCAP" -a "$LIBCURSES" != "$LIBTERMCAP"; then - AC_CACHE_CHECK(whether curses needs $LIBTERMCAP, - inetutils_cv_curses_needs_termcap, - LIBS="$LIBCURSES" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[initscr ();]])],[inetutils_cv_curses_needs_termcap=no],[inetutils_cv_curses_needs_termcap=yes])) - if test $inetutils_cv_curses_needs_termcap = yes; then - LIBCURSES="$LIBCURSES $LIBTERMCAP" - fi - fi - LIBS="$_IU_SAVE_LIBS" - fi - AC_SUBST(LIBCURSES)])dnl diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/glib.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/glib.m4 deleted file mode 100644 index 7338acb9..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/glib.m4 +++ /dev/null @@ -1,196 +0,0 @@ -# Configure paths for GLIB -# Owen Taylor 97-11-3 - -dnl AM_PATH_GLIB([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if "gmodule" or -dnl gthread is specified in MODULES, pass to glib-config -dnl -AC_DEFUN([AM_PATH_GLIB], -[dnl -dnl Get the cflags and libraries from the glib-config script -dnl -AC_ARG_WITH(glib-prefix,[ --with-glib-prefix=PFX Prefix where GLIB is installed (optional)], - glib_config_prefix="$withval", glib_config_prefix="") -AC_ARG_WITH(glib-exec-prefix,[ --with-glib-exec-prefix=PFX Exec prefix where GLIB is installed (optional)], - glib_config_exec_prefix="$withval", glib_config_exec_prefix="") -AC_ARG_ENABLE(glibtest, [ --disable-glibtest Do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - if test x$glib_config_exec_prefix != x ; then - glib_config_args="$glib_config_args --exec-prefix=$glib_config_exec_prefix" - if test x${GLIB_CONFIG+set} != xset ; then - GLIB_CONFIG=$glib_config_exec_prefix/bin/glib-config - fi - fi - if test x$glib_config_prefix != x ; then - glib_config_args="$glib_config_args --prefix=$glib_config_prefix" - if test x${GLIB_CONFIG+set} != xset ; then - GLIB_CONFIG=$glib_config_prefix/bin/glib-config - fi - fi - - for module in . $4 - do - case "$module" in - gmodule) - glib_config_args="$glib_config_args gmodule" - ;; - gthread) - glib_config_args="$glib_config_args gthread" - ;; - esac - done - - AC_PATH_PROG(GLIB_CONFIG, glib-config, no) - min_glib_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - no_glib="" - if test "$GLIB_CONFIG" = "no" ; then - no_glib=yes - else - GLIB_CFLAGS=`$GLIB_CONFIG $glib_config_args --cflags` - GLIB_LIBS=`$GLIB_CONFIG $glib_config_args --libs` - glib_config_major_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$GLIB_CONFIG $glib_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_glibtest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$GLIB_LIBS $LIBS" -dnl -dnl Now check if the installed GLIB is sufficiently new. (Also sanity -dnl checks the results of glib-config to some extent -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include <glib.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.glibtest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_glib_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_glib_version"); - exit(1); - } - - if ((glib_major_version != $glib_config_major_version) || - (glib_minor_version != $glib_config_minor_version) || - (glib_micro_version != $glib_config_micro_version)) - { - printf("\n*** 'glib-config --version' returned %d.%d.%d, but GLIB (%d.%d.%d)\n", - $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version, - glib_major_version, glib_minor_version, glib_micro_version); - printf ("*** was found! If glib-config was correct, then it is best\n"); - printf ("*** to remove the old version of GLIB. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH environment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If glib-config was wrong, set the environment variable GLIB_CONFIG\n"); - printf("*** to point to the correct copy of glib-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } - else if ((glib_major_version != GLIB_MAJOR_VERSION) || - (glib_minor_version != GLIB_MINOR_VERSION) || - (glib_micro_version != GLIB_MICRO_VERSION)) - { - printf("*** GLIB header files (version %d.%d.%d) do not match\n", - GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - glib_major_version, glib_minor_version, glib_micro_version); - } - else - { - if ((glib_major_version > major) || - ((glib_major_version == major) && (glib_minor_version > minor)) || - ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GLIB is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the glib-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GLIB, but you can also set the GLIB_CONFIG environment to point to the\n"); - printf("*** correct copy of glib-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_glib=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_glib" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GLIB_CONFIG" = "no" ; then - echo "*** The glib-config script installed by GLIB could not be found" - echo "*** If GLIB was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GLIB_CONFIG environment variable to the" - echo "*** full path to glib-config." - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include <glib.h> -#include <stdio.h> -], [ return ((glib_major_version) || (glib_minor_version) || (glib_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GLIB or finding the wrong" - echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occurred. This usually means GLIB was incorrectly installed" - echo "*** or that you have moved GLIB since it was installed. In the latter case, you" - echo "*** may want to edit the glib-config script: $GLIB_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - rm -f conf.glibtest -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gpg-error.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gpg-error.m4 deleted file mode 100644 index 4b5cd40b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gpg-error.m4 +++ /dev/null @@ -1,208 +0,0 @@ -# gpg-error.m4 - autoconf macro to detect libgpg-error. -# Copyright (C) 2002, 2003, 2004, 2011, 2014, 2018, 2020, 2021 -# g10 Code GmbH -# -# This file is free software; as a special exception the author gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# This file 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. -# -# Last-changed: 2022-02-15 - - -dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl -dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS, -dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS. The _MT_ variants are -dnl used for programs requireing real multi thread support. -dnl -dnl If a prefix option is not used, the config script is first -dnl searched in $SYSROOT/bin and then along $PATH. If the used -dnl config script does not match the host specification the script -dnl is added to the gpg_config_script_warn variable. -dnl -AC_DEFUN([AM_PATH_GPG_ERROR], -[ AC_REQUIRE([AC_CANONICAL_HOST]) - gpg_error_config_prefix="" - dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, - dnl since that is consistent with how our three siblings use the directory/ - dnl package name in --with-$dir_name-prefix=PFX. - AC_ARG_WITH(libgpg-error-prefix, - AS_HELP_STRING([--with-libgpg-error-prefix=PFX], - [prefix where GPG Error is installed (optional)]), - [gpg_error_config_prefix="$withval"]) - - dnl Accept --with-gpg-error-prefix and make it work the same as - dnl --with-libgpg-error-prefix above, for backwards compatibility, - dnl but do not document this old, inconsistently-named option. - AC_ARG_WITH(gpg-error-prefix,, - [gpg_error_config_prefix="$withval"]) - - if test x"${GPG_ERROR_CONFIG}" = x ; then - if test x"${gpg_error_config_prefix}" != x ; then - GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" - else - case "${SYSROOT}" in - /*) - if test -x "${SYSROOT}/bin/gpg-error-config" ; then - GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" - fi - ;; - '') - ;; - *) - AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) - ;; - esac - fi - fi - - AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) - min_gpg_error_version=ifelse([$1], ,1.33,$1) - ok=no - - AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no, [$prefix/bin:$PATH]) - if test "$GPGRT_CONFIG" != "no"; then - # Determine gpgrt_libdir - # - # Get the prefix of gpgrt-config assuming it's something like: - # <PREFIX>/bin/gpgrt-config - gpgrt_prefix=${GPGRT_CONFIG%/*/*} - possible_libdir1=${gpgrt_prefix}/lib - # Determine by using system libdir-format with CC, it's like: - # Normal style: /usr/lib - # GNU cross style: /usr/<triplet>/lib - # Debian style: /usr/lib/<multiarch-name> - # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 - # It is assumed that CC is specified to the one of host on cross build. - if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ - sed -n -e "/^libraries/{s/libraries: =//;s/:/\\ -/g;p;}"); then - # From the output of -print-search-dirs, select valid pkgconfig dirs. - libdir_candidates=$(for dir in $libdir_candidates; do - if p=$(cd $dir 2>/dev/null && pwd); then - test -d "$p/pkgconfig" && echo $p; - fi - done) - - for possible_libdir0 in $libdir_candidates; do - # possible_libdir0: - # Fallback candidate, the one of system-installed (by $CC) - # (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32) - # possible_libdir1: - # Another candidate, user-locally-installed - # (<gpgrt_prefix>/lib) - # possible_libdir2 - # Most preferred - # (<gpgrt_prefix>/<triplet>/lib, - # <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32) - if test "${possible_libdir0##*/}" = "lib"; then - possible_prefix0=${possible_libdir0%/lib} - possible_prefix0_triplet=${possible_prefix0##*/} - if test -z "$possible_prefix0_triplet"; then - continue - fi - possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib - else - possible_prefix0=${possible_libdir0%%/lib*} - possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} - fi - if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then - gpgrt_libdir=${possible_libdir2} - elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then - gpgrt_libdir=${possible_libdir1} - elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then - gpgrt_libdir=${possible_libdir0} - fi - if test -n "$gpgrt_libdir"; then break; fi - done - else - # When we cannot determine system libdir-format, use this: - gpgrt_libdir=${possible_libdir1} - fi - else - unset GPGRT_CONFIG - fi - - if test -n "$gpgrt_libdir"; then - GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" - if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then - GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" - AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) - gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` - else - unset GPGRT_CONFIG - fi - elif test "$GPG_ERROR_CONFIG" != "no"; then - gpg_error_config_version=`$GPG_ERROR_CONFIG --version` - unset GPGRT_CONFIG - fi - if test "$GPG_ERROR_CONFIG" != "no"; then - req_major=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - major=`echo $gpg_error_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $gpg_error_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -ge "$req_minor"; then - ok=yes - fi - fi - fi - fi - AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) - if test $ok = yes; then - GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` - GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` - if test -z "$GPGRT_CONFIG"; then - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` - else - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` - GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` - GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" - fi - AC_MSG_RESULT([yes ($gpg_error_config_version)]) - ifelse([$2], , :, [$2]) - if test -z "$GPGRT_CONFIG"; then - gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` - else - gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` - fi - if test x"$gpg_error_config_host" != xnone ; then - if test x"$gpg_error_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script "$GPG_ERROR_CONFIG" was -*** built for $gpg_error_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgpg-error-prefix -*** to specify a matching config script or use \$SYSROOT. -***]]) - gpg_config_script_warn="$gpg_config_script_warn libgpg-error" - fi - fi - else - GPG_ERROR_CFLAGS="" - GPG_ERROR_LIBS="" - GPG_ERROR_MT_CFLAGS="" - GPG_ERROR_MT_LIBS="" - AC_MSG_RESULT(no) - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GPG_ERROR_CFLAGS) - AC_SUBST(GPG_ERROR_LIBS) - AC_SUBST(GPG_ERROR_MT_CFLAGS) - AC_SUBST(GPG_ERROR_MT_LIBS) -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gtk.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gtk.m4 deleted file mode 100644 index 6f6a4222..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gtk.m4 +++ /dev/null @@ -1,194 +0,0 @@ -# Configure paths for GTK+ -# Owen Taylor 97-11-3 - -dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS -dnl -AC_DEFUN([AM_PATH_GTK], -[dnl -dnl Get the cflags and libraries from the gtk-config script -dnl -AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)], - gtk_config_prefix="$withval", gtk_config_prefix="") -AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)], - gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="") -AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program], - , enable_gtktest=yes) - - for module in . $4 - do - case "$module" in - gthread) - gtk_config_args="$gtk_config_args gthread" - ;; - esac - done - - if test x$gtk_config_exec_prefix != x ; then - gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config - fi - fi - if test x$gtk_config_prefix != x ; then - gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_prefix/bin/gtk-config - fi - fi - - AC_PATH_PROG(GTK_CONFIG, gtk-config, no) - min_gtk_version=ifelse([$1], ,0.99.7,$1) - AC_MSG_CHECKING(for GTK - version >= $min_gtk_version) - no_gtk="" - if test "$GTK_CONFIG" = "no" ; then - no_gtk=yes - else - GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` - GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` - gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" -dnl -dnl Now check if the installed GTK is sufficiently new. (Also sanity -dnl checks the results of gtk-config to some extent -dnl - rm -f conf.gtktest - AC_TRY_RUN([ -#include <gtk/gtk.h> -#include <stdio.h> -#include <stdlib.h> - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If gtk-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH environment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); - printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } -#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } -#endif /* defined (GTK_MAJOR_VERSION) ... */ - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); - printf("*** correct copy of gtk-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} -],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$GTK_CONFIG" = "no" ; then - echo "*** The gtk-config script installed by GTK could not be found" - echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GTK_CONFIG environment variable to the" - echo "*** full path to gtk-config." - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK test program, checking why..." - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - AC_TRY_LINK([ -#include <gtk/gtk.h> -#include <stdio.h> -], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ], - [ echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK or finding the wrong" - echo "*** version of GTK. If it is not finding GTK, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" ], - [ echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occurred. This usually means GTK was incorrectly installed" - echo "*** or that you have moved GTK since it was installed. In the latter case, you" - echo "*** may want to edit the gtk-config script: $GTK_CONFIG" ]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GTK_CFLAGS) - AC_SUBST(GTK_LIBS) - rm -f conf.gtktest -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/iconv.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/iconv.m4 deleted file mode 100644 index a285e9da..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/iconv.m4 +++ /dev/null @@ -1,288 +0,0 @@ -# iconv.m4 serial 21 -dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 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 From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include <stdlib.h> -#include <iconv.h> - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_func_iconv=yes]) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include <stdlib.h> -#include <iconv.h> - ]], - [[iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);]])], - [am_cv_lib_iconv=yes] - [am_cv_func_iconv=yes]) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, - dnl Solaris 10. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - am_cv_func_iconv_works=no - for ac_iconv_const in '' 'const'; do - AC_RUN_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include <iconv.h> -#include <string.h> - -#ifndef ICONV_CONST -# define ICONV_CONST $ac_iconv_const -#endif - ]], - [[int result = 0; - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 1; - iconv_close (cd_utf8_to_88591); - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\263"; - char buf[10]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - result |= 2; - iconv_close (cd_ascii_to_88591); - } - } - /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304"; - static char buf[2] = { (char)0xDE, (char)0xAD }; - ICONV_CONST char *inptr = input; - size_t inbytesleft = 1; - char *outptr = buf; - size_t outbytesleft = 1; - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) - result |= 4; - iconv_close (cd_88591_to_utf8); - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - ICONV_CONST char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - result |= 8; - iconv_close (cd_88591_to_utf8); - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - { - /* Try standardized names. */ - iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); - /* Try IRIX, OSF/1 names. */ - iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); - /* Try AIX names. */ - iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); - /* Try HP-UX names. */ - iconv_t cd4 = iconv_open ("utf8", "eucJP"); - if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) - && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) - result |= 16; - if (cd1 != (iconv_t)(-1)) - iconv_close (cd1); - if (cd2 != (iconv_t)(-1)) - iconv_close (cd2); - if (cd3 != (iconv_t)(-1)) - iconv_close (cd3); - if (cd4 != (iconv_t)(-1)) - iconv_close (cd4); - } - return result; -]])], - [am_cv_func_iconv_works=yes], , - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - test "$am_cv_func_iconv_works" = no || break - done - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE([HAVE_ICONV], [1], - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST([LIBICONV]) - AC_SUBST([LTLIBICONV]) -]) - -dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to -dnl avoid warnings like -dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". -dnl This is tricky because of the way 'aclocal' is implemented: -dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. -dnl Otherwise aclocal's initial scan pass would miss the macro definition. -dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. -dnl Otherwise aclocal would emit many "Use of uninitialized value $1" -dnl warnings. -m4_define([gl_iconv_AC_DEFUN], - m4_version_prereq([2.64], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [m4_ifdef([gl_00GNULIB], - [[AC_DEFUN_ONCE( - [$1], [$2])]], - [[AC_DEFUN( - [$1], [$2])]])])) -gl_iconv_AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include <stdlib.h> -#include <iconv.h> -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif - ]], - [[]])], - [am_cv_proto_iconv_arg1=""], - [am_cv_proto_iconv_arg1="const"]) - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([ - $am_cv_proto_iconv]) - else - dnl When compiling GNU libiconv on a system that does not have iconv yet, - dnl pick the POSIX compliant declaration without 'const'. - am_cv_proto_iconv_arg1="" - fi - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>. - m4_ifdef([gl_ICONV_H_DEFAULTS], - [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) - if test -n "$am_cv_proto_iconv_arg1"; then - ICONV_CONST="const" - fi - ]) -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/libassuan.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/libassuan.m4 deleted file mode 100644 index df504841..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/libassuan.m4 +++ /dev/null @@ -1,172 +0,0 @@ -dnl Autoconf macros for libassuan -dnl Copyright (C) 2002, 2003, 2011 Free Software Foundation, Inc. -dnl -dnl This file is free software; as a special exception the author gives -dnl unlimited permission to copy and/or distribute it, with or without -dnl modifications, as long as this notice is preserved. -dnl -dnl This file is distributed in the hope that it will be useful, but -dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the -dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -dnl SPDX-License-Identifier: FSFULLR -# Last-changed: 2020-11-17 - -dnl -dnl Common code used for libassuan detection [internal] -dnl Returns ok set to yes or no. -dnl -AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], -[ AC_REQUIRE([AC_CANONICAL_HOST]) - AC_ARG_WITH(libassuan-prefix, - AS_HELP_STRING([--with-libassuan-prefix=PFX], - [prefix where LIBASSUAN is installed (optional)]), - libassuan_config_prefix="$withval", libassuan_config_prefix="") - if test x$libassuan_config_prefix != x ; then - if test x${LIBASSUAN_CONFIG+set} != xset ; then - LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config - fi - fi - - use_gpgrt_config="" - if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then - if $GPGRT_CONFIG libassuan --exists; then - LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" - AC_MSG_NOTICE([Use gpgrt-config as libassuan-config]) - use_gpgrt_config=yes - fi - fi - if test -z "$use_gpgrt_config"; then - AC_PATH_PROG(LIBASSUAN_CONFIG, libassuan-config, no) - fi - - tmp=ifelse([$1], ,1:0.9.2,$1) - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libassuan_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libassuan_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libassuan_api=0 - min_libassuan_version="$tmp" - fi - - AC_MSG_CHECKING(for LIBASSUAN - version >= $min_libassuan_version) - ok=no - if test "$LIBASSUAN_CONFIG" != "no"; then - req_major=`echo $min_libassuan_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_libassuan_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_libassuan_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - - if test -z "$use_gpgrt_config"; then - libassuan_config_version=`$LIBASSUAN_CONFIG --version` - else - libassuan_config_version=`$LIBASSUAN_CONFIG --modversion` - fi - major=`echo $libassuan_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $libassuan_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $libassuan_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'` - - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -gt "$req_minor"; then - ok=yes - else - if test "$minor" -eq "$req_minor"; then - if test "$micro" -ge "$req_micro"; then - ok=yes - fi - fi - fi - fi - fi - fi - - if test $ok = yes; then - AC_MSG_RESULT([yes ($libassuan_config_version)]) - else - AC_MSG_RESULT(no) - fi - - if test $ok = yes; then - if test "$req_libassuan_api" -gt 0 ; then - if test -z "$use_gpgrt_config"; then - tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` - else - tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0` - fi - if test "$tmp" -gt 0 ; then - AC_MSG_CHECKING([LIBASSUAN API version]) - if test "$req_libassuan_api" -eq "$tmp" ; then - AC_MSG_RESULT(okay) - else - ok=no - AC_MSG_RESULT([does not match. want=$req_libassuan_api got=$tmp.]) - fi - fi - fi - fi - - if test $ok = yes; then - if test x"$host" != x ; then - if test -z "$use_gpgrt_config"; then - libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` - else - libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none` - fi - if test x"$libassuan_config_host" != xnone ; then - if test x"$libassuan_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script "$LIBASSUAN_CONFIG" was -*** built for $libassuan_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libassuan-prefix -*** to specify a matching config script. -***]]) - fi - fi - fi - fi -]) - -dnl AM_CHECK_LIBASSUAN([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test whether libassuan has at least MINIMUM-VERSION. This is -dnl used to test for features only available in newer versions. -dnl -AC_DEFUN([AM_CHECK_LIBASSUAN], -[ _AM_PATH_LIBASSUAN_COMMON($1) - if test $ok = yes; then - ifelse([$2], , :, [$2]) - else - ifelse([$3], , :, [$3]) - fi -]) - - - - -dnl AM_PATH_LIBASSUAN([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for libassuan and define LIBASSUAN_CFLAGS and LIBASSUAN_LIBS -dnl -AC_DEFUN([AM_PATH_LIBASSUAN], -[ _AM_PATH_LIBASSUAN_COMMON($1) - if test $ok = yes; then - LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags` - LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs` - ifelse([$2], , :, [$2]) - else - LIBASSUAN_CFLAGS="" - LIBASSUAN_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(LIBASSUAN_CFLAGS) - AC_SUBST(LIBASSUAN_LIBS) -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/pkg.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/pkg.m4 deleted file mode 100644 index 5acff96c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/pkg.m4 +++ /dev/null @@ -1,157 +0,0 @@ -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant <scott@netsplit.com>. -# -# 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)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -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. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure 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_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$PKG_CONFIG"; then - if test -n "$$1"; then - pkg_cv_[]$1="$$1" - else - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - fi -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 $2]) - -_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 - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[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 -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[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 <https://pkg-config.freedesktop.org/>.])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt.m4 deleted file mode 100644 index fdf99913..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt.m4 +++ /dev/null @@ -1,134 +0,0 @@ -dnl qt.m4 -dnl Copyright (C) 2015 Intevation GmbH -dnl -dnl This file is part of PINENTRY. -dnl -dnl PINENTRY is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl PINENTRY is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -dnl Autoconf macro to find Qt5 -dnl -dnl sets PINENTRY_QT_LIBS and PINENTRY_QT_CFLAGS -dnl -dnl if Qt5 was found have_qt5_libs is set to yes -dnl -dnl The moc lookup code is based on libpoppler (rev. d821207) - -AC_DEFUN([FIND_QT], -[ - AC_ARG_ENABLE(pinentry-qt5, - AS_HELP_STRING([--disable-pinentry-qt5], - [Don't use qt5 even if it is available.]), - enable_pinentry_qt5=$enableval, - enable_pinentry_qt5="try") - - have_qt5_libs="no"; - require_qt_cpp11="no"; - - if test "$enable_pinentry_qt5" != "no"; then - PKG_CHECK_MODULES(PINENTRY_QT, - Qt5Core >= 5.0.0 Qt5Gui >= 5.0.0 Qt5Widgets >= 5.0.0, - [have_qt5_libs="yes"], - [have_qt5_libs="no"]) - - if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then - PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -fpic" - fi - fi - if test "$have_qt5_libs" = "yes"; then - PKG_CHECK_MODULES(PINENTRY_QT_REQUIRE_CPP11, - Qt5Core >= 5.7.0, - [require_qt_cpp11="yes"], - [require_qt_cpp11="no"]) - - if test "${require_qt_cpp11}" = "yes"; then - PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -std=c++11" - fi - - qtlibdir=`"$PKG_CONFIG" --variable libdir Qt5Core` - if test -n "$qtlibdir"; then - if test "$enable_rpath" != "no"; then - PINENTRY_QT_LDFLAGS="$PINENTRY_QT_LDFLAGS -Wl,-rpath \"$qtlibdir\"" - fi - fi - - if test "$have_x11" = "yes"; then - PKG_CHECK_MODULES( - PINENTRY_QT_X11_EXTRAS, - Qt5X11Extras >= 5.1.0, - [have_qt5_x11extras="yes"], - [ - AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on X11]) - have_qt5_x11extras="no" - ]) - if test "$have_qt5_x11extras" = "yes"; then - PINENTRY_QT_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT_CFLAGS $PINENTRY_QT_X11_EXTRAS_CFLAGS" - PINENTRY_QT_LIBS="$LIBX11_LIBS $PINENTRY_QT_LIBS $PINENTRY_QT_X11_EXTRAS_LIBS" - fi - fi - - AC_CHECK_TOOL(MOC, moc) - AC_MSG_CHECKING([moc version]) - mocversion=`$MOC -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - AC_MSG_RESULT([no]) - # moc was not the qt5 one, try with moc-qt5 - AC_CHECK_TOOL(MOC2, moc-qt5) - mocversion=`$MOC2 -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - AC_CHECK_TOOL(QTCHOOSER, qtchooser) - qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` - mocversion=`$qt5tooldir/moc -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found - have_qt5_libs="no"; - else - MOC=$qt5tooldir/moc - fi - else - MOC=$MOC2 - fi - fi - - AC_CHECK_TOOL(RCC, rcc) - AC_MSG_CHECKING([rcc version]) - rccversion=`$RCC -v 2>&1` - rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` - if test x"$rccversiongrep" != x"$rccversion"; then - AC_MSG_RESULT([no]) - # rcc was not the qt5 one, try with rcc-qt5 - AC_CHECK_TOOL(RCC2, rcc-qt5) - rccversion=`$RCC2 -v 2>&1` - rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc-qt5 5|rcc 5"` - if test x"$rccversiongrep" != x"$rccversion"; then - AC_CHECK_TOOL(QTCHOOSER, qtchooser) - qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` - rccversion=`$qt5tooldir/rcc -v 2>&1` - rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` - if test x"$rccversiongrep" != x"$rccversion"; then - # no valid rcc found - have_qt5_libs="no"; - else - RCC=$qt5tooldir/rcc - fi - else - RCC=$RCC2 - fi - fi - - fi -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt4.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt4.m4 deleted file mode 100644 index 9212e574..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt4.m4 +++ /dev/null @@ -1,58 +0,0 @@ -dnl qt4.m4 -dnl Copyright (C) 2015 Intevation GmbH -dnl -dnl This file is part of PINENTRY. -dnl -dnl PINENTRY is free software; you can redistribute it and/or modify -dnl it under the terms of the GNU General Public License as published by -dnl the Free Software Foundation; either version 2 of the License, or -dnl (at your option) any later version. -dnl -dnl PINENTRY is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -dnl GNU General Public License for more details. -dnl -dnl You should have received a copy of the GNU General Public License -dnl along with this program; if not, write to the Free Software -dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - -dnl Autoconf macro to find either Qt4 -dnl -dnl sets PINENTRY_QT4_LIBS and PINENTRY_QT4_CFLAGS -dnl -dnl if Qt4 was found have_qt4_libs is set to yes -dnl -dnl The moc lookup code is based on libpoppler (rev. d821207) - -AC_DEFUN([FIND_QT4], -[ - have_qt4_libs="no"; - - if test "$enable_pinentry_qt4" != "no"; then - PKG_CHECK_MODULES(PINENTRY_QT4, - QtCore >= 4.6.0 QtGui >= 4.6.0, - [have_qt4_libs="yes"], - [have_qt4_libs="no"]) - fi - if test "$have_qt4_libs" = "yes"; then - AC_CHECK_TOOL(MOC4, moc) - AC_MSG_CHECKING([moc version]) - mocversion=`$MOC4 -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - AC_MSG_RESULT([no]) - # moc was not the qt4 one, try with moc-qt4 - AC_CHECK_TOOL(MOC42, moc-qt4) - mocversion=`$MOC42 -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found - have_qt4_libs="no"; - MOC4="not found" - else - MOC4=$MOC42 - fi - fi - fi -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/missing b/debian/pinentry-tqt/pinentry-tqt-1.2.1/missing deleted file mode 100755 index 1c8ff704..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/missing +++ /dev/null @@ -1,367 +0,0 @@ -#! /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 <pinard@iro.umontreal.ca>, 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 <bug-automake@gnu.org>." - 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/mkinstalldirs b/debian/pinentry-tqt/pinentry-tqt-1.2.1/mkinstalldirs deleted file mode 100755 index ef7e16fd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/mkinstalldirs +++ /dev/null @@ -1,161 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy - -scriptversion=2006-05-11.19 - -# Original author: Noah Friedman <friedman@prep.ai.mit.edu> -# Created: 1993-05-16 -# Public domain. -# -# This file is maintained in Automake, please report -# bugs to <bug-automake@gnu.org> or send patches to -# <automake-patches@gnu.org>. - -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 <bug-automake@gnu.org>." - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.am deleted file mode 100644 index 0866ccec..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.am +++ /dev/null @@ -1,44 +0,0 @@ -# Pinentry support library Makefile -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = - -if BUILD_LIBPINENTRY_CURSES -pinentry_curses = libpinentry-curses.a -else -pinentry_curses = -endif - -if BUILD_LIBPINENTRY_EMACS -pinentry_emacs_sources = pinentry-emacs.h pinentry-emacs.c -else -pinentry_emacs_sources = -endif - -noinst_LIBRARIES = libpinentry.a $(pinentry_curses) - -LDADD = $(COMMON_LIBS) -AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem - -libpinentry_a_SOURCES = pinentry.h pinentry.c argparse.c argparse.h \ - password-cache.h password-cache.c $(pinentry_emacs_sources) -libpinentry_curses_a_SOURCES = pinentry-curses.h pinentry-curses.c -libpinentry_curses_a_CFLAGS = @NCURSES_CFLAGS@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.in deleted file mode 100644 index 5d4f9154..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.in +++ /dev/null @@ -1,696 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Pinentry support library Makefile -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = pinentry -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libpinentry_curses_a_AR = $(AR) $(ARFLAGS) -libpinentry_curses_a_LIBADD = -am_libpinentry_curses_a_OBJECTS = \ - libpinentry_curses_a-pinentry-curses.$(OBJEXT) -libpinentry_curses_a_OBJECTS = $(am_libpinentry_curses_a_OBJECTS) -libpinentry_a_AR = $(AR) $(ARFLAGS) -libpinentry_a_LIBADD = -am__libpinentry_a_SOURCES_DIST = pinentry.h pinentry.c argparse.c \ - argparse.h password-cache.h password-cache.c pinentry-emacs.h \ - pinentry-emacs.c -@BUILD_LIBPINENTRY_EMACS_TRUE@am__objects_1 = \ -@BUILD_LIBPINENTRY_EMACS_TRUE@ pinentry-emacs.$(OBJEXT) -am_libpinentry_a_OBJECTS = pinentry.$(OBJEXT) argparse.$(OBJEXT) \ - password-cache.$(OBJEXT) $(am__objects_1) -libpinentry_a_OBJECTS = $(am_libpinentry_a_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/argparse.Po \ - ./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po \ - ./$(DEPDIR)/password-cache.Po ./$(DEPDIR)/pinentry-emacs.Po \ - ./$(DEPDIR)/pinentry.Po -am__mv = mv -f -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libpinentry_curses_a_SOURCES) $(libpinentry_a_SOURCES) -DIST_SOURCES = $(libpinentry_curses_a_SOURCES) \ - $(am__libpinentry_a_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -EXTRA_DIST = -@BUILD_LIBPINENTRY_CURSES_FALSE@pinentry_curses = -@BUILD_LIBPINENTRY_CURSES_TRUE@pinentry_curses = libpinentry-curses.a -@BUILD_LIBPINENTRY_EMACS_FALSE@pinentry_emacs_sources = -@BUILD_LIBPINENTRY_EMACS_TRUE@pinentry_emacs_sources = pinentry-emacs.h pinentry-emacs.c -noinst_LIBRARIES = libpinentry.a $(pinentry_curses) -LDADD = $(COMMON_LIBS) -AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem -libpinentry_a_SOURCES = pinentry.h pinentry.c argparse.c argparse.h \ - password-cache.h password-cache.c $(pinentry_emacs_sources) - -libpinentry_curses_a_SOURCES = pinentry-curses.h pinentry-curses.c -libpinentry_curses_a_CFLAGS = @NCURSES_CFLAGS@ -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pinentry/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu pinentry/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libpinentry-curses.a: $(libpinentry_curses_a_OBJECTS) $(libpinentry_curses_a_DEPENDENCIES) $(EXTRA_libpinentry_curses_a_DEPENDENCIES) - $(AM_V_at)-rm -f libpinentry-curses.a - $(AM_V_AR)$(libpinentry_curses_a_AR) libpinentry-curses.a $(libpinentry_curses_a_OBJECTS) $(libpinentry_curses_a_LIBADD) - $(AM_V_at)$(RANLIB) libpinentry-curses.a - -libpinentry.a: $(libpinentry_a_OBJECTS) $(libpinentry_a_DEPENDENCIES) $(EXTRA_libpinentry_a_DEPENDENCIES) - $(AM_V_at)-rm -f libpinentry.a - $(AM_V_AR)$(libpinentry_a_AR) libpinentry.a $(libpinentry_a_OBJECTS) $(libpinentry_a_LIBADD) - $(AM_V_at)$(RANLIB) libpinentry.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argparse.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/password-cache.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-emacs.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -libpinentry_curses_a-pinentry-curses.o: pinentry-curses.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpinentry_curses_a_CFLAGS) $(CFLAGS) -MT libpinentry_curses_a-pinentry-curses.o -MD -MP -MF $(DEPDIR)/libpinentry_curses_a-pinentry-curses.Tpo -c -o libpinentry_curses_a-pinentry-curses.o `test -f 'pinentry-curses.c' || echo '$(srcdir)/'`pinentry-curses.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpinentry_curses_a-pinentry-curses.Tpo $(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pinentry-curses.c' object='libpinentry_curses_a-pinentry-curses.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpinentry_curses_a_CFLAGS) $(CFLAGS) -c -o libpinentry_curses_a-pinentry-curses.o `test -f 'pinentry-curses.c' || echo '$(srcdir)/'`pinentry-curses.c - -libpinentry_curses_a-pinentry-curses.obj: pinentry-curses.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpinentry_curses_a_CFLAGS) $(CFLAGS) -MT libpinentry_curses_a-pinentry-curses.obj -MD -MP -MF $(DEPDIR)/libpinentry_curses_a-pinentry-curses.Tpo -c -o libpinentry_curses_a-pinentry-curses.obj `if test -f 'pinentry-curses.c'; then $(CYGPATH_W) 'pinentry-curses.c'; else $(CYGPATH_W) '$(srcdir)/pinentry-curses.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libpinentry_curses_a-pinentry-curses.Tpo $(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='pinentry-curses.c' object='libpinentry_curses_a-pinentry-curses.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpinentry_curses_a_CFLAGS) $(CFLAGS) -c -o libpinentry_curses_a-pinentry-curses.obj `if test -f 'pinentry-curses.c'; then $(CYGPATH_W) 'pinentry-curses.c'; else $(CYGPATH_W) '$(srcdir)/pinentry-curses.c'; fi` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 $(LIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/argparse.Po - -rm -f ./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po - -rm -f ./$(DEPDIR)/password-cache.Po - -rm -f ./$(DEPDIR)/pinentry-emacs.Po - -rm -f ./$(DEPDIR)/pinentry.Po - -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-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 ./$(DEPDIR)/argparse.Po - -rm -f ./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po - -rm -f ./$(DEPDIR)/password-cache.Po - -rm -f ./$(DEPDIR)/pinentry-emacs.Po - -rm -f ./$(DEPDIR)/pinentry.Po - -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: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-tags distdir 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 \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.c deleted file mode 100644 index ee9c08b9..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.c +++ /dev/null @@ -1,1608 +0,0 @@ -/* [argparse.c wk 17.06.97] Argument Parser for option handling - * Copyright (C) 1998-2001, 2006-2008, 2012 Free Software Foundation, Inc. - * Copyright (C) 1997-2001, 2006-2008, 2013-2015 Werner Koch - * - * This file is part of JNLIB, which is a subsystem of GnuPG. - * - * JNLIB is free software; you can redistribute it and/or modify it - * under the terms of either - * - * - the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * or - * - * - 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. - * - * or both in parallel, as here. - * - * JNLIB 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 copies of the GNU General Public License - * and the GNU Lesser General Public License along with this program; - * if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: (GPL-2.0+ OR LGPL-3.0+) - */ - -/* This file may be used as part of GnuPG or standalone. A GnuPG - build is detected by the presence of the macro GNUPG_MAJOR_VERSION. - Some feature are only availalbe in the GnuPG build mode. - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <ctype.h> -#include <string.h> -#include <stdarg.h> -#include <limits.h> -#include <errno.h> - -#ifdef GNUPG_MAJOR_VERSION -# include "libjnlib-config.h" -# include "mischelp.h" -# include "stringhelp.h" -# include "logging.h" -# ifdef JNLIB_NEED_UTF8CONV -# include "utf8conv.h" -# endif -#endif /*GNUPG_MAJOR_VERSION*/ - -#include "argparse.h" - -/* GnuPG uses GPLv3+ but a standalone version of this defaults to - GPLv2+ because that is the license of this file. Change this if - you include it in a program which uses GPLv3. If you don't want to - set a a copyright string for your usage() you may also hardcode it - here. */ -#ifndef GNUPG_MAJOR_VERSION - -# define ARGPARSE_GPL_VERSION 2 -# define ARGPARSE_CRIGHT_STR "Copyright (C) YEAR NAME" - -#else /* Used by GnuPG */ - -# define ARGPARSE_GPL_VERSION 3 -# define ARGPARSE_CRIGHT_STR "Copyright (C) 2015 Free Software Foundation, Inc." - -#endif /*GNUPG_MAJOR_VERSION*/ - -/* Replacements for standalone builds. */ -#ifndef GNUPG_MAJOR_VERSION -# ifndef _ -# define _(a) (a) -# endif -# ifndef DIM -# define DIM(v) (sizeof(v)/sizeof((v)[0])) -# endif -# define jnlib_malloc(a) malloc ((a)) -# define jnlib_realloc(a,b) realloc ((a), (b)) -# define jnlib_strdup(a) strdup ((a)) -# define jnlib_free(a) free ((a)) -# define jnlib_log_error my_log_error -# define jnlib_log_bug my_log_bug -# define trim_spaces(a) my_trim_spaces ((a)) -# define map_static_macro_string(a) (a) -#endif /*!GNUPG_MAJOR_VERSION*/ - - -#define ARGPARSE_STR(v) #v -#define ARGPARSE_STR2(v) ARGPARSE_STR(v) - - -/* Replacements for standalone builds. */ -#ifndef GNUPG_MAJOR_VERSION -static void -my_log_error (const char *fmt, ...) -{ - va_list arg_ptr ; - - va_start (arg_ptr, fmt); - fprintf (stderr, "%s: ", strusage (11)); - vfprintf (stderr, fmt, arg_ptr); - va_end (arg_ptr); -} - -static void -my_log_bug (const char *fmt, ...) -{ - va_list arg_ptr ; - - va_start (arg_ptr, fmt); - fprintf (stderr, "%s: Ohhhh jeeee: ", strusage (11)); - vfprintf (stderr, fmt, arg_ptr); - va_end (arg_ptr); - abort (); -} - -static char * -my_trim_spaces (char *str) -{ - char *string, *p, *mark; - - string = str; - /* Find first non space character. */ - for (p=string; *p && isspace (*(unsigned char*)p) ; p++) - ; - /* Move characters. */ - for ((mark = NULL); (*string = *p); string++, p++) - if (isspace (*(unsigned char*)p)) - { - if (!mark) - mark = string; - } - else - mark = NULL; - if (mark) - *mark = '\0' ; /* Remove trailing spaces. */ - - return str ; -} - -#endif /*!GNUPG_MAJOR_VERSION*/ - - - -/********************************* - * @Summary arg_parse - * #include "argparse.h" - * - * typedef struct { - * char *argc; pointer to argc (value subject to change) - * char ***argv; pointer to argv (value subject to change) - * unsigned flags; Global flags (DO NOT CHANGE) - * int err; print error about last option - * 1 = warning, 2 = abort - * int r_opt; return option - * int r_type; type of return value (0 = no argument found) - * union { - * int ret_int; - * long ret_long - * ulong ret_ulong; - * char *ret_str; - * } r; Return values - * struct { - * int idx; - * const char *last; - * void *aliases; - * } internal; DO NOT CHANGE - * } ARGPARSE_ARGS; - * - * typedef struct { - * int short_opt; - * const char *long_opt; - * unsigned flags; - * } ARGPARSE_OPTS; - * - * int arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts ); - * - * @Description - * This is my replacement for getopt(). See the example for a typical usage. - * Global flags are: - * Bit 0 : Do not remove options form argv - * Bit 1 : Do not stop at last option but return other args - * with r_opt set to -1. - * Bit 2 : Assume options and real args are mixed. - * Bit 3 : Do not use -- to stop option processing. - * Bit 4 : Do not skip the first arg. - * Bit 5 : allow usage of long option with only one dash - * Bit 6 : ignore --version - * all other bits must be set to zero, this value is modified by the - * function, so assume this is write only. - * Local flags (for each option): - * Bit 2-0 : 0 = does not take an argument - * 1 = takes int argument - * 2 = takes string argument - * 3 = takes long argument - * 4 = takes ulong argument - * Bit 3 : argument is optional (r_type will the be set to 0) - * Bit 4 : allow 0x etc. prefixed values. - * Bit 6 : Ignore this option - * Bit 7 : This is a command and not an option - * You stop the option processing by setting opts to NULL, the function will - * then return 0. - * @Return Value - * Returns the args.r_opt or 0 if ready - * r_opt may be -2/-7 to indicate an unknown option/command. - * @See Also - * ArgExpand - * @Notes - * You do not need to process the options 'h', '--help' or '--version' - * because this function includes standard help processing; but if you - * specify '-h', '--help' or '--version' you have to do it yourself. - * The option '--' stops argument processing; if bit 1 is set the function - * continues to return normal arguments. - * To process float args or unsigned args you must use a string args and do - * the conversion yourself. - * @Example - * - * ARGPARSE_OPTS opts[] = { - * { 'v', "verbose", 0 }, - * { 'd', "debug", 0 }, - * { 'o', "output", 2 }, - * { 'c', "cross-ref", 2|8 }, - * { 'm', "my-option", 1|8 }, - * { 300, "ignored-long-option, ARGPARSE_OP_IGNORE}, - * { 500, "have-no-short-option-for-this-long-option", 0 }, - * {0} }; - * ARGPARSE_ARGS pargs = { &argc, &argv, 0 } - * - * while( ArgParse( &pargs, &opts) ) { - * switch( pargs.r_opt ) { - * case 'v': opt.verbose++; break; - * case 'd': opt.debug++; break; - * case 'o': opt.outfile = pargs.r.ret_str; break; - * case 'c': opt.crf = pargs.r_type? pargs.r.ret_str:"a.crf"; break; - * case 'm': opt.myopt = pargs.r_type? pargs.r.ret_int : 1; break; - * case 500: opt.a_long_one++; break - * default : pargs.err = 1; break; -- force warning output -- - * } - * } - * if( argc > 1 ) - * log_fatal( "Too many args"); - * - */ - -typedef struct alias_def_s *ALIAS_DEF; -struct alias_def_s { - ALIAS_DEF next; - char *name; /* malloced buffer with name, \0, value */ - const char *value; /* ptr into name */ -}; - - -/* Object to store the names for the --ignore-invalid-option option. - This is a simple linked list. */ -typedef struct iio_item_def_s *IIO_ITEM_DEF; -struct iio_item_def_s -{ - IIO_ITEM_DEF next; - char name[1]; /* String with the long option name. */ -}; - -static const char *(*strusage_handler)( int ) = NULL; -static int (*custom_outfnc) (int, const char *); - -static int set_opt_arg(ARGPARSE_ARGS *arg, unsigned flags, char *s); -static void show_help(ARGPARSE_OPTS *opts, unsigned flags); -static void show_version(void); -static int writestrings (int is_error, const char *string, ...) -#if __GNUC__ >= 4 - __attribute__ ((sentinel(0))) -#endif - ; - - -void -argparse_register_outfnc (int (*fnc)(int, const char *)) -{ - custom_outfnc = fnc; -} - - -/* Write STRING and all following const char * arguments either to - stdout or, if IS_ERROR is set, to stderr. The list of strings must - be terminated by a NULL. */ -static int -writestrings (int is_error, const char *string, ...) -{ - va_list arg_ptr; - const char *s; - int count = 0; - - if (string) - { - s = string; - va_start (arg_ptr, string); - do - { - if (custom_outfnc) - custom_outfnc (is_error? 2:1, s); - else - fputs (s, is_error? stderr : stdout); - count += strlen (s); - } - while ((s = va_arg (arg_ptr, const char *))); - va_end (arg_ptr); - } - return count; -} - - -static void -flushstrings (int is_error) -{ - if (custom_outfnc) - custom_outfnc (is_error? 2:1, NULL); - else - fflush (is_error? stderr : stdout); -} - - -static void -initialize( ARGPARSE_ARGS *arg, const char *filename, unsigned *lineno ) -{ - if( !(arg->flags & (1<<15)) ) - { - /* Initialize this instance. */ - arg->internal.idx = 0; - arg->internal.last = NULL; - arg->internal.inarg = 0; - arg->internal.stopped = 0; - arg->internal.aliases = NULL; - arg->internal.cur_alias = NULL; - arg->internal.iio_list = NULL; - arg->err = 0; - arg->flags |= 1<<15; /* Mark as initialized. */ - if ( *arg->argc < 0 ) - jnlib_log_bug ("invalid argument for arg_parse\n"); - } - - - if (arg->err) - { - /* Last option was erroneous. */ - const char *s; - - if (filename) - { - if ( arg->r_opt == ARGPARSE_UNEXPECTED_ARG ) - s = _("argument not expected"); - else if ( arg->r_opt == ARGPARSE_READ_ERROR ) - s = _("read error"); - else if ( arg->r_opt == ARGPARSE_KEYWORD_TOO_LONG ) - s = _("keyword too long"); - else if ( arg->r_opt == ARGPARSE_MISSING_ARG ) - s = _("missing argument"); - else if ( arg->r_opt == ARGPARSE_INVALID_ARG ) - s = _("invalid argument"); - else if ( arg->r_opt == ARGPARSE_INVALID_COMMAND ) - s = _("invalid command"); - else if ( arg->r_opt == ARGPARSE_INVALID_ALIAS ) - s = _("invalid alias definition"); - else if ( arg->r_opt == ARGPARSE_OUT_OF_CORE ) - s = _("out of core"); - else - s = _("invalid option"); - jnlib_log_error ("%s:%u: %s\n", filename, *lineno, s); - } - else - { - s = arg->internal.last? arg->internal.last:"[??]"; - - if ( arg->r_opt == ARGPARSE_MISSING_ARG ) - jnlib_log_error (_("missing argument for option \"%.50s\"\n"), s); - else if ( arg->r_opt == ARGPARSE_INVALID_ARG ) - jnlib_log_error (_("invalid argument for option \"%.50s\"\n"), s); - else if ( arg->r_opt == ARGPARSE_UNEXPECTED_ARG ) - jnlib_log_error (_("option \"%.50s\" does not expect an " - "argument\n"), s ); - else if ( arg->r_opt == ARGPARSE_INVALID_COMMAND ) - jnlib_log_error (_("invalid command \"%.50s\"\n"), s); - else if ( arg->r_opt == ARGPARSE_AMBIGUOUS_OPTION ) - jnlib_log_error (_("option \"%.50s\" is ambiguous\n"), s); - else if ( arg->r_opt == ARGPARSE_AMBIGUOUS_COMMAND ) - jnlib_log_error (_("command \"%.50s\" is ambiguous\n"),s ); - else if ( arg->r_opt == ARGPARSE_OUT_OF_CORE ) - jnlib_log_error ("%s\n", _("out of core\n")); - else - jnlib_log_error (_("invalid option \"%.50s\"\n"), s); - } - if (arg->err != ARGPARSE_PRINT_WARNING) - exit (2); - arg->err = 0; - } - - /* Zero out the return value union. */ - arg->r.ret_str = NULL; - arg->r.ret_long = 0; -} - - -static void -store_alias( ARGPARSE_ARGS *arg, char *name, char *value ) -{ - /* TODO: replace this dummy function with a rea one - * and fix the probelms IRIX has with (ALIAS_DEV)arg.. - * used as lvalue - */ - (void)arg; - (void)name; - (void)value; -#if 0 - ALIAS_DEF a = jnlib_xmalloc( sizeof *a ); - a->name = name; - a->value = value; - a->next = (ALIAS_DEF)arg->internal.aliases; - (ALIAS_DEF)arg->internal.aliases = a; -#endif -} - - -/* Return true if KEYWORD is in the ignore-invalid-option list. */ -static int -ignore_invalid_option_p (ARGPARSE_ARGS *arg, const char *keyword) -{ - IIO_ITEM_DEF item = arg->internal.iio_list; - - for (; item; item = item->next) - if (!strcmp (item->name, keyword)) - return 1; - return 0; -} - - -/* Add the keywords up to the next LF to the list of to be ignored - options. After returning FP will either be at EOF or the next - character read wll be the first of a new line. The function - returns 0 on success or true on malloc failure. */ -static int -ignore_invalid_option_add (ARGPARSE_ARGS *arg, FILE *fp) -{ - IIO_ITEM_DEF item; - int c; - char name[100]; - int namelen = 0; - int ready = 0; - enum { skipWS, collectNAME, skipNAME, addNAME} state = skipWS; - - while (!ready) - { - c = getc (fp); - if (c == '\n') - ready = 1; - else if (c == EOF) - { - c = '\n'; - ready = 1; - } - again: - switch (state) - { - case skipWS: - if (!isascii (c) || !isspace(c)) - { - namelen = 0; - state = collectNAME; - goto again; - } - break; - - case collectNAME: - if (isspace (c)) - { - state = addNAME; - goto again; - } - else if (namelen < DIM(name)-1) - name[namelen++] = c; - else /* Too long. */ - state = skipNAME; - break; - - case skipNAME: - if (isspace (c)) - { - state = skipWS; - goto again; - } - break; - - case addNAME: - name[namelen] = 0; - if (!ignore_invalid_option_p (arg, name)) - { - item = jnlib_malloc (sizeof *item + namelen); - if (!item) - return 1; - strcpy (item->name, name); - item->next = (IIO_ITEM_DEF)arg->internal.iio_list; - arg->internal.iio_list = item; - } - state = skipWS; - goto again; - } - } - return 0; -} - - -/* Clear the entire ignore-invalid-option list. */ -static void -ignore_invalid_option_clear (ARGPARSE_ARGS *arg) -{ - IIO_ITEM_DEF item, tmpitem; - - for (item = arg->internal.iio_list; item; item = tmpitem) - { - tmpitem = item->next; - jnlib_free (item); - } - arg->internal.iio_list = NULL; -} - - - -/**************** - * Get options from a file. - * Lines starting with '#' are comment lines. - * Syntax is simply a keyword and the argument. - * Valid keywords are all keywords from the long_opt list without - * the leading dashes. The special keywords "help", "warranty" and "version" - * are not valid here. - * The special keyword "alias" may be used to store alias definitions, - * which are later expanded like long options. - * The option - * ignore-invalid-option OPTIONNAMEs - * is recognized and updates a list of option which should be ignored if they - * are not defined. - * Caller must free returned strings. - * If called with FP set to NULL command line args are parse instead. - * - * Q: Should we allow the syntax - * keyword = value - * and accept for boolean options a value of 1/0, yes/no or true/false? - * Note: Abbreviation of options is here not allowed. - */ -int -optfile_parse (FILE *fp, const char *filename, unsigned *lineno, - ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) -{ - int state, i, c; - int idx=0; - char keyword[100]; - char *buffer = NULL; - size_t buflen = 0; - int in_alias=0; - - if (!fp) /* Divert to to arg_parse() in this case. */ - return arg_parse (arg, opts); - - initialize (arg, filename, lineno); - - /* Find the next keyword. */ - state = i = 0; - for (;;) - { - c = getc (fp); - if (c == '\n' || c== EOF ) - { - if ( c != EOF ) - ++*lineno; - if (state == -1) - break; - else if (state == 2) - { - keyword[i] = 0; - for (i=0; opts[i].short_opt; i++ ) - { - if (opts[i].long_opt && !strcmp (opts[i].long_opt, keyword)) - break; - } - idx = i; - arg->r_opt = opts[idx].short_opt; - if ((opts[idx].flags & ARGPARSE_OPT_IGNORE)) - { - state = i = 0; - continue; - } - else if (!opts[idx].short_opt ) - { - if (!strcmp (keyword, "ignore-invalid-option")) - { - /* No argument - ignore this meta option. */ - state = i = 0; - continue; - } - else if (ignore_invalid_option_p (arg, keyword)) - { - /* This invalid option is in the iio list. */ - state = i = 0; - continue; - } - arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND) - ? ARGPARSE_INVALID_COMMAND - : ARGPARSE_INVALID_OPTION); - } - else if (!(opts[idx].flags & ARGPARSE_TYPE_MASK)) - arg->r_type = 0; /* Does not take an arg. */ - else if ((opts[idx].flags & ARGPARSE_OPT_OPTIONAL) ) - arg->r_type = 0; /* Arg is optional. */ - else - arg->r_opt = ARGPARSE_MISSING_ARG; - - break; - } - else if (state == 3) - { - /* No argument found. */ - if (in_alias) - arg->r_opt = ARGPARSE_MISSING_ARG; - else if (!(opts[idx].flags & ARGPARSE_TYPE_MASK)) - arg->r_type = 0; /* Does not take an arg. */ - else if ((opts[idx].flags & ARGPARSE_OPT_OPTIONAL)) - arg->r_type = 0; /* No optional argument. */ - else - arg->r_opt = ARGPARSE_MISSING_ARG; - - break; - } - else if (state == 4) - { - /* Has an argument. */ - if (in_alias) - { - if (!buffer) - arg->r_opt = ARGPARSE_UNEXPECTED_ARG; - else - { - char *p; - - buffer[i] = 0; - p = strpbrk (buffer, " \t"); - if (p) - { - *p++ = 0; - trim_spaces (p); - } - if (!p || !*p) - { - jnlib_free (buffer); - arg->r_opt = ARGPARSE_INVALID_ALIAS; - } - else - { - store_alias (arg, buffer, p); - } - } - } - else if (!(opts[idx].flags & ARGPARSE_TYPE_MASK)) - arg->r_opt = ARGPARSE_UNEXPECTED_ARG; - else - { - char *p; - - if (!buffer) - { - keyword[i] = 0; - buffer = jnlib_strdup (keyword); - if (!buffer) - arg->r_opt = ARGPARSE_OUT_OF_CORE; - } - else - buffer[i] = 0; - - if (buffer) - { - trim_spaces (buffer); - p = buffer; - if (*p == '"') - { - /* Remove quotes. */ - p++; - if (*p && p[strlen(p)-1] == '\"' ) - p[strlen(p)-1] = 0; - } - if (!set_opt_arg (arg, opts[idx].flags, p)) - jnlib_free(buffer); - } - } - break; - } - else if (c == EOF) - { - ignore_invalid_option_clear (arg); - if (ferror (fp)) - arg->r_opt = ARGPARSE_READ_ERROR; - else - arg->r_opt = 0; /* EOF. */ - break; - } - state = 0; - i = 0; - } - else if (state == -1) - ; /* Skip. */ - else if (state == 0 && isascii (c) && isspace(c)) - ; /* Skip leading white space. */ - else if (state == 0 && c == '#' ) - state = 1; /* Start of a comment. */ - else if (state == 1) - ; /* Skip comments. */ - else if (state == 2 && isascii (c) && isspace(c)) - { - /* Check keyword. */ - keyword[i] = 0; - for (i=0; opts[i].short_opt; i++ ) - if (opts[i].long_opt && !strcmp (opts[i].long_opt, keyword)) - break; - idx = i; - arg->r_opt = opts[idx].short_opt; - if ((opts[idx].flags & ARGPARSE_OPT_IGNORE)) - { - state = 1; /* Process like a comment. */ - } - else if (!opts[idx].short_opt) - { - if (!strcmp (keyword, "alias")) - { - in_alias = 1; - state = 3; - } - else if (!strcmp (keyword, "ignore-invalid-option")) - { - if (ignore_invalid_option_add (arg, fp)) - { - arg->r_opt = ARGPARSE_OUT_OF_CORE; - break; - } - state = i = 0; - ++*lineno; - } - else if (ignore_invalid_option_p (arg, keyword)) - state = 1; /* Process like a comment. */ - else - { - arg->r_opt = ((opts[idx].flags & ARGPARSE_OPT_COMMAND) - ? ARGPARSE_INVALID_COMMAND - : ARGPARSE_INVALID_OPTION); - state = -1; /* Skip rest of line and leave. */ - } - } - else - state = 3; - } - else if (state == 3) - { - /* Skip leading spaces of the argument. */ - if (!isascii (c) || !isspace(c)) - { - i = 0; - keyword[i++] = c; - state = 4; - } - } - else if (state == 4) - { - /* Collect the argument. */ - if (buffer) - { - if (i < buflen-1) - buffer[i++] = c; - else - { - char *tmp; - size_t tmplen = buflen + 50; - - tmp = jnlib_realloc (buffer, tmplen); - if (tmp) - { - buflen = tmplen; - buffer = tmp; - buffer[i++] = c; - } - else - { - jnlib_free (buffer); - arg->r_opt = ARGPARSE_OUT_OF_CORE; - break; - } - } - } - else if (i < DIM(keyword)-1) - keyword[i++] = c; - else - { - size_t tmplen = DIM(keyword) + 50; - buffer = jnlib_malloc (tmplen); - if (buffer) - { - buflen = tmplen; - memcpy(buffer, keyword, i); - buffer[i++] = c; - } - else - { - arg->r_opt = ARGPARSE_OUT_OF_CORE; - break; - } - } - } - else if (i >= DIM(keyword)-1) - { - arg->r_opt = ARGPARSE_KEYWORD_TOO_LONG; - state = -1; /* Skip rest of line and leave. */ - } - else - { - keyword[i++] = c; - state = 2; - } - } - - return arg->r_opt; -} - - - -static int -find_long_option( ARGPARSE_ARGS *arg, - ARGPARSE_OPTS *opts, const char *keyword ) -{ - int i; - size_t n; - - (void)arg; - - /* Would be better if we can do a binary search, but it is not - possible to reorder our option table because we would mess - up our help strings - What we can do is: Build a nice option - lookup table when this function is first invoked */ - if( !*keyword ) - return -1; - for(i=0; opts[i].short_opt; i++ ) - if( opts[i].long_opt && !strcmp( opts[i].long_opt, keyword) ) - return i; -#if 0 - { - ALIAS_DEF a; - /* see whether it is an alias */ - for( a = args->internal.aliases; a; a = a->next ) { - if( !strcmp( a->name, keyword) ) { - /* todo: must parse the alias here */ - args->internal.cur_alias = a; - return -3; /* alias available */ - } - } - } -#endif - /* not found, see whether it is an abbreviation */ - /* aliases may not be abbreviated */ - n = strlen( keyword ); - for(i=0; opts[i].short_opt; i++ ) { - if( opts[i].long_opt && !strncmp( opts[i].long_opt, keyword, n ) ) { - int j; - for(j=i+1; opts[j].short_opt; j++ ) { - if( opts[j].long_opt - && !strncmp( opts[j].long_opt, keyword, n ) ) - return -2; /* abbreviation is ambiguous */ - } - return i; - } - } - return -1; /* Not found. */ -} - -int -arg_parse( ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts) -{ - int idx; - int argc; - char **argv; - char *s, *s2; - int i; - - initialize( arg, NULL, NULL ); - argc = *arg->argc; - argv = *arg->argv; - idx = arg->internal.idx; - - if (!idx && argc && !(arg->flags & ARGPARSE_FLAG_ARG0)) - { - /* Skip the first argument. */ - argc--; argv++; idx++; - } - - next_one: - if (!argc) - { - /* No more args. */ - arg->r_opt = 0; - goto leave; /* Ready. */ - } - - s = *argv; - arg->internal.last = s; - - if (arg->internal.stopped && (arg->flags & ARGPARSE_FLAG_ALL)) - { - arg->r_opt = ARGPARSE_IS_ARG; /* Not an option but an argument. */ - arg->r_type = 2; - arg->r.ret_str = s; - argc--; argv++; idx++; /* set to next one */ - } - else if( arg->internal.stopped ) - { - arg->r_opt = 0; - goto leave; /* Ready. */ - } - else if ( *s == '-' && s[1] == '-' ) - { - /* Long option. */ - char *argpos; - - arg->internal.inarg = 0; - if (!s[2] && !(arg->flags & ARGPARSE_FLAG_NOSTOP)) - { - /* Stop option processing. */ - arg->internal.stopped = 1; - arg->flags |= ARGPARSE_FLAG_STOP_SEEN; - argc--; argv++; idx++; - goto next_one; - } - - argpos = strchr( s+2, '=' ); - if ( argpos ) - *argpos = 0; - i = find_long_option ( arg, opts, s+2 ); - if ( argpos ) - *argpos = '='; - - if ( i < 0 && !strcmp ( "help", s+2) ) - show_help (opts, arg->flags); - else if ( i < 0 && !strcmp ( "version", s+2) ) - { - if (!(arg->flags & ARGPARSE_FLAG_NOVERSION)) - { - show_version (); - exit(0); - } - } - else if ( i < 0 && !strcmp( "warranty", s+2)) - { - writestrings (0, strusage (16), "\n", NULL); - exit (0); - } - else if ( i < 0 && !strcmp( "dump-options", s+2) ) - { - for (i=0; opts[i].short_opt; i++ ) - { - if (opts[i].long_opt && !(opts[i].flags & ARGPARSE_OPT_IGNORE)) - writestrings (0, "--", opts[i].long_opt, "\n", NULL); - } - writestrings (0, "--dump-options\n--help\n--version\n--warranty\n", - NULL); - exit (0); - } - - if ( i == -2 ) - arg->r_opt = ARGPARSE_AMBIGUOUS_OPTION; - else if ( i == -1 ) - { - arg->r_opt = ARGPARSE_INVALID_OPTION; - arg->r.ret_str = s+2; - } - else - arg->r_opt = opts[i].short_opt; - if ( i < 0 ) - ; - else if ( (opts[i].flags & ARGPARSE_TYPE_MASK) ) - { - if ( argpos ) - { - s2 = argpos+1; - if ( !*s2 ) - s2 = NULL; - } - else - s2 = argv[1]; - if ( !s2 && (opts[i].flags & ARGPARSE_OPT_OPTIONAL) ) - { - arg->r_type = ARGPARSE_TYPE_NONE; /* Argument is optional. */ - } - else if ( !s2 ) - { - arg->r_opt = ARGPARSE_MISSING_ARG; - } - else if ( !argpos && *s2 == '-' - && (opts[i].flags & ARGPARSE_OPT_OPTIONAL) ) - { - /* The argument is optional and the next seems to be an - option. We do not check this possible option but - assume no argument */ - arg->r_type = ARGPARSE_TYPE_NONE; - } - else - { - set_opt_arg (arg, opts[i].flags, s2); - if ( !argpos ) - { - argc--; argv++; idx++; /* Skip one. */ - } - } - } - else - { - /* Does not take an argument. */ - if ( argpos ) - arg->r_type = ARGPARSE_UNEXPECTED_ARG; - else - arg->r_type = 0; - } - argc--; argv++; idx++; /* Set to next one. */ - } - else if ( (*s == '-' && s[1]) || arg->internal.inarg ) - { - /* Short option. */ - int dash_kludge = 0; - - i = 0; - if ( !arg->internal.inarg ) - { - arg->internal.inarg++; - if ( (arg->flags & ARGPARSE_FLAG_ONEDASH) ) - { - for (i=0; opts[i].short_opt; i++ ) - if ( opts[i].long_opt && !strcmp (opts[i].long_opt, s+1)) - { - dash_kludge = 1; - break; - } - } - } - s += arg->internal.inarg; - - if (!dash_kludge ) - { - for (i=0; opts[i].short_opt; i++ ) - if ( opts[i].short_opt == *s ) - break; - } - - if ( !opts[i].short_opt && ( *s == 'h' || *s == '?' ) ) - show_help (opts, arg->flags); - - arg->r_opt = opts[i].short_opt; - if (!opts[i].short_opt ) - { - arg->r_opt = (opts[i].flags & ARGPARSE_OPT_COMMAND)? - ARGPARSE_INVALID_COMMAND:ARGPARSE_INVALID_OPTION; - arg->internal.inarg++; /* Point to the next arg. */ - arg->r.ret_str = s; - } - else if ( (opts[i].flags & ARGPARSE_TYPE_MASK) ) - { - if ( s[1] && !dash_kludge ) - { - s2 = s+1; - set_opt_arg (arg, opts[i].flags, s2); - } - else - { - s2 = argv[1]; - if ( !s2 && (opts[i].flags & ARGPARSE_OPT_OPTIONAL) ) - { - arg->r_type = ARGPARSE_TYPE_NONE; - } - else if ( !s2 ) - { - arg->r_opt = ARGPARSE_MISSING_ARG; - } - else if ( *s2 == '-' && s2[1] - && (opts[i].flags & ARGPARSE_OPT_OPTIONAL) ) - { - /* The argument is optional and the next seems to - be an option. We do not check this possible - option but assume no argument. */ - arg->r_type = ARGPARSE_TYPE_NONE; - } - else - { - set_opt_arg (arg, opts[i].flags, s2); - argc--; argv++; idx++; /* Skip one. */ - } - } - s = "x"; /* This is so that !s[1] yields false. */ - } - else - { - /* Does not take an argument. */ - arg->r_type = ARGPARSE_TYPE_NONE; - arg->internal.inarg++; /* Point to the next arg. */ - } - if ( !s[1] || dash_kludge ) - { - /* No more concatenated short options. */ - arg->internal.inarg = 0; - argc--; argv++; idx++; - } - } - else if ( arg->flags & ARGPARSE_FLAG_MIXED ) - { - arg->r_opt = ARGPARSE_IS_ARG; - arg->r_type = 2; - arg->r.ret_str = s; - argc--; argv++; idx++; /* Set to next one. */ - } - else - { - arg->internal.stopped = 1; /* Stop option processing. */ - goto next_one; - } - - leave: - *arg->argc = argc; - *arg->argv = argv; - arg->internal.idx = idx; - return arg->r_opt; -} - - -/* Returns: -1 on error, 0 for an integer type and 1 for a non integer - type argument. */ -static int -set_opt_arg (ARGPARSE_ARGS *arg, unsigned flags, char *s) -{ - int base = (flags & ARGPARSE_OPT_PREFIX)? 0 : 10; - long l; - - switch ( (arg->r_type = (flags & ARGPARSE_TYPE_MASK)) ) - { - case ARGPARSE_TYPE_LONG: - case ARGPARSE_TYPE_INT: - errno = 0; - l = strtol (s, NULL, base); - if ((l == LONG_MIN || l == LONG_MAX) && errno == ERANGE) - { - arg->r_opt = ARGPARSE_INVALID_ARG; - return -1; - } - if (arg->r_type == ARGPARSE_TYPE_LONG) - arg->r.ret_long = l; - else if ( (l < 0 && l < INT_MIN) || l > INT_MAX ) - { - arg->r_opt = ARGPARSE_INVALID_ARG; - return -1; - } - else - arg->r.ret_int = (int)l; - return 0; - - case ARGPARSE_TYPE_ULONG: - while (isascii (*s) && isspace(*s)) - s++; - if (*s == '-') - { - arg->r.ret_ulong = 0; - arg->r_opt = ARGPARSE_INVALID_ARG; - return -1; - } - errno = 0; - arg->r.ret_ulong = strtoul (s, NULL, base); - if (arg->r.ret_ulong == ULONG_MAX && errno == ERANGE) - { - arg->r_opt = ARGPARSE_INVALID_ARG; - return -1; - } - return 0; - - case ARGPARSE_TYPE_STRING: - default: - arg->r.ret_str = s; - return 1; - } -} - - -static size_t -long_opt_strlen( ARGPARSE_OPTS *o ) -{ - size_t n = strlen (o->long_opt); - - if ( o->description && *o->description == '|' ) - { - const char *s; -#ifdef JNLIB_NEED_UTF8CONV - int is_utf8 = is_native_utf8 (); -#endif - - s=o->description+1; - if ( *s != '=' ) - n++; - /* For a (mostly) correct length calculation we exclude - continuation bytes (10xxxxxx) if we are on a native utf8 - terminal. */ - for (; *s && *s != '|'; s++ ) -#ifdef JNLIB_NEED_UTF8CONV - if ( is_utf8 && (*s&0xc0) != 0x80 ) -#endif - n++; - } - return n; -} - - -/**************** - * Print formatted help. The description string has some special - * meanings: - * - A description string which is "@" suppresses help output for - * this option - * - a description,ine which starts with a '@' and is followed by - * any other characters is printed as is; this may be used for examples - * ans such. - * - A description which starts with a '|' outputs the string between this - * bar and the next one as arguments of the long option. - */ -static void -show_help (ARGPARSE_OPTS *opts, unsigned int flags) -{ - const char *s; - char tmp[2]; - - show_version (); - writestrings (0, "\n", NULL); - s = strusage (42); - if (s && *s == '1') - { - s = strusage (40); - writestrings (1, s, NULL); - if (*s && s[strlen(s)] != '\n') - writestrings (1, "\n", NULL); - } - s = strusage(41); - writestrings (0, s, "\n", NULL); - if ( opts[0].description ) - { - /* Auto format the option description. */ - int i,j, indent; - - /* Get max. length of long options. */ - for (i=indent=0; opts[i].short_opt; i++ ) - { - if ( opts[i].long_opt ) - if ( !opts[i].description || *opts[i].description != '@' ) - if ( (j=long_opt_strlen(opts+i)) > indent && j < 35 ) - indent = j; - } - - /* Example: " -v, --verbose Viele Sachen ausgeben" */ - indent += 10; - if ( *opts[0].description != '@' ) - writestrings (0, "Options:", "\n", NULL); - for (i=0; opts[i].short_opt; i++ ) - { - s = map_static_macro_string (_( opts[i].description )); - if ( s && *s== '@' && !s[1] ) /* Hide this line. */ - continue; - if ( s && *s == '@' ) /* Unindented comment only line. */ - { - for (s++; *s; s++ ) - { - if ( *s == '\n' ) - { - if( s[1] ) - writestrings (0, "\n", NULL); - } - else - { - tmp[0] = *s; - tmp[1] = 0; - writestrings (0, tmp, NULL); - } - } - writestrings (0, "\n", NULL); - continue; - } - - j = 3; - if ( opts[i].short_opt < 256 ) - { - tmp[0] = opts[i].short_opt; - tmp[1] = 0; - writestrings (0, " -", tmp, NULL ); - if ( !opts[i].long_opt ) - { - if (s && *s == '|' ) - { - writestrings (0, " ", NULL); j++; - for (s++ ; *s && *s != '|'; s++, j++ ) - { - tmp[0] = *s; - tmp[1] = 0; - writestrings (0, tmp, NULL); - } - if ( *s ) - s++; - } - } - } - else - writestrings (0, " ", NULL); - if ( opts[i].long_opt ) - { - tmp[0] = opts[i].short_opt < 256?',':' '; - tmp[1] = 0; - j += writestrings (0, tmp, " --", opts[i].long_opt, NULL); - if (s && *s == '|' ) - { - if ( *++s != '=' ) - { - writestrings (0, " ", NULL); - j++; - } - for ( ; *s && *s != '|'; s++, j++ ) - { - tmp[0] = *s; - tmp[1] = 0; - writestrings (0, tmp, NULL); - } - if ( *s ) - s++; - } - writestrings (0, " ", NULL); - j += 3; - } - for (;j < indent; j++ ) - writestrings (0, " ", NULL); - if ( s ) - { - if ( *s && j > indent ) - { - writestrings (0, "\n", NULL); - for (j=0;j < indent; j++ ) - writestrings (0, " ", NULL); - } - for (; *s; s++ ) - { - if ( *s == '\n' ) - { - if ( s[1] ) - { - writestrings (0, "\n", NULL); - for (j=0; j < indent; j++ ) - writestrings (0, " ", NULL); - } - } - else - { - tmp[0] = *s; - tmp[1] = 0; - writestrings (0, tmp, NULL); - } - } - } - writestrings (0, "\n", NULL); - } - if ( (flags & ARGPARSE_FLAG_ONEDASH) ) - writestrings (0, "\n(A single dash may be used " - "instead of the double ones)\n", NULL); - } - if ( (s=strusage(19)) ) - { - writestrings (0, "\n", NULL); - writestrings (0, s, NULL); - } - flushstrings (0); - exit(0); -} - -static void -show_version () -{ - const char *s; - int i; - - /* Version line. */ - writestrings (0, strusage (11), NULL); - if ((s=strusage (12))) - writestrings (0, " (", s, ")", NULL); - writestrings (0, " ", strusage (13), "\n", NULL); - /* Additional version lines. */ - for (i=20; i < 30; i++) - if ((s=strusage (i))) - writestrings (0, s, "\n", NULL); - /* Copyright string. */ - if ((s=strusage (14))) - writestrings (0, s, "\n", NULL); - /* Licence string. */ - if( (s=strusage (10)) ) - writestrings (0, s, "\n", NULL); - /* Copying conditions. */ - if ( (s=strusage(15)) ) - writestrings (0, s, NULL); - /* Thanks. */ - if ((s=strusage(18))) - writestrings (0, s, NULL); - /* Additional program info. */ - for (i=30; i < 40; i++ ) - if ( (s=strusage (i)) ) - writestrings (0, s, NULL); - flushstrings (0); -} - - -void -usage (int level) -{ - const char *p; - - if (!level) - { - writestrings (1, strusage(11), " ", strusage(13), "; ", - strusage (14), "\n", NULL); - flushstrings (1); - } - else if (level == 1) - { - p = strusage (40); - writestrings (1, p, NULL); - if (*p && p[strlen(p)] != '\n') - writestrings (1, "\n", NULL); - exit (2); - } - else if (level == 2) - { - p = strusage (42); - if (p && *p == '1') - { - p = strusage (40); - writestrings (1, p, NULL); - if (*p && p[strlen(p)] != '\n') - writestrings (1, "\n", NULL); - } - writestrings (0, strusage(41), "\n", NULL); - exit (0); - } -} - -/* Level - * 0: Print copyright string to stderr - * 1: Print a short usage hint to stderr and terminate - * 2: Print a long usage hint to stdout and terminate - * 10: Return license info string - * 11: Return the name of the program - * 12: Return optional name of package which includes this program. - * 13: version string - * 14: copyright string - * 15: Short copying conditions (with LFs) - * 16: Long copying conditions (with LFs) - * 17: Optional printable OS name - * 18: Optional thanks list (with LFs) - * 19: Bug report info - *20..29: Additional lib version strings. - *30..39: Additional program info (with LFs) - * 40: short usage note (with LF) - * 41: long usage note (with LF) - * 42: Flag string: - * First char is '1': - * The short usage notes needs to be printed - * before the long usage note. - */ -const char * -strusage( int level ) -{ - const char *p = strusage_handler? strusage_handler(level) : NULL; - - if ( p ) - return map_static_macro_string (p); - - switch ( level ) - { - - case 10: -#if ARGPARSE_GPL_VERSION == 3 - p = ("License GPLv3+: GNU GPL version 3 or later " - "<https://www.gnu.org/licenses/gpl.html>"); -#else - p = ("License GPLv2+: GNU GPL version 2 or later " - "<https://www.gnu.org/licenses/>"); -#endif - break; - case 11: p = "foo"; break; - case 13: p = "0.0"; break; - case 14: p = ARGPARSE_CRIGHT_STR; break; - case 15: p = -"This is free software: you are free to change and redistribute it.\n" -"There is NO WARRANTY, to the extent permitted by law.\n"; - break; - case 16: p = -"This is free software; you can redistribute it and/or modify\n" -"it under the terms of the GNU General Public License as published by\n" -"the Free Software Foundation; either version " -ARGPARSE_STR2(ARGPARSE_GPL_VERSION) -" of the License, or\n" -"(at your option) any later version.\n\n" -"It is distributed in the hope that it will be useful,\n" -"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" -"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" -"GNU General Public License for more details.\n\n" -"You should have received a copy of the GNU General Public License\n" -"along with this software. If not, see <https://www.gnu.org/licenses/>.\n"; - break; - case 40: /* short and long usage */ - case 41: p = ""; break; - } - - return p; -} - - -/* Set the usage handler. This function is basically a constructor. */ -void -set_strusage ( const char *(*f)( int ) ) -{ - strusage_handler = f; -} - - -#ifdef TEST -static struct { - int verbose; - int debug; - char *outfile; - char *crf; - int myopt; - int echo; - int a_long_one; -} opt; - -int -main(int argc, char **argv) -{ - ARGPARSE_OPTS opts[] = { - ARGPARSE_x('v', "verbose", NONE, 0, "Laut sein"), - ARGPARSE_s_n('e', "echo" , ("Zeile ausgeben, damit wir sehen, " - "was wir eingegeben haben")), - ARGPARSE_s_n('d', "debug", "Debug\nfalls mal etwas\nschief geht"), - ARGPARSE_s_s('o', "output", 0 ), - ARGPARSE_o_s('c', "cross-ref", "cross-reference erzeugen\n" ), - /* Note that on a non-utf8 terminal the ß might garble the output. */ - ARGPARSE_s_n('s', "street","|Straße|set the name of the street to Straße"), - ARGPARSE_o_i('m', "my-option", 0), - ARGPARSE_s_n(500, "a-long-option", 0 ), - ARGPARSE_end() - }; - ARGPARSE_ARGS pargs = { &argc, &argv, (ARGPARSE_FLAG_ALL - | ARGPARSE_FLAG_MIXED - | ARGPARSE_FLAG_ONEDASH) }; - int i; - - while (arg_parse (&pargs, opts)) - { - switch (pargs.r_opt) - { - case ARGPARSE_IS_ARG : - printf ("arg='%s'\n", pargs.r.ret_str); - break; - case 'v': opt.verbose++; break; - case 'e': opt.echo++; break; - case 'd': opt.debug++; break; - case 'o': opt.outfile = pargs.r.ret_str; break; - case 'c': opt.crf = pargs.r_type? pargs.r.ret_str:"a.crf"; break; - case 'm': opt.myopt = pargs.r_type? pargs.r.ret_int : 1; break; - case 500: opt.a_long_one++; break; - default : pargs.err = ARGPARSE_PRINT_WARNING; break; - } - } - for (i=0; i < argc; i++ ) - printf ("%3d -> (%s)\n", i, argv[i] ); - puts ("Options:"); - if (opt.verbose) - printf (" verbose=%d\n", opt.verbose ); - if (opt.debug) - printf (" debug=%d\n", opt.debug ); - if (opt.outfile) - printf (" outfile='%s'\n", opt.outfile ); - if (opt.crf) - printf (" crffile='%s'\n", opt.crf ); - if (opt.myopt) - printf (" myopt=%d\n", opt.myopt ); - if (opt.a_long_one) - printf (" a-long-one=%d\n", opt.a_long_one ); - if (opt.echo) - printf (" echo=%d\n", opt.echo ); - - return 0; -} -#endif /*TEST*/ - -/**** bottom of file ****/ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.h deleted file mode 100644 index 5b652eba..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.h +++ /dev/null @@ -1,204 +0,0 @@ -/* argparse.h - Argument parser for option handling. - * Copyright (C) 1998,1999,2000,2001,2006 Free Software Foundation, Inc. - * - * This file is part of JNLIB, which is a subsystem of GnuPG. - * - * JNLIB is free software; you can redistribute it and/or modify it - * under the terms of either - * - * - the GNU Lesser General Public License as published by the Free - * Software Foundation; either version 3 of the License, or (at - * your option) any later version. - * - * or - * - * - 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. - * - * or both in parallel, as here. - * - * JNLIB 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 copies of the GNU General Public License - * and the GNU Lesser General Public License along with this program; - * if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: (GPL-2.0+ OR LGPL-3.0+) - */ - -#ifndef LIBJNLIB_ARGPARSE_H -#define LIBJNLIB_ARGPARSE_H - -#include <stdio.h> - -typedef struct -{ - int *argc; /* Pointer to ARGC (value subject to change). */ - char ***argv; /* Pointer to ARGV (value subject to change). */ - unsigned int flags; /* Global flags. May be set prior to calling the - parser. The parser may change the value. */ - int err; /* Print error description for last option. - Either 0, ARGPARSE_PRINT_WARNING or - ARGPARSE_PRINT_ERROR. */ - - int r_opt; /* Returns option code. */ - int r_type; /* Returns type of option value. */ - union { - int ret_int; - long ret_long; - unsigned long ret_ulong; - char *ret_str; - } r; /* Return values */ - - struct { - int idx; - int inarg; - int stopped; - const char *last; - void *aliases; - const void *cur_alias; - void *iio_list; - } internal; /* Private - do not change. */ -} ARGPARSE_ARGS; - -typedef struct -{ - int short_opt; - const char *long_opt; - unsigned int flags; - const char *description; /* Optional option description. */ -} ARGPARSE_OPTS; - - -/* Global flags (ARGPARSE_ARGS). */ -#define ARGPARSE_FLAG_KEEP 1 /* Do not remove options form argv. */ -#define ARGPARSE_FLAG_ALL 2 /* Do not stop at last option but return - remaining args with R_OPT set to -1. */ -#define ARGPARSE_FLAG_MIXED 4 /* Assume options and args are mixed. */ -#define ARGPARSE_FLAG_NOSTOP 8 /* Do not stop processing at "--". */ -#define ARGPARSE_FLAG_ARG0 16 /* Do not skip the first arg. */ -#define ARGPARSE_FLAG_ONEDASH 32 /* Allow long options with one dash. */ -#define ARGPARSE_FLAG_NOVERSION 64 /* No output for "--version". */ - -#define ARGPARSE_FLAG_STOP_SEEN 256 /* Set to true if a "--" has been seen. */ - -/* Flags for each option (ARGPARSE_OPTS). The type code may be - ORed with the OPT flags. */ -#define ARGPARSE_TYPE_NONE 0 /* Does not take an argument. */ -#define ARGPARSE_TYPE_INT 1 /* Takes an int argument. */ -#define ARGPARSE_TYPE_STRING 2 /* Takes a string argument. */ -#define ARGPARSE_TYPE_LONG 3 /* Takes a long argument. */ -#define ARGPARSE_TYPE_ULONG 4 /* Takes an unsigned long argument. */ -#define ARGPARSE_OPT_OPTIONAL (1<<3) /* Argument is optional. */ -#define ARGPARSE_OPT_PREFIX (1<<4) /* Allow 0x etc. prefixed values. */ -#define ARGPARSE_OPT_IGNORE (1<<6) /* Ignore command or option. */ -#define ARGPARSE_OPT_COMMAND (1<<7) /* The argument is a command. */ - -#define ARGPARSE_TYPE_MASK 7 /* Mask for the type values (internal). */ - -/* A set of macros to make option definitions easier to read. */ -#define ARGPARSE_x(s,l,t,f,d) \ - { (s), (l), ARGPARSE_TYPE_ ## t | (f), (d) } - -#define ARGPARSE_s(s,l,t,d) \ - { (s), (l), ARGPARSE_TYPE_ ## t, (d) } -#define ARGPARSE_s_n(s,l,d) \ - { (s), (l), ARGPARSE_TYPE_NONE, (d) } -#define ARGPARSE_s_i(s,l,d) \ - { (s), (l), ARGPARSE_TYPE_INT, (d) } -#define ARGPARSE_s_s(s,l,d) \ - { (s), (l), ARGPARSE_TYPE_STRING, (d) } -#define ARGPARSE_s_l(s,l,d) \ - { (s), (l), ARGPARSE_TYPE_LONG, (d) } -#define ARGPARSE_s_u(s,l,d) \ - { (s), (l), ARGPARSE_TYPE_ULONG, (d) } - -#define ARGPARSE_o(s,l,t,d) \ - { (s), (l), (ARGPARSE_TYPE_ ## t | ARGPARSE_OPT_OPTIONAL), (d) } -#define ARGPARSE_o_n(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_NONE | ARGPARSE_OPT_OPTIONAL), (d) } -#define ARGPARSE_o_i(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_INT | ARGPARSE_OPT_OPTIONAL), (d) } -#define ARGPARSE_o_s(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_STRING | ARGPARSE_OPT_OPTIONAL), (d) } -#define ARGPARSE_o_l(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_LONG | ARGPARSE_OPT_OPTIONAL), (d) } -#define ARGPARSE_o_u(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_ULONG | ARGPARSE_OPT_OPTIONAL), (d) } - -#define ARGPARSE_p(s,l,t,d) \ - { (s), (l), (ARGPARSE_TYPE_ ## t | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_p_n(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_NONE | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_p_i(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_INT | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_p_s(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_STRING | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_p_l(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_LONG | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_p_u(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_ULONG | ARGPARSE_OPT_PREFIX), (d) } - -#define ARGPARSE_op(s,l,t,d) \ - { (s), (l), (ARGPARSE_TYPE_ ## t \ - | ARGPARSE_OPT_OPTIONAL | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_op_n(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_NONE \ - | ARGPARSE_OPT_OPTIONAL | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_op_i(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_INT \ - | ARGPARSE_OPT_OPTIONAL | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_op_s(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_STRING \ - | ARGPARSE_OPT_OPTIONAL | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_op_l(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_LONG \ - | ARGPARSE_OPT_OPTIONAL | ARGPARSE_OPT_PREFIX), (d) } -#define ARGPARSE_op_u(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_ULONG \ - | ARGPARSE_OPT_OPTIONAL | ARGPARSE_OPT_PREFIX), (d) } - -#define ARGPARSE_c(s,l,d) \ - { (s), (l), (ARGPARSE_TYPE_NONE | ARGPARSE_OPT_COMMAND), (d) } - -#define ARGPARSE_ignore(s,l) \ - { (s), (l), (ARGPARSE_OPT_IGNORE), "@" } - -#define ARGPARSE_group(s,d) \ - { (s), NULL, 0, (d) } - -#define ARGPARSE_end() { 0, NULL, 0, NULL } - - -/* Other constants. */ -#define ARGPARSE_PRINT_WARNING 1 -#define ARGPARSE_PRINT_ERROR 2 - - -/* Error values. */ -#define ARGPARSE_IS_ARG (-1) -#define ARGPARSE_INVALID_OPTION (-2) -#define ARGPARSE_MISSING_ARG (-3) -#define ARGPARSE_KEYWORD_TOO_LONG (-4) -#define ARGPARSE_READ_ERROR (-5) -#define ARGPARSE_UNEXPECTED_ARG (-6) -#define ARGPARSE_INVALID_COMMAND (-7) -#define ARGPARSE_AMBIGUOUS_OPTION (-8) -#define ARGPARSE_AMBIGUOUS_COMMAND (-9) -#define ARGPARSE_INVALID_ALIAS (-10) -#define ARGPARSE_OUT_OF_CORE (-11) -#define ARGPARSE_INVALID_ARG (-12) - - -int arg_parse (ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts); -int optfile_parse (FILE *fp, const char *filename, unsigned *lineno, - ARGPARSE_ARGS *arg, ARGPARSE_OPTS *opts); -void usage (int level); -const char *strusage (int level); -void set_strusage (const char *(*f)( int )); -void argparse_register_outfnc (int (*fnc)(int, const char *)); - -#endif /*LIBJNLIB_ARGPARSE_H*/ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.c deleted file mode 100644 index f9523b1c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.c +++ /dev/null @@ -1,172 +0,0 @@ -/* password-cache.c - Password cache support. - Copyright (C) 2015 g10 Code GmbH - - This file is part of PINENTRY. - - PINENTRY is free software; you can redistribute 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. - - PINENTRY is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <https://www.gnu.org/licenses/>. - SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> - -#ifdef HAVE_LIBSECRET -# include <libsecret/secret.h> -#endif - -#include "password-cache.h" -#include "memory.h" - -#ifdef HAVE_LIBSECRET -static const SecretSchema * -gpg_schema (void) -{ - static const SecretSchema the_schema = { - "org.gnupg.Passphrase", SECRET_SCHEMA_NONE, - { - { "stored-by", SECRET_SCHEMA_ATTRIBUTE_STRING }, - { "keygrip", SECRET_SCHEMA_ATTRIBUTE_STRING }, - { "NULL", 0 }, - } - }; - return &the_schema; -} - -static char * -keygrip_to_label (const char *keygrip) -{ - char const prefix[] = "GnuPG: "; - char *label; - - label = malloc (sizeof (prefix) + strlen (keygrip)); - if (label) - { - memcpy (label, prefix, sizeof (prefix) - 1); - strcpy (&label[sizeof (prefix) - 1], keygrip); - } - return label; -} -#endif - -void -password_cache_save (const char *keygrip, const char *password) -{ -#ifdef HAVE_LIBSECRET - char *label; - GError *error = NULL; - - if (! *keygrip) - return; - - label = keygrip_to_label (keygrip); - if (! label) - return; - - if (! secret_password_store_sync (gpg_schema (), - SECRET_COLLECTION_DEFAULT, - label, password, NULL, &error, - "stored-by", "GnuPG Pinentry", - "keygrip", keygrip, NULL)) - { - fprintf (stderr, "Failed to cache password for key %s with secret service: %s\n", - keygrip, error->message); - - g_error_free (error); - } - - free (label); -#else - (void) keygrip; - (void) password; - return; -#endif -} - -char * -password_cache_lookup (const char *keygrip, int *fatal_error) -{ -#ifdef HAVE_LIBSECRET - GError *error = NULL; - char *password; - char *password2; - - if (! *keygrip) - return NULL; - - password = secret_password_lookup_nonpageable_sync - (gpg_schema (), NULL, &error, - "keygrip", keygrip, NULL); - - if (error != NULL) - { - if (fatal_error) - *fatal_error = 1; - - fprintf (stderr, "Failed to lookup password for key %s with secret service: %s\n", - keygrip, error->message); - g_error_free (error); - return NULL; - } - if (! password) - /* The password for this key is not cached. Just return NULL. */ - return NULL; - - /* The password needs to be returned in secmem allocated memory. */ - password2 = secmem_malloc (strlen (password) + 1); - if (password2) - strcpy(password2, password); - else - fprintf (stderr, "secmem_malloc failed: can't copy password!\n"); - - secret_password_free (password); - - return password2; -#else - (void) keygrip; - (void) fatal_error; - return NULL; -#endif -} - -/* Try and remove the cached password for key grip. Returns -1 on - error, 0 if the key is not found and 1 if the password was - removed. */ -int -password_cache_clear (const char *keygrip) -{ -#ifdef HAVE_LIBSECRET - GError *error = NULL; - int removed = secret_password_clear_sync (gpg_schema (), NULL, &error, - "keygrip", keygrip, NULL); - if (error != NULL) - { - fprintf (stderr, "Failed to clear password for key %s with secret service: %s\n", - keygrip, error->message); - g_debug("%s", error->message); - g_error_free (error); - return -1; - } - if (removed) - return 1; - return 0; -#else - (void) keygrip; - return -1; -#endif -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.h deleted file mode 100644 index d7ccfeef..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.h +++ /dev/null @@ -1,30 +0,0 @@ -/* password-cache.h - Password cache support interfaces. - Copyright (C) 2015 g10 Code GmbH - - This file is part of PINENTRY. - - PINENTRY is free software; you can redistribute 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. - - PINENTRY is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, see <https://www.gnu.org/licenses/>. - SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef PASSWORD_CACHE_H -#define PASSWORD_CACHE_H - -void password_cache_save (const char *key_grip, const char *password); - -char *password_cache_lookup (const char *key_grip, int *fatal_error); - -int password_cache_clear (const char *keygrip); - -#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.c deleted file mode 100644 index cc4cecbe..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.c +++ /dev/null @@ -1,1410 +0,0 @@ -/* pinentry-curses.c - A secure curses dialog for PIN entry, library version - * Copyright (C) 2002, 2015 g10 Code GmbH - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <http://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include <assert.h> -#include <curses.h> -#include <signal.h> -#include <fcntl.h> -#include <unistd.h> -#include <stdlib.h> -#include <locale.h> -#include <iconv.h> -#if defined(HAVE_LANGINFO_H) -# include <langinfo.h> -#elif defined(HAVE_W32_SYSTEM) -# include <stdio.h> -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include <windows.h> -/* A simple replacement for nl_langinfo that only understands - CODESET. */ -# define CODESET 1 -char * -nl_langinfo (int ignore) -{ - static char codepage[20]; - UINT cp = GetACP (); - - (void)ignore; - - sprintf (codepage, "CP%u", cp); - return codepage; -} -#endif -#include <limits.h> -#include <string.h> -#include <errno.h> -#include <time.h> -#include <sys/types.h> -#include <sys/stat.h> -#ifdef HAVE_UTIME_H -#include <utime.h> -#endif /*HAVE_UTIME_H*/ - -#include <memory.h> - -#ifdef HAVE_WCHAR_H -#include <wchar.h> -#endif /*HAVE_WCHAR_H*/ - -#include <assuan.h> - -#include "pinentry.h" - -#if GPG_ERROR_VERSION_NUMBER < 0x011900 /* 1.25 */ -# define GPG_ERR_WINDOW_TOO_SMALL 301 -# define GPG_ERR_MISSING_ENVVAR 303 -#endif - - -/* FIXME: We should allow configuration of these button labels and in - any case use the default_ok, default_cancel values if available. - However, I have no clue about curses and localization. */ -#define STRING_OK "<OK>" -#define STRING_NOTOK "<No>" -#define STRING_CANCEL "<Cancel>" - -#define USE_COLORS (has_colors () && COLOR_PAIRS >= 2) -static short pinentry_color[] = { -1, -1, COLOR_BLACK, COLOR_RED, - COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, - COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE }; -static int init_screen; -#ifndef HAVE_DOSISH_SYSTEM -static int timed_out; -#endif - -typedef enum - { - DIALOG_POS_NONE, - DIALOG_POS_PIN, - DIALOG_POS_OK, - DIALOG_POS_NOTOK, - DIALOG_POS_CANCEL - } -dialog_pos_t; - -struct dialog -{ - dialog_pos_t pos; - int pin_y; - int pin_x; - /* Width of the PIN field. */ - int pin_size; - /* Cursor location in PIN field. */ - int pin_loc; - int pin_max; - /* Length of PIN. */ - int pin_len; - int got_input; - int no_echo; - - int ok_y; - int ok_x; - char *ok; - int cancel_y; - int cancel_x; - char *cancel; - int notok_y; - int notok_x; - char *notok; - - pinentry_t pinentry; -}; -typedef struct dialog *dialog_t; - -/* Flag to remember whether a warning has been printed. */ -static int lc_ctype_unknown_warning; - -static char * -pinentry_utf8_to_local (const char *lc_ctype, const char *text) -{ - iconv_t cd; - const char *input = text; - size_t input_len = strlen (text) + 1; - char *output; - size_t output_len; - char *output_buf; - size_t processed; - char *old_ctype; - char *target_encoding; - const char *pgmname = pinentry_get_pgmname (); - - /* If no locale setting could be determined, simply copy the - string. */ - if (!lc_ctype) - { - if (! lc_ctype_unknown_warning) - { - fprintf (stderr, "%s: no LC_CTYPE known - assuming UTF-8\n", - pgmname); - lc_ctype_unknown_warning = 1; - } - return strdup (text); - } - - old_ctype = strdup (setlocale (LC_CTYPE, NULL)); - if (!old_ctype) - return NULL; - setlocale (LC_CTYPE, lc_ctype); - target_encoding = nl_langinfo (CODESET); - if (!target_encoding) - target_encoding = "?"; - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - - /* This is overkill, but simplifies the iconv invocation greatly. */ - output_len = input_len * MB_LEN_MAX; - output_buf = output = malloc (output_len); - if (!output) - return NULL; - - cd = iconv_open (target_encoding, "UTF-8"); - if (cd == (iconv_t) -1) - { - fprintf (stderr, "%s: can't convert from UTF-8 to %s: %s\n", - pgmname, target_encoding, strerror (errno)); - free (output_buf); - return NULL; - } - processed = iconv (cd, (ICONV_CONST char **)&input, &input_len, - &output, &output_len); - iconv_close (cd); - if (processed == (size_t) -1 || input_len) - { - fprintf (stderr, "%s: error converting from UTF-8 to %s: %s\n", - pgmname, target_encoding, strerror (errno)); - free (output_buf); - return NULL; - } - return output_buf; -} - -/* Convert TEXT which is encoded according to LC_CTYPE to UTF-8. With - SECURE set to true, use secure memory for the returned buffer. - Return NULL on error. */ -static char * -pinentry_local_to_utf8 (char *lc_ctype, char *text, int secure) -{ - char *old_ctype; - char *source_encoding; - iconv_t cd; - const char *input = text; - size_t input_len = strlen (text) + 1; - char *output; - size_t output_len; - char *output_buf; - size_t processed; - const char *pgmname = pinentry_get_pgmname (); - - /* If no locale setting could be determined, simply copy the - string. */ - if (!lc_ctype) - { - if (! lc_ctype_unknown_warning) - { - fprintf (stderr, "%s: no LC_CTYPE known - assuming UTF-8\n", - pgmname); - lc_ctype_unknown_warning = 1; - } - output_buf = secure? secmem_malloc (input_len) : malloc (input_len); - if (output_buf) - strcpy (output_buf, input); - return output_buf; - } - - old_ctype = strdup (setlocale (LC_CTYPE, NULL)); - if (!old_ctype) - return NULL; - setlocale (LC_CTYPE, lc_ctype); - source_encoding = nl_langinfo (CODESET); - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - - /* This is overkill, but simplifies the iconv invocation greatly. */ - output_len = input_len * MB_LEN_MAX; - output_buf = output = secure? secmem_malloc (output_len):malloc (output_len); - if (!output) - return NULL; - - cd = iconv_open ("UTF-8", source_encoding); - if (cd == (iconv_t) -1) - { - fprintf (stderr, "%s: can't convert from %s to UTF-8: %s\n", - pgmname, source_encoding? source_encoding : "?", - strerror (errno)); - if (secure) - secmem_free (output_buf); - else - free (output_buf); - return NULL; - } - processed = iconv (cd, (ICONV_CONST char **)&input, &input_len, - &output, &output_len); - iconv_close (cd); - if (processed == (size_t) -1 || input_len) - { - fprintf (stderr, "%s: error converting from %s to UTF-8: %s\n", - pgmname, source_encoding? source_encoding : "?", - strerror (errno)); - if (secure) - secmem_free (output_buf); - else - free (output_buf); - return NULL; - } - return output_buf; -} - -#ifdef HAVE_NCURSESW -typedef wchar_t CH; -#define STRLEN(x) wcslen (x) -#define STRWIDTH(x) wcswidth (x, wcslen (x)) -#define ADDCH(x) addnwstr (&x, 1); -#define CHWIDTH(x) wcwidth (x) -#define NULLCH L'\0' -#define NLCH L'\n' -#define SPCH L' ' -#else -typedef char CH; -#define STRLEN(x) strlen (x) -#define STRWIDTH(x) strlen (x) -#define ADDCH(x) addch ((unsigned char) x) -#define CHWIDTH(x) 1 -#define NULLCH '\0' -#define NLCH '\n' -#define SPCH ' ' -#endif - -/* Return the next line up to MAXWIDTH columns wide in START and LEN. - Return value is the width needed for the line. - The first invocation should have 0 as *LEN. If the line ends with - a \n, it is a normal line that will be continued. If it is a '\0' - the end of the text is reached after this line. In all other cases - there is a forced line break. A full line is returned and will be - continued in the next line. */ -static int -collect_line (int maxwidth, CH **start_p, int *len_p) -{ - int last_space = 0; - int len = *len_p; - int width = 0; - CH *end; - - /* Skip to next line. */ - *start_p += len; - /* Skip leading space. */ - while (**start_p == SPCH) - (*start_p)++; - - end = *start_p; - len = 0; - - while (width < maxwidth - 1 && *end != NULLCH && *end != NLCH) - { - if (*end == SPCH) - last_space = len; - width += CHWIDTH (*end); - len++; - end++; - } - - if (*end != NULLCH && *end != NLCH && last_space != 0) - { - /* We reached the end of the available space, but still have - characters to go in this line. We can break the line into - two parts at a space. */ - len = last_space; - (*start_p)[len] = NLCH; - } - *len_p = len + 1; - return width; -} - -#ifdef HAVE_NCURSESW -static CH * -utf8_to_local (char *lc_ctype, char *string) -{ - mbstate_t ps; - size_t len; - char *local; - const char *p; - wchar_t *wcs = NULL; - char *old_ctype = NULL; - - local = pinentry_utf8_to_local (lc_ctype, string); - if (!local) - return NULL; - - old_ctype = strdup (setlocale (LC_CTYPE, NULL)); - setlocale (LC_CTYPE, lc_ctype? lc_ctype : ""); - - p = local; - memset (&ps, 0, sizeof(mbstate_t)); - len = mbsrtowcs (NULL, &p, strlen (string), &ps); - if (len == (size_t)-1) - { - free (local); - goto leave; - } - wcs = calloc (len + 1, sizeof(wchar_t)); - if (!wcs) - { - free (local); - goto leave; - } - - p = local; - memset (&ps, 0, sizeof(mbstate_t)); - mbsrtowcs (wcs, &p, len, &ps); - - free (local); - - leave: - if (old_ctype) - { - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - } - - return wcs; -} -#else -static CH * -utf8_to_local (const char *lc_ctype, const char *string) -{ - return pinentry_utf8_to_local (lc_ctype, string); -} -#endif - -static int -dialog_create (pinentry_t pinentry, dialog_t dialog) -{ - int err = 0; - int size_y; - int size_x; - int y; - int x; - int ypos; - int xpos; - int description_x = 0; - int error_x = 0; - CH *description = NULL; - CH *error = NULL; - CH *prompt = NULL; - - dialog->pinentry = pinentry; - -#define COPY_OUT(what) \ - do \ - if (pinentry->what) \ - { \ - what = utf8_to_local (pinentry->lc_ctype, pinentry->what); \ - if (!what) \ - { \ - err = 1; \ - pinentry->specific_err = gpg_error (GPG_ERR_LOCALE_PROBLEM); \ - pinentry->specific_err_loc = "dialog_create_copy"; \ - goto out; \ - } \ - } \ - while (0) - - COPY_OUT (description); - COPY_OUT (error); - COPY_OUT (prompt); - - /* There is no pinentry->default_notok. Map it to - pinentry->notok. */ -#define default_notok notok -#define MAKE_BUTTON(which,default) \ - do \ - { \ - char *new = NULL; \ - if (pinentry->default_##which || pinentry->which) \ - { \ - int len; \ - char *msg; \ - int i, j; \ - \ - msg = pinentry->which; \ - if (! msg) \ - msg = pinentry->default_##which; \ - len = strlen (msg); \ - \ - new = malloc (len + 3); \ - if (!new) \ - { \ - err = 1; \ - pinentry->specific_err = gpg_error_from_syserror (); \ - pinentry->specific_err_loc = "dialog_create_mk_button"; \ - goto out; \ - } \ - \ - new[0] = '<'; \ - for (i = 0, j = 1; i < len; i ++, j ++) \ - { \ - if (msg[i] == '_') \ - { \ - i ++; \ - if (msg[i] == 0) \ - /* _ at end of string. */ \ - break; \ - } \ - new[j] = msg[i]; \ - } \ - \ - new[j] = '>'; \ - new[j + 1] = 0; \ - } \ - dialog->which = pinentry_utf8_to_local (pinentry->lc_ctype, \ - new ? new : default); \ - free (new); \ - if (!dialog->which) \ - { \ - err = 1; \ - pinentry->specific_err = gpg_error (GPG_ERR_LOCALE_PROBLEM); \ - pinentry->specific_err_loc = "dialog_create_utf8conv"; \ - goto out; \ - } \ - } \ - while (0) - - MAKE_BUTTON (ok, STRING_OK); - if (!pinentry->one_button) - MAKE_BUTTON (cancel, STRING_CANCEL); - else - dialog->cancel = NULL; - if (!pinentry->one_button && pinentry->notok) - MAKE_BUTTON (notok, STRING_NOTOK); - else - dialog->notok = NULL; - - getmaxyx (stdscr, size_y, size_x); - - /* Check if all required lines fit on the screen. */ - y = 1; /* Top frame. */ - if (description) - { - CH *start = description; - int len = 0; - - do - { - int width = collect_line (size_x - 4, &start, &len); - - if (width > description_x) - description_x = width; - y++; - } - while (start[len - 1]); - y++; - } - - if (pinentry->pin) - { - if (error) - { - CH *p = error; - int err_x = 0; - - while (*p) - { - if (*(p++) == '\n') - { - if (err_x > error_x) - error_x = err_x; - y++; - err_x = 0; - } - else - err_x++; - } - if (err_x > error_x) - error_x = err_x; - y += 2; /* Error message. */ - } - y += 2; /* Pin entry field. */ - } - y += 2; /* OK/Cancel and bottom frame. */ - - if (y > size_y) - { - err = 1; - pinentry->specific_err = gpg_error (size_y < 0? GPG_ERR_MISSING_ENVVAR - /* */ : GPG_ERR_WINDOW_TOO_SMALL); - pinentry->specific_err_loc = "dialog_create"; - goto out; - } - - /* Check if all required columns fit on the screen. */ - x = 0; - if (description) - { - int new_x = description_x; - if (new_x > size_x - 4) - new_x = size_x - 4; - if (new_x > x) - x = new_x; - } - if (pinentry->pin) - { -#define MIN_PINENTRY_LENGTH 40 - int new_x; - - if (error) - { - new_x = error_x; - if (new_x > size_x - 4) - new_x = size_x - 4; - if (new_x > x) - x = new_x; - } - - new_x = MIN_PINENTRY_LENGTH; - if (prompt) - { - new_x += STRWIDTH (prompt) + 1; /* One space after prompt. */ - } - if (new_x > size_x - 4) - new_x = size_x - 4; - if (new_x > x) - x = new_x; - } - /* We position the buttons after the first, second and third fourth - of the width. Account for rounding. */ - if (x < 3 * strlen (dialog->ok)) - x = 3 * strlen (dialog->ok); - if (dialog->cancel) - if (x < 3 * strlen (dialog->cancel)) - x = 3 * strlen (dialog->cancel); - if (dialog->notok) - if (x < 3 * strlen (dialog->notok)) - x = 3 * strlen (dialog->notok); - - /* Add the frame. */ - x += 4; - - if (x > size_x) - { - err = 1; - pinentry->specific_err = gpg_error (size_x < 0? GPG_ERR_MISSING_ENVVAR - /* */ : GPG_ERR_WINDOW_TOO_SMALL); - pinentry->specific_err_loc = "dialog_create"; - goto out; - } - - dialog->pos = DIALOG_POS_NONE; - dialog->pin_max = pinentry->pin_len; - dialog->pin_loc = 0; - dialog->pin_len = 0; - ypos = (size_y - y) / 2; - xpos = (size_x - x) / 2; - move (ypos, xpos); - addch (ACS_ULCORNER); - hline (0, x - 2); - move (ypos, xpos + x - 1); - addch (ACS_URCORNER); - move (ypos + 1, xpos + x - 1); - vline (0, y - 2); - move (ypos + y - 1, xpos); - addch (ACS_LLCORNER); - hline (0, x - 2); - move (ypos + y - 1, xpos + x - 1); - addch (ACS_LRCORNER); - ypos++; - if (description) - { - CH *start = description; - int len = 0; - - do - { - int i; - - move (ypos, xpos); - addch (ACS_VLINE); - addch (' '); - collect_line (size_x - 4, &start, &len); - for (i = 0; i < len - 1; i++) - { - ADDCH (start[i]); - } - if (start[len - 1] != NULLCH && start[len - 1] != NLCH) - ADDCH (start[len - 1]); - ypos++; - } - while (start[len - 1]); - move (ypos, xpos); - addch (ACS_VLINE); - ypos++; - } - if (pinentry->pin) - { - int i; - - if (error) - { - CH *p = error; - i = 0; - - while (*p) - { - move (ypos, xpos); - addch (ACS_VLINE); - addch (' '); - if (USE_COLORS && pinentry->color_so != PINENTRY_COLOR_NONE) - { - attroff (COLOR_PAIR (1) | (pinentry->color_fg_bright ? A_BOLD : 0)); - attron (COLOR_PAIR (2) | (pinentry->color_so_bright ? A_BOLD : 0)); - } - else - standout (); - for (;*p && *p != NLCH; p++) - if (i < x - 4) - { - i++; - ADDCH (*p); - } - if (USE_COLORS && pinentry->color_so != PINENTRY_COLOR_NONE) - { - attroff (COLOR_PAIR (2) | (pinentry->color_so_bright ? A_BOLD : 0)); - attron (COLOR_PAIR (1) | (pinentry->color_fg_bright ? A_BOLD : 0)); - } - else - standend (); - if (*p == '\n') - p++; - i = 0; - ypos++; - } - move (ypos, xpos); - addch (ACS_VLINE); - ypos++; - } - - move (ypos, xpos); - addch (ACS_VLINE); - addch (' '); - - dialog->pin_y = ypos; - dialog->pin_x = xpos + 2; - dialog->pin_size = x - 4; - if (prompt) - { - CH *p = prompt; - i = STRWIDTH (prompt); - if (i > x - 4 - MIN_PINENTRY_LENGTH) - i = x - 4 - MIN_PINENTRY_LENGTH; - dialog->pin_x += i + 1; - dialog->pin_size -= i + 1; - i = STRLEN (prompt); - while (i-- > 0) - { - ADDCH (*(p++)); - } - addch (' '); - } - for (i = 0; i < dialog->pin_size; i++) - addch ('_'); - ypos++; - move (ypos, xpos); - addch (ACS_VLINE); - ypos++; - } - move (ypos, xpos); - addch (ACS_VLINE); - - if (dialog->cancel || dialog->notok) - { - dialog->ok_y = ypos; - /* Calculating the left edge of the left button, rounding down. */ - dialog->ok_x = xpos + 2 + ((x - 4) / 3 - strlen (dialog->ok)) / 2; - move (dialog->ok_y, dialog->ok_x); - addstr (dialog->ok); - - if (! pinentry->pin && dialog->notok) - { - dialog->notok_y = ypos; - /* Calculating the left edge of the middle button, rounding up. */ - dialog->notok_x = xpos + x / 2 - strlen (dialog->notok) / 2; - move (dialog->notok_y, dialog->notok_x); - addstr (dialog->notok); - } - if (dialog->cancel) - { - dialog->cancel_y = ypos; - /* Calculating the left edge of the right button, rounding up. */ - dialog->cancel_x = xpos + x - 2 - ((x - 4) / 3 + strlen (dialog->cancel)) / 2; - move (dialog->cancel_y, dialog->cancel_x); - addstr (dialog->cancel); - } - } - else - { - dialog->ok_y = ypos; - /* Calculating the left edge of the OK button, rounding down. */ - dialog->ok_x = xpos + x / 2 - strlen (dialog->ok) / 2; - move (dialog->ok_y, dialog->ok_x); - addstr (dialog->ok); - } - - dialog->got_input = 0; - dialog->no_echo = 0; - - out: - if (description) - free (description); - if (error) - free (error); - if (prompt) - free (prompt); - return err; -} - - -static void -set_cursor_state (int on) -{ - static int normal_state = -1; - static int on_last; - - if (normal_state < 0 && !on) - { - normal_state = curs_set (0); - on_last = on; - } - else if (on != on_last) - { - curs_set (on ? normal_state : 0); - on_last = on; - } -} - -static int -dialog_switch_pos (dialog_t diag, dialog_pos_t new_pos) -{ - if (new_pos != diag->pos) - { - switch (diag->pos) - { - case DIALOG_POS_OK: - move (diag->ok_y, diag->ok_x); - addstr (diag->ok); - break; - case DIALOG_POS_NOTOK: - if (diag->notok) - { - move (diag->notok_y, diag->notok_x); - addstr (diag->notok); - } - break; - case DIALOG_POS_CANCEL: - if (diag->cancel) - { - move (diag->cancel_y, diag->cancel_x); - addstr (diag->cancel); - } - break; - default: - break; - } - diag->pos = new_pos; - switch (diag->pos) - { - case DIALOG_POS_PIN: - move (diag->pin_y, diag->pin_x + diag->pin_loc); - set_cursor_state (1); - break; - case DIALOG_POS_OK: - set_cursor_state (0); - move (diag->ok_y, diag->ok_x); - standout (); - addstr (diag->ok); - standend (); - move (diag->ok_y, diag->ok_x); - break; - case DIALOG_POS_NOTOK: - if (diag->notok) - { - set_cursor_state (0); - move (diag->notok_y, diag->notok_x); - standout (); - addstr (diag->notok); - standend (); - move (diag->notok_y, diag->notok_x); - } - break; - case DIALOG_POS_CANCEL: - if (diag->cancel) - { - set_cursor_state (0); - move (diag->cancel_y, diag->cancel_x); - standout (); - addstr (diag->cancel); - standend (); - move (diag->cancel_y, diag->cancel_x); - } - break; - case DIALOG_POS_NONE: - set_cursor_state (0); - break; - } - refresh (); - } - return 0; -} - -/* XXX Assume that field width is at least > 5. */ -static void -dialog_input (dialog_t diag, int alt, int chr) -{ - int old_loc = diag->pin_loc; - assert (diag->pinentry->pin); - assert (diag->pos == DIALOG_POS_PIN); - - if (alt && chr == KEY_BACKSPACE) - /* Remap alt-backspace to control-W. */ - chr = 'w' - 'a' + 1; - - switch (chr) - { - case KEY_BACKSPACE: - /* control-h. */ - case 'h' - 'a' + 1: - /* ASCII DEL. What Mac OS X apparently emits when the "delete" - (backspace) key is pressed. */ - case 127: - if (diag->pin_len > 0) - { - diag->pin_len--; - diag->pin_loc--; - if (diag->pin_loc == 0 && diag->pin_len > 0) - { - diag->pin_loc = diag->pin_size - 5; - if (diag->pin_loc > diag->pin_len) - diag->pin_loc = diag->pin_len; - } - } - else if (!diag->got_input) - { - diag->no_echo = 1; - move (diag->pin_y, diag->pin_x); - addstr ("[no echo]"); - } - break; - - case 'l' - 'a' + 1: /* control-l */ - /* Refresh the screen. */ - endwin (); - refresh (); - break; - - case 'u' - 'a' + 1: /* control-u */ - /* Erase the whole line. */ - if (diag->pin_len > 0) - { - diag->pin_len = 0; - diag->pin_loc = 0; - } - break; - - case 'w' - 'a' + 1: /* control-w. */ - while (diag->pin_len > 0 - && diag->pinentry->pin[diag->pin_len - 1] == ' ') - { - diag->pin_len --; - diag->pin_loc --; - if (diag->pin_loc < 0) - { - diag->pin_loc += diag->pin_size; - if (diag->pin_loc > diag->pin_len) - diag->pin_loc = diag->pin_len; - } - } - while (diag->pin_len > 0 - && diag->pinentry->pin[diag->pin_len - 1] != ' ') - { - diag->pin_len --; - diag->pin_loc --; - if (diag->pin_loc < 0) - { - diag->pin_loc += diag->pin_size; - if (diag->pin_loc > diag->pin_len) - diag->pin_loc = diag->pin_len; - } - } - - break; - - default: - if (chr > 0 && chr < 256 && diag->pin_len < diag->pin_max) - { - /* Make sure there is enough room for this character and a - following NUL byte. */ - if (! pinentry_setbufferlen (diag->pinentry, diag->pin_len + 2)) - { - /* Bail. Here we use a simple approach. It would be - better to have a pinentry_bug function. */ - assert (!"setbufferlen failed"); - abort (); - } - - diag->pinentry->pin[diag->pin_len] = (char) chr; - diag->pin_len++; - diag->pin_loc++; - if (diag->pin_loc == diag->pin_size && diag->pin_len < diag->pin_max) - { - diag->pin_loc = 5; - if (diag->pin_loc < diag->pin_size - (diag->pin_max + 1 - diag->pin_len)) - diag->pin_loc = diag->pin_size - (diag->pin_max + 1 - diag->pin_len); - } - } - break; - } - - diag->got_input = 1; - - if (!diag->no_echo) - { - if (old_loc < diag->pin_loc) - { - move (diag->pin_y, diag->pin_x + old_loc); - while (old_loc++ < diag->pin_loc) - addch ('*'); - } - else if (old_loc > diag->pin_loc) - { - move (diag->pin_y, diag->pin_x + diag->pin_loc); - while (old_loc-- > diag->pin_loc) - addch ('_'); - } - move (diag->pin_y, diag->pin_x + diag->pin_loc); - } -} - -static int -dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) -{ - int confirm_mode = !pinentry->pin; - struct dialog diag; - FILE *ttyfi = NULL; - FILE *ttyfo = NULL; - SCREEN *screen = 0; - int done = 0; - char *pin_utf8; - int alt = 0; -#ifndef HAVE_DOSISH_SYSTEM - int no_input = 1; -#endif - -#ifdef HAVE_NCURSESW - char *old_ctype = NULL; - - if (pinentry->lc_ctype) - { - old_ctype = strdup (setlocale (LC_CTYPE, NULL)); - setlocale (LC_CTYPE, pinentry->lc_ctype); - } - else - setlocale (LC_CTYPE, ""); -#endif - - /* Open the desired terminal if necessary. */ - if (tty_name) - { - ttyfi = fopen (tty_name, "r"); - if (!ttyfi) - { - pinentry->specific_err = gpg_error_from_syserror (); - pinentry->specific_err_loc = "open_tty_for_read"; -#ifdef HAVE_NCURSESW - free (old_ctype); -#endif - return confirm_mode? 0 : -1; - } - ttyfo = fopen (tty_name, "w"); - if (!ttyfo) - { - int err = errno; - fclose (ttyfi); - errno = err; - pinentry->specific_err = gpg_error_from_syserror (); - pinentry->specific_err_loc = "open_tty_for_write"; -#ifdef HAVE_NCURSESW - free (old_ctype); -#endif - return confirm_mode? 0 : -1; - } - screen = newterm (tty_type, ttyfo, ttyfi); - if (!screen) - { - pinentry->specific_err = gpg_error (GPG_ERR_WINDOW_TOO_SMALL); - pinentry->specific_err_loc = "curses_init"; - fclose (ttyfo); - fclose (ttyfi); -#ifdef HAVE_NCURSESW - free (old_ctype); -#endif - return confirm_mode? 0 : -1; - } - set_term (screen); - } - else - { - if (!init_screen) - { - if (!(isatty(fileno(stdin)) && isatty(fileno(stdout)))) - { - errno = ENOTTY; - pinentry->specific_err = gpg_error_from_syserror (); - pinentry->specific_err_loc = "isatty"; -#ifdef HAVE_NCURSESW - free (old_ctype); -#endif - return confirm_mode? 0 : -1; - } - init_screen = 1; - initscr (); - } - else - clear (); - } - - keypad (stdscr, TRUE); /* Enable keyboard mapping. */ - nonl (); /* Tell curses not to do NL->CR/NL on output. */ - cbreak (); /* Take input chars one at a time, no wait for \n. */ - noecho (); /* Don't echo input - in color. */ - - if (pinentry->ttyalert) - { - if (! strcmp(pinentry->ttyalert, "beep")) - beep (); - else if (! strcmp(pinentry->ttyalert, "flash")) - flash (); - } - - if (has_colors ()) - { - start_color (); - - /* Ncurses has use_default_colors, an extentions to the curses - library, which allows use of -1 to select default color. */ -#ifdef NCURSES_VERSION - use_default_colors (); -#else - /* With no extention, we need to specify color explicitly. */ - if (pinentry->color_fg == PINENTRY_COLOR_DEFAULT) - pinentry->color_fg = PINENTRY_COLOR_WHITE; - if (pinentry->color_bg == PINENTRY_COLOR_DEFAULT) - pinentry->color_bg = PINENTRY_COLOR_BLACK; -#endif - - if (pinentry->color_so == PINENTRY_COLOR_DEFAULT) - { - pinentry->color_so = PINENTRY_COLOR_RED; - pinentry->color_so_bright = 1; - } - if (COLOR_PAIRS >= 2) - { - init_pair (1, pinentry_color[pinentry->color_fg], - pinentry_color[pinentry->color_bg]); - init_pair (2, pinentry_color[pinentry->color_so], - pinentry_color[pinentry->color_bg]); - - bkgd (COLOR_PAIR (1)); - attron (COLOR_PAIR (1) | (pinentry->color_fg_bright ? A_BOLD : 0)); - } - } - refresh (); - - /* Create the dialog. */ - if (dialog_create (pinentry, &diag)) - { - /* Note: pinentry->specific_err has already been set. */ - endwin (); - if (screen) - delscreen (screen); - -#ifdef HAVE_NCURSESW - if (old_ctype) - { - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - } -#endif - if (ttyfi) - fclose (ttyfi); - if (ttyfo) - fclose (ttyfo); - return -2; - } - dialog_switch_pos (&diag, confirm_mode? DIALOG_POS_OK : DIALOG_POS_PIN); - -#ifndef HAVE_DOSISH_SYSTEM - wtimeout (stdscr, 70); -#endif - - do - { - int c; - - c = wgetch (stdscr); /* Refresh, accept single keystroke of input. */ -#ifndef HAVE_DOSISH_SYSTEM - if (timed_out && no_input) - { - done = -2; - pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); - break; - } -#endif - - switch (c) - { - case ERR: -#ifndef HAVE_DOSISH_SYSTEM - continue; -#else - done = -2; - break; -#endif - - case 27: /* Alt was pressed. */ - alt = 1; - /* Get the next key press. */ - continue; - - case KEY_LEFT: - case KEY_UP: - switch (diag.pos) - { - case DIALOG_POS_OK: - if (!confirm_mode) - dialog_switch_pos (&diag, DIALOG_POS_PIN); - break; - case DIALOG_POS_NOTOK: - dialog_switch_pos (&diag, DIALOG_POS_OK); - break; - case DIALOG_POS_CANCEL: - if (diag.notok) - dialog_switch_pos (&diag, DIALOG_POS_NOTOK); - else - dialog_switch_pos (&diag, DIALOG_POS_OK); - break; - default: - break; - } - break; - - case KEY_RIGHT: - case KEY_DOWN: - switch (diag.pos) - { - case DIALOG_POS_PIN: - dialog_switch_pos (&diag, DIALOG_POS_OK); - break; - case DIALOG_POS_OK: - if (diag.notok) - dialog_switch_pos (&diag, DIALOG_POS_NOTOK); - else - dialog_switch_pos (&diag, DIALOG_POS_CANCEL); - break; - case DIALOG_POS_NOTOK: - dialog_switch_pos (&diag, DIALOG_POS_CANCEL); - break; - default: - break; - } - break; - - case '\t': - switch (diag.pos) - { - case DIALOG_POS_PIN: - dialog_switch_pos (&diag, DIALOG_POS_OK); - break; - case DIALOG_POS_OK: - if (diag.notok) - dialog_switch_pos (&diag, DIALOG_POS_NOTOK); - else - dialog_switch_pos (&diag, DIALOG_POS_CANCEL); - break; - case DIALOG_POS_NOTOK: - dialog_switch_pos (&diag, DIALOG_POS_CANCEL); - break; - case DIALOG_POS_CANCEL: - if (confirm_mode) - dialog_switch_pos (&diag, DIALOG_POS_OK); - else - dialog_switch_pos (&diag, DIALOG_POS_PIN); - break; - default: - break; - } - break; - - case '\005': - done = -2; - break; - - case '\r': - switch (diag.pos) - { - case DIALOG_POS_PIN: - case DIALOG_POS_OK: - done = 1; - break; - case DIALOG_POS_NOTOK: - done = -1; - break; - case DIALOG_POS_CANCEL: - done = -2; - break; - case DIALOG_POS_NONE: - break; - } - break; - - default: - if (diag.pos == DIALOG_POS_PIN) - dialog_input (&diag, alt, c); - } -#ifndef HAVE_DOSISH_SYSTEM - no_input = 0; -#endif - if (c != -1) - alt = 0; - } - while (!done); - - if (!confirm_mode) - { - /* NUL terminate the passphrase. dialog_run makes sure there is - enough space for the terminating NUL byte. */ - diag.pinentry->pin[diag.pin_len] = 0; - } - - set_cursor_state (1); - endwin (); - if (screen) - delscreen (screen); - -#ifdef HAVE_NCURSESW - if (old_ctype) - { - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - } -#endif - if (ttyfi) - fclose (ttyfi); - if (ttyfo) - fclose (ttyfo); - /* XXX Factor out into dialog_release or something. */ - free (diag.ok); - if (diag.cancel) - free (diag.cancel); - if (diag.notok) - free (diag.notok); - - if (!confirm_mode) - { - pinentry->locale_err = 1; - pin_utf8 = pinentry_local_to_utf8 (pinentry->lc_ctype, pinentry->pin, 1); - if (pin_utf8) - { - pinentry_setbufferlen (pinentry, strlen (pin_utf8) + 1); - if (pinentry->pin) - strcpy (pinentry->pin, pin_utf8); - secmem_free (pin_utf8); - pinentry->locale_err = 0; - } - } - - if (done == -2) - pinentry->canceled = 1; - - /* In confirm mode return cancel instead of error. */ - if (confirm_mode) - return done < 0 ? 0 : 1; - - return done < 0 ? -1 : diag.pin_len; -} - - -/* If a touch has been registered, touch that file. */ -static void -do_touch_file (pinentry_t pinentry) -{ -#ifdef HAVE_UTIME_H - struct stat st; - time_t tim; - - if (!pinentry->touch_file || !*pinentry->touch_file) - return; - - if (stat (pinentry->touch_file, &st)) - return; /* Oops. */ - - /* Make sure that we actually update the mtime. */ - while ( (tim = time (NULL)) == st.st_mtime ) - sleep (1); - - /* Update but ignore errors as we can't do anything in that case. - Printing error messages may even clubber the display further. */ - utime (pinentry->touch_file, NULL); -#endif /*HAVE_UTIME_H*/ -} - -#ifndef HAVE_DOSISH_SYSTEM -static void -catchsig (int sig) -{ - if (sig == SIGALRM) - timed_out = 1; -} -#endif - -int -curses_cmd_handler (pinentry_t pinentry) -{ - int rc; - -#ifndef HAVE_DOSISH_SYSTEM - timed_out = 0; - - if (pinentry->timeout) - { - struct sigaction sa; - - memset (&sa, 0, sizeof(sa)); - sa.sa_handler = catchsig; - sigaction (SIGALRM, &sa, NULL); - alarm (pinentry->timeout); - } -#endif - - rc = dialog_run (pinentry, pinentry->ttyname, pinentry->ttytype_l); - do_touch_file (pinentry); - return rc; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.h deleted file mode 100644 index b33f1349..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.h +++ /dev/null @@ -1,35 +0,0 @@ -/* pinentry-curses.h - A secure curses dialog for PIN entry, library version - * Copyright (C) 2002 g10 Code GmbH - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <http://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ -#ifndef PINENTRY_CURSES_H -#define PINENTRY_CURSES_H - -#include "pinentry.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int curses_cmd_handler (pinentry_t pinentry); - -#ifdef __cplusplus -} -#endif - -#endif /* PINENTRY_CURSES_H */ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.c deleted file mode 100644 index 9685b67d..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.c +++ /dev/null @@ -1,721 +0,0 @@ -/* pinentry-emacs.c - A secure emacs dialog for PIN entry, library version - * Copyright (C) 2015 Daiki Ueno - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#ifdef HAVE_STDINT_H -#include <stdint.h> -#endif -#ifdef HAVE_INTTYPES_H -#include <inttypes.h> -#endif -#include <assert.h> -#include <signal.h> -#include <fcntl.h> -#include <unistd.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <limits.h> -#include <time.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/socket.h> -#include <sys/un.h> -#ifdef HAVE_UTIME_H -#include <utime.h> -#endif /*HAVE_UTIME_H*/ - -#include <assuan.h> - -#include "pinentry-emacs.h" -#include "memory.h" -#include "secmem-util.h" - -/* The communication mechanism is similar to emacsclient, but there - are a few differences: - - - To avoid unnecessary character escaping and encoding conversion, - we use a subset of the Pinentry Assuan protocol, instead of the - emacsclient protocol. - - - We only use a Unix domain socket, while emacsclient has an - ability to use a TCP socket. The socket file is located at - ${TMPDIR-/tmp}/emacs$(id -u)/pinentry (i.e., under the same - directory as the socket file used by emacsclient, so the same - permission and file owner settings apply). - - - The server implementation can be found in pinentry.el, which is - available in Emacs 25+ or from ELPA. */ - -#define LINELENGTH ASSUAN_LINELENGTH -#define SEND_BUFFER_SIZE 4096 -#define INITIAL_TIMEOUT 60 - -static int initial_timeout = INITIAL_TIMEOUT; - -#undef MIN -#define MIN(x, y) ((x) < (y) ? (x) : (y)) - -#undef MAX -#define MAX(x, y) ((x) < (y) ? (y) : (x)) - -#ifndef SUN_LEN -# define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) \ - + strlen ((ptr)->sun_path)) -#endif - -/* FIXME: We could use the I/O functions in Assuan directly, once - Pinentry links to libassuan. */ -static int emacs_socket = -1; -static char send_buffer[SEND_BUFFER_SIZE + 1]; -static int send_buffer_length; /* Fill pointer for the send buffer. */ - -static pinentry_cmd_handler_t fallback_cmd_handler; - -#ifndef HAVE_DOSISH_SYSTEM -static int timed_out; -#endif - -static int -set_socket (const char *socket_name) -{ - struct sockaddr_un unaddr; - struct stat statbuf; - const char *tmpdir; - char *tmpdir_storage = NULL; - char *socket_name_storage = NULL; - uid_t uid; - - unaddr.sun_family = AF_UNIX; - - /* We assume 32-bit UIDs, which can be represented with 10 decimal - digits. */ - uid = getuid (); - if (uid != (uint32_t) uid) - { - fprintf (stderr, "UID is too large\n"); - return 0; - } - - tmpdir = getenv ("TMPDIR"); - if (!tmpdir) - { -#ifdef _CS_DARWIN_USER_TEMP_DIR - size_t n = confstr (_CS_DARWIN_USER_TEMP_DIR, NULL, (size_t) 0); - if (n > 0) - { - tmpdir = tmpdir_storage = malloc (n); - if (!tmpdir) - { - fprintf (stderr, "out of core\n"); - return 0; - } - confstr (_CS_DARWIN_USER_TEMP_DIR, tmpdir_storage, n); - } - else -#endif - tmpdir = "/tmp"; - } - - socket_name_storage = malloc (strlen (tmpdir) - + strlen ("/emacs") + 10 + strlen ("/") - + strlen (socket_name) - + 1); - if (!socket_name_storage) - { - fprintf (stderr, "out of core\n"); - free (tmpdir_storage); - return 0; - } - - sprintf (socket_name_storage, "%s/emacs%u/%s", tmpdir, - (uint32_t) uid, socket_name); - free (tmpdir_storage); - - if (strlen (socket_name_storage) >= sizeof (unaddr.sun_path)) - { - fprintf (stderr, "socket name is too long\n"); - free (socket_name_storage); - return 0; - } - - strcpy (unaddr.sun_path, socket_name_storage); - free (socket_name_storage); - - /* See if the socket exists, and if it's owned by us. */ - if (stat (unaddr.sun_path, &statbuf) == -1) - { - perror ("stat"); - return 0; - } - - if (statbuf.st_uid != geteuid ()) - { - fprintf (stderr, "socket is not owned by the same user\n"); - return 0; - } - - emacs_socket = socket (AF_UNIX, SOCK_STREAM, 0); - if (emacs_socket < 0) - { - perror ("socket"); - return 0; - } - - if (connect (emacs_socket, (struct sockaddr *) &unaddr, - SUN_LEN (&unaddr)) < 0) - { - perror ("connect"); - close (emacs_socket); - emacs_socket = -1; - return 0; - } - - return 1; -} - -/* Percent-escape control characters in DATA. Return a newly - allocated string. */ -static char * -escape (const char *data) -{ - char *buffer, *out_p; - size_t length, buffer_length; - size_t offset; - size_t count = 0; - - length = strlen (data); - for (offset = 0; offset < length; offset++) - { - switch (data[offset]) - { - case '%': case '\n': case '\r': - count++; - break; - default: - break; - } - } - - buffer_length = length + count * 2; - buffer = malloc (buffer_length + 1); - if (!buffer) - return NULL; - - out_p = buffer; - for (offset = 0; offset < length; offset++) - { - int c = data[offset]; - switch (c) - { - case '%': case '\n': case '\r': - sprintf (out_p, "%%%02X", c); - out_p += 3; - break; - default: - *out_p++ = c; - break; - } - } - *out_p = '\0'; - - return buffer; -} - -/* The inverse of escape. Unlike escape, it removes quoting in string - DATA by modifying the string in place, to avoid copying of secret - data sent from Emacs. */ -static char * -unescape (char *data) -{ - char *p = data, *q = data; - - while (*p) - { - if (*p == '%' && p[1] && p[2]) - { - p++; - *q++ = xtoi_2 (p); - p += 2; - } - else - *q++ = *p++; - } - *q = 0; - return data; -} - -/* Let's send the data to Emacs when either - - the data ends in "\n", or - - the buffer is full (but this shouldn't happen) - Otherwise, we just accumulate it. */ -static int -send_to_emacs (int s, const char *buffer) -{ - size_t length; - - length = strlen (buffer); - while (*buffer) - { - size_t part = MIN (length, SEND_BUFFER_SIZE - send_buffer_length); - memcpy (&send_buffer[send_buffer_length], buffer, part); - buffer += part; - send_buffer_length += part; - - if (send_buffer_length == SEND_BUFFER_SIZE - || (send_buffer_length > 0 - && send_buffer[send_buffer_length-1] == '\n')) - { - int sent = send (s, send_buffer, send_buffer_length, 0); - if (sent < 0) - { - fprintf (stderr, "failed to send %d bytes to socket: %s\n", - send_buffer_length, strerror (errno)); - send_buffer_length = 0; - return 0; - } - if (sent != send_buffer_length) - memmove (send_buffer, &send_buffer[sent], - send_buffer_length - sent); - send_buffer_length -= sent; - } - - length -= part; - } - - return 1; -} - -/* Read a server response. If the response contains data, it will be - stored in BUFFER with a terminating NUL byte. BUFFER must be - at least as large as CAPACITY. */ -static gpg_error_t -read_from_emacs (int s, int timeout, char *buffer, size_t capacity) -{ - struct timeval tv; - fd_set rfds; - int retval; - /* Offset in BUFFER. */ - size_t offset = 0; - int got_response = 0; - char read_buffer[LINELENGTH + 1]; - /* Offset in READ_BUFFER. */ - size_t read_offset = 0; - gpg_error_t result = 0; - - tv.tv_sec = timeout; - tv.tv_usec = 0; - - FD_ZERO (&rfds); - FD_SET (s, &rfds); - retval = select (s + 1, &rfds, NULL, NULL, &tv); - if (retval == -1) - { - perror ("select"); - return gpg_error (GPG_ERR_ASS_GENERAL); - } - else if (retval == 0) - { - timed_out = 1; - return gpg_error (GPG_ERR_TIMEOUT); - } - - /* Loop until we get either OK or ERR. */ - while (!got_response) - { - int rl = 0; - char *p, *end_p; - do - { - errno = 0; - rl = recv (s, read_buffer + read_offset, LINELENGTH - read_offset, 0); - } - /* If we receive a signal (e.g. SIGWINCH, which we pass - through to Emacs), on some OSes we get EINTR and must retry. */ - while (rl < 0 && errno == EINTR); - - if (rl < 0) - { - perror ("recv"); - return gpg_error (GPG_ERR_ASS_GENERAL);; - } - if (rl == 0) - break; - - read_offset += rl; - read_buffer[read_offset] = '\0'; - - end_p = strchr (read_buffer, '\n'); - - /* If the buffer is filled without NL, throw away the content - and start over the buffering. - - FIXME: We could return ASSUAN_Line_Too_Long or - ASSUAN_Line_Not_Terminated here. */ - if (!end_p && read_offset == sizeof (read_buffer) - 1) - { - read_offset = 0; - continue; - } - - /* Loop over all NL-terminated messages. */ - for (p = read_buffer; end_p; p = end_p + 1, end_p = strchr (p, '\n')) - { - *end_p = '\0'; - if (!strncmp ("D ", p, 2)) - { - char *data; - size_t data_length; - size_t needed_capacity; - - data = p + 2; - data_length = end_p - data; - if (data_length > 0) - { - needed_capacity = offset + data_length + 1; - - /* Check overflow. This is unrealistic but can - happen since OFFSET is cumulative. */ - if (needed_capacity < offset) - return gpg_error (GPG_ERR_ASS_GENERAL);; - - if (needed_capacity > capacity) - return gpg_error (GPG_ERR_ASS_GENERAL);; - - memcpy (&buffer[offset], data, data_length); - offset += data_length; - buffer[offset] = 0; - } - } - else if (!strcmp ("OK", p) || !strncmp ("OK ", p, 3)) - { - got_response = 1; - break; - } - else if (!strncmp ("ERR ", p, 4)) - { - unsigned long code = strtoul (p + 4, NULL, 10); - if (code == ULONG_MAX && errno == ERANGE) - return gpg_error (GPG_ERR_ASS_GENERAL); - else - result = code; - got_response = 1; - break; - } - else if (*p == '#') - ; - else - fprintf (stderr, "invalid response: %s\n", p); - } - - if (!got_response) - { - size_t length = &read_buffer[read_offset] - p; - memmove (read_buffer, p, length); - read_offset = length; - } - } - - return result; -} - -int -set_label (pinentry_t pe, const char *name, const char *value) -{ - char buffer[16], *escaped; - gpg_error_t error; - int retval; - - if (!send_to_emacs (emacs_socket, name) - || !send_to_emacs (emacs_socket, " ")) - return 0; - - escaped = escape (value); - if (!escaped) - return 0; - - retval = send_to_emacs (emacs_socket, escaped) - && send_to_emacs (emacs_socket, "\n"); - - free (escaped); - if (!retval) - return 0; - - error = read_from_emacs (emacs_socket, pe->timeout, buffer, sizeof (buffer)); - return error == 0; -} - -static void -set_labels (pinentry_t pe) -{ - char *p; - - p = pinentry_get_title (pe); - if (p) - { - set_label (pe, "SETTITLE", p); - free (p); - } - if (pe->description) - set_label (pe, "SETDESC", pe->description); - if (pe->error) - set_label (pe, "SETERROR", pe->error); - if (pe->prompt) - set_label (pe, "SETPROMPT", pe->prompt); - else if (pe->default_prompt) - set_label (pe, "SETPROMPT", pe->default_prompt); - if (pe->repeat_passphrase) - set_label (pe, "SETREPEAT", pe->repeat_passphrase); - if (pe->repeat_error_string) - set_label (pe, "SETREPEATERROR", pe->repeat_error_string); - - /* XXX: pe->quality_bar and pe->quality_bar_tt are not supported. */ - - /* Buttons. */ - if (pe->ok) - set_label (pe, "SETOK", pe->ok); - else if (pe->default_ok) - set_label (pe, "SETOK", pe->default_ok); - if (pe->cancel) - set_label (pe, "SETCANCEL", pe->cancel); - else if (pe->default_cancel) - set_label (pe, "SETCANCEL", pe->default_cancel); - if (pe->notok) - set_label (pe, "SETNOTOK", pe->notok); -} - -static int -do_password (pinentry_t pe) -{ - char *buffer, *password; - size_t length = LINELENGTH; - gpg_error_t error; - - set_labels (pe); - - if (!send_to_emacs (emacs_socket, "GETPIN\n")) - return -1; - - buffer = secmem_malloc (length); - if (!buffer) - { - pe->specific_err = gpg_error (GPG_ERR_ENOMEM); - return -1; - } - - error = read_from_emacs (emacs_socket, pe->timeout, buffer, length); - if (error != 0) - { - if (gpg_err_code (error) == GPG_ERR_CANCELED) - pe->canceled = 1; - - secmem_free (buffer); - pe->specific_err = error; - return -1; - } - - password = unescape (buffer); - pinentry_setbufferlen (pe, strlen (password) + 1); - if (pe->pin) - strcpy (pe->pin, password); - secmem_free (buffer); - - if (pe->repeat_passphrase) - pe->repeat_okay = 1; - - /* XXX: we don't support external password cache (yet). */ - - return 1; -} - -static int -do_confirm (pinentry_t pe) -{ - char buffer[16]; - gpg_error_t error; - - set_labels (pe); - - if (!send_to_emacs (emacs_socket, "CONFIRM\n")) - return 0; - - error = read_from_emacs (emacs_socket, pe->timeout, buffer, sizeof (buffer)); - if (error != 0) - { - if (gpg_err_code (error) == GPG_ERR_CANCELED) - pe->canceled = 1; - - pe->specific_err = error; - return 0; - } - - return 1; -} - -/* If a touch has been registered, touch that file. */ -static void -do_touch_file (pinentry_t pinentry) -{ -#ifdef HAVE_UTIME_H - struct stat st; - time_t tim; - - if (!pinentry->touch_file || !*pinentry->touch_file) - return; - - if (stat (pinentry->touch_file, &st)) - return; /* Oops. */ - - /* Make sure that we actually update the mtime. */ - while ( (tim = time (NULL)) == st.st_mtime ) - sleep (1); - - /* Update but ignore errors as we can't do anything in that case. - Printing error messages may even clubber the display further. */ - utime (pinentry->touch_file, NULL); -#endif /*HAVE_UTIME_H*/ -} - -#ifndef HAVE_DOSISH_SYSTEM -static void -catchsig (int sig) -{ - if (sig == SIGALRM) - timed_out = 1; -} -#endif - -int -emacs_cmd_handler (pinentry_t pe) -{ - int rc; - -#ifndef HAVE_DOSISH_SYSTEM - timed_out = 0; - - if (pe->timeout) - { - struct sigaction sa; - - memset (&sa, 0, sizeof(sa)); - sa.sa_handler = catchsig; - sigaction (SIGALRM, &sa, NULL); - alarm (pe->timeout); - } -#endif - - if (pe->pin) - rc = do_password (pe); - else - rc = do_confirm (pe); - - do_touch_file (pe); - return rc; -} - -static int -initial_emacs_cmd_handler (pinentry_t pe) -{ - /* Let the select() call in pinentry_emacs_init honor the timeout - value set through an Assuan option. */ - initial_timeout = pe->timeout; - - if (emacs_socket < 0) - pinentry_emacs_init (); - - /* If we have successfully connected to Emacs, swap - pinentry_cmd_handler to emacs_cmd_handler, so further - interactions will be forwarded to Emacs. Otherwise, set it back - to the original command handler saved as - fallback_cmd_handler. */ - if (emacs_socket < 0) - pinentry_cmd_handler = fallback_cmd_handler; - else - { - pinentry_cmd_handler = emacs_cmd_handler; - pinentry_set_flavor_flag ("emacs"); - } - - return (* pinentry_cmd_handler) (pe); -} - -void -pinentry_enable_emacs_cmd_handler (void) -{ - const char *envvar; - - /* Check if pinentry_cmd_handler is already prepared for Emacs. */ - if (pinentry_cmd_handler == initial_emacs_cmd_handler - || pinentry_cmd_handler == emacs_cmd_handler) - return; - - /* Check if INSIDE_EMACS envvar is set. */ - envvar = getenv ("INSIDE_EMACS"); - if (!envvar || !*envvar) - return; - - /* Save the original command handler as fallback_cmd_handler, and - swap pinentry_cmd_handler to initial_emacs_cmd_handler. */ - fallback_cmd_handler = pinentry_cmd_handler; - pinentry_cmd_handler = initial_emacs_cmd_handler; -} - - -/* Returns true if the Emacs pinentry is enabled. The value is 1 - * before the first connection with Emacs has been done and 2 if the - * connection to Emacs has been establish. Returns false if the Emacs - * pinentry is not enabled. */ -int -pinentry_emacs_status (void) -{ - if (pinentry_cmd_handler == initial_emacs_cmd_handler) - return 1; - else if (pinentry_cmd_handler == emacs_cmd_handler) - return 2; - else - return 0; -} - -int -pinentry_emacs_init (void) -{ - char buffer[256]; - gpg_error_t error; - - assert (emacs_socket < 0); - - /* Check if we can connect to the Emacs server socket. */ - if (!set_socket ("pinentry")) - return 0; - - /* Check if the server responds. */ - error = read_from_emacs (emacs_socket, initial_timeout, - buffer, sizeof (buffer)); - if (error != 0) - { - close (emacs_socket); - emacs_socket = -1; - return 0; - } - return 1; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.h deleted file mode 100644 index b05d53bc..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.h +++ /dev/null @@ -1,47 +0,0 @@ -/* pinentry-emacs.c - A secure emacs dialog for PIN entry, library version - * Copyright (C) 2015 Daiki Ueno - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef PINENTRY_EMACS_H -#define PINENTRY_EMACS_H - -#include "pinentry.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Enable pinentry command handler which interacts with Emacs, if - INSIDE_EMACS envvar is set. This function shall be called upon - receiving an Assuan request "OPTION allow-emacs-prompt". */ -void pinentry_enable_emacs_cmd_handler (void); - -/* Return info on whether emacs support is enabled. */ -int pinentry_emacs_status (void); - -/* Initialize the Emacs interface, return true if success. */ -int pinentry_emacs_init (void); - -int emacs_cmd_handler (pinentry_t pinentry); - -#ifdef __cplusplus -} -#endif - -#endif /* PINENTRY_EMACS_H */ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.c deleted file mode 100644 index ea11b67f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.c +++ /dev/null @@ -1,2067 +0,0 @@ -/* pinentry.c - The PIN entry support library - * Copyright (C) 2002, 2003, 2007, 2008, 2010, 2015, 2016, 2021 g10 Code GmbH - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#ifndef HAVE_W32CE_SYSTEM -# include <errno.h> -#endif -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <assert.h> -#ifndef HAVE_W32_SYSTEM -# include <sys/utsname.h> -#endif -#ifndef HAVE_W32CE_SYSTEM -# include <locale.h> -#endif -#include <limits.h> -#ifdef HAVE_W32CE_SYSTEM -# include <windows.h> -#endif - -#include <assuan.h> - -#include "memory.h" -#include "secmem-util.h" -#include "argparse.h" -#include "pinentry.h" -#include "password-cache.h" - -#ifdef INSIDE_EMACS -# include "pinentry-emacs.h" -#endif -#ifdef FALLBACK_CURSES -# include "pinentry-curses.h" -#endif - -#ifdef HAVE_W32CE_SYSTEM -#define getpid() GetCurrentProcessId () -#endif - -/* Keep the name of our program here. */ -static char this_pgmname[50]; - -struct pinentry pinentry; - - -static const char *flavor_flag; - -/* Because gtk_init removes the --display arg from the command lines - * and our command line parser is called after gtk_init (so that it - * does not see gtk specific options) we don't have a way to get hold - * of the --display option. Our solution is to remember --display in - * the call to pinentry_have_display and set it then in our - * parser. */ -static char *remember_display; - -static void -pinentry_reset (int use_defaults) -{ - /* GPG Agent sets these options once when it starts the pinentry. - Don't reset them. */ - int grab = pinentry.grab; - char *ttyname = pinentry.ttyname; - char *ttytype = pinentry.ttytype_l; - char *ttyalert = pinentry.ttyalert; - char *lc_ctype = pinentry.lc_ctype; - char *lc_messages = pinentry.lc_messages; - int allow_external_password_cache = pinentry.allow_external_password_cache; - char *default_ok = pinentry.default_ok; - char *default_cancel = pinentry.default_cancel; - char *default_prompt = pinentry.default_prompt; - char *default_pwmngr = pinentry.default_pwmngr; - char *default_cf_visi = pinentry.default_cf_visi; - char *default_tt_visi = pinentry.default_tt_visi; - char *default_tt_hide = pinentry.default_tt_hide; - char *default_capshint = pinentry.default_capshint; - char *touch_file = pinentry.touch_file; - unsigned long owner_pid = pinentry.owner_pid; - int owner_uid = pinentry.owner_uid; - char *owner_host = pinentry.owner_host; - int constraints_enforce = pinentry.constraints_enforce; - char *constraints_hint_short = pinentry.constraints_hint_short; - char *constraints_hint_long = pinentry.constraints_hint_long; - char *constraints_error_title = pinentry.constraints_error_title; - - /* These options are set from the command line. Don't reset - them. */ - int debug = pinentry.debug; - char *display = pinentry.display; - int parent_wid = pinentry.parent_wid; - - pinentry_color_t color_fg = pinentry.color_fg; - int color_fg_bright = pinentry.color_fg_bright; - pinentry_color_t color_bg = pinentry.color_bg; - pinentry_color_t color_so = pinentry.color_so; - int color_so_bright = pinentry.color_so_bright; - - int timeout = pinentry.timeout; - - char *invisible_char = pinentry.invisible_char; - - - /* Free any allocated memory. */ - if (use_defaults) - { - free (pinentry.ttyname); - free (pinentry.ttytype_l); - free (pinentry.ttyalert); - free (pinentry.lc_ctype); - free (pinentry.lc_messages); - free (pinentry.default_ok); - free (pinentry.default_cancel); - free (pinentry.default_prompt); - free (pinentry.default_pwmngr); - free (pinentry.default_cf_visi); - free (pinentry.default_tt_visi); - free (pinentry.default_tt_hide); - free (pinentry.default_capshint); - free (pinentry.touch_file); - free (pinentry.owner_host); - free (pinentry.display); - free (pinentry.constraints_hint_short); - free (pinentry.constraints_hint_long); - free (pinentry.constraints_error_title); - } - - free (pinentry.title); - free (pinentry.description); - free (pinentry.error); - free (pinentry.prompt); - free (pinentry.ok); - free (pinentry.notok); - free (pinentry.cancel); - secmem_free (pinentry.pin); - free (pinentry.repeat_passphrase); - free (pinentry.repeat_error_string); - free (pinentry.quality_bar); - free (pinentry.quality_bar_tt); - free (pinentry.formatted_passphrase_hint); - free (pinentry.keyinfo); - free (pinentry.specific_err_info); - - /* Reset the pinentry structure. */ - memset (&pinentry, 0, sizeof (pinentry)); - - /* Restore options without a default we want to preserve. */ - pinentry.invisible_char = invisible_char; - - /* Restore other options or set defaults. */ - - if (use_defaults) - { - /* Pinentry timeout in seconds. */ - pinentry.timeout = 60; - - /* Global grab. */ - pinentry.grab = 1; - - pinentry.color_fg = PINENTRY_COLOR_DEFAULT; - pinentry.color_fg_bright = 0; - pinentry.color_bg = PINENTRY_COLOR_DEFAULT; - pinentry.color_so = PINENTRY_COLOR_DEFAULT; - pinentry.color_so_bright = 0; - - pinentry.owner_uid = -1; - } - else /* Restore the options. */ - { - pinentry.grab = grab; - pinentry.ttyname = ttyname; - pinentry.ttytype_l = ttytype; - pinentry.ttyalert = ttyalert; - pinentry.lc_ctype = lc_ctype; - pinentry.lc_messages = lc_messages; - pinentry.allow_external_password_cache = allow_external_password_cache; - pinentry.default_ok = default_ok; - pinentry.default_cancel = default_cancel; - pinentry.default_prompt = default_prompt; - pinentry.default_pwmngr = default_pwmngr; - pinentry.default_cf_visi = default_cf_visi; - pinentry.default_tt_visi = default_tt_visi; - pinentry.default_tt_hide = default_tt_hide; - pinentry.default_capshint = default_capshint; - pinentry.touch_file = touch_file; - pinentry.owner_pid = owner_pid; - pinentry.owner_uid = owner_uid; - pinentry.owner_host = owner_host; - pinentry.constraints_enforce = constraints_enforce; - pinentry.constraints_hint_short = constraints_hint_short; - pinentry.constraints_hint_long = constraints_hint_long; - pinentry.constraints_error_title = constraints_error_title; - - pinentry.debug = debug; - pinentry.display = display; - pinentry.parent_wid = parent_wid; - - pinentry.color_fg = color_fg; - pinentry.color_fg_bright = color_fg_bright; - pinentry.color_bg = color_bg; - pinentry.color_so = color_so; - pinentry.color_so_bright = color_so_bright; - - pinentry.timeout = timeout; - } -} - -static gpg_error_t -pinentry_assuan_reset_handler (assuan_context_t ctx, char *line) -{ - (void)ctx; - (void)line; - - pinentry_reset (0); - - return 0; -} - - - -/* Copy TEXT or TEXTLEN to BUFFER and escape as required. Return a - pointer to the end of the new buffer. Note that BUFFER must be - large enough to keep the entire text; allocataing it 3 times of - TEXTLEN is sufficient. */ -static char * -copy_and_escape (char *buffer, const void *text, size_t textlen) -{ - int i; - const unsigned char *s = (unsigned char *)text; - char *p = buffer; - - for (i=0; i < textlen; i++) - { - if (s[i] < ' ' || s[i] == '+') - { - snprintf (p, 4, "%%%02X", s[i]); - p += 3; - } - else if (s[i] == ' ') - *p++ = '+'; - else - *p++ = s[i]; - } - return p; -} - - -/* Perform percent unescaping in STRING and return the new valid length - of the string. A terminating Nul character is inserted at the end of - the unescaped string. - */ -static size_t -do_unescape_inplace (char *s) -{ - unsigned char *p, *p0; - - p = p0 = s; - while (*s) - { - if (*s == '%' && s[1] && s[2]) - { - s++; - *p++ = xtoi_2 (s); - s += 2; - } - else - *p++ = *s++; - } - *p = 0; - - return (p - p0); -} - - -/* Return a malloced copy of the commandline for PID. If this is not - * possible NULL is returned. */ -#ifndef HAVE_W32_SYSTEM -static char * -get_cmdline (unsigned long pid) -{ - char buffer[200]; - FILE *fp; - size_t i, n; - - snprintf (buffer, sizeof buffer, "/proc/%lu/cmdline", pid); - - fp = fopen (buffer, "rb"); - if (!fp) - return NULL; - n = fread (buffer, 1, sizeof buffer - 1, fp); - if (n < sizeof buffer -1 && ferror (fp)) - { - /* Some error occurred. */ - fclose (fp); - return NULL; - } - fclose (fp); - if (n == 0) - return NULL; - /* Arguments are delimited by Nuls. We should do proper quoting but - * that can be a bit complicated, thus we simply replace the Nuls by - * spaces. */ - for (i=0; i < n; i++) - if (!buffer[i] && i < n-1) - buffer[i] = ' '; - buffer[i] = 0; /* Make sure the last byte is the string terminator. */ - - return strdup (buffer); -} -#endif /*!HAVE_W32_SYSTEM*/ - - -/* Atomically ask the kernel for information about process PID. - * Return a malloc'ed copy of the process name as long as the process - * uid matches UID. If it cannot determine that the process has uid - * UID, it returns NULL. - * - * This is not as informative as get_cmdline, but it verifies that the - * process does belong to the user in question. - */ -#ifndef HAVE_W32_SYSTEM -static char * -get_pid_name_for_uid (unsigned long pid, int uid) -{ - char buffer[400]; - FILE *fp; - size_t end, n; - char *uidstr; - - snprintf (buffer, sizeof buffer, "/proc/%lu/status", pid); - - fp = fopen (buffer, "rb"); - if (!fp) - return NULL; - n = fread (buffer, 1, sizeof buffer - 1, fp); - if (n < sizeof buffer -1 && ferror (fp)) - { - /* Some error occurred. */ - fclose (fp); - return NULL; - } - fclose (fp); - if (n == 0) - return NULL; - buffer[n] = 0; - /* Fixme: Is it specified that "Name" is always the first line? For - * robustness I would prefer to have a real parser here. -wk */ - if (strncmp (buffer, "Name:\t", 6)) - return NULL; - end = strcspn (buffer + 6, "\n") + 6; - buffer[end] = 0; - - /* check that uid matches what we expect */ - uidstr = strstr (buffer + end + 1, "\nUid:\t"); - if (!uidstr) - return NULL; - if (atoi (uidstr + 6) != uid) - return NULL; - - return strdup (buffer + 6); -} -#endif /*!HAVE_W32_SYSTEM*/ - - -const char * -pinentry_get_pgmname (void) -{ - return this_pgmname; -} - - -/* Return a malloced string with the title. The caller mus free the - * string. If no title is available or the title string has an error - * NULL is returned. */ -char * -pinentry_get_title (pinentry_t pe) -{ - char *title; - - if (pe->title) - title = strdup (pe->title); -#ifndef HAVE_W32_SYSTEM - else if (pe->owner_pid) - { - char buf[200]; - struct utsname utsbuf; - char *pidname = NULL; - char *cmdline = NULL; - - if (pe->owner_host && - !uname (&utsbuf) && - !strcmp (utsbuf.nodename, pe->owner_host)) - { - pidname = get_pid_name_for_uid (pe->owner_pid, pe->owner_uid); - if (pidname) - cmdline = get_cmdline (pe->owner_pid); - } - - if (pe->owner_host && (cmdline || pidname)) - snprintf (buf, sizeof buf, "[%lu]@%s (%s)", - pe->owner_pid, pe->owner_host, cmdline ? cmdline : pidname); - else if (pe->owner_host) - snprintf (buf, sizeof buf, "[%lu]@%s", - pe->owner_pid, pe->owner_host); - else - snprintf (buf, sizeof buf, "[%lu] <unknown host>", - pe->owner_pid); - free (pidname); - free (cmdline); - title = strdup (buf); - } -#endif /*!HAVE_W32_SYSTEM*/ - else - title = strdup (this_pgmname); - - return title; -} - - -/* Run a quality inquiry for PASSPHRASE of LENGTH. (We need LENGTH - because not all backends might be able to return a proper - C-string.). Returns: A value between -100 and 100 to give an - estimate of the passphrase's quality. Negative values are use if - the caller won't even accept that passphrase. Note that we expect - just one data line which should not be escaped in any represent a - numeric signed decimal value. Extra data is currently ignored but - should not be send at all. */ -int -pinentry_inq_quality (pinentry_t pin, const char *passphrase, size_t length) -{ - assuan_context_t ctx = pin->ctx_assuan; - const char prefix[] = "INQUIRE QUALITY "; - char *command; - char *line; - size_t linelen; - int gotvalue = 0; - int value = 0; - int rc; - - if (!ctx) - return 0; /* Can't run the callback. */ - - if (length > 300) - length = 300; /* Limit so that it definitely fits into an Assuan - line. */ - - command = secmem_malloc (strlen (prefix) + 3*length + 1); - if (!command) - return 0; - strcpy (command, prefix); - copy_and_escape (command + strlen(command), passphrase, length); - rc = assuan_write_line (ctx, command); - secmem_free (command); - if (rc) - { - fprintf (stderr, "ASSUAN WRITE LINE failed: rc=%d\n", rc); - return 0; - } - - for (;;) - { - do - { - rc = assuan_read_line (ctx, &line, &linelen); - if (rc) - { - fprintf (stderr, "ASSUAN READ LINE failed: rc=%d\n", rc); - return 0; - } - } - while (*line == '#' || !linelen); - if (line[0] == 'E' && line[1] == 'N' && line[2] == 'D' - && (!line[3] || line[3] == ' ')) - break; /* END command received*/ - if (line[0] == 'C' && line[1] == 'A' && line[2] == 'N' - && (!line[3] || line[3] == ' ')) - break; /* CAN command received*/ - if (line[0] == 'E' && line[1] == 'R' && line[2] == 'R' - && (!line[3] || line[3] == ' ')) - break; /* ERR command received*/ - if (line[0] != 'D' || line[1] != ' ' || linelen < 3 || gotvalue) - continue; - gotvalue = 1; - value = atoi (line+2); - } - if (value < -100) - value = -100; - else if (value > 100) - value = 100; - - return value; -} - - -/* Run a checkpin inquiry */ -char * -pinentry_inq_checkpin (pinentry_t pin, const char *passphrase, size_t length) -{ - assuan_context_t ctx = pin->ctx_assuan; - const char prefix[] = "INQUIRE CHECKPIN "; - char *command; - char *line; - size_t linelen; - int gotvalue = 0; - char *value = NULL; - int rc; - - if (!ctx) - return 0; /* Can't run the callback. */ - - if (length > 300) - length = 300; /* Limit so that it definitely fits into an Assuan - line. */ - - command = secmem_malloc (strlen (prefix) + 3*length + 1); - if (!command) - return 0; - strcpy (command, prefix); - copy_and_escape (command + strlen(command), passphrase, length); - rc = assuan_write_line (ctx, command); - secmem_free (command); - if (rc) - { - fprintf (stderr, "ASSUAN WRITE LINE failed: rc=%d\n", rc); - return 0; - } - - for (;;) - { - do - { - rc = assuan_read_line (ctx, &line, &linelen); - if (rc) - { - fprintf (stderr, "ASSUAN READ LINE failed: rc=%d\n", rc); - return 0; - } - } - while (*line == '#' || !linelen); - if (line[0] == 'E' && line[1] == 'N' && line[2] == 'D' - && (!line[3] || line[3] == ' ')) - break; /* END command received*/ - if (line[0] == 'C' && line[1] == 'A' && line[2] == 'N' - && (!line[3] || line[3] == ' ')) - break; /* CAN command received*/ - if (line[0] == 'E' && line[1] == 'R' && line[2] == 'R' - && (!line[3] || line[3] == ' ')) - break; /* ERR command received*/ - if (line[0] != 'D' || line[1] != ' ' || linelen < 3 || gotvalue) - continue; - gotvalue = 1; - value = strdup (line + 2); - } - - return value; -} - - -/* Run a genpin inquiry */ -char * -pinentry_inq_genpin (pinentry_t pin) -{ - assuan_context_t ctx = pin->ctx_assuan; - const char prefix[] = "INQUIRE GENPIN"; - char *line; - size_t linelen; - int gotvalue = 0; - char *value = NULL; - int rc; - - if (!ctx) - return 0; /* Can't run the callback. */ - - rc = assuan_write_line (ctx, prefix); - if (rc) - { - fprintf (stderr, "ASSUAN WRITE LINE failed: rc=%d\n", rc); - return 0; - } - - for (;;) - { - do - { - rc = assuan_read_line (ctx, &line, &linelen); - if (rc) - { - fprintf (stderr, "ASSUAN READ LINE failed: rc=%d\n", rc); - free (value); - return 0; - } - } - while (*line == '#' || !linelen); - if (line[0] == 'E' && line[1] == 'N' && line[2] == 'D' - && (!line[3] || line[3] == ' ')) - break; /* END command received*/ - if (line[0] == 'C' && line[1] == 'A' && line[2] == 'N' - && (!line[3] || line[3] == ' ')) - break; /* CAN command received*/ - if (line[0] == 'E' && line[1] == 'R' && line[2] == 'R' - && (!line[3] || line[3] == ' ')) - break; /* ERR command received*/ - if (line[0] != 'D' || line[1] != ' ' || linelen < 3 || gotvalue) - continue; - gotvalue = 1; - value = strdup (line + 2); - } - - return value; -} - -/* Try to make room for at least LEN bytes in the pinentry. Returns - new buffer on success and 0 on failure or when the old buffer is - sufficient. */ -char * -pinentry_setbufferlen (pinentry_t pin, int len) -{ - char *newp; - - if (pin->pin_len) - assert (pin->pin); - else - assert (!pin->pin); - - if (len < 2048) - len = 2048; - - if (len <= pin->pin_len) - return pin->pin; - - newp = secmem_realloc (pin->pin, len); - if (newp) - { - pin->pin = newp; - pin->pin_len = len; - } - else - { - secmem_free (pin->pin); - pin->pin = 0; - pin->pin_len = 0; - } - return newp; -} - -static void -pinentry_setbuffer_clear (pinentry_t pin) -{ - if (! pin->pin) - { - assert (pin->pin_len == 0); - return; - } - - assert (pin->pin_len > 0); - - secmem_free (pin->pin); - pin->pin = NULL; - pin->pin_len = 0; -} - -static void -pinentry_setbuffer_init (pinentry_t pin) -{ - pinentry_setbuffer_clear (pin); - pinentry_setbufferlen (pin, 0); -} - -/* passphrase better be alloced with secmem_alloc. */ -void -pinentry_setbuffer_use (pinentry_t pin, char *passphrase, int len) -{ - if (! passphrase) - { - assert (len == 0); - pinentry_setbuffer_clear (pin); - - return; - } - - if (passphrase && len == 0) - len = strlen (passphrase) + 1; - - if (pin->pin) - secmem_free (pin->pin); - - pin->pin = passphrase; - pin->pin_len = len; -} - -static struct assuan_malloc_hooks assuan_malloc_hooks = { - secmem_malloc, secmem_realloc, secmem_free -}; - -/* Initialize the secure memory subsystem, drop privileges and return. - Must be called early. */ -void -pinentry_init (const char *pgmname) -{ - /* Store away our name. */ - if (strlen (pgmname) > sizeof this_pgmname - 2) - abort (); - strcpy (this_pgmname, pgmname); - - gpgrt_check_version (NULL); - - /* Initialize secure memory. 1 is too small, so the default size - will be used. */ - secmem_init (1); - secmem_set_flags (SECMEM_WARN); - drop_privs (); - - if (atexit (secmem_term)) - { - /* FIXME: Could not register at-exit function, bail out. */ - } - - assuan_set_malloc_hooks (&assuan_malloc_hooks); -} - -/* Simple test to check whether DISPLAY is set or the option --display - was given. Used to decide whether the GUI or curses should be - initialized. */ -int -pinentry_have_display (int argc, char **argv) -{ - int found = 0; - - for (; argc; argc--, argv++) - { - if (!strcmp (*argv, "--display")) - { - if (argv[1] && !remember_display) - { - remember_display = strdup (argv[1]); - if (!remember_display) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - } - found = 1; - break; - } - else if (!strncmp (*argv, "--display=", 10)) - { - if (!remember_display) - { - remember_display = strdup (*argv+10); - if (!remember_display) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - } - found = 1; - break; - } - } - -#ifndef HAVE_W32CE_SYSTEM - { - const char *s; - s = getenv ("DISPLAY"); - if (s && *s) - found = 1; - } -#endif - - return found; -} - - - -/* Print usage information and and provide strings for help. */ -static const char * -my_strusage( int level ) -{ - const char *p; - - switch (level) - { - case 11: p = this_pgmname; break; - case 12: p = "pinentry"; break; - case 13: p = PACKAGE_VERSION; break; - case 14: p = "Copyright (C) 2016 g10 Code GmbH"; break; - case 19: p = "Please report bugs to <" PACKAGE_BUGREPORT ">.\n"; break; - case 1: - case 40: - { - static char *str; - - if (!str) - { - size_t n = 50 + strlen (this_pgmname); - str = malloc (n); - if (str) - { - snprintf (str, n, "Usage: %s [options] (-h for help)", - this_pgmname); - } - } - p = str; - } - break; - case 41: - p = "Ask securely for a secret and print it to stdout."; - break; - - case 42: - p = "1"; /* Flag print 40 as part of 41. */ - break; - - default: p = NULL; break; - } - return p; -} - - -char * -parse_color (char *arg, pinentry_color_t *color_p, int *bright_p) -{ - static struct - { - const char *name; - pinentry_color_t color; - } colors[] = { { "none", PINENTRY_COLOR_NONE }, - { "default", PINENTRY_COLOR_DEFAULT }, - { "black", PINENTRY_COLOR_BLACK }, - { "red", PINENTRY_COLOR_RED }, - { "green", PINENTRY_COLOR_GREEN }, - { "yellow", PINENTRY_COLOR_YELLOW }, - { "blue", PINENTRY_COLOR_BLUE }, - { "magenta", PINENTRY_COLOR_MAGENTA }, - { "cyan", PINENTRY_COLOR_CYAN }, - { "white", PINENTRY_COLOR_WHITE } }; - - int i; - char *new_arg; - pinentry_color_t color = PINENTRY_COLOR_DEFAULT; - - if (!arg) - return NULL; - - new_arg = strchr (arg, ','); - if (new_arg) - new_arg++; - - if (bright_p) - { - const char *bname[] = { "bright-", "bright", "bold-", "bold" }; - - *bright_p = 0; - for (i = 0; i < sizeof (bname) / sizeof (bname[0]); i++) - if (!strncasecmp (arg, bname[i], strlen (bname[i]))) - { - *bright_p = 1; - arg += strlen (bname[i]); - } - } - - for (i = 0; i < sizeof (colors) / sizeof (colors[0]); i++) - if (!strncasecmp (arg, colors[i].name, strlen (colors[i].name))) - color = colors[i].color; - - *color_p = color; - return new_arg; -} - -/* Parse the command line options. May exit the program if only help - or version output is requested. */ -void -pinentry_parse_opts (int argc, char *argv[]) -{ - static ARGPARSE_OPTS opts[] = { - ARGPARSE_s_n('d', "debug", "Turn on debugging output"), - ARGPARSE_s_s('D', "display", "|DISPLAY|Set the X display"), - ARGPARSE_s_s('T', "ttyname", "|FILE|Set the tty terminal node name"), - ARGPARSE_s_s('N', "ttytype", "|NAME|Set the tty terminal type"), - ARGPARSE_s_s('C', "lc-ctype", "|STRING|Set the tty LC_CTYPE value"), - ARGPARSE_s_s('M', "lc-messages", "|STRING|Set the tty LC_MESSAGES value"), - ARGPARSE_s_i('o', "timeout", - "|SECS|Timeout waiting for input after this many seconds"), - ARGPARSE_s_n('g', "no-global-grab", - "Grab keyboard only while window is focused"), - ARGPARSE_s_u('W', "parent-wid", "Parent window ID (for positioning)"), - ARGPARSE_s_s('c', "colors", "|STRING|Set custom colors for ncurses"), - ARGPARSE_s_s('a', "ttyalert", "|STRING|Set the alert mode (none, beep or flash)"), - ARGPARSE_end() - }; - ARGPARSE_ARGS pargs = { &argc, &argv, 0 }; - - set_strusage (my_strusage); - - pinentry_reset (1); - - while (arg_parse (&pargs, opts)) - { - switch (pargs.r_opt) - { - case 'd': - pinentry.debug = 1; - break; - case 'g': - pinentry.grab = 0; - break; - - case 'D': - /* Note, this is currently not used because the GUI engine - has already been initialized when parsing these options. */ - pinentry.display = strdup (pargs.r.ret_str); - if (!pinentry.display) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - break; - case 'T': - pinentry.ttyname = strdup (pargs.r.ret_str); - if (!pinentry.ttyname) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - break; - case 'N': - pinentry.ttytype_l = strdup (pargs.r.ret_str); - if (!pinentry.ttytype_l) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - break; - case 'C': - pinentry.lc_ctype = strdup (pargs.r.ret_str); - if (!pinentry.lc_ctype) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - break; - case 'M': - pinentry.lc_messages = strdup (pargs.r.ret_str); - if (!pinentry.lc_messages) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - break; - case 'W': - pinentry.parent_wid = pargs.r.ret_ulong; - break; - - case 'c': - { - char *tmpstr = pargs.r.ret_str; - - tmpstr = parse_color (tmpstr, &pinentry.color_fg, - &pinentry.color_fg_bright); - tmpstr = parse_color (tmpstr, &pinentry.color_bg, NULL); - tmpstr = parse_color (tmpstr, &pinentry.color_so, - &pinentry.color_so_bright); - } - break; - - case 'o': - pinentry.timeout = pargs.r.ret_int; - break; - - case 'a': - pinentry.ttyalert = strdup (pargs.r.ret_str); - if (!pinentry.ttyalert) - { -#ifndef HAVE_W32CE_SYSTEM - fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); -#endif - exit (EXIT_FAILURE); - } - break; - - default: - pargs.err = ARGPARSE_PRINT_WARNING; - break; - } - } - - if (!pinentry.display && remember_display) - { - pinentry.display = remember_display; - remember_display = NULL; - } -} - - -/* Set the optional flag used with getinfo. */ -void -pinentry_set_flavor_flag (const char *string) -{ - flavor_flag = string; -} - - - - -static gpg_error_t -option_handler (assuan_context_t ctx, const char *key, const char *value) -{ - (void)ctx; - - if (!strcmp (key, "no-grab") && !*value) - pinentry.grab = 0; - else if (!strcmp (key, "grab") && !*value) - pinentry.grab = 1; - else if (!strcmp (key, "debug-wait")) - { -#ifndef HAVE_W32_SYSTEM - fprintf (stderr, "%s: waiting for debugger - my pid is %u ...\n", - this_pgmname, (unsigned int) getpid()); - sleep (*value?atoi (value):5); - fprintf (stderr, "%s: ... okay\n", this_pgmname); -#endif - } - else if (!strcmp (key, "display")) - { - if (pinentry.display) - free (pinentry.display); - pinentry.display = strdup (value); - if (!pinentry.display) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "ttyname")) - { - if (pinentry.ttyname) - free (pinentry.ttyname); - pinentry.ttyname = strdup (value); - if (!pinentry.ttyname) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "ttytype")) - { - if (pinentry.ttytype_l) - free (pinentry.ttytype_l); - pinentry.ttytype_l = strdup (value); - if (!pinentry.ttytype_l) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "ttyalert")) - { - if (pinentry.ttyalert) - free (pinentry.ttyalert); - pinentry.ttyalert = strdup (value); - if (!pinentry.ttyalert) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "lc-ctype")) - { - if (pinentry.lc_ctype) - free (pinentry.lc_ctype); - pinentry.lc_ctype = strdup (value); - if (!pinentry.lc_ctype) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "lc-messages")) - { - if (pinentry.lc_messages) - free (pinentry.lc_messages); - pinentry.lc_messages = strdup (value); - if (!pinentry.lc_messages) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "owner")) - { - long along; - char *endp; - - free (pinentry.owner_host); - pinentry.owner_host = NULL; - pinentry.owner_uid = -1; - pinentry.owner_pid = 0; - - errno = 0; - along = strtol (value, &endp, 10); - if (along && !errno) - { - pinentry.owner_pid = (unsigned long)along; - if (*endp) - { - errno = 0; - if (*endp == '/') { /* we have a uid */ - endp++; - along = strtol (endp, &endp, 10); - if (along >= 0 && !errno) - pinentry.owner_uid = (int)along; - } - if (endp) - { - while (*endp == ' ') - endp++; - if (*endp) - { - pinentry.owner_host = strdup (endp); - for (endp=pinentry.owner_host; - *endp && *endp != ' '; endp++) - ; - *endp = 0; - } - } - } - } - } - else if (!strcmp (key, "parent-wid")) - { - pinentry.parent_wid = atoi (value); - /* FIXME: Use strtol and add some error handling. */ - } - else if (!strcmp (key, "touch-file")) - { - if (pinentry.touch_file) - free (pinentry.touch_file); - pinentry.touch_file = strdup (value); - if (!pinentry.touch_file) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-ok")) - { - pinentry.default_ok = strdup (value); - if (!pinentry.default_ok) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-cancel")) - { - pinentry.default_cancel = strdup (value); - if (!pinentry.default_cancel) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-prompt")) - { - pinentry.default_prompt = strdup (value); - if (!pinentry.default_prompt) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-pwmngr")) - { - pinentry.default_pwmngr = strdup (value); - if (!pinentry.default_pwmngr) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-cf-visi")) - { - pinentry.default_cf_visi = strdup (value); - if (!pinentry.default_cf_visi) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-tt-visi")) - { - pinentry.default_tt_visi = strdup (value); - if (!pinentry.default_tt_visi) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-tt-hide")) - { - pinentry.default_tt_hide = strdup (value); - if (!pinentry.default_tt_hide) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "default-capshint")) - { - pinentry.default_capshint = strdup (value); - if (!pinentry.default_capshint) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "allow-external-password-cache") && !*value) - { - pinentry.allow_external_password_cache = 1; - pinentry.tried_password_cache = 0; - } - else if (!strcmp (key, "allow-emacs-prompt") && !*value) - { -#ifdef INSIDE_EMACS - pinentry_enable_emacs_cmd_handler (); -#endif - } - else if (!strcmp (key, "invisible-char")) - { - if (pinentry.invisible_char) - free (pinentry.invisible_char); - pinentry.invisible_char = strdup (value); - if (!pinentry.invisible_char) - return gpg_error_from_syserror (); - } - else if (!strcmp (key, "formatted-passphrase") && !*value) - { - pinentry.formatted_passphrase = 1; - } - else if (!strcmp (key, "formatted-passphrase-hint")) - { - if (pinentry.formatted_passphrase_hint) - free (pinentry.formatted_passphrase_hint); - pinentry.formatted_passphrase_hint = strdup (value); - if (!pinentry.formatted_passphrase_hint) - return gpg_error_from_syserror (); - do_unescape_inplace(pinentry.formatted_passphrase_hint); - } - else if (!strcmp (key, "constraints-enforce") && !*value) - pinentry.constraints_enforce = 1; - else if (!strcmp (key, "constraints-hint-short")) - { - if (pinentry.constraints_hint_short) - free (pinentry.constraints_hint_short); - pinentry.constraints_hint_short = strdup (value); - if (!pinentry.constraints_hint_short) - return gpg_error_from_syserror (); - do_unescape_inplace(pinentry.constraints_hint_short); - } - else if (!strcmp (key, "constraints-hint-long")) - { - if (pinentry.constraints_hint_long) - free (pinentry.constraints_hint_long); - pinentry.constraints_hint_long = strdup (value); - if (!pinentry.constraints_hint_long) - return gpg_error_from_syserror (); - do_unescape_inplace(pinentry.constraints_hint_long); - } - else if (!strcmp (key, "constraints-error-title")) - { - if (pinentry.constraints_error_title) - free (pinentry.constraints_error_title); - pinentry.constraints_error_title = strdup (value); - if (!pinentry.constraints_error_title) - return gpg_error_from_syserror (); - do_unescape_inplace(pinentry.constraints_error_title); - } - else - return gpg_error (GPG_ERR_UNKNOWN_OPTION); - return 0; -} - - -/* Note, that it is sufficient to allocate the target string D as - long as the source string S, i.e.: strlen(s)+1; */ -static void -strcpy_escaped (char *d, const char *s) -{ - while (*s) - { - if (*s == '%' && s[1] && s[2]) - { - s++; - *d++ = xtoi_2 ( s); - s += 2; - } - else - *d++ = *s++; - } - *d = 0; -} - - -static void -write_status_error (assuan_context_t ctx, pinentry_t pe) -{ - char buf[500]; - const char *pgm; - - pgm = strchr (this_pgmname, '-'); - if (pgm && pgm[1]) - pgm++; - else - pgm = this_pgmname; - - snprintf (buf, sizeof buf, "%s.%s %d %s", - pgm, - pe->specific_err_loc? pe->specific_err_loc : "?", - pe->specific_err, - pe->specific_err_info? pe->specific_err_info : ""); - assuan_write_status (ctx, "ERROR", buf); -} - - -static gpg_error_t -cmd_setdesc (assuan_context_t ctx, char *line) -{ - char *newd; - - (void)ctx; - - newd = malloc (strlen (line) + 1); - if (!newd) - return gpg_error_from_syserror (); - - strcpy_escaped (newd, line); - if (pinentry.description) - free (pinentry.description); - pinentry.description = newd; - return 0; -} - - -static gpg_error_t -cmd_setprompt (assuan_context_t ctx, char *line) -{ - char *newp; - - (void)ctx; - - newp = malloc (strlen (line) + 1); - if (!newp) - return gpg_error_from_syserror (); - - strcpy_escaped (newp, line); - if (pinentry.prompt) - free (pinentry.prompt); - pinentry.prompt = newp; - return 0; -} - - -/* The data provided at LINE may be used by pinentry implementations - to identify a key for caching strategies of its own. The empty - string and --clear mean that the key does not have a stable - identifier. */ -static gpg_error_t -cmd_setkeyinfo (assuan_context_t ctx, char *line) -{ - (void)ctx; - - if (pinentry.keyinfo) - free (pinentry.keyinfo); - - if (*line && strcmp(line, "--clear") != 0) - pinentry.keyinfo = strdup (line); - else - pinentry.keyinfo = NULL; - - return 0; -} - - -static gpg_error_t -cmd_setrepeat (assuan_context_t ctx, char *line) -{ - char *p; - - (void)ctx; - - p = malloc (strlen (line) + 1); - if (!p) - return gpg_error_from_syserror (); - - strcpy_escaped (p, line); - free (pinentry.repeat_passphrase); - pinentry.repeat_passphrase = p; - return 0; -} - - -static gpg_error_t -cmd_setrepeaterror (assuan_context_t ctx, char *line) -{ - char *p; - - (void)ctx; - - p = malloc (strlen (line) + 1); - if (!p) - return gpg_error_from_syserror (); - - strcpy_escaped (p, line); - free (pinentry.repeat_error_string); - pinentry.repeat_error_string = p; - return 0; -} - - -static gpg_error_t -cmd_seterror (assuan_context_t ctx, char *line) -{ - char *newe; - - (void)ctx; - - newe = malloc (strlen (line) + 1); - if (!newe) - return gpg_error_from_syserror (); - - strcpy_escaped (newe, line); - if (pinentry.error) - free (pinentry.error); - pinentry.error = newe; - return 0; -} - - -static gpg_error_t -cmd_setok (assuan_context_t ctx, char *line) -{ - char *newo; - - (void)ctx; - - newo = malloc (strlen (line) + 1); - if (!newo) - return gpg_error_from_syserror (); - - strcpy_escaped (newo, line); - if (pinentry.ok) - free (pinentry.ok); - pinentry.ok = newo; - return 0; -} - - -static gpg_error_t -cmd_setnotok (assuan_context_t ctx, char *line) -{ - char *newo; - - (void)ctx; - - newo = malloc (strlen (line) + 1); - if (!newo) - return gpg_error_from_syserror (); - - strcpy_escaped (newo, line); - if (pinentry.notok) - free (pinentry.notok); - pinentry.notok = newo; - return 0; -} - - -static gpg_error_t -cmd_setcancel (assuan_context_t ctx, char *line) -{ - char *newc; - - (void)ctx; - - newc = malloc (strlen (line) + 1); - if (!newc) - return gpg_error_from_syserror (); - - strcpy_escaped (newc, line); - if (pinentry.cancel) - free (pinentry.cancel); - pinentry.cancel = newc; - return 0; -} - - -static gpg_error_t -cmd_settimeout (assuan_context_t ctx, char *line) -{ - (void)ctx; - - if (line && *line) - pinentry.timeout = atoi (line); - - return 0; -} - -static gpg_error_t -cmd_settitle (assuan_context_t ctx, char *line) -{ - char *newt; - - (void)ctx; - - newt = malloc (strlen (line) + 1); - if (!newt) - return gpg_error_from_syserror (); - - strcpy_escaped (newt, line); - if (pinentry.title) - free (pinentry.title); - pinentry.title = newt; - return 0; -} - -static gpg_error_t -cmd_setqualitybar (assuan_context_t ctx, char *line) -{ - char *newval; - - (void)ctx; - - if (!*line) - line = "Quality:"; - - newval = malloc (strlen (line) + 1); - if (!newval) - return gpg_error_from_syserror (); - - strcpy_escaped (newval, line); - if (pinentry.quality_bar) - free (pinentry.quality_bar); - pinentry.quality_bar = newval; - return 0; -} - -/* Set the tooltip to be used for a quality bar. */ -static gpg_error_t -cmd_setqualitybar_tt (assuan_context_t ctx, char *line) -{ - char *newval; - - (void)ctx; - - if (*line) - { - newval = malloc (strlen (line) + 1); - if (!newval) - return gpg_error_from_syserror (); - - strcpy_escaped (newval, line); - } - else - newval = NULL; - if (pinentry.quality_bar_tt) - free (pinentry.quality_bar_tt); - pinentry.quality_bar_tt = newval; - return 0; -} - -/* Set the tooltip to be used for a generate action. */ -static gpg_error_t -cmd_setgenpin_tt (assuan_context_t ctx, char *line) -{ - char *newval; - - (void)ctx; - - if (*line) - { - newval = malloc (strlen (line) + 1); - if (!newval) - return gpg_error_from_syserror (); - - strcpy_escaped (newval, line); - } - else - newval = NULL; - if (pinentry.genpin_tt) - free (pinentry.genpin_tt); - pinentry.genpin_tt = newval; - return 0; -} - -/* Set the label to be used for a generate action. */ -static gpg_error_t -cmd_setgenpin_label (assuan_context_t ctx, char *line) -{ - char *newval; - - (void)ctx; - - if (*line) - { - newval = malloc (strlen (line) + 1); - if (!newval) - return gpg_error_from_syserror (); - - strcpy_escaped (newval, line); - } - else - newval = NULL; - if (pinentry.genpin_label) - free (pinentry.genpin_label); - pinentry.genpin_label = newval; - return 0; -} - -static gpg_error_t -cmd_getpin (assuan_context_t ctx, char *line) -{ - int result; - int set_prompt = 0; - int just_read_password_from_cache = 0; - - (void)line; - - pinentry_setbuffer_init (&pinentry); - if (!pinentry.pin) - return gpg_error (GPG_ERR_ENOMEM); - - /* Try reading from the password cache. */ - if (/* If repeat passphrase is set, then we don't want to read from - the cache. */ - ! pinentry.repeat_passphrase - /* Are we allowed to read from the cache? */ - && pinentry.allow_external_password_cache - && pinentry.keyinfo - /* Only read from the cache if we haven't already tried it. */ - && ! pinentry.tried_password_cache - /* If the last read resulted in an error, then don't read from - the cache. */ - && ! pinentry.error) - { - char *password; - int give_up_on_password_store = 0; - - pinentry.tried_password_cache = 1; - - password = password_cache_lookup (pinentry.keyinfo, &give_up_on_password_store); - if (give_up_on_password_store) - pinentry.allow_external_password_cache = 0; - - if (password) - /* There is a cached password. Try it. */ - { - int len = strlen(password) + 1; - if (len > pinentry.pin_len) - len = pinentry.pin_len; - - memcpy (pinentry.pin, password, len); - pinentry.pin[len] = '\0'; - - secmem_free (password); - - pinentry.pin_from_cache = 1; - - assuan_write_status (ctx, "PASSWORD_FROM_CACHE", ""); - - /* Result is the length of the password not including the - NUL terminator. */ - result = len - 1; - - just_read_password_from_cache = 1; - - goto out; - } - } - - /* The password was not cached (or we are not allowed to / cannot - use the cache). Prompt the user. */ - pinentry.pin_from_cache = 0; - - if (!pinentry.prompt) - { - pinentry.prompt = pinentry.default_prompt?pinentry.default_prompt:"PIN:"; - set_prompt = 1; - } - pinentry.locale_err = 0; - pinentry.specific_err = 0; - pinentry.specific_err_loc = NULL; - free (pinentry.specific_err_info); - pinentry.specific_err_info = NULL; - pinentry.close_button = 0; - pinentry.repeat_okay = 0; - pinentry.one_button = 0; - pinentry.ctx_assuan = ctx; - result = (*pinentry_cmd_handler) (&pinentry); - pinentry.ctx_assuan = NULL; - if (pinentry.error) - { - free (pinentry.error); - pinentry.error = NULL; - } - if (pinentry.repeat_passphrase) - { - free (pinentry.repeat_passphrase); - pinentry.repeat_passphrase = NULL; - } - if (set_prompt) - pinentry.prompt = NULL; - - pinentry.quality_bar = 0; /* Reset it after the command. */ - - if (pinentry.close_button) - assuan_write_status (ctx, "BUTTON_INFO", "close"); - - if (result < 0) - { - pinentry_setbuffer_clear (&pinentry); - if (pinentry.specific_err) - { - write_status_error (ctx, &pinentry); - - if (gpg_err_code (pinentry.specific_err) == GPG_ERR_FULLY_CANCELED) - assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1); - - return pinentry.specific_err; - } - return (pinentry.locale_err - ? gpg_error (GPG_ERR_LOCALE_PROBLEM) - : gpg_error (GPG_ERR_CANCELED)); - } - - out: - if (result) - { - if (pinentry.repeat_okay) - assuan_write_status (ctx, "PIN_REPEATED", ""); - assuan_begin_confidential (ctx); - result = assuan_send_data (ctx, pinentry.pin, strlen(pinentry.pin)); - if (!result) - result = assuan_send_data (ctx, NULL, 0); - assuan_end_confidential (ctx); - - if (/* GPG Agent says it's okay. */ - pinentry.allow_external_password_cache && pinentry.keyinfo - /* We didn't just read it from the cache. */ - && ! just_read_password_from_cache - /* And the user said it's okay. */ - && pinentry.may_cache_password) - /* Cache the password. */ - password_cache_save (pinentry.keyinfo, pinentry.pin); - } - - pinentry_setbuffer_clear (&pinentry); - - return result; -} - - -/* Note that the option --one-button is a hack to allow the use of old - pinentries while the caller is ignoring the result. Given that - options have never been used or flagged as an error the new option - is an easy way to enable the messsage mode while not requiring to - update pinentry or to have the caller test for the message - command. New applications which are free to require an updated - pinentry should use MESSAGE instead. */ -static gpg_error_t -cmd_confirm (assuan_context_t ctx, char *line) -{ - int result; - - pinentry.one_button = !!strstr (line, "--one-button"); - pinentry.quality_bar = 0; - pinentry.close_button = 0; - pinentry.locale_err = 0; - pinentry.specific_err = 0; - pinentry.specific_err_loc = NULL; - free (pinentry.specific_err_info); - pinentry.specific_err_info = NULL; - pinentry.canceled = 0; - pinentry_setbuffer_clear (&pinentry); - result = (*pinentry_cmd_handler) (&pinentry); - if (pinentry.error) - { - free (pinentry.error); - pinentry.error = NULL; - } - - if (pinentry.close_button) - assuan_write_status (ctx, "BUTTON_INFO", "close"); - - if (result > 0) - return 0; /* OK */ - - if (pinentry.specific_err) - { - write_status_error (ctx, &pinentry); - - if (gpg_err_code (pinentry.specific_err) == GPG_ERR_FULLY_CANCELED) - assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1); - - return pinentry.specific_err; - } - - if (pinentry.locale_err) - return gpg_error (GPG_ERR_LOCALE_PROBLEM); - - if (pinentry.one_button) - return 0; /* OK */ - - if (pinentry.canceled) - return gpg_error (GPG_ERR_CANCELED); - return gpg_error (GPG_ERR_NOT_CONFIRMED); -} - - -static gpg_error_t -cmd_message (assuan_context_t ctx, char *line) -{ - (void)line; - - return cmd_confirm (ctx, "--one-button"); -} - - -/* Return a staically allocated string with information on the mode, - * uid, and gid of DEVICE. On error "?" is returned if DEVICE is - * NULL, "-" is returned. */ -static const char * -device_stat_string (const char *device) -{ -#ifdef HAVE_STAT - static char buf[40]; - struct stat st; - - if (!device || !*device) - return "-"; - - if (stat (device, &st)) - return "?"; /* Error */ - snprintf (buf, sizeof buf, "%lo/%lu/%lu", - (unsigned long)st.st_mode, - (unsigned long)st.st_uid, - (unsigned long)st.st_gid); - return buf; -#else - return "-"; -#endif -} - - -/* GETINFO <what> - - Multipurpose function to return a variety of information. - Supported values for WHAT are: - - version - Return the version of the program. - pid - Return the process id of the server. - flavor - Return information about the used pinentry flavor - ttyinfo - Return DISPLAY, ttyinfo and an emacs pinentry status - */ -static gpg_error_t -cmd_getinfo (assuan_context_t ctx, char *line) -{ - int rc; - const char *s; - char buffer[150]; - - if (!strcmp (line, "version")) - { - s = VERSION; - rc = assuan_send_data (ctx, s, strlen (s)); - } - else if (!strcmp (line, "pid")) - { - - snprintf (buffer, sizeof buffer, "%lu", (unsigned long)getpid ()); - rc = assuan_send_data (ctx, buffer, strlen (buffer)); - } - else if (!strcmp (line, "flavor")) - { - if (!strncmp (this_pgmname, "pinentry-", 9) && this_pgmname[9]) - s = this_pgmname + 9; - else - s = this_pgmname; - - snprintf (buffer, sizeof buffer, "%s%s%s", - s, - flavor_flag? ":":"", - flavor_flag? flavor_flag : ""); - rc = assuan_send_data (ctx, buffer, strlen (buffer)); - /* if (!rc) */ - /* rc = assuan_write_status (ctx, "FEATURES", "tabbing foo bar"); */ - } - else if (!strcmp (line, "ttyinfo")) - { - char emacs_status[10]; -#ifdef INSIDE_EMACS - snprintf (emacs_status, sizeof emacs_status, - "%d", pinentry_emacs_status ()); -#else - strcpy (emacs_status, "-"); -#endif - snprintf (buffer, sizeof buffer, "%s %s %s %s %lu/%lu %s", - pinentry.ttyname? pinentry.ttyname : "-", - pinentry.ttytype_l? pinentry.ttytype_l : "-", - pinentry.display? pinentry.display : "-", - device_stat_string (pinentry.ttyname), -#ifdef HAVE_DOSISH_SYSTEM - 0l, 0l, -#else - (unsigned long)geteuid (), (unsigned long)getegid (), -#endif - emacs_status - ); - rc = assuan_send_data (ctx, buffer, strlen (buffer)); - } - else - rc = gpg_error (GPG_ERR_ASS_PARAMETER); - return rc; -} - -/* CLEARPASSPHRASE <cacheid> - - Clear the cache passphrase associated with the key identified by - cacheid. - */ -static gpg_error_t -cmd_clear_passphrase (assuan_context_t ctx, char *line) -{ - (void)ctx; - - if (! line) - return gpg_error (GPG_ERR_ASS_INV_VALUE); - - /* Remove leading and trailing white space. */ - while (*line == ' ') - line ++; - while (line[strlen (line) - 1] == ' ') - line[strlen (line) - 1] = 0; - - switch (password_cache_clear (line)) - { - case 1: return 0; - case 0: return gpg_error (GPG_ERR_ASS_INV_VALUE); - default: return gpg_error (GPG_ERR_ASS_GENERAL); - } -} - -/* Tell the assuan library about our commands. */ -static gpg_error_t -register_commands (assuan_context_t ctx) -{ - static struct - { - const char *name; - gpg_error_t (*handler) (assuan_context_t, char *line); - } table[] = - { - { "SETDESC", cmd_setdesc }, - { "SETPROMPT", cmd_setprompt }, - { "SETKEYINFO", cmd_setkeyinfo }, - { "SETREPEAT", cmd_setrepeat }, - { "SETREPEATERROR", cmd_setrepeaterror }, - { "SETERROR", cmd_seterror }, - { "SETOK", cmd_setok }, - { "SETNOTOK", cmd_setnotok }, - { "SETCANCEL", cmd_setcancel }, - { "GETPIN", cmd_getpin }, - { "CONFIRM", cmd_confirm }, - { "MESSAGE", cmd_message }, - { "SETQUALITYBAR", cmd_setqualitybar }, - { "SETQUALITYBAR_TT", cmd_setqualitybar_tt }, - { "SETGENPIN", cmd_setgenpin_label }, - { "SETGENPIN_TT", cmd_setgenpin_tt }, - { "GETINFO", cmd_getinfo }, - { "SETTITLE", cmd_settitle }, - { "SETTIMEOUT", cmd_settimeout }, - { "CLEARPASSPHRASE", cmd_clear_passphrase }, - { NULL } - }; - int i, j; - gpg_error_t rc; - - for (i = j = 0; table[i].name; i++) - { - rc = assuan_register_command (ctx, table[i].name, table[i].handler, NULL); - if (rc) - return rc; - } - return 0; -} - - -int -pinentry_loop2 (int infd, int outfd) -{ - gpg_error_t rc; - assuan_fd_t filedes[2]; - assuan_context_t ctx; - - /* Extra check to make sure we have dropped privs. */ -#ifndef HAVE_DOSISH_SYSTEM - if (getuid() != geteuid()) - abort (); -#endif - - rc = assuan_new (&ctx); - if (rc) - { - fprintf (stderr, "server context creation failed: %s\n", - gpg_strerror (rc)); - return -1; - } - - /* For now we use a simple pipe based server so that we can work - from scripts. We will later add options to run as a daemon and - wait for requests on a Unix domain socket. */ - filedes[0] = assuan_fdopen (infd); - filedes[1] = assuan_fdopen (outfd); - rc = assuan_init_pipe_server (ctx, filedes); - if (rc) - { - fprintf (stderr, "%s: failed to initialize the server: %s\n", - this_pgmname, gpg_strerror (rc)); - return -1; - } - rc = register_commands (ctx); - if (rc) - { - fprintf (stderr, "%s: failed to the register commands with Assuan: %s\n", - this_pgmname, gpg_strerror (rc)); - return -1; - } - - assuan_register_option_handler (ctx, option_handler); -#if 0 - assuan_set_log_stream (ctx, stderr); -#endif - assuan_register_reset_notify (ctx, pinentry_assuan_reset_handler); - - for (;;) - { - rc = assuan_accept (ctx); - if (rc == -1) - break; - else if (rc) - { - fprintf (stderr, "%s: Assuan accept problem: %s\n", - this_pgmname, gpg_strerror (rc)); - break; - } - - rc = assuan_process (ctx); - if (rc) - { - fprintf (stderr, "%s: Assuan processing failed: %s\n", - this_pgmname, gpg_strerror (rc)); - continue; - } - } - - assuan_release (ctx); - return 0; -} - - -/* Start the pinentry event loop. The program will start to process - Assuan commands until it is finished or an error occurs. If an - error occurs, -1 is returned. Otherwise, 0 is returned. */ -int -pinentry_loop (void) -{ - return pinentry_loop2 (STDIN_FILENO, STDOUT_FILENO); -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.h deleted file mode 100644 index b97f069b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.h +++ /dev/null @@ -1,364 +0,0 @@ -/* pinentry.h - The interface for the PIN entry support library. - * Copyright (C) 2002, 2003, 2010, 2015, 2021 g10 Code GmbH - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef PINENTRY_H -#define PINENTRY_H - -#ifdef __cplusplus -extern "C" { -#if 0 -} -#endif -#endif - -typedef enum { - PINENTRY_COLOR_NONE, PINENTRY_COLOR_DEFAULT, - PINENTRY_COLOR_BLACK, PINENTRY_COLOR_RED, - PINENTRY_COLOR_GREEN, PINENTRY_COLOR_YELLOW, - PINENTRY_COLOR_BLUE, PINENTRY_COLOR_MAGENTA, - PINENTRY_COLOR_CYAN, PINENTRY_COLOR_WHITE -} pinentry_color_t; - -struct pinentry -{ - /* The window title, or NULL. (Assuan: "SETTITLE TITLE".) */ - char *title; - /* The description to display, or NULL. (Assuan: "SETDESC - DESC".) */ - char *description; - /* The error message to display, or NULL. (Assuan: "SETERROR - MESSAGE".) */ - char *error; - /* The prompt to display, or NULL. (Assuan: "SETPROMPT - prompt".) */ - char *prompt; - /* The OK button text to display, or NULL. (Assuan: "SETOK - OK".) */ - char *ok; - /* The Not-OK button text to display, or NULL. This is the text for - the alternative option shown by the third button. (Assuan: - "SETNOTOK NOTOK".) */ - char *notok; - /* The Cancel button text to display, or NULL. (Assuan: "SETCANCEL - CANCEL".) */ - char *cancel; - - /* The buffer to store the secret into. */ - char *pin; - /* The length of the buffer. */ - int pin_len; - /* Whether the pin was read from an external cache (1) or entered by - the user (0). */ - int pin_from_cache; - - /* The name of the X display to use if X is available and supported. - (Assuan: "OPTION display DISPLAY".) */ - char *display; - /* The name of the terminal node to open if X not available or - supported. (Assuan: "OPTION ttyname TTYNAME".) */ - char *ttyname; - /* The type of the terminal. (Assuan: "OPTION ttytype TTYTYPE".) */ - char *ttytype_l; - /* Set the alert mode (none, beep or flash). */ - char *ttyalert; - /* The LC_CTYPE value for the terminal. (Assuan: "OPTION lc-ctype - LC_CTYPE".) */ - char *lc_ctype; - /* The LC_MESSAGES value for the terminal. (Assuan: "OPTION - lc-messages LC_MESSAGES".) */ - char *lc_messages; - - /* True if debug mode is requested. */ - int debug; - - /* The number of seconds before giving up while waiting for user input. */ - int timeout; - - /* True if caller should grab the keyboard. (Assuan: "OPTION grab" - or "OPTION no-grab".) */ - int grab; - - /* The PID of the owner or 0 if not known. The owner is the process - * which actually triggered the the pinentry. For example gpg. */ - unsigned long owner_pid; - - /* The numeric uid (user ID) of the owner process or -1 if not - * known. */ - int owner_uid; - - /* The malloced hostname of the owner or NULL. */ - char *owner_host; - - /* The window ID of the parent window over which the pinentry window - should be displayed. (Assuan: "OPTION parent-wid WID".) */ - int parent_wid; - - /* The name of an optional file which will be touched after a curses - entry has been displayed. (Assuan: "OPTION touch-file - FILENAME".) */ - char *touch_file; - - /* The frontend should set this to -1 if the user canceled the - request, and to the length of the PIN stored in pin - otherwise. */ - int result; - - /* The frontend should set this if the NOTOK button was pressed. */ - int canceled; - - /* The frontend should set this to true if an error with the local - conversion occurred. */ - int locale_err; - - /* The frontend should set this to a gpg-error so that commands are - able to return specific error codes. This is an ugly hack due to - the fact that pinentry_cmd_handler_t returns the length of the - passphrase or a negative error code. */ - int specific_err; - - /* The frontend may store a string with the error location here. */ - const char *specific_err_loc; - - /* The frontend may store a malloced string here to emit an ERROR - * status code with this extra info along with SPECIFIC_ERR. */ - char *specific_err_info; - - /* The frontend should set this to true if the window close button - has been used. This flag is used in addition to a regular return - value. */ - int close_button; - - /* The caller should set this to true if only one button is - required. This is useful for notification dialogs where only a - dismiss button is required. */ - int one_button; - - /* If true a second prompt for the passphrase is shown and the user - is expected to enter the same passphrase again. Pinentry checks - that both match. (Assuan: "SETREPEAT".) */ - char *repeat_passphrase; - - /* The string to show if a repeated passphrase does not match. - (Assuan: "SETREPEATERROR ERROR".) */ - char *repeat_error_string; - - /* Set to true if the passphrase has been entered a second time and - matches the first passphrase. */ - int repeat_okay; - - /* If this is not NULL, a passphrase quality indicator is shown. - There will also be an inquiry back to the caller to get an - indication of the quality for the passphrase entered so far. The - string is used as a label for the quality bar. (Assuan: - "SETQUALITYBAR LABEL".) */ - char *quality_bar; - - /* The tooltip to be shown for the qualitybar. Malloced or NULL. - (Assuan: "SETQUALITYBAR_TT TOOLTIP".) */ - char *quality_bar_tt; - - /* If this is not NULL, a generate action should be shown. - There will be an inquiry back to the caller to get such a - PIN. generate action. Malloced or NULL. - (Assuan: "SETGENPIN LABEL" .) */ - char *genpin_label; - - /* The tooltip to be shown for the generate action. Malloced or NULL. - (Assuan: "SETGENPIN_TT TOOLTIP".) */ - char *genpin_tt; - - /* Specifies whether passphrase formatting should be enabled. - (Assuan: "OPTION formatted-passphrase") */ - int formatted_passphrase; - - /* A hint to be shown near the passphrase input field if passphrase - formatting is enabled. Malloced or NULL. - (Assuan: "OPTION formatted-passphrase-hint=HINT".) */ - char *formatted_passphrase_hint; - - /* For the curses pinentry, the color of error messages. */ - pinentry_color_t color_fg; - int color_fg_bright; - pinentry_color_t color_bg; - pinentry_color_t color_so; - int color_so_bright; - - /* Malloced and i18ned default strings or NULL. These strings may - include an underscore character to indicate an accelerator key. - A double underscore represents a plain one. */ - /* (Assuan: "OPTION default-ok OK"). */ - char *default_ok; - /* (Assuan: "OPTION default-cancel CANCEL"). */ - char *default_cancel; - /* (Assuan: "OPTION default-prompt PROMPT"). */ - char *default_prompt; - /* (Assuan: "OPTION default-pwmngr - SAVE_PASSWORD_WITH_PASSWORD_MANAGER?"). */ - char *default_pwmngr; - /* (Assuan: "OPTION default-cf-visi - Do you really want to make your passphrase visible?"). */ - char *default_cf_visi; - /* (Assuan: "OPTION default-tt-visi - Make passphrase visible?"). */ - char *default_tt_visi; - /* (Assuan: "OPTION default-tt-hide - Hide passphrase"). */ - char *default_tt_hide; - /* (Assuan: "OPTION default-capshint - Caps Lock is on"). */ - char *default_capshint; - - /* Whether we are allowed to read the password from an external - cache. (Assuan: "OPTION allow-external-password-cache") */ - int allow_external_password_cache; - - /* We only try the cache once. */ - int tried_password_cache; - - /* A stable identifier for the key. (Assuan: "SETKEYINFO - KEYINFO".) */ - char *keyinfo; - - /* Whether we may cache the password (according to the user). */ - int may_cache_password; - - /* NOTE: If you add any additional fields to this structure, be sure - to update the initializer in pinentry/pinentry.c!!! */ - - /* For the quality indicator and genpin we need to do an inquiry. - Thus we need to save the assuan ctx. */ - void *ctx_assuan; - - /* An UTF-8 string with an invisible character used to override the - default in some pinentries. Only the first character is - used. */ - char *invisible_char; - - /* Whether the passphrase constraints are enforced by gpg-agent. - (Assuan: "OPTION constraints-enforce") */ - int constraints_enforce; - - /* A short translated hint for the user with the constraints for new - passphrases to be displayed near the passphrase input field. - Malloced or NULL. - (Assuan: "OPTION constraints-hint-short=At least 8 characters".) */ - char *constraints_hint_short; - - /* A longer translated hint for the user with the constraints for new - passphrases to be displayed for example as tooltip. Malloced or NULL. - (Assuan: "OPTION constraints-hint-long=The passphrase must ...".) */ - char *constraints_hint_long; - - /* A short translated title for an error dialog informing the user about - unsatisfied passphrase constraints. Malloced or NULL. - (Assuan: "OPTION constraints-error-title=Passphrase Not Allowed".) */ - char *constraints_error_title; - -}; -typedef struct pinentry *pinentry_t; - - -/* The pinentry command handler type processes the pinentry request - PIN. If PIN->pin is zero, request a confirmation, otherwise a PIN - entry. On confirmation, the function should return TRUE if - confirmed, and FALSE otherwise. On PIN entry, the function should - return -1 if an error occurred or the user cancelled the operation - and 1 otherwise. */ -typedef int (*pinentry_cmd_handler_t) (pinentry_t pin); - -/* Start the pinentry event loop. The program will start to process - Assuan commands until it is finished or an error occurs. If an - error occurs, -1 is returned and errno indicates the type of an - error. Otherwise, 0 is returned. */ -int pinentry_loop (void); - -/* The same as above but allows to specify the i/o descriptors. - * infd and outfd will be duplicated in this function so the caller - * still has to close them if necessary. - */ -int pinentry_loop2 (int infd, int outfd); - -const char *pinentry_get_pgmname (void); - -char *pinentry_get_title (pinentry_t pe); - -/* Run a quality inquiry for PASSPHRASE of LENGTH. */ -int pinentry_inq_quality (pinentry_t pin, - const char *passphrase, size_t length); - -/* Run a checkpin inquiry for PASSPHRASE of LENGTH. Returns NULL, if the - passphrase satisfies the constraints. Otherwise, returns a malloced error - string. */ -char *pinentry_inq_checkpin (pinentry_t pin, - const char *passphrase, size_t length); - -/* Run a genpin iquriry. Returns a malloced string or NULL */ -char *pinentry_inq_genpin (pinentry_t pin); - -/* Try to make room for at least LEN bytes for the pin in the pinentry - PIN. Returns new buffer on success and 0 on failure. */ -char *pinentry_setbufferlen (pinentry_t pin, int len); - -/* Use the buffer at BUFFER for PIN->PIN. BUFFER must be NULL or - allocated using secmem_alloc. LEN is the size of the buffer. If - it is unknown, but BUFFER is a NUL terminated string, you pass 0 to - just use strlen(buffer)+1. */ -void pinentry_setbuffer_use (pinentry_t pin, char *buffer, int len); - -/* Initialize the secure memory subsystem, drop privileges and - return. Must be called early. */ -void pinentry_init (const char *pgmname); - -/* Return true if either DISPLAY is set or ARGV contains the string - "--display". */ -int pinentry_have_display (int argc, char **argv); - -/* Parse the command line options. May exit the program if only help - or version output is requested. */ -void pinentry_parse_opts (int argc, char *argv[]); - -/* Set the optional flag used with getinfo. */ -void pinentry_set_flavor_flag (const char *string); - - - -/* The caller must define this variable to process assuan commands. */ -extern pinentry_cmd_handler_t pinentry_cmd_handler; - - - - - -#ifdef HAVE_W32_SYSTEM -/* Windows declares sleep as obsolete, but provides a definition for - _sleep but non for the still existing sleep. */ -#define sleep(a) _sleep ((a)) -#endif /*HAVE_W32_SYSTEM*/ - - - -#if 0 -{ -#endif -#ifdef __cplusplus -} -#endif - -#endif /* PINENTRY_H */ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.am deleted file mode 100644 index 4b2cec2b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.am +++ /dev/null @@ -1,75 +0,0 @@ -# Makefile.am -# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB -# Copyright (C) 2008, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-qt - -EXTRA_DIST = pinentryrc.qrc - -SUBDIRS = icons - - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - - -AM_CPPFLAGS = $(COMMON_CFLAGS) \ - -I$(top_srcdir) -I$(top_srcdir)/secmem \ - $(ncurses_include) -I$(top_srcdir)/pinentry -AM_CXXFLAGS = $(PINENTRY_QT_CFLAGS) -pinentry_qt_LDADD = \ - ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_QT_LIBS) $(libcurses) -pinentry_qt_LDFLAGS = $(PINENTRY_QT_LDFLAGS) - -if BUILD_PINENTRY_QT -BUILT_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc capslock.moc \ - pinentryrc.cpp -endif - -CLEANFILES = $(BUILT_SOURCES) - -if HAVE_W32_SYSTEM -pinentry_qt_platform_SOURCES = capslock_win.cpp -else -pinentry_qt_platform_SOURCES = capslock_unix.cpp -endif - -pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp pinentryconfirm.cpp pinentryconfirm.h \ - pinlineedit.h pinlineedit.cpp capslock.cpp capslock.h capslock_p.h \ - pinentry_debug.cpp pinentry_debug.h util.h accessibility.cpp \ - accessibility.h qti18n.cpp pinentryrc.qrc \ - $(pinentry_qt_platform_SOURCES) - -nodist_pinentry_qt_SOURCES = $(BUILT_SOURCES) - -.h.moc: - $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ - -pinentryrc.cpp: pinentryrc.qrc - $(RCC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.in deleted file mode 100644 index f3aeeea4..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.in +++ /dev/null @@ -1,902 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am -# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB -# Copyright (C) 2008, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-qt$(EXEEXT) -subdir = qt -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am__pinentry_qt_SOURCES_DIST = pinentrydialog.h pinentrydialog.cpp \ - main.cpp pinentryconfirm.cpp pinentryconfirm.h pinlineedit.h \ - pinlineedit.cpp capslock.cpp capslock.h capslock_p.h \ - pinentry_debug.cpp pinentry_debug.h util.h accessibility.cpp \ - accessibility.h qti18n.cpp pinentryrc.qrc capslock_unix.cpp \ - capslock_win.cpp -@HAVE_W32_SYSTEM_FALSE@am__objects_1 = capslock_unix.$(OBJEXT) -@HAVE_W32_SYSTEM_TRUE@am__objects_1 = capslock_win.$(OBJEXT) -am_pinentry_qt_OBJECTS = pinentrydialog.$(OBJEXT) main.$(OBJEXT) \ - pinentryconfirm.$(OBJEXT) pinlineedit.$(OBJEXT) \ - capslock.$(OBJEXT) pinentry_debug.$(OBJEXT) \ - accessibility.$(OBJEXT) qti18n.$(OBJEXT) $(am__objects_1) -@BUILD_PINENTRY_QT_TRUE@am__objects_2 = pinentryrc.$(OBJEXT) -nodist_pinentry_qt_OBJECTS = $(am__objects_2) -pinentry_qt_OBJECTS = $(am_pinentry_qt_OBJECTS) \ - $(nodist_pinentry_qt_OBJECTS) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_qt_DEPENDENCIES = ../pinentry/libpinentry.a \ - $(top_builddir)/secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -pinentry_qt_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ - $(pinentry_qt_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/accessibility.Po \ - ./$(DEPDIR)/capslock.Po ./$(DEPDIR)/capslock_unix.Po \ - ./$(DEPDIR)/capslock_win.Po ./$(DEPDIR)/main.Po \ - ./$(DEPDIR)/pinentry_debug.Po ./$(DEPDIR)/pinentryconfirm.Po \ - ./$(DEPDIR)/pinentrydialog.Po ./$(DEPDIR)/pinentryrc.Po \ - ./$(DEPDIR)/pinlineedit.Po ./$(DEPDIR)/qti18n.Po -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_@AM_V@) -am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_qt_SOURCES) $(nodist_pinentry_qt_SOURCES) -DIST_SOURCES = $(am__pinentry_qt_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-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 \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir distdir-am -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -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" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -EXTRA_DIST = pinentryrc.qrc -SUBDIRS = icons -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) \ - -I$(top_srcdir) -I$(top_srcdir)/secmem \ - $(ncurses_include) -I$(top_srcdir)/pinentry - -AM_CXXFLAGS = $(PINENTRY_QT_CFLAGS) -pinentry_qt_LDADD = \ - ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_QT_LIBS) $(libcurses) - -pinentry_qt_LDFLAGS = $(PINENTRY_QT_LDFLAGS) -@BUILD_PINENTRY_QT_TRUE@BUILT_SOURCES = \ -@BUILD_PINENTRY_QT_TRUE@ pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc capslock.moc \ -@BUILD_PINENTRY_QT_TRUE@ pinentryrc.cpp - -CLEANFILES = $(BUILT_SOURCES) -@HAVE_W32_SYSTEM_FALSE@pinentry_qt_platform_SOURCES = capslock_unix.cpp -@HAVE_W32_SYSTEM_TRUE@pinentry_qt_platform_SOURCES = capslock_win.cpp -pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp pinentryconfirm.cpp pinentryconfirm.h \ - pinlineedit.h pinlineedit.cpp capslock.cpp capslock.h capslock_p.h \ - pinentry_debug.cpp pinentry_debug.h util.h accessibility.cpp \ - accessibility.h qti18n.cpp pinentryrc.qrc \ - $(pinentry_qt_platform_SOURCES) - -nodist_pinentry_qt_SOURCES = $(BUILT_SOURCES) -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -.SUFFIXES: .cpp .h .moc .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu qt/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-qt$(EXEEXT): $(pinentry_qt_OBJECTS) $(pinentry_qt_DEPENDENCIES) $(EXTRA_pinentry_qt_DEPENDENCIES) - @rm -f pinentry-qt$(EXEEXT) - $(AM_V_CXXLD)$(pinentry_qt_LINK) $(pinentry_qt_OBJECTS) $(pinentry_qt_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accessibility.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capslock.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capslock_unix.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capslock_win.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry_debug.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryconfirm.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryrc.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinlineedit.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qti18n.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.cpp.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -# 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. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - 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" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - 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; \ - $(am__define_uniq_tagged_files); \ - 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-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - 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 -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(PROGRAMS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-recursive - -rm -f ./$(DEPDIR)/accessibility.Po - -rm -f ./$(DEPDIR)/capslock.Po - -rm -f ./$(DEPDIR)/capslock_unix.Po - -rm -f ./$(DEPDIR)/capslock_win.Po - -rm -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/pinentry_debug.Po - -rm -f ./$(DEPDIR)/pinentryconfirm.Po - -rm -f ./$(DEPDIR)/pinentrydialog.Po - -rm -f ./$(DEPDIR)/pinentryrc.Po - -rm -f ./$(DEPDIR)/pinlineedit.Po - -rm -f ./$(DEPDIR)/qti18n.Po - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - 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-binPROGRAMS - -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 ./$(DEPDIR)/accessibility.Po - -rm -f ./$(DEPDIR)/capslock.Po - -rm -f ./$(DEPDIR)/capslock_unix.Po - -rm -f ./$(DEPDIR)/capslock_win.Po - -rm -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/pinentry_debug.Po - -rm -f ./$(DEPDIR)/pinentryconfirm.Po - -rm -f ./$(DEPDIR)/pinentrydialog.Po - -rm -f ./$(DEPDIR)/pinentryrc.Po - -rm -f ./$(DEPDIR)/pinlineedit.Po - -rm -f ./$(DEPDIR)/qti18n.Po - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: $(am__recursive_targets) all check install install-am \ - install-exec install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--depfiles check check-am clean clean-binPROGRAMS \ - clean-generic cscopelist-am ctags ctags-am 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 \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -.h.moc: - $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ - -pinentryrc.cpp: pinentryrc.qrc - $(RCC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.cpp deleted file mode 100644 index 7372df74..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* accessibility.cpp - Helpers for making pinentry accessible - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "accessibility.h" - -#include <QLabel> -#include <QString> -#include <QTextDocument> -#include <QWidget> - -#include "pinentry_debug.h" - -namespace Accessibility -{ - -void setDescription(QWidget *w, const QString &text) -{ - if (w) { -#ifndef QT_NO_ACCESSIBILITY - w->setAccessibleDescription(text); -#endif - } -} - -void setName(QWidget *w, const QString &text) -{ - if (w) { -#ifndef QT_NO_ACCESSIBILITY - w->setAccessibleName(text); -#endif - } -} - -void selectLabelText(QLabel *label) -{ - if (!label || label->text().isEmpty()) { - return; - } - if (label->textFormat() == Qt::PlainText) { - label->setSelection(0, label->text().size()); - } else if (label->textFormat() == Qt::RichText) { - // unfortunately, there is no selectAll(); therefore, we need - // to determine the "visual" length of the text by stripping - // the label's text of all formatting information - QTextDocument temp; - temp.setHtml(label->text()); - label->setSelection(0, temp.toRawText().size()); - } else { - qDebug(PINENTRY_LOG) << "Label with unsupported text format" << label->textFormat() << "got focus"; - } -} - -} // namespace Accessibility diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.h deleted file mode 100644 index 831964bb..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.h +++ /dev/null @@ -1,45 +0,0 @@ -/* accessibility.h - Helpers for making pinentry accessible - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRY_QT_ACCESSIBILITY_H__ -#define __PINENTRY_QT_ACCESSIBILITY_H__ - -class QLabel; -class QString; -class QWidget; - -namespace Accessibility -{ - -/* Wrapper for QWidget::setAccessibleDescription which does nothing if - QT_NO_ACCESSIBILITY is defined. */ -void setDescription(QWidget *w, const QString &text); - -/* Wrapper for QWidget::setAccessibleName which does nothing if - QT_NO_ACCESSIBILITY is defined. */ -void setName(QWidget *w, const QString &text); - -/* Selects the text displayed by the label. Only QLabel with text format - Qt::PlainText or Qt::RichText are supported. */ -void selectLabelText(QLabel *label); - -} // namespace Accessibility - -#endif // __PINENTRY_QT_ACCESSIBILITY_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.cpp deleted file mode 100644 index 2d20864d..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* capslock.cpp - Helper to check whether Caps Lock is on - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "capslock.h" -#include "capslock_p.h" - -#include <QGuiApplication> - -#include <QDebug> - -CapsLockWatcher::Private::Private(CapsLockWatcher *q) - : q{q} -{ -#ifdef PINENTRY_QT_WAYLAND - if (qApp->platformName() == QLatin1String("wayland")) { - watchWayland(); - } -#endif -} - -CapsLockWatcher::CapsLockWatcher(QObject *parent) - : QObject{parent} - , d{new Private{this}} -{ - if (qApp->platformName() == QLatin1String("wayland")) { -#ifndef PINENTRY_QT_WAYLAND - qWarning() << "CapsLockWatcher was compiled without support for Wayland"; -#endif - } -} - -#include "capslock.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.h deleted file mode 100644 index b5a04855..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.h +++ /dev/null @@ -1,52 +0,0 @@ -/* capslock.h - Helper to check whether Caps Lock is on - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRY_QT_CAPSLOCK_H__ -#define __PINENTRY_QT_CAPSLOCK_H__ - -#include <QObject> - -#include <memory> - -enum class LockState -{ - Unknown = -1, - Off, - On -}; - -LockState capsLockState(); - -class CapsLockWatcher : public QObject -{ - Q_OBJECT - -public: - explicit CapsLockWatcher(QObject *parent = nullptr); - -Q_SIGNALS: - void stateChanged(bool locked); - -private: - class Private; - std::unique_ptr<Private> d; -}; - -#endif // __PINENTRY_QT_CAPSLOCK_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_p.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_p.h deleted file mode 100644 index 8c6fc491..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_p.h +++ /dev/null @@ -1,61 +0,0 @@ -/* capslock_p.h - Helper to check whether Caps Lock is on - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRY_QT_CAPSLOCK_P_H__ -#define __PINENTRY_QT_CAPSLOCK_P_H__ - -#include "capslock.h" - -#ifdef PINENTRY_QT_WAYLAND -namespace KWayland -{ -namespace Client -{ -class Registry; -class Seat; -} -} -#endif - -class CapsLockWatcher::Private -{ -public: - explicit Private(CapsLockWatcher *); -#ifdef PINENTRY_QT_WAYLAND - void watchWayland(); -#endif - -private: -#ifdef PINENTRY_QT_WAYLAND - void registry_seatAnnounced(quint32, quint32); - void seat_hasKeyboardChanged(bool); - void keyboard_modifiersChanged(quint32); -#endif - -private: - CapsLockWatcher *const q; - -#ifdef PINENTRY_QT_WAYLAND - KWayland::Client::Registry *registry = nullptr; - KWayland::Client::Seat *seat = nullptr; -#endif -}; - -#endif // __PINENTRY_QT_CAPSLOCK_P_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_unix.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_unix.cpp deleted file mode 100644 index 320f738b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_unix.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* capslock_unix.cpp - Helper to check whether Caps Lock is on - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "capslock.h" -#include "capslock_p.h" - -#ifdef PINENTRY_QT_WAYLAND -# include <KWayland/Client/connection_thread.h> -# include <KWayland/Client/keyboard.h> -# include <KWayland/Client/registry.h> -# include <KWayland/Client/seat.h> -#endif - -#include <QGuiApplication> - -#ifdef PINENTRY_QT_X11 -# include <QX11Info> -# include <X11/XKBlib.h> -# undef Status -#endif - -#include <QDebug> - -#ifdef PINENTRY_QT_WAYLAND -using namespace KWayland::Client; -#endif - -#ifdef PINENTRY_QT_WAYLAND -static bool watchingWayland = false; -#endif - -LockState capsLockState() -{ - static bool reportUnsupportedPlatform = true; -#ifdef PINENTRY_QT_X11 - if (qApp->platformName() == QLatin1String("xcb")) { - unsigned int state; - XkbGetIndicatorState(QX11Info::display(), XkbUseCoreKbd, &state); - return (state & 0x01) == 1 ? LockState::On : LockState::Off; - } -#endif -#ifdef PINENTRY_QT_WAYLAND - if (qApp->platformName() == QLatin1String("wayland")) { - if (!watchingWayland && reportUnsupportedPlatform) { - qDebug() << "Use CapsLockWatcher for checking for Caps Lock on Wayland"; - } - } else -#endif - if (reportUnsupportedPlatform) { - qWarning() << "Checking for Caps Lock not possible on unsupported platform:" << qApp->platformName(); - } - reportUnsupportedPlatform = false; - return LockState::Unknown; -} - -#ifdef PINENTRY_QT_WAYLAND -void CapsLockWatcher::Private::watchWayland() -{ - watchingWayland = true; - auto connection = ConnectionThread::fromApplication(q); - if (!connection) { - qWarning() << "Failed to get connection to Wayland server from QPA"; - return; - } - registry = new Registry{q}; - registry->create(connection); - if (!registry->isValid()) { - qWarning() << "Failed to create valid KWayland registry"; - return; - } - registry->setup(); - - connect(registry, &Registry::seatAnnounced, - q, [this] (quint32 name, quint32 version) { registry_seatAnnounced(name, version); }); -} - -void CapsLockWatcher::Private::registry_seatAnnounced(quint32 name, quint32 version) -{ - Q_ASSERT(registry); - seat = registry->createSeat(name, version, q); - if (!seat->isValid()) { - qWarning() << "Failed to create valid KWayland seat"; - return; - } - - connect(seat, &Seat::hasKeyboardChanged, - q, [this] (bool hasKeyboard) { seat_hasKeyboardChanged(hasKeyboard); }); -} - -void CapsLockWatcher::Private::seat_hasKeyboardChanged(bool hasKeyboard) -{ - Q_ASSERT(seat); - - if (!hasKeyboard) { - qDebug() << "Seat has no keyboard"; - return; - } - - auto keyboard = seat->createKeyboard(q); - if (!keyboard->isValid()) { - qWarning() << "Failed to create valid KWayland keyboard"; - return; - } - - connect(keyboard, &Keyboard::modifiersChanged, - q, [this] (quint32, quint32, quint32 locked, quint32) { keyboard_modifiersChanged(locked); }); -} - -void CapsLockWatcher::Private::keyboard_modifiersChanged(quint32 locked) -{ - const bool capsLockIsLocked = (locked & 2u) != 0; - qDebug() << "Caps Lock is locked:" << capsLockIsLocked; - Q_EMIT q->stateChanged(capsLockIsLocked); -} -#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_win.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_win.cpp deleted file mode 100644 index 960369b4..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_win.cpp +++ /dev/null @@ -1,28 +0,0 @@ -/* capslock_win.cpp - Helper to check whether Caps Lock is on - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "capslock.h" - -#include <windows.h> - -LockState capsLockState() -{ - return (GetKeyState(VK_CAPITAL) & 1) ? LockState::On : LockState::Off; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.am deleted file mode 100644 index 49cef366..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.am +++ /dev/null @@ -1,26 +0,0 @@ -# Makefile.am -# Copyright (C) 2022 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -EXTRA_DIST = data-error.svg \ - document-encrypt.png \ - hint.svg \ - password-generate.svg \ - visibility.svg diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.in deleted file mode 100644 index f2d3330f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.in +++ /dev/null @@ -1,503 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am -# Copyright (C) 2022 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = qt/icons -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -EXTRA_DIST = data-error.svg \ - document-encrypt.png \ - hint.svg \ - password-generate.svg \ - visibility.svg - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt/icons/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu qt/icons/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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-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: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ - ctags-am distclean distclean-generic distdir 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 maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/data-error.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/data-error.svg deleted file mode 100644 index 6fc3137e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/data-error.svg +++ /dev/null @@ -1,9 +0,0 @@ -<svg version="1.1" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"> - <style type="text/css" id="current-color-scheme"> - .ColorScheme-NegativeText { - color:#da4453; - } - </style> - <rect class="ColorScheme-NegativeText" x="3" y="3" width="16" height="16" rx="2" fill="currentColor"/> - <path d="M 6.414,5 5,6.414 9.586,11 5,15.586 6.414,17 11,12.414 15.586,17 17,15.586 12.414,11 17,6.414 15.586,5 11,9.586 Z" fill="#fff"/> -</svg> diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/document-encrypt.png b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/document-encrypt.png Binary files differdeleted file mode 100644 index b80c2a6f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/document-encrypt.png +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/hint.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/hint.svg deleted file mode 100644 index f6b818fc..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/hint.svg +++ /dev/null @@ -1,13 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> - <defs id="defs3051"> - <style type="text/css" id="current-color-scheme"> - .ColorScheme-Text { - color:#232629; - } - </style> - </defs> - <path style="fill:currentColor;fill-opacity:1;stroke:none" - d="M 13.314453 2 L 2 13.294922 L 2.7148438 14 L 14 2.6972656 L 13.314453 2 z M 8 3 A 8.9999916 9.000003 0 0 0 0.12304688 7.6679688 C 0.25199187 8.0317035 0.48048562 8.3445563 0.77929688 8.5761719 A 7.9999926 8.0000028 0 0 1 8 4 A 3.9999993 4.0000007 0 0 0 4 8 A 3.9999993 4.0000007 0 0 0 4.1054688 8.8945312 L 5 8 A 2.9999993 3.0000005 0 0 1 8 5 L 8.8925781 4.1074219 A 3.9999993 4.0000007 0 0 0 8.3496094 4.0175781 A 7.9999926 8.0000028 0 0 1 8.9277344 4.0722656 L 9.8066406 3.1933594 A 8.9999916 9.000003 0 0 0 8 3 z M 13.835938 5.1640625 L 13.121094 5.8789062 A 7.9999926 8.0000028 0 0 1 15.220703 8.5761719 C 15.522218 8.3424607 15.752612 8.0261216 15.880859 7.6582031 A 8.9999916 9.000003 0 0 0 13.835938 5.1640625 z M 11.894531 7.1054688 L 11 8 A 2.9999993 3.0000005 0 0 1 8 11 L 7.1074219 11.892578 A 3.9999993 4.0000007 0 0 0 8 12 A 3.9999993 4.0000007 0 0 0 12 8 A 3.9999993 4.0000007 0 0 0 11.894531 7.1054688 z " - class="ColorScheme-Text" - /> -</svg> diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/password-generate.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/password-generate.svg deleted file mode 100644 index 12d703c4..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/password-generate.svg +++ /dev/null @@ -1,13 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> - <defs id="defs3051"> - <style type="text/css" id="current-color-scheme"> - .ColorScheme-Text { - color:#232629; - } - </style> - </defs> - <path style="fill:currentColor;fill-opacity:1;stroke:none" - d="m3.5 2l-.531.969-.969.531.969.531.531.969.531-.969.969-.531-.969-.531zm7.631 0l-9.125 9.125 2.875 2.875 9.125-9.125zm0 1.438l1.438 1.439-2.781 2.779-1.438-1.438z" - class="ColorScheme-Text" - /> -</svg> diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/visibility.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/visibility.svg deleted file mode 100644 index df91c9d3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/visibility.svg +++ /dev/null @@ -1,21 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"> - <defs id="defs3051"> - <style type="text/css" id="current-color-scheme"> - .ColorScheme-Text { - color:#232629; - } - </style> - </defs> - <g - transform="translate(-421.71429,-531.79074)"> - <g - transform="matrix(0.75,0,0,0.74999813,421.46429,-241.22897)"> - <path - style="fill:currentColor;fill-opacity:1;stroke:none" - d="M 8 3 A 8.9999925 9.0000023 0 0 0 0.12304688 7.6679688 C 0.2519919 8.0317178 0.48048563 8.3445725 0.77929688 8.5761719 A 7.9999935 8.0000021 0 0 1 8 4 A 3.9999996 4.0000004 0 0 0 4 8 A 3.9999996 4.0000004 0 0 0 8 12 A 3.9999996 4.0000004 0 0 0 12 8 A 3.9999996 4.0000004 0 0 0 8.3496094 4.0175781 A 7.9999935 8.0000021 0 0 1 15.220703 8.5761719 C 15.522218 8.3424725 15.752612 8.0260772 15.880859 7.6582031 A 8.9999925 9.0000023 0 0 0 8 3 z M 8 5 A 2.9999996 3.0000002 0 0 1 11 8 A 2.9999996 3.0000002 0 0 1 8 11 A 2.9999996 3.0000002 0 0 1 5 8 A 2.9999996 3.0000002 0 0 1 8 5 z M 8 6 A 1.9999999 2.0000003 0 0 0 6 8 A 1.9999999 2.0000003 0 0 0 8 10 A 1.9999999 2.0000003 0 0 0 10 8 A 1.9999999 2.0000003 0 0 0 9.9101562 7.4121094 A 0.9999999 1 0 0 1 9 8 A 0.9999999 1 0 0 1 8 7 A 0.9999999 1 0 0 1 8.5898438 6.0898438 A 1.9999999 2.0000003 0 0 0 8 6 z " - transform="matrix(1.3333333,0,0,1.3333367,0.33333333,1030.6955)" - class="ColorScheme-Text" - id="rect4170" /> - </g> - </g> -</svg> diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/main.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/main.cpp deleted file mode 100644 index 47d15d26..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/main.cpp +++ /dev/null @@ -1,429 +0,0 @@ -/* main.cpp - A Qt dialog for PIN entry. - * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - * Copyright (C) 2003, 2021 g10 Code GmbH - * Copyright 2007 Ingo Klöcker - * - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Marcus Brinkmann <marcus@g10code.de>. - * Modified by Marc Mutz <marc@kdab.com> - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "accessibility.h" -#include "pinentryconfirm.h" -#include "pinentrydialog.h" -#include "pinentry.h" -#include "util.h" - -#include <QApplication> -#include <QDebug> -#include <QIcon> -#include <QMessageBox> -#include <QPushButton> -#include <QString> -#include <QWidget> -#if QT_VERSION >= 0x050000 -#include <QWindow> -#endif - -#include <stdio.h> -#include <errno.h> - -#include <stdexcept> -#include <gpg-error.h> - -#ifdef FALLBACK_CURSES -#include <pinentry-curses.h> -#endif - -#if QT_VERSION >= 0x050000 && defined(QT_STATIC) - #include <QtPlugin> - #ifdef Q_OS_WIN - #include <windows.h> - #include <shlobj.h> - Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) - #elif defined(Q_OS_MAC) - Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) - #else - Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) - #endif -#endif - -#ifdef Q_OS_WIN -#include <windows.h> -#endif - -#include "pinentry_debug.h" - -static QString escape_accel(const QString &s) -{ - - QString result; - result.reserve(s.size()); - - bool afterUnderscore = false; - - for (unsigned int i = 0, end = s.size() ; i != end ; ++i) { - const QChar ch = s[i]; - if (ch == QLatin1Char('_')) { - if (afterUnderscore) { // escaped _ - result += QLatin1Char('_'); - afterUnderscore = false; - } else { // accel - afterUnderscore = true; - } - } else { - if (afterUnderscore || // accel - ch == QLatin1Char('&')) { // escape & from being interpreted by Qt - result += QLatin1Char('&'); - } - result += ch; - afterUnderscore = false; - } - } - - if (afterUnderscore) - // trailing single underscore: shouldn't happen, but deal with it robustly: - { - result += QLatin1Char('_'); - } - - return result; -} - -namespace -{ -class InvalidUtf8 : public std::invalid_argument -{ -public: - InvalidUtf8() : std::invalid_argument("invalid utf8") {} - ~InvalidUtf8() throw() {} -}; -} - -static const bool GPG_AGENT_IS_PORTED_TO_ONLY_SEND_UTF8 = false; - -static QString from_utf8(const char *s) -{ - const QString result = QString::fromUtf8(s); - if (result.contains(QChar::ReplacementCharacter)) { - if (GPG_AGENT_IS_PORTED_TO_ONLY_SEND_UTF8) { - throw InvalidUtf8(); - } else { - return QString::fromLocal8Bit(s); - } - } - - return result; -} - -static void -setup_foreground_window(QWidget *widget, WId parentWid) -{ -#if QT_VERSION >= 0x050000 - /* For windows set the desktop window as the transient parent */ - QWindow *parentWindow = nullptr; - if (parentWid) { - parentWindow = QWindow::fromWinId(parentWid); - } -#ifdef Q_OS_WIN - if (!parentWindow) { - HWND desktop = GetDesktopWindow(); - if (desktop) { - parentWindow = QWindow::fromWinId((WId) desktop); - } - } -#endif - if (parentWindow) { - // Ensure that we have a native wid - widget->winId(); - QWindow *wndHandle = widget->windowHandle(); - - if (wndHandle) { - wndHandle->setTransientParent(parentWindow); - } - } -#endif - widget->setWindowFlags(Qt::Window | - Qt::CustomizeWindowHint | - Qt::WindowTitleHint | - Qt::WindowCloseButtonHint | - Qt::WindowStaysOnTopHint | - Qt::WindowMinimizeButtonHint); -} - -static int -qt_cmd_handler(pinentry_t pe) -{ - int want_pass = !!pe->pin; - - const QString ok = - pe->ok ? escape_accel(from_utf8(pe->ok)) : - pe->default_ok ? escape_accel(from_utf8(pe->default_ok)) : - /* else */ QLatin1String("&OK") ; - const QString cancel = - pe->cancel ? escape_accel(from_utf8(pe->cancel)) : - pe->default_cancel ? escape_accel(from_utf8(pe->default_cancel)) : - /* else */ QLatin1String("&Cancel") ; - - unique_malloced_ptr<char> str{pinentry_get_title(pe)}; - const QString title = - str ? from_utf8(str.get()) : - /* else */ QLatin1String("pinentry-qt") ; - - const QString repeatError = - pe->repeat_error_string ? from_utf8(pe->repeat_error_string) : - QLatin1String("Passphrases do not match"); - const QString repeatString = - pe->repeat_passphrase ? from_utf8(pe->repeat_passphrase) : - QString(); - const QString visibilityTT = - pe->default_tt_visi ? from_utf8(pe->default_tt_visi) : - QLatin1String("Show passphrase"); - const QString hideTT = - pe->default_tt_hide ? from_utf8(pe->default_tt_hide) : - QLatin1String("Hide passphrase"); - - const QString capsLockHint = - pe->default_capshint ? from_utf8(pe->default_capshint) : - QLatin1String("Caps Lock is on"); - - const QString generateLbl = pe->genpin_label ? from_utf8(pe->genpin_label) : - QString(); - const QString generateTT = pe->genpin_tt ? from_utf8(pe->genpin_tt) : - QString(); - - - if (want_pass) { - PinEntryDialog pinentry(nullptr, 0, pe->timeout, true, !!pe->quality_bar, - repeatString, visibilityTT, hideTT); - setup_foreground_window(&pinentry, pe->parent_wid); - pinentry.setPinentryInfo(pe); - pinentry.setPrompt(escape_accel(from_utf8(pe->prompt))); - pinentry.setDescription(from_utf8(pe->description)); - pinentry.setRepeatErrorText(repeatError); - pinentry.setGenpinLabel(generateLbl); - pinentry.setGenpinTT(generateTT); - pinentry.setCapsLockHint(capsLockHint); - pinentry.setFormattedPassphrase({ - bool(pe->formatted_passphrase), - from_utf8(pe->formatted_passphrase_hint)}); - pinentry.setConstraintsOptions({ - bool(pe->constraints_enforce), - from_utf8(pe->constraints_hint_short), - from_utf8(pe->constraints_hint_long), - from_utf8(pe->constraints_error_title) - }); - - if (!title.isEmpty()) { - pinentry.setWindowTitle(title); - } - - /* If we reuse the same dialog window. */ - pinentry.setPin(QString()); - - pinentry.setOkText(ok); - pinentry.setCancelText(cancel); - if (pe->error) { - pinentry.setError(from_utf8(pe->error)); - } - if (pe->quality_bar) { - pinentry.setQualityBar(from_utf8(pe->quality_bar)); - } - if (pe->quality_bar_tt) { - pinentry.setQualityBarTT(from_utf8(pe->quality_bar_tt)); - } - bool ret = pinentry.exec(); - if (!ret) { - if (pinentry.timedOut()) - pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); - return -1; - } - - const QString pinStr = pinentry.pin(); - QByteArray pin = pinStr.toUtf8(); - - if (!!pe->repeat_passphrase) { - /* Should not have been possible to accept - the dialog in that case but we do a safety - check here */ - pe->repeat_okay = (pinStr == pinentry.repeatedPin()); - } - - int len = strlen(pin.constData()); - if (len >= 0) { - pinentry_setbufferlen(pe, len + 1); - if (pe->pin) { - strcpy(pe->pin, pin.constData()); - return len; - } - } - return -1; - } else { - const QString desc = pe->description ? from_utf8(pe->description) : QString(); - const QString notok = pe->notok ? escape_accel(from_utf8(pe->notok)) : QString(); - - const QMessageBox::StandardButtons buttons = - pe->one_button ? QMessageBox::Ok : - pe->notok ? QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel : - /* else */ QMessageBox::Ok | QMessageBox::Cancel ; - - PinentryConfirm box{QMessageBox::Information, title, desc, buttons}; - box.setTextFormat(Qt::PlainText); - box.setTextInteractionFlags(Qt::TextSelectableByMouse); - box.setTimeout(std::chrono::seconds{pe->timeout}); - setup_foreground_window(&box, pe->parent_wid); - - const struct { - QMessageBox::StandardButton button; - QString label; - } buttonLabels[] = { - { QMessageBox::Ok, ok }, - { QMessageBox::Yes, ok }, - { QMessageBox::No, notok }, - { QMessageBox::Cancel, cancel }, - }; - - for (size_t i = 0 ; i < sizeof buttonLabels / sizeof * buttonLabels ; ++i) - if ((buttons & buttonLabels[i].button) && !buttonLabels[i].label.isEmpty()) { - box.button(buttonLabels[i].button)->setText(buttonLabels[i].label); - Accessibility::setDescription(box.button(buttonLabels[i].button), - buttonLabels[i].label); - } - - box.setIconPixmap(applicationIconPixmap()); - - if (!pe->one_button) { - box.setDefaultButton(QMessageBox::Cancel); - } - - box.show(); - raiseWindow(&box); - - const int rc = box.exec(); - - if (rc == QMessageBox::Cancel) { - pe->canceled = true; - } - if (box.timedOut()) { - pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); - } - - return rc == QMessageBox::Ok || rc == QMessageBox::Yes ; - - } -} - -static int -qt_cmd_handler_ex(pinentry_t pe) -{ - try { - return qt_cmd_handler(pe); - } catch (const InvalidUtf8 &) { - pe->locale_err = true; - return pe->pin ? -1 : false ; - } catch (...) { - pe->canceled = true; - return pe->pin ? -1 : false ; - } -} - -pinentry_cmd_handler_t pinentry_cmd_handler = qt_cmd_handler_ex; - -int -main(int argc, char *argv[]) -{ - pinentry_init("pinentry-qt"); - - QApplication *app = NULL; - int new_argc = 0; - -#ifdef FALLBACK_CURSES -#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) - // check a few environment variables that are usually set on X11 or Wayland sessions - const bool hasWaylandDisplay = qEnvironmentVariableIsSet("WAYLAND_DISPLAY"); - const bool isWaylandSessionType = qgetenv("XDG_SESSION_TYPE") == "wayland"; - const bool hasX11Display = pinentry_have_display(argc, argv); - const bool isX11SessionType = qgetenv("XDG_SESSION_TYPE") == "x11"; - const bool isGUISession = hasWaylandDisplay || isWaylandSessionType || hasX11Display || isX11SessionType; - qCDebug(PINENTRY_LOG) << "hasWaylandDisplay:" << hasWaylandDisplay; - qCDebug(PINENTRY_LOG) << "isWaylandSessionType:" << isWaylandSessionType; - qCDebug(PINENTRY_LOG) << "hasX11Display:" << hasX11Display; - qCDebug(PINENTRY_LOG) << "isX11SessionType:" << isX11SessionType; - qCDebug(PINENTRY_LOG) << "isGUISession:" << isGUISession; -#else - const bool isGUISession = pinentry_have_display(argc, argv); -#endif - if (!isGUISession) { - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } else -#endif - { - /* Qt does only understand -display but not --display; thus we - are fixing that here. The code is pretty simply and may get - confused if an argument is called "--display". */ - char **new_argv, *p; - size_t n; - int i, done; - - for (n = 0, i = 0; i < argc; i++) { - n += strlen(argv[i]) + 1; - } - n++; - new_argv = (char **)calloc(argc + 1, sizeof * new_argv); - if (new_argv) { - *new_argv = (char *)malloc(n); - } - if (!new_argv || !*new_argv) { - fprintf(stderr, "pinentry-qt: can't fixup argument list: %s\n", - strerror(errno)); - exit(EXIT_FAILURE); - - } - for (done = 0, p = *new_argv, i = 0; i < argc; i++) - if (!done && !strcmp(argv[i], "--display")) { - new_argv[i] = strcpy(p, argv[i] + 1); - p += strlen(argv[i] + 1) + 1; - done = 1; - } else { - new_argv[i] = strcpy(p, argv[i]); - p += strlen(argv[i]) + 1; - } - - /* Note: QApplication uses int &argc so argc has to be valid - * for the full lifetime of the application. - * - * As Qt might modify argc / argv we use copies here so that - * we do not loose options that are handled in both. e.g. display. - */ - new_argc = argc; - Q_ASSERT (new_argc); - app = new QApplication(new_argc, new_argv); - app->setWindowIcon(QIcon(QLatin1String(":/icons/document-encrypt.png"))); - } - - pinentry_parse_opts(argc, argv); - - int rc = pinentry_loop(); - delete app; - return rc ? EXIT_FAILURE : EXIT_SUCCESS ; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.cpp deleted file mode 100644 index 9afbcdb3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/* pinentry_debug.h - Logging category for pinentry - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "pinentry_debug.h" - -#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) -Q_LOGGING_CATEGORY(PINENTRY_LOG, "gpg.pinentry", QtWarningMsg) -#else -Q_LOGGING_CATEGORY(PINENTRY_LOG, "gpg.pinentry") -#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.h deleted file mode 100644 index fc8c808a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.h +++ /dev/null @@ -1,28 +0,0 @@ -/* pinentry_debug.h - Logging category for pinentry - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRY_QT_DEBUG_H__ -#define __PINENTRY_QT_DEBUG_H__ - -#include <QLoggingCategory> - -Q_DECLARE_LOGGING_CATEGORY(PINENTRY_LOG) - -#endif // __PINENTRY_QT_DEBUG_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.cpp deleted file mode 100644 index a97eaa6e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* pinentryconfirm.cpp - A QMessageBox with a timeout - * - * Copyright (C) 2011 Ben Kibbey <bjk@luxsci.net> - * Copyright (C) 2022 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "pinentryconfirm.h" - -#include "accessibility.h" -#include "pinentrydialog.h" - -#include <QApplication> -#include <QAbstractButton> -#include <QGridLayout> -#include <QLabel> -#include <QSpacerItem> -#include <QFontMetrics> - -namespace -{ -QLabel *messageBoxLabel(QMessageBox *messageBox) -{ - return messageBox->findChild<QLabel *>(QStringLiteral("qt_msgbox_label")); -} -} - -PinentryConfirm::PinentryConfirm(Icon icon, const QString &title, const QString &text, - StandardButtons buttons, QWidget *parent, Qt::WindowFlags flags) - : QMessageBox{icon, title, text, buttons, parent, flags} -{ - _timer.callOnTimeout(this, &PinentryConfirm::slotTimeout); - Accessibility::setDescription(this, text); - Accessibility::setName(this, title); - -#ifndef QT_NO_ACCESSIBILITY - QAccessible::installActivationObserver(this); - accessibilityActiveChanged(QAccessible::isActive()); -#endif - -#if QT_VERSION >= 0x050000 - /* This is in line with PinentryDialog ctor to have a maximizing - * animation when opening. */ - if (qApp->platformName() != QLatin1String("wayland")) { - setWindowState(Qt::WindowMinimized); - QTimer::singleShot(0, this, [this] () { - raiseWindow(this); - }); - } -#else - activateWindow(); - raise(); -#endif -} - -PinentryConfirm::~PinentryConfirm() -{ -#ifndef QT_NO_ACCESSIBILITY - QAccessible::removeActivationObserver(this); -#endif -} - -void PinentryConfirm::setTimeout(std::chrono::seconds timeout) -{ - _timer.setInterval(timeout); -} - -std::chrono::seconds PinentryConfirm::timeout() const -{ - return std::chrono::duration_cast<std::chrono::seconds>(_timer.intervalAsDuration()); -} - -bool PinentryConfirm::timedOut() const -{ - return _timed_out; -} - -void PinentryConfirm::showEvent(QShowEvent *event) -{ - static bool resized; - if (!resized) { - QGridLayout* lay = dynamic_cast<QGridLayout*> (layout()); - if (lay) { - QSize textSize = fontMetrics().size(Qt::TextExpandTabs, text(), fontMetrics().maxWidth()); - QSpacerItem* horizontalSpacer = new QSpacerItem(textSize.width() + iconPixmap().width(), - 0, QSizePolicy::Minimum, QSizePolicy::Expanding); - lay->addItem(horizontalSpacer, lay->rowCount(), 1, 1, lay->columnCount() - 1); - } - resized = true; - } - - QMessageBox::showEvent(event); - - if (timeout() > std::chrono::milliseconds::zero()) { - _timer.setSingleShot(true); - _timer.start(); - } -} - -bool PinentryConfirm::focusNextPrevChild(bool next) -{ - auto ret = QMessageBox::focusNextPrevChild(next); - if (ret && (focusWidget() == messageBoxLabel(this))) { - Accessibility::selectLabelText(messageBoxLabel(this)); - } - return ret; -} - -void PinentryConfirm::slotTimeout() -{ - QAbstractButton *b = button(QMessageBox::Cancel); - _timed_out = true; - - if (b) { - b->animateClick(0); - } -} - -#ifndef QT_NO_ACCESSIBILITY -void PinentryConfirm::accessibilityActiveChanged(bool active) -{ - // Allow text label to get focus if accessibility is active - const auto focusPolicy = active ? Qt::StrongFocus : Qt::ClickFocus; - if (auto label = messageBoxLabel(this)) { - label->setFocusPolicy(focusPolicy); - } -} -#endif - -#include "pinentryconfirm.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.h deleted file mode 100644 index f175f53a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.h +++ /dev/null @@ -1,64 +0,0 @@ -/* pinentryconfirm.h - A QMessageBox with a timeout - * - * Copyright (C) 2011 Ben Kibbey <bjk@luxsci.net> - * Copyright (C) 2022 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef PINENTRYCONFIRM_H -#define PINENTRYCONFIRM_H - -#include <QAccessible> -#include <QMessageBox> -#include <QTimer> - -class PinentryConfirm : public QMessageBox -#ifndef QT_NO_ACCESSIBILITY - , public QAccessible::ActivationObserver -#endif -{ - Q_OBJECT -public: - PinentryConfirm(Icon icon, const QString &title, const QString &text, - StandardButtons buttons = NoButton, QWidget *parent = nullptr, - Qt::WindowFlags flags = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint); - ~PinentryConfirm() override; - - void setTimeout(std::chrono::seconds timeout); - std::chrono::seconds timeout() const; - - bool timedOut() const; - -protected: - void showEvent(QShowEvent *event) override; - bool focusNextPrevChild(bool next) override; - -private Q_SLOTS: - void slotTimeout(); - -private: -#ifndef QT_NO_ACCESSIBILITY - void accessibilityActiveChanged(bool active) override; -#endif - -private: - QTimer _timer; - bool _timed_out = false; -}; - -#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.cpp deleted file mode 100644 index 17e87e6c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.cpp +++ /dev/null @@ -1,793 +0,0 @@ -/* pinentrydialog.cpp - A (not yet) secure Qt 4 dialog for PIN entry. - * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - * Copyright 2007 Ingo Klöcker - * Copyright 2016 Intevation GmbH - * Copyright (C) 2021, 2022 g10 Code GmbH - * - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Andre Heinecke <aheinecke@intevation.de> - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "pinentrydialog.h" - -#include "accessibility.h" -#include "capslock.h" -#include "pinlineedit.h" -#include "util.h" - -#include <QGridLayout> -#include <QProgressBar> -#include <QApplication> -#include <QFontMetrics> -#include <QStyle> -#include <QPainter> -#include <QPushButton> -#include <QDialogButtonBox> -#include <QKeyEvent> -#include <QLabel> -#include <QPalette> -#include <QLineEdit> -#include <QAction> -#include <QCheckBox> -#include <QHBoxLayout> -#include <QVBoxLayout> -#include <QMessageBox> -#include <QRegularExpression> -#include <QAccessible> - -#include <QDebug> - -#ifdef Q_OS_WIN -#include <windows.h> -#if QT_VERSION >= 0x050700 -#include <QtPlatformHeaders/QWindowsWindowFunctions> -#endif -#endif - -void raiseWindow(QWidget *w) -{ -#ifdef Q_OS_WIN -#if QT_VERSION >= 0x050700 - QWindowsWindowFunctions::setWindowActivationBehavior( - QWindowsWindowFunctions::AlwaysActivateWindow); -#endif -#endif - w->setWindowState((w->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive); - w->activateWindow(); - w->raise(); -} - -QPixmap applicationIconPixmap(const QIcon &overlayIcon) -{ - QPixmap pm = qApp->windowIcon().pixmap(48, 48); - - if (!overlayIcon.isNull()) { - QPainter painter(&pm); - const int emblemSize = 22; - painter.drawPixmap(pm.width() - emblemSize, 0, - overlayIcon.pixmap(emblemSize, emblemSize)); - } - - return pm; -} - -namespace -{ - -class TextLabel : public QLabel -{ -public: - using QLabel::QLabel; - -protected: - void focusInEvent(QFocusEvent *ev) override; -}; - -void TextLabel::focusInEvent(QFocusEvent *ev) -{ - QLabel::focusInEvent(ev); - - // if the text label gets focus, then select its text; this is a workaround - // for missing focus indicators for labels in many Qt styles - const Qt::FocusReason reason = ev->reason(); - const auto isKeyboardFocusEvent = reason == Qt::TabFocusReason - || reason == Qt::BacktabFocusReason - || reason == Qt::ShortcutFocusReason; - if (!text().isEmpty() && isKeyboardFocusEvent) { - Accessibility::selectLabelText(this); - } -} - -} - -void PinEntryDialog::slotTimeout() -{ - _timed_out = true; - reject(); -} - -PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, - int timeout, bool modal, bool enable_quality_bar, - const QString &repeatString, - const QString &visibilityTT, - const QString &hideTT) - : QDialog{parent} - , _have_quality_bar{enable_quality_bar} - , mVisibilityTT{visibilityTT} - , mHideTT{hideTT} -{ - Q_UNUSED(name) - - if (modal) { - setWindowModality(Qt::ApplicationModal); - } - - QPalette redTextPalette; - redTextPalette.setColor(QPalette::WindowText, Qt::red); - - auto *const mainLayout = new QVBoxLayout{this}; - - auto *const hbox = new QHBoxLayout; - - _icon = new QLabel(this); - _icon->setPixmap(applicationIconPixmap()); - hbox->addWidget(_icon, 0, Qt::AlignVCenter | Qt::AlignLeft); - - auto *const grid = new QGridLayout; - int row = 1; - - _error = new TextLabel{this}; - _error->setTextFormat(Qt::PlainText); - _error->setTextInteractionFlags(Qt::TextSelectableByMouse); - _error->setPalette(redTextPalette); - _error->hide(); - grid->addWidget(_error, row, 1, 1, 2); - - row++; - _desc = new TextLabel{this}; - _desc->setTextFormat(Qt::PlainText); - _desc->setTextInteractionFlags(Qt::TextSelectableByMouse); - _desc->hide(); - grid->addWidget(_desc, row, 1, 1, 2); - - row++; - mCapsLockHint = new TextLabel{this}; - mCapsLockHint->setTextFormat(Qt::PlainText); - mCapsLockHint->setTextInteractionFlags(Qt::TextSelectableByMouse); - mCapsLockHint->setPalette(redTextPalette); - mCapsLockHint->setAlignment(Qt::AlignCenter); - mCapsLockHint->setVisible(false); - grid->addWidget(mCapsLockHint, row, 1, 1, 2); - - row++; - { - _prompt = new QLabel(this); - _prompt->setTextFormat(Qt::PlainText); - _prompt->setTextInteractionFlags(Qt::TextSelectableByMouse); - _prompt->hide(); - grid->addWidget(_prompt, row, 1); - - const auto l = new QHBoxLayout; - _edit = new PinLineEdit(this); - _edit->setMaxLength(256); - _edit->setMinimumWidth(_edit->fontMetrics().averageCharWidth()*20 + 48); - _edit->setEchoMode(QLineEdit::Password); - _prompt->setBuddy(_edit); - l->addWidget(_edit, 1); - - if (!repeatString.isNull()) { - mGenerateButton = new QPushButton{this}; - mGenerateButton->setIcon(QIcon(QLatin1String(":/icons/password-generate"))); - mGenerateButton->setVisible(false); - l->addWidget(mGenerateButton); - } - grid->addLayout(l, row, 2); - } - - /* Set up the show password action */ - const QIcon visibilityIcon = QIcon(QLatin1String(":/icons/visibility.svg")); - const QIcon hideIcon = QIcon(QLatin1String(":/icons/hint.svg")); -#if QT_VERSION >= 0x050200 - if (!visibilityIcon.isNull() && !hideIcon.isNull()) { - mVisiActionEdit = _edit->addAction(visibilityIcon, QLineEdit::TrailingPosition); - mVisiActionEdit->setVisible(false); - mVisiActionEdit->setToolTip(mVisibilityTT); - } else -#endif - { - if (!mVisibilityTT.isNull()) { - row++; - mVisiCB = new QCheckBox{mVisibilityTT, this}; - grid->addWidget(mVisiCB, row, 1, 1, 2, Qt::AlignLeft); - } - } - - row++; - mConstraintsHint = new TextLabel{this}; - mConstraintsHint->setTextFormat(Qt::PlainText); - mConstraintsHint->setTextInteractionFlags(Qt::TextSelectableByMouse); - mConstraintsHint->setVisible(false); - grid->addWidget(mConstraintsHint, row, 2); - - row++; - mFormattedPassphraseHintSpacer = new QLabel{this}; - mFormattedPassphraseHintSpacer->setVisible(false); - mFormattedPassphraseHint = new TextLabel{this}; - mFormattedPassphraseHint->setTextFormat(Qt::PlainText); - mFormattedPassphraseHint->setTextInteractionFlags(Qt::TextSelectableByMouse); - mFormattedPassphraseHint->setVisible(false); - grid->addWidget(mFormattedPassphraseHintSpacer, row, 1); - grid->addWidget(mFormattedPassphraseHint, row, 2); - - if (!repeatString.isNull()) { - row++; - auto repeatLabel = new QLabel{this}; - repeatLabel->setTextFormat(Qt::PlainText); - repeatLabel->setTextInteractionFlags(Qt::TextSelectableByMouse); - repeatLabel->setText(repeatString); - grid->addWidget(repeatLabel, row, 1); - - mRepeat = new PinLineEdit(this); - mRepeat->setMaxLength(256); - mRepeat->setEchoMode(QLineEdit::Password); - repeatLabel->setBuddy(mRepeat); - grid->addWidget(mRepeat, row, 2); - - row++; - mRepeatError = new TextLabel{this}; - mRepeatError->setTextFormat(Qt::PlainText); - mRepeatError->setTextInteractionFlags(Qt::TextSelectableByMouse); - mRepeatError->setPalette(redTextPalette); - mRepeatError->hide(); - grid->addWidget(mRepeatError, row, 2); - } - - if (enable_quality_bar) { - row++; - _quality_bar_label = new QLabel(this); - _quality_bar_label->setTextFormat(Qt::PlainText); - _quality_bar_label->setTextInteractionFlags(Qt::TextSelectableByMouse); - _quality_bar_label->setAlignment(Qt::AlignVCenter); - grid->addWidget(_quality_bar_label, row, 1); - - _quality_bar = new QProgressBar(this); - _quality_bar->setAlignment(Qt::AlignCenter); - _quality_bar_label->setBuddy(_quality_bar); - grid->addWidget(_quality_bar, row, 2); - } - - hbox->addLayout(grid, 1); - mainLayout->addLayout(hbox); - - QDialogButtonBox *const buttons = new QDialogButtonBox(this); - buttons->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); - _ok = buttons->button(QDialogButtonBox::Ok); - _cancel = buttons->button(QDialogButtonBox::Cancel); - - if (style()->styleHint(QStyle::SH_DialogButtonBox_ButtonsHaveIcons)) { - _ok->setIcon(style()->standardIcon(QStyle::SP_DialogOkButton)); - _cancel->setIcon(style()->standardIcon(QStyle::SP_DialogCancelButton)); - } - - mainLayout->addStretch(1); - mainLayout->addWidget(buttons); - mainLayout->setSizeConstraint(QLayout::SetFixedSize); - - if (timeout > 0) { - _timer = new QTimer(this); - connect(_timer, &QTimer::timeout, this, &PinEntryDialog::slotTimeout); - _timer->start(timeout * 1000); - } - - connect(buttons, &QDialogButtonBox::accepted, - this, &PinEntryDialog::onAccept); - connect(buttons, &QDialogButtonBox::rejected, - this, &QDialog::reject); - connect(_edit, &QLineEdit::textChanged, - this, &PinEntryDialog::updateQuality); - connect(_edit, &QLineEdit::textChanged, - this, &PinEntryDialog::textChanged); - connect(_edit, &PinLineEdit::backspacePressed, - this, &PinEntryDialog::onBackspace); - if (mGenerateButton) { - connect(mGenerateButton, &QPushButton::clicked, - this, &PinEntryDialog::generatePin); - } - if (mVisiActionEdit) { - connect(mVisiActionEdit, &QAction::triggered, - this, &PinEntryDialog::toggleVisibility); - } - if (mVisiCB) { - connect(mVisiCB, &QCheckBox::toggled, - this, &PinEntryDialog::toggleVisibility); - } - if (mRepeat) { - connect(mRepeat, &QLineEdit::textChanged, - this, &PinEntryDialog::textChanged); - } - - auto capsLockWatcher = new CapsLockWatcher{this}; - connect(capsLockWatcher, &CapsLockWatcher::stateChanged, - this, [this] (bool locked) { - mCapsLockHint->setVisible(locked); - }); - - connect(qApp, &QApplication::focusChanged, - this, &PinEntryDialog::focusChanged); - connect(qApp, &QApplication::applicationStateChanged, - this, &PinEntryDialog::checkCapsLock); - checkCapsLock(); - -#ifndef QT_NO_ACCESSIBILITY - QAccessible::installActivationObserver(this); - accessibilityActiveChanged(QAccessible::isActive()); -#endif - -#if QT_VERSION >= 0x050000 - /* This is mostly an issue on Windows where this results - in the pinentry popping up nicely with an animation and - comes to front. It is not ifdefed for Windows only since - window managers on Linux like KWin can also have this - result in an animation when the pinentry is shown and - not just popping it up. - */ - if (qApp->platformName() != QLatin1String("wayland")) { - setWindowState(Qt::WindowMinimized); - QTimer::singleShot(0, this, [this] () { - raiseWindow(this); - }); - } -#else - activateWindow(); - raise(); -#endif -} - -PinEntryDialog::~PinEntryDialog() -{ -#ifndef QT_NO_ACCESSIBILITY - QAccessible::removeActivationObserver(this); -#endif -} - -void PinEntryDialog::keyPressEvent(QKeyEvent *e) -{ - const auto returnPressed = - (!e->modifiers() && (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return)) - || (e->modifiers() & Qt::KeypadModifier && e->key() == Qt::Key_Enter); - if (returnPressed && _edit->hasFocus() && mRepeat) { - // if the user pressed Return in the first input field, then move the - // focus to the repeat input field and prevent further event processing - // by QDialog (which would trigger the default button) - mRepeat->setFocus(); - e->ignore(); - return; - } - - QDialog::keyPressEvent(e); -} - -void PinEntryDialog::keyReleaseEvent(QKeyEvent *event) -{ - QDialog::keyReleaseEvent(event); - checkCapsLock(); -} - -void PinEntryDialog::showEvent(QShowEvent *event) -{ - QDialog::showEvent(event); - _edit->setFocus(); -} - -void PinEntryDialog::setDescription(const QString &txt) -{ - _desc->setVisible(!txt.isEmpty()); - _desc->setText(txt); - Accessibility::setDescription(_desc, txt); - _icon->setPixmap(applicationIconPixmap()); - setError(QString()); -} - -QString PinEntryDialog::description() const -{ - return _desc->text(); -} - -void PinEntryDialog::setError(const QString &txt) -{ - if (!txt.isNull()) { - _icon->setPixmap(applicationIconPixmap(QIcon{QStringLiteral(":/icons/data-error.svg")})); - } - _error->setText(txt); - Accessibility::setDescription(_error, txt); - _error->setVisible(!txt.isEmpty()); -} - -QString PinEntryDialog::error() const -{ - return _error->text(); -} - -void PinEntryDialog::setPin(const QString &txt) -{ - _edit->setPin(txt); -} - -QString PinEntryDialog::pin() const -{ - return _edit->pin(); -} - -void PinEntryDialog::setPrompt(const QString &txt) -{ - _prompt->setText(txt); - _prompt->setVisible(!txt.isEmpty()); - if (txt.contains("PIN")) - _disable_echo_allowed = false; -} - -QString PinEntryDialog::prompt() const -{ - return _prompt->text(); -} - -void PinEntryDialog::setOkText(const QString &txt) -{ - _ok->setText(txt); - Accessibility::setDescription(_ok, txt); - _ok->setVisible(!txt.isEmpty()); -} - -void PinEntryDialog::setCancelText(const QString &txt) -{ - _cancel->setText(txt); - Accessibility::setDescription(_cancel, txt); - _cancel->setVisible(!txt.isEmpty()); -} - -void PinEntryDialog::setQualityBar(const QString &txt) -{ - if (_have_quality_bar) { - _quality_bar_label->setText(txt); - Accessibility::setDescription(_quality_bar_label, txt); - } -} - -void PinEntryDialog::setQualityBarTT(const QString &txt) -{ - if (_have_quality_bar) { - _quality_bar->setToolTip(txt); - } -} - -void PinEntryDialog::setGenpinLabel(const QString &txt) -{ - if (!mGenerateButton) { - return; - } - mGenerateButton->setVisible(!txt.isEmpty()); - if (!txt.isEmpty()) { - Accessibility::setName(mGenerateButton, txt); - } -} - -void PinEntryDialog::setGenpinTT(const QString &txt) -{ - if (mGenerateButton) { - mGenerateButton->setToolTip(txt); - } -} - -void PinEntryDialog::setCapsLockHint(const QString &txt) -{ - mCapsLockHint->setText(txt); -} - -void PinEntryDialog::setFormattedPassphrase(const PinEntryDialog::FormattedPassphraseOptions &options) -{ - mFormatPassphrase = options.formatPassphrase; - mFormattedPassphraseHint->setTextFormat(Qt::RichText); - mFormattedPassphraseHint->setText(QLatin1String("<html>") + options.hint.toHtmlEscaped() + QLatin1String("</html>")); - Accessibility::setName(mFormattedPassphraseHint, options.hint); - toggleFormattedPassphrase(); -} - -void PinEntryDialog::setConstraintsOptions(const ConstraintsOptions &options) -{ - mEnforceConstraints = options.enforce; - mConstraintsHint->setText(options.shortHint); - if (!options.longHint.isEmpty()) { - mConstraintsHint->setToolTip(QLatin1String("<html>") + - options.longHint.toHtmlEscaped().replace(QLatin1String("\n\n"), QLatin1String("<br>")) + - QLatin1String("</html>")); - Accessibility::setDescription(mConstraintsHint, options.longHint); - } - mConstraintsErrorTitle = options.errorTitle; - - mConstraintsHint->setVisible(mEnforceConstraints && !options.shortHint.isEmpty()); -} - -void PinEntryDialog::toggleFormattedPassphrase() -{ - const bool enableFormatting = mFormatPassphrase && _edit->echoMode() == QLineEdit::Normal; - _edit->setFormattedPassphrase(enableFormatting); - if (mRepeat) { - mRepeat->setFormattedPassphrase(enableFormatting); - const bool hintAboutToBeHidden = mFormattedPassphraseHint->isVisible() && !enableFormatting; - if (hintAboutToBeHidden) { - // set hint spacer to current height of hint label before hiding the hint - mFormattedPassphraseHintSpacer->setMinimumHeight(mFormattedPassphraseHint->height()); - mFormattedPassphraseHintSpacer->setVisible(true); - } else if (enableFormatting) { - mFormattedPassphraseHintSpacer->setVisible(false); - } - mFormattedPassphraseHint->setVisible(enableFormatting); - } -} - -void PinEntryDialog::onBackspace() -{ - cancelTimeout(); - - if (_disable_echo_allowed) { - _edit->setEchoMode(QLineEdit::NoEcho); - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::NoEcho); - } - } -} - -void PinEntryDialog::updateQuality(const QString &txt) -{ - int length; - int percent; - QPalette pal; - - _disable_echo_allowed = false; - - if (!_have_quality_bar || !_pinentry_info) { - return; - } - const QByteArray utf8_pin = txt.toUtf8(); - const char *pin = utf8_pin.constData(); - length = strlen(pin); - percent = length ? pinentry_inq_quality(_pinentry_info, pin, length) : 0; - if (!length) { - _quality_bar->reset(); - } else { - pal = _quality_bar->palette(); - if (percent < 0) { - pal.setColor(QPalette::Highlight, QColor("red")); - percent = -percent; - } else { - pal.setColor(QPalette::Highlight, QColor("green")); - } - _quality_bar->setPalette(pal); - _quality_bar->setValue(percent); - } -} - -void PinEntryDialog::setPinentryInfo(pinentry_t peinfo) -{ - _pinentry_info = peinfo; -} - -void PinEntryDialog::focusChanged(QWidget *old, QWidget *now) -{ - // Grab keyboard. It might be a little weird to do it here, but it works! - // Previously this code was in showEvent, but that did not work in Qt4. - if (!_pinentry_info || _pinentry_info->grab) { - if (_grabbed && old && (old == _edit || old == mRepeat)) { - old->releaseKeyboard(); - _grabbed = false; - } - if (!_grabbed && now && (now == _edit || now == mRepeat)) { - now->grabKeyboard(); - _grabbed = true; - } - } -} - -void PinEntryDialog::textChanged(const QString &text) -{ - Q_UNUSED(text); - - cancelTimeout(); - - if (mVisiActionEdit && sender() == _edit) { - mVisiActionEdit->setVisible(!_edit->pin().isEmpty()); - } - if (mGenerateButton) { - mGenerateButton->setVisible( - _edit->pin().isEmpty() -#ifndef QT_NO_ACCESSIBILITY - && !mGenerateButton->accessibleName().isEmpty() -#endif - ); - } -} - -void PinEntryDialog::generatePin() -{ - unique_malloced_ptr<char> pin{pinentry_inq_genpin(_pinentry_info)}; - if (pin) { - if (_edit->echoMode() == QLineEdit::Password) { - if (mVisiActionEdit) { - mVisiActionEdit->trigger(); - } - if (mVisiCB) { - mVisiCB->setChecked(true); - } - } - const auto pinStr = QString::fromUtf8(pin.get()); - _edit->setPin(pinStr); - mRepeat->setPin(pinStr); - // explicitly focus the first input field and select the generated password - _edit->setFocus(); - _edit->selectAll(); - } -} - -void PinEntryDialog::toggleVisibility() -{ - if (sender() != mVisiCB) { - if (_edit->echoMode() == QLineEdit::Password) { - if (mVisiActionEdit) { - mVisiActionEdit->setIcon(QIcon(QLatin1String(":/icons/hint.svg"))); - mVisiActionEdit->setToolTip(mHideTT); - } - _edit->setEchoMode(QLineEdit::Normal); - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Normal); - } - } else { - if (mVisiActionEdit) { - mVisiActionEdit->setIcon(QIcon(QLatin1String(":/icons/visibility.svg"))); - mVisiActionEdit->setToolTip(mVisibilityTT); - } - _edit->setEchoMode(QLineEdit::Password); - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Password); - } - } - } else { - if (mVisiCB->isChecked()) { - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Normal); - } - _edit->setEchoMode(QLineEdit::Normal); - } else { - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Password); - } - _edit->setEchoMode(QLineEdit::Password); - } - } - toggleFormattedPassphrase(); -} - -QString PinEntryDialog::repeatedPin() const -{ - if (mRepeat) { - return mRepeat->pin(); - } - return QString(); -} - -bool PinEntryDialog::timedOut() const -{ - return _timed_out; -} - -void PinEntryDialog::setRepeatErrorText(const QString &err) -{ - if (mRepeatError) { - mRepeatError->setText(err); - } -} - -void PinEntryDialog::cancelTimeout() -{ - if (_timer) { - _timer->stop(); - } -} - -void PinEntryDialog::checkCapsLock() -{ - const auto state = capsLockState(); - if (state != LockState::Unknown) { - mCapsLockHint->setVisible(state == LockState::On); - } -} - -void PinEntryDialog::onAccept() -{ - cancelTimeout(); - - if (mRepeat && mRepeat->pin() != _edit->pin()) { -#ifndef QT_NO_ACCESSIBILITY - if (QAccessible::isActive()) { - QMessageBox::information(this, mRepeatError->text(), mRepeatError->text()); - } else -#endif - { - mRepeatError->setVisible(true); - } - return; - } - - const auto result = checkConstraints(); - if (result != PassphraseNotOk) { - accept(); - } -} - -#ifndef QT_NO_ACCESSIBILITY -void PinEntryDialog::accessibilityActiveChanged(bool active) -{ - // Allow text labels to get focus if accessibility is active - const auto focusPolicy = active ? Qt::StrongFocus : Qt::ClickFocus; - _error->setFocusPolicy(focusPolicy); - _desc->setFocusPolicy(focusPolicy); - mCapsLockHint->setFocusPolicy(focusPolicy); - mConstraintsHint->setFocusPolicy(focusPolicy); - mFormattedPassphraseHint->setFocusPolicy(focusPolicy); - if (mRepeatError) { - mRepeatError->setFocusPolicy(focusPolicy); - } -} -#endif - -PinEntryDialog::PassphraseCheckResult PinEntryDialog::checkConstraints() -{ - if (!mEnforceConstraints) { - return PassphraseNotChecked; - } - - const auto passphrase = _edit->pin().toUtf8(); - unique_malloced_ptr<char> error{pinentry_inq_checkpin( - _pinentry_info, passphrase.constData(), passphrase.size())}; - - if (!error) { - return PassphraseOk; - } - - const auto messageLines = QString::fromUtf8(QByteArray::fromPercentEncoding(error.get())).split(QChar{'\n'}); - if (messageLines.isEmpty()) { - // shouldn't happen because pinentry_inq_checkpin() either returns NULL or a non-empty string - return PassphraseOk; - } - const auto firstLine = messageLines.first(); - const auto indexOfFirstNonEmptyAdditionalLine = messageLines.indexOf(QRegularExpression{QStringLiteral(".*\\S.*")}, 1); - const auto additionalLines = indexOfFirstNonEmptyAdditionalLine > 0 ? messageLines.mid(indexOfFirstNonEmptyAdditionalLine).join(QChar{'\n'}) : QString{}; - QMessageBox messageBox{this}; - messageBox.setIcon(QMessageBox::Information); - messageBox.setWindowTitle(mConstraintsErrorTitle); - messageBox.setText(firstLine); - messageBox.setInformativeText(additionalLines); - messageBox.setStandardButtons(QMessageBox::Ok); - messageBox.exec(); - return PassphraseNotOk; -} - -#include "pinentrydialog.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.h deleted file mode 100644 index 60161c58..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.h +++ /dev/null @@ -1,181 +0,0 @@ -/* pinentrydialog.h - A (not yet) secure Qt 4 dialog for PIN entry. - * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - * Copyright 2007 Ingo Klöcker - * Copyright 2016 Intevation GmbH - * Copyright (C) 2021, 2022 g10 Code GmbH - * - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Andre Heinecke <aheinecke@intevation.de> - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRYDIALOG_H__ -#define __PINENTRYDIALOG_H__ - -#include <QAccessible> -#include <QDialog> -#include <QStyle> -#include <QTimer> - -#include "pinentry.h" - -class QIcon; -class QLabel; -class QPushButton; -class QLineEdit; -class PinLineEdit; -class QString; -class QProgressBar; -class QCheckBox; -class QAction; - -QPixmap applicationIconPixmap(const QIcon &overlayIcon = {}); - -void raiseWindow(QWidget *w); - -class PinEntryDialog : public QDialog -#ifndef QT_NO_ACCESSIBILITY - , public QAccessible::ActivationObserver -#endif -{ - Q_OBJECT - - Q_PROPERTY(QString description READ description WRITE setDescription) - Q_PROPERTY(QString error READ error WRITE setError) - Q_PROPERTY(QString pin READ pin WRITE setPin) - Q_PROPERTY(QString prompt READ prompt WRITE setPrompt) -public: - struct FormattedPassphraseOptions - { - bool formatPassphrase; - QString hint; - }; - struct ConstraintsOptions - { - bool enforce; - QString shortHint; - QString longHint; - QString errorTitle; - }; - - explicit PinEntryDialog(QWidget *parent = 0, const char *name = 0, - int timeout = 0, bool modal = false, - bool enable_quality_bar = false, - const QString &repeatString = QString(), - const QString &visibiltyTT = QString(), - const QString &hideTT = QString()); - ~PinEntryDialog() override; - - void setDescription(const QString &); - QString description() const; - - void setError(const QString &); - QString error() const; - - void setPin(const QString &); - QString pin() const; - - QString repeatedPin() const; - void setRepeatErrorText(const QString &); - - void setPrompt(const QString &); - QString prompt() const; - - void setOkText(const QString &); - void setCancelText(const QString &); - - void setQualityBar(const QString &); - void setQualityBarTT(const QString &); - - void setGenpinLabel(const QString &); - void setGenpinTT(const QString &); - - void setCapsLockHint(const QString &); - - void setFormattedPassphrase(const FormattedPassphraseOptions &options); - - void setConstraintsOptions(const ConstraintsOptions &options); - - void setPinentryInfo(pinentry_t); - - bool timedOut() const; - -protected Q_SLOTS: - void updateQuality(const QString &); - void slotTimeout(); - void textChanged(const QString &); - void focusChanged(QWidget *old, QWidget *now); - void toggleVisibility(); - void onBackspace(); - void generatePin(); - void toggleFormattedPassphrase(); - -protected: - void keyPressEvent(QKeyEvent *event) override; - void keyReleaseEvent(QKeyEvent *event) override; - void showEvent(QShowEvent *event) override; - -private Q_SLOTS: - void cancelTimeout(); - void checkCapsLock(); - void onAccept(); - -private: -#ifndef QT_NO_ACCESSIBILITY - void accessibilityActiveChanged(bool active) override; -#endif - - enum PassphraseCheckResult { - PassphraseNotChecked = -1, - PassphraseNotOk = 0, - PassphraseOk - }; - PassphraseCheckResult checkConstraints(); - -private: - QLabel *_icon = nullptr; - QLabel *_desc = nullptr; - QLabel *_error = nullptr; - QLabel *_prompt = nullptr; - QLabel *_quality_bar_label = nullptr; - QProgressBar *_quality_bar = nullptr; - PinLineEdit *_edit = nullptr; - PinLineEdit *mRepeat = nullptr; - QLabel *mRepeatError = nullptr; - QPushButton *_ok = nullptr; - QPushButton *_cancel = nullptr; - bool _grabbed = false; - bool _have_quality_bar = false; - bool _timed_out = false; - bool _disable_echo_allowed = true; - bool mEnforceConstraints = false; - bool mFormatPassphrase = false; - pinentry_t _pinentry_info = nullptr; - QTimer *_timer = nullptr; - QString mVisibilityTT; - QString mHideTT; - QAction *mVisiActionEdit = nullptr; - QPushButton *mGenerateButton = nullptr; - QCheckBox *mVisiCB = nullptr; - QLabel *mFormattedPassphraseHint = nullptr; - QLabel *mFormattedPassphraseHintSpacer = nullptr; - QLabel *mCapsLockHint = nullptr; - QLabel *mConstraintsHint = nullptr; - QString mConstraintsErrorTitle; -}; - -#endif // __PINENTRYDIALOG_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryrc.qrc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryrc.qrc deleted file mode 100644 index 2b198de3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryrc.qrc +++ /dev/null @@ -1,10 +0,0 @@ -<!DOCTYPE RCC> -<RCC version="1.0"> -<qresource> - <file>icons/data-error.svg</file> - <file>icons/document-encrypt.png</file> - <file>icons/hint.svg</file> - <file>icons/password-generate.svg</file> - <file>icons/visibility.svg</file> -</qresource> -</RCC> diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.cpp deleted file mode 100644 index 286195d8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.cpp +++ /dev/null @@ -1,232 +0,0 @@ -/* pinlineedit.cpp - Modified QLineEdit widget. - * Copyright (C) 2018 Damien Goutte-Gattat - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "pinlineedit.h" - -#include <QClipboard> -#include <QGuiApplication> -#include <QKeyEvent> - -static const int FormattedPassphraseGroupSize = 5; -static const QChar FormattedPassphraseSeparator = QChar::Nbsp; - -namespace -{ -struct Selection -{ - bool empty() const { return start < 0 || start >= end; } - int length() const { return empty() ? 0 : end - start; } - - int start; - int end; -}; -} - -class PinLineEdit::Private -{ - PinLineEdit *const q; - -public: - Private(PinLineEdit *q) - : q{q} - {} - - QString formatted(QString text) const - { - const int dashCount = text.size() / FormattedPassphraseGroupSize; - text.reserve(text.size() + dashCount); - for (int i = FormattedPassphraseGroupSize; i < text.size(); i += FormattedPassphraseGroupSize + 1) { - text.insert(i, FormattedPassphraseSeparator); - } - return text; - } - - Selection formattedSelection(Selection selection) const - { - if (selection.empty()) { - return selection; - } - return { - selection.start + selection.start / FormattedPassphraseGroupSize, - selection.end + (selection.end - 1) / FormattedPassphraseGroupSize - }; - } - - QString unformatted(QString text) const - { - for (int i = FormattedPassphraseGroupSize; i < text.size(); i += FormattedPassphraseGroupSize) { - text.remove(i, 1); - } - return text; - } - - Selection unformattedSelection(Selection selection) const - { - if (selection.empty()) { - return selection; - } - return { - selection.start - selection.start / (FormattedPassphraseGroupSize + 1), - selection.end - selection.end / (FormattedPassphraseGroupSize + 1) - }; - } - - void copyToClipboard() - { - if (q->echoMode() != QLineEdit::Normal) { - return; - } - - QString text = q->selectedText(); - if (mFormattedPassphrase) { - text.remove(FormattedPassphraseSeparator); - } - if (!text.isEmpty()) { - QGuiApplication::clipboard()->setText(text); - } - } - - int selectionEnd() - { -#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) - return q->selectionEnd(); -#else - return q->selectionStart() + q->selectedText().size(); -#endif - } - -public: - bool mFormattedPassphrase = false; -}; - -PinLineEdit::PinLineEdit(QWidget *parent) - : QLineEdit(parent) - , d{new Private{this}} -{ - connect(this, SIGNAL(textEdited(QString)), - this, SLOT(textEdited())); -} - -PinLineEdit::~PinLineEdit() = default; - -void PinLineEdit::setFormattedPassphrase(bool on) -{ - if (on == d->mFormattedPassphrase) { - return; - } - d->mFormattedPassphrase = on; - Selection selection{selectionStart(), d->selectionEnd()}; - if (d->mFormattedPassphrase) { - setText(d->formatted(text())); - selection = d->formattedSelection(selection); - } else { - setText(d->unformatted(text())); - selection = d->unformattedSelection(selection); - } - if (!selection.empty()) { - setSelection(selection.start, selection.length()); - } -} - -void PinLineEdit::copy() const -{ - d->copyToClipboard(); -} - -void PinLineEdit::cut() -{ - if (hasSelectedText()) { - copy(); - del(); - } -} - -void PinLineEdit::setPin(const QString &pin) -{ - setText(d->mFormattedPassphrase ? d->formatted(pin) : pin); -} - -QString PinLineEdit::pin() const -{ - if (d->mFormattedPassphrase) { - return d->unformatted(text()); - } else { - return text(); - } -} - -void PinLineEdit::keyPressEvent(QKeyEvent *e) -{ - if (e == QKeySequence::Copy) { - copy(); - return; - } - else if (e == QKeySequence::Cut) { - if (!isReadOnly() && hasSelectedText()) { - copy(); - del(); - } - return; - } - else if (e == QKeySequence::DeleteEndOfLine) { - if (!isReadOnly()) { - setSelection(cursorPosition(), text().size()); - copy(); - del(); - } - return; - } - else if (e == QKeySequence::DeleteCompleteLine) { - if (!isReadOnly()) { - setSelection(0, text().size()); - copy(); - del(); - } - return; - } - - QLineEdit::keyPressEvent(e); - - if (e->key() == Qt::Key::Key_Backspace) { - emit backspacePressed(); - } -} - -void PinLineEdit::textEdited() -{ - if (!d->mFormattedPassphrase) { - return; - } - auto currentText = text(); - // first calculate the cursor position in the reformatted text; the cursor - // is put left of the separators, so that backspace works as expected - auto cursorPos = cursorPosition(); - cursorPos -= QStringView{currentText}.left(cursorPos).count(FormattedPassphraseSeparator); - cursorPos += std::max(cursorPos - 1, 0) / FormattedPassphraseGroupSize; - // then reformat the text - currentText.remove(FormattedPassphraseSeparator); - currentText = d->formatted(currentText); - // finally, set reformatted text and updated cursor position - setText(currentText); - setCursorPosition(cursorPos); -} - -#include "pinlineedit.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.h deleted file mode 100644 index e67ced83..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.h +++ /dev/null @@ -1,63 +0,0 @@ -/* pinlineedit.h - Modified QLineEdit widget. - * Copyright (C) 2018 Damien Goutte-Gattat - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _PINLINEEDIT_H_ -#define _PINLINEEDIT_H_ - -#include <QLineEdit> - -#include <memory> - -class PinLineEdit : public QLineEdit -{ - Q_OBJECT - -public: - explicit PinLineEdit(QWidget *parent = nullptr); - ~PinLineEdit() override; - - void setPin(const QString &pin); - QString pin() const; - -public Q_SLOTS: - void setFormattedPassphrase(bool on); - void copy() const; - void cut(); - -Q_SIGNALS: - void backspacePressed(); - -protected: - void keyPressEvent(QKeyEvent *) override; - -private: - using QLineEdit::setText; - using QLineEdit::text; - -private Q_SLOTS: - void textEdited(); - -private: - class Private; - std::unique_ptr<Private> d; -}; - -#endif // _PINLINEEDIT_H_ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/qti18n.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/qti18n.cpp deleted file mode 100644 index 8e6bb591..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/qti18n.cpp +++ /dev/null @@ -1,93 +0,0 @@ -/* qti18n.cpp - Load qt translations for pinentry. - * Copyright 2021 g10 Code GmbH - * SPDX-FileCopyrightText: 2015 Lukáš Tinkl <ltinkl@redhat.com> - * SPDX-FileCopyrightText: 2021 Ingo Klöcker <kloecker@kde.org> - * - * Copied from k18n under the terms of LGPLv2 or later. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <QDebug> -#include <QCoreApplication> -#include <QLibraryInfo> -#include <QLocale> -#include <QTranslator> - -#include <memory> - -static bool loadCatalog(const QString &catalog, const QLocale &locale) -{ - auto translator = new QTranslator(QCoreApplication::instance()); - - if (!translator->load(locale, catalog, QString(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) { - qDebug() << "Loading the" << catalog << "catalog failed for locale" << locale; - delete translator; - return false; - } - QCoreApplication::instance()->installTranslator(translator); - return true; -} - -static bool loadCatalog(const QString &catalog, const QLocale &locale, const QLocale &fallbackLocale) -{ - // try to load the catalog for locale - if (loadCatalog(catalog, locale)) { - return true; - } - // if this fails, then try the fallback locale (if it's different from locale) - if (fallbackLocale != locale) { - return loadCatalog(catalog, fallbackLocale); - } - return false; -} - -// load global Qt translation, needed in KDE e.g. by lots of builtin dialogs (QColorDialog, QFontDialog) that we use -static void loadTranslation(const QString &localeName, const QString &fallbackLocaleName) -{ - const QLocale locale{localeName}; - const QLocale fallbackLocale{fallbackLocaleName}; - // first, try to load the qt_ meta catalog - if (loadCatalog(QStringLiteral("qt_"), locale, fallbackLocale)) { - return; - } - // if loading the meta catalog failed, then try loading the four catalogs - // it depends on, i.e. qtbase, qtscript, qtmultimedia, qtxmlpatterns, separately - const auto catalogs = { - QStringLiteral("qtbase_"), - /* QStringLiteral("qtscript_"), - QStringLiteral("qtmultimedia_"), - QStringLiteral("qtxmlpatterns_"), */ - }; - for (const auto &catalog : catalogs) { - loadCatalog(catalog, locale, fallbackLocale); - } -} - -static void load() -{ - // The way Qt translation system handles plural forms makes it necessary to - // have a translation file which contains only plural forms for `en`. That's - // why we load the `en` translation unconditionally, then load the - // translation for the current locale to overload it. - loadCatalog(QStringLiteral("qt_"), QLocale{QStringLiteral("en")}); - - const QLocale locale = QLocale::system(); - if (locale.name() != QStringLiteral("en")) { - loadTranslation(locale.name(), locale.bcp47Name()); - } -} - -Q_COREAPP_STARTUP_FUNCTION(load) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/util.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/util.h deleted file mode 100644 index 04f35957..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/util.h +++ /dev/null @@ -1,40 +0,0 @@ -/* util.h - Helper for managing malloced pointers - * Copyright (C) 2021 g10 Code GmbH - * - * Software engineering by Ingo Klöcker <dev@ingo-kloecker.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRY_QT_UTIL_H__ -#define __PINENTRY_QT_UTIL_H__ - -#include <memory> - -#include <stdlib.h> - -namespace _detail -{ -struct FreeDeleter { - void operator()(void *ptr) const { - free(ptr); - } -}; -} - -template<class T> -using unique_malloced_ptr = std::unique_ptr<T, _detail::FreeDeleter>; - -#endif // __PINENTRY_QT_UTIL_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.am deleted file mode 100644 index dc570a1e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.am +++ /dev/null @@ -1,62 +0,0 @@ -# Makefile.am -# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB -# Copyright (C) 2008, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-qt4 - -EXTRA_DIST = document-encrypt.png pinentry.qrc - - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - - -AM_CPPFLAGS = $(COMMON_CFLAGS) \ - -I$(top_srcdir) -I$(top_srcdir)/secmem \ - $(ncurses_include) -I$(top_srcdir)/pinentry -AM_CXXFLAGS = $(PINENTRY_QT4_CFLAGS) -pinentry_qt4_LDADD = \ - ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_QT4_LIBS) $(libcurses) $(LIBCAP) -pinentry_qt4_LDFLAGS = $(PINENTRY_QT4_LDFLAGS) - -if BUILD_PINENTRY_QT4 -BUILT_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc -endif - -CLEANFILES = \ - pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc - -pinentry_qt4_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp qrc_pinentry.cpp pinentryconfirm.cpp pinentryconfirm.h \ - pinlineedit.h pinlineedit.cpp - -nodist_pinentry_qt4_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc - -.h.moc: - $(MOC4) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.in deleted file mode 100644 index 40a19afe..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.in +++ /dev/null @@ -1,748 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am -# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB -# Copyright (C) 2008, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-qt4$(EXEEXT) -subdir = qt4 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_qt4_OBJECTS = pinentrydialog.$(OBJEXT) main.$(OBJEXT) \ - qrc_pinentry.$(OBJEXT) pinentryconfirm.$(OBJEXT) \ - pinlineedit.$(OBJEXT) -nodist_pinentry_qt4_OBJECTS = -pinentry_qt4_OBJECTS = $(am_pinentry_qt4_OBJECTS) \ - $(nodist_pinentry_qt4_OBJECTS) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_qt4_DEPENDENCIES = ../pinentry/libpinentry.a \ - $(top_builddir)/secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -pinentry_qt4_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ - $(pinentry_qt4_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/main.Po \ - ./$(DEPDIR)/pinentryconfirm.Po ./$(DEPDIR)/pinentrydialog.Po \ - ./$(DEPDIR)/pinlineedit.Po ./$(DEPDIR)/qrc_pinentry.Po -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_@AM_V@) -am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_qt4_SOURCES) $(nodist_pinentry_qt4_SOURCES) -DIST_SOURCES = $(pinentry_qt4_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -EXTRA_DIST = document-encrypt.png pinentry.qrc -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) \ - -I$(top_srcdir) -I$(top_srcdir)/secmem \ - $(ncurses_include) -I$(top_srcdir)/pinentry - -AM_CXXFLAGS = $(PINENTRY_QT4_CFLAGS) -pinentry_qt4_LDADD = \ - ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_QT4_LIBS) $(libcurses) $(LIBCAP) - -pinentry_qt4_LDFLAGS = $(PINENTRY_QT4_LDFLAGS) -@BUILD_PINENTRY_QT4_TRUE@BUILT_SOURCES = \ -@BUILD_PINENTRY_QT4_TRUE@ pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc - -CLEANFILES = \ - pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc - -pinentry_qt4_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp qrc_pinentry.cpp pinentryconfirm.cpp pinentryconfirm.h \ - pinlineedit.h pinlineedit.cpp - -nodist_pinentry_qt4_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc - -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .cpp .h .moc .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt4/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu qt4/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-qt4$(EXEEXT): $(pinentry_qt4_OBJECTS) $(pinentry_qt4_DEPENDENCIES) $(EXTRA_pinentry_qt4_DEPENDENCIES) - @rm -f pinentry-qt4$(EXEEXT) - $(AM_V_CXXLD)$(pinentry_qt4_LINK) $(pinentry_qt4_OBJECTS) $(pinentry_qt4_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryconfirm.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinlineedit.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qrc_pinentry.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.cpp.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/pinentryconfirm.Po - -rm -f ./$(DEPDIR)/pinentrydialog.Po - -rm -f ./$(DEPDIR)/pinlineedit.Po - -rm -f ./$(DEPDIR)/qrc_pinentry.Po - -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 -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/pinentryconfirm.Po - -rm -f ./$(DEPDIR)/pinentrydialog.Po - -rm -f ./$(DEPDIR)/pinlineedit.Po - -rm -f ./$(DEPDIR)/qrc_pinentry.Po - -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: all check install install-am install-exec install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -.h.moc: - $(MOC4) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/document-encrypt.png b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/document-encrypt.png Binary files differdeleted file mode 100644 index b80c2a6f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/document-encrypt.png +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/main.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/main.cpp deleted file mode 100644 index a2c155c3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/main.cpp +++ /dev/null @@ -1,401 +0,0 @@ -/* main.cpp - A Qt dialog for PIN entry. - * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - * Copyright (C) 2003 g10 Code GmbH - * Copyright 2007 Ingo Klöcker - * - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Marcus Brinkmann <marcus@g10code.de>. - * Modified by Marc Mutz <marc@kdab.com> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "pinentryconfirm.h" -#include "pinentrydialog.h" -#include "pinentry.h" - -#include <QApplication> -#include <QDebug> -#include <QIcon> -#include <QMessageBox> -#include <QPushButton> -#include <QString> -#include <QWidget> -#if QT_VERSION >= 0x050000 -#include <QWindow> -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <errno.h> - -#include <stdexcept> -#include <gpg-error.h> - -#ifdef FALLBACK_CURSES -#include <pinentry-curses.h> -#endif - -#if QT_VERSION >= 0x050000 && defined(QT_STATIC) - #include <QtPlugin> - #ifdef Q_OS_WIN - #include <windows.h> - #include <shlobj.h> - Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) - #elif defined(Q_OS_MAC) - Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) - #else - Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) - #endif -#endif - -#ifdef Q_OS_WIN -#include <windows.h> -#endif - -static QString escape_accel(const QString &s) -{ - - QString result; - result.reserve(s.size()); - - bool afterUnderscore = false; - - for (unsigned int i = 0, end = s.size() ; i != end ; ++i) { - const QChar ch = s[i]; - if (ch == QLatin1Char('_')) { - if (afterUnderscore) { // escaped _ - result += QLatin1Char('_'); - afterUnderscore = false; - } else { // accel - afterUnderscore = true; - } - } else { - if (afterUnderscore || // accel - ch == QLatin1Char('&')) { // escape & from being interpreted by Qt - result += QLatin1Char('&'); - } - result += ch; - afterUnderscore = false; - } - } - - if (afterUnderscore) - // trailing single underscore: shouldn't happen, but deal with it robustly: - { - result += QLatin1Char('_'); - } - - return result; -} - -namespace -{ -class InvalidUtf8 : public std::invalid_argument -{ -public: - InvalidUtf8() : std::invalid_argument("invalid utf8") {} - ~InvalidUtf8() throw() {} -}; -} - -static const bool GPG_AGENT_IS_PORTED_TO_ONLY_SEND_UTF8 = false; - -static QString from_utf8(const char *s) -{ - const QString result = QString::fromUtf8(s); - if (result.contains(QChar::ReplacementCharacter)) { - if (GPG_AGENT_IS_PORTED_TO_ONLY_SEND_UTF8) { - throw InvalidUtf8(); - } else { - return QString::fromLocal8Bit(s); - } - } - - return result; -} - -static void -setup_foreground_window(QWidget *widget, WId parentWid) -{ -#if QT_VERSION >= 0x050000 - /* For windows set the desktop window as the transient parent */ - QWindow *parentWindow = nullptr; - if (parentWid) { - parentWindow = QWindow::fromWinId(parentWid); - } -#ifdef Q_OS_WIN - if (!parentWindow) { - HWND desktop = GetDesktopWindow(); - if (desktop) { - parentWindow = QWindow::fromWinId((WId) desktop); - } - } -#endif - if (parentWindow) { - // Ensure that we have a native wid - widget->winId(); - QWindow *wndHandle = widget->windowHandle(); - - if (wndHandle) { - wndHandle->setTransientParent(parentWindow); - } - } -#endif - widget->setWindowFlags(Qt::Window | - Qt::CustomizeWindowHint | - Qt::WindowTitleHint | - Qt::WindowCloseButtonHint | - Qt::WindowStaysOnTopHint | - Qt::WindowMinimizeButtonHint); -} - -static int -qt_cmd_handler(pinentry_t pe) -{ - char *str; - - int want_pass = !!pe->pin; - - const QString ok = - pe->ok ? escape_accel(from_utf8(pe->ok)) : - pe->default_ok ? escape_accel(from_utf8(pe->default_ok)) : - /* else */ QLatin1String("&OK") ; - const QString cancel = - pe->cancel ? escape_accel(from_utf8(pe->cancel)) : - pe->default_cancel ? escape_accel(from_utf8(pe->default_cancel)) : - /* else */ QLatin1String("&Cancel") ; - - str = pinentry_get_title (pe); - const QString title = - str ? from_utf8(str) : - /* else */ QLatin1String("pinentry-qt") ; - free (str); - - const QString repeatError = - pe->repeat_error_string ? from_utf8(pe->repeat_error_string) : - QLatin1String("Passphrases do not match"); - const QString repeatString = - pe->repeat_passphrase ? from_utf8(pe->repeat_passphrase) : - QString(); - const QString visibilityTT = - pe->default_tt_visi ? from_utf8(pe->default_tt_visi) : - QLatin1String("Show passphrase"); - const QString hideTT = - pe->default_tt_hide ? from_utf8(pe->default_tt_hide) : - QLatin1String("Hide passphrase"); - - const QString generateLbl = pe->genpin_label ? from_utf8(pe->genpin_label) : - QString(); - const QString generateTT = pe->genpin_tt ? from_utf8(pe->genpin_tt) : - QString(); - - - if (want_pass) { - char *str; - - PinEntryDialog pinentry(NULL, 0, pe->timeout, true, !!pe->quality_bar, - repeatString, visibilityTT, hideTT); - setup_foreground_window(&pinentry, pe->parent_wid); - pinentry.setPinentryInfo(pe); - pinentry.setPrompt(escape_accel(from_utf8(pe->prompt))); - pinentry.setDescription(from_utf8(pe->description)); - pinentry.setRepeatErrorText(repeatError); - pinentry.setGenpinLabel(generateLbl); - pinentry.setGenpinTT(generateTT); - - str = pinentry_get_title (pe); - if (str) { - pinentry.setWindowTitle(from_utf8(str)); - free (str); - } - - /* If we reuse the same dialog window. */ - pinentry.setPin(QString()); - - pinentry.setOkText(ok); - pinentry.setCancelText(cancel); - if (pe->error) { - pinentry.setError(from_utf8(pe->error)); - } - if (pe->quality_bar) { - pinentry.setQualityBar(from_utf8(pe->quality_bar)); - } - if (pe->quality_bar_tt) { - pinentry.setQualityBarTT(from_utf8(pe->quality_bar_tt)); - } - bool ret = pinentry.exec(); - if (!ret) { - if (pinentry.timedOut()) - pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); - return -1; - } - - const QString pinStr = pinentry.pin(); - QByteArray pin = pinStr.toUtf8(); - - if (!!pe->repeat_passphrase) { - /* Should not have been possible to accept - the dialog in that case but we do a safety - check here */ - pe->repeat_okay = (pinStr == pinentry.repeatedPin()); - } - - int len = strlen(pin.constData()); - if (len >= 0) { - pinentry_setbufferlen(pe, len + 1); - if (pe->pin) { - strcpy(pe->pin, pin.constData()); - return len; - } - } - return -1; - } else { - const QString desc = pe->description ? from_utf8(pe->description) : QString(); - const QString notok = pe->notok ? escape_accel(from_utf8(pe->notok)) : QString(); - - const QMessageBox::StandardButtons buttons = - pe->one_button ? QMessageBox::Ok : - pe->notok ? QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel : - /* else */ QMessageBox::Ok | QMessageBox::Cancel ; - - PinentryConfirm box(QMessageBox::Information, pe->timeout, title, desc, buttons, NULL); - setup_foreground_window(&box, pe->parent_wid); - - const struct { - QMessageBox::StandardButton button; - QString label; - } buttonLabels[] = { - { QMessageBox::Ok, ok }, - { QMessageBox::Yes, ok }, - { QMessageBox::No, notok }, - { QMessageBox::Cancel, cancel }, - }; - - for (size_t i = 0 ; i < sizeof buttonLabels / sizeof * buttonLabels ; ++i) - if ((buttons & buttonLabels[i].button) && !buttonLabels[i].label.isEmpty()) { - box.button(buttonLabels[i].button)->setText(buttonLabels[i].label); -#ifndef QT_NO_ACCESSIBILITY - box.button(buttonLabels[i].button)->setAccessibleDescription(buttonLabels[i].label); -#endif - } - - box.setIconPixmap(icon()); - - if (!pe->one_button) { - box.setDefaultButton(QMessageBox::Cancel); - } - - box.show(); - raiseWindow(&box); - - const int rc = box.exec(); - - if (rc == QMessageBox::Cancel) { - pe->canceled = true; - } - if (box.timedOut()) { - pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); - } - - return rc == QMessageBox::Ok || rc == QMessageBox::Yes ; - - } -} - -static int -qt_cmd_handler_ex(pinentry_t pe) -{ - try { - return qt_cmd_handler(pe); - } catch (const InvalidUtf8 &) { - pe->locale_err = true; - return pe->pin ? -1 : false ; - } catch (...) { - pe->canceled = true; - return pe->pin ? -1 : false ; - } -} - -pinentry_cmd_handler_t pinentry_cmd_handler = qt_cmd_handler_ex; - -int -main(int argc, char *argv[]) -{ - pinentry_init("pinentry-qt"); - - QApplication *app = NULL; - int new_argc = 0; - -#ifdef FALLBACK_CURSES - if (!pinentry_have_display(argc, argv)) { - pinentry_cmd_handler = curses_cmd_handler; - pinentry_set_flavor_flag ("curses"); - } else -#endif - { - /* Qt does only understand -display but not --display; thus we - are fixing that here. The code is pretty simply and may get - confused if an argument is called "--display". */ - char **new_argv, *p; - size_t n; - int i, done; - - for (n = 0, i = 0; i < argc; i++) { - n += strlen(argv[i]) + 1; - } - n++; - new_argv = (char **)calloc(argc + 1, sizeof * new_argv); - if (new_argv) { - *new_argv = (char *)malloc(n); - } - if (!new_argv || !*new_argv) { - fprintf(stderr, "pinentry-qt: can't fixup argument list: %s\n", - strerror(errno)); - exit(EXIT_FAILURE); - - } - for (done = 0, p = *new_argv, i = 0; i < argc; i++) - if (!done && !strcmp(argv[i], "--display")) { - new_argv[i] = strcpy(p, argv[i] + 1); - p += strlen(argv[i] + 1) + 1; - done = 1; - } else { - new_argv[i] = strcpy(p, argv[i]); - p += strlen(argv[i]) + 1; - } - - /* Note: QApplication uses int &argc so argc has to be valid - * for the full lifetime of the application. - * - * As Qt might modify argc / argv we use copies here so that - * we do not loose options that are handled in both. e.g. display. - */ - new_argc = argc; - Q_ASSERT (new_argc); - app = new QApplication(new_argc, new_argv); - app->setWindowIcon(QIcon(QLatin1String(":/document-encrypt.png"))); - } - - pinentry_parse_opts(argc, argv); - - int rc = pinentry_loop(); - delete app; - return rc ? EXIT_FAILURE : EXIT_SUCCESS ; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentry.qrc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentry.qrc deleted file mode 100644 index 94db0548..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentry.qrc +++ /dev/null @@ -1,6 +0,0 @@ -<!DOCTYPE RCC> -<RCC version="1.0"> -<qresource> - <file>document-encrypt.png</file> -</qresource> -</RCC> diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.cpp deleted file mode 100644 index 65b191cf..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* pinentryconfirm.cpp - A QMessageBox with a timeout - * - * Copyright (C) 2011 Ben Kibbey <bjk@luxsci.net> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "pinentryconfirm.h" -#include "pinentrydialog.h" -#include <QAbstractButton> -#include <QGridLayout> -#include <QSpacerItem> -#include <QFontMetrics> - -PinentryConfirm::PinentryConfirm(Icon icon, int timeout, const QString &title, - const QString &desc, StandardButtons buttons, QWidget *parent) : - QMessageBox(icon, title, desc, buttons, parent) -{ - _timed_out = false; - if (timeout > 0) { - _timer = new QTimer(this); - connect(_timer, SIGNAL(timeout()), this, SLOT(slotTimeout())); - _timer->start(timeout * 1000); - } -#ifndef QT_NO_ACCESSIBILITY - setAccessibleDescription(desc); - setAccessibleName(title); -#endif - raiseWindow(this); -} - -bool PinentryConfirm::timedOut() const -{ - return _timed_out; -} - -void PinentryConfirm::showEvent(QShowEvent *event) -{ - static bool resized; - if (!resized) { - QGridLayout* lay = dynamic_cast<QGridLayout*> (layout()); - if (lay) { - QSize textSize = fontMetrics().size(Qt::TextExpandTabs, text(), fontMetrics().maxWidth()); - QSpacerItem* horizontalSpacer = new QSpacerItem(textSize.width() + iconPixmap().width(), - 0, QSizePolicy::Minimum, QSizePolicy::Expanding); - lay->addItem(horizontalSpacer, lay->rowCount(), 1, 1, lay->columnCount() - 1); - } - resized = true; - } - - QDialog::showEvent(event); - raiseWindow(this); -} - -void PinentryConfirm::slotTimeout() -{ - QAbstractButton *b = button(QMessageBox::Cancel); - _timed_out = true; - - if (b) { - b->animateClick(0); - } -} - -#include "pinentryconfirm.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.h deleted file mode 100644 index ec116ac3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.h +++ /dev/null @@ -1,46 +0,0 @@ -/* pinentryconfirm.h - A QMessageBox with a timeout - * - * Copyright (C) 2011 Ben Kibbey <bjk@luxsci.net> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef PINENTRYCONFIRM_H -#define PINENTRYCONFIRM_H - -#include <QMessageBox> -#include <QTimer> - -class PinentryConfirm : public QMessageBox -{ - Q_OBJECT -public: - PinentryConfirm(Icon, int timeout, const QString &title, - const QString &desc, StandardButtons buttons, - QWidget *parent); - bool timedOut() const; - -private slots: - void slotTimeout(); - -private: - QTimer *_timer; - bool _timed_out; - -protected: - /* reimp */ void showEvent(QShowEvent *event); -}; - -#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.cpp deleted file mode 100644 index 0c4e3855..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.cpp +++ /dev/null @@ -1,511 +0,0 @@ -/* pinentrydialog.cpp - A (not yet) secure Qt 4 dialog for PIN entry. - * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - * Copyright 2007 Ingo Klöcker - * Copyright 2016 Intevation GmbH - * - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Andre Heinecke <aheinecke@intevation.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "pinentrydialog.h" -#include <QGridLayout> - -#include <QProgressBar> -#include <QApplication> -#include <QFontMetrics> -#include <QStyle> -#include <QPainter> -#include <QPushButton> -#include <QDialogButtonBox> -#include <QKeyEvent> -#include <QLabel> -#include <QPalette> -#include <QLineEdit> -#include <QAction> -#include <QCheckBox> -#include "pinlineedit.h" - -#include <QDebug> - -#ifdef Q_OS_WIN -#include <windows.h> -#if QT_VERSION >= 0x050700 -#include <QtPlatformHeaders/QWindowsWindowFunctions> -#endif -#endif - -void raiseWindow(QWidget *w) -{ -#ifdef Q_OS_WIN -#if QT_VERSION >= 0x050700 - QWindowsWindowFunctions::setWindowActivationBehavior( - QWindowsWindowFunctions::AlwaysActivateWindow); -#endif -#endif - w->setWindowState((w->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive); - w->activateWindow(); - w->raise(); -} - -QPixmap icon(QStyle::StandardPixmap which) -{ - QPixmap pm = qApp->windowIcon().pixmap(48, 48); - - if (which != QStyle::SP_CustomBase) { - const QIcon ic = qApp->style()->standardIcon(which); - QPainter painter(&pm); - const int emblemSize = 22; - painter.drawPixmap(pm.width() - emblemSize, 0, - ic.pixmap(emblemSize, emblemSize)); - } - - return pm; -} - -void PinEntryDialog::slotTimeout() -{ - _timed_out = true; - reject(); -} - -PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, - int timeout, bool modal, bool enable_quality_bar, - const QString &repeatString, - const QString &visibilityTT, - const QString &hideTT) - : QDialog(parent), - mRepeat(NULL), - _grabbed(false), - _disable_echo_allowed(true), - mVisibilityTT(visibilityTT), - mHideTT(hideTT), - mVisiActionEdit(NULL), - mGenerateActionEdit(NULL), - mVisiCB(NULL) -{ - _timed_out = false; - - if (modal) { - setWindowModality(Qt::ApplicationModal); - } - - _icon = new QLabel(this); - _icon->setPixmap(icon()); - - _error = new QLabel(this); - QPalette pal; - pal.setColor(QPalette::WindowText, Qt::red); - _error->setPalette(pal); - _error->hide(); - - _desc = new QLabel(this); - _desc->hide(); - - _prompt = new QLabel(this); - _prompt->hide(); - - _edit = new PinLineEdit(this); - _edit->setMaxLength(256); - _edit->setMinimumWidth(_edit->fontMetrics().averageCharWidth()*20 + 48); - _edit->setEchoMode(QLineEdit::Password); - - _prompt->setBuddy(_edit); - - if (enable_quality_bar) { - _quality_bar_label = new QLabel(this); - _quality_bar_label->setAlignment(Qt::AlignVCenter); - _quality_bar = new QProgressBar(this); - _quality_bar->setAlignment(Qt::AlignCenter); - _have_quality_bar = true; - } else { - _have_quality_bar = false; - } - - QDialogButtonBox *const buttons = new QDialogButtonBox(this); - buttons->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); - _ok = buttons->button(QDialogButtonBox::Ok); - _cancel = buttons->button(QDialogButtonBox::Cancel); - - _ok->setDefault(true); - - if (style()->styleHint(QStyle::SH_DialogButtonBox_ButtonsHaveIcons)) { - _ok->setIcon(style()->standardIcon(QStyle::SP_DialogOkButton)); - _cancel->setIcon(style()->standardIcon(QStyle::SP_DialogCancelButton)); - } - - if (timeout > 0) { - _timer = new QTimer(this); - connect(_timer, SIGNAL(timeout()), this, SLOT(slotTimeout())); - _timer->start(timeout * 1000); - } else { - _timer = NULL; - } - - connect(buttons, SIGNAL(accepted()), this, SLOT(accept())); - connect(buttons, SIGNAL(rejected()), this, SLOT(reject())); - connect(_edit, SIGNAL(textChanged(QString)), - this, SLOT(updateQuality(QString))); - connect(_edit, SIGNAL(textChanged(QString)), - this, SLOT(textChanged(QString))); - connect(_edit, SIGNAL(backspacePressed()), - this, SLOT(onBackspace())); - - QGridLayout *const grid = new QGridLayout(this); - int row = 1; - grid->addWidget(_error, row++, 1, 1, 2); - grid->addWidget(_desc, row++, 1, 1, 2); - //grid->addItem( new QSpacerItem( 0, _edit->height() / 10, QSizePolicy::Minimum, QSizePolicy::Fixed ), 1, 1 ); - grid->addWidget(_prompt, row, 1); - grid->addWidget(_edit, row++, 2); - if (!repeatString.isNull()) { - mRepeat = new QLineEdit; - mRepeat->setMaxLength(256); - mRepeat->setEchoMode(QLineEdit::Password); - connect(mRepeat, SIGNAL(textChanged(QString)), - this, SLOT(textChanged(QString))); - QLabel *repeatLabel = new QLabel(repeatString); - repeatLabel->setBuddy(mRepeat); - grid->addWidget(repeatLabel, row, 1); - grid->addWidget(mRepeat, row++, 2); - setTabOrder(_edit, mRepeat); - setTabOrder(mRepeat, _ok); - } - if (enable_quality_bar) { - grid->addWidget(_quality_bar_label, row, 1); - grid->addWidget(_quality_bar, row++, 2); - } - /* Set up the show password action */ - const QIcon visibilityIcon = QIcon::fromTheme(QLatin1String("visibility")); - const QIcon hideIcon = QIcon::fromTheme(QLatin1String("hint")); - const QIcon generateIcon = QIcon(); /* Disabled for now - QIcon::fromTheme(QLatin1String("password-generate")); */ -#if QT_VERSION >= 0x050200 - if (!generateIcon.isNull()) { - mGenerateActionEdit = _edit->addAction(generateIcon, - QLineEdit::LeadingPosition); - mGenerateActionEdit->setToolTip(mGenerateTT); - connect(mGenerateActionEdit, SIGNAL(triggered()), this, SLOT(generatePin())); - } - if (!visibilityIcon.isNull() && !hideIcon.isNull()) { - mVisiActionEdit = _edit->addAction(visibilityIcon, QLineEdit::TrailingPosition); - mVisiActionEdit->setVisible(false); - mVisiActionEdit->setToolTip(mVisibilityTT); - connect(mVisiActionEdit, SIGNAL(triggered()), this, SLOT(toggleVisibility())); - } else -#endif - { - if (!mVisibilityTT.isNull()) { - mVisiCB = new QCheckBox(mVisibilityTT); - connect(mVisiCB, SIGNAL(toggled(bool)), this, SLOT(toggleVisibility())); - grid->addWidget(mVisiCB, row++, 1, 1, 2, Qt::AlignLeft); - } - } - grid->addWidget(buttons, ++row, 0, 1, 3); - - grid->addWidget(_icon, 0, 0, row - 1, 1, Qt::AlignVCenter | Qt::AlignLeft); - - grid->setSizeConstraint(QLayout::SetFixedSize); - - - connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)), - this, SLOT(focusChanged(QWidget *, QWidget *))); - -#if QT_VERSION >= 0x050000 - /* This is mostly an issue on Windows where this results - in the pinentry popping up nicely with an animation and - comes to front. It is not ifdefed for Windows only since - window managers on Linux like KWin can also have this - result in an animation when the pinentry is shown and - not just popping it up. - */ - setWindowState(Qt::WindowMinimized); - QTimer::singleShot(0, this, [this] () { - raiseWindow (this); - }); -#else - activateWindow(); - raise(); -#endif -} - -void PinEntryDialog::showEvent(QShowEvent *event) -{ - QDialog::showEvent(event); - _edit->setFocus(); -} - -void PinEntryDialog::setDescription(const QString &txt) -{ - _desc->setVisible(!txt.isEmpty()); - _desc->setText(txt); -#ifndef QT_NO_ACCESSIBILITY - _desc->setAccessibleDescription(txt); -#endif - _icon->setPixmap(icon()); - setError(QString()); -} - -QString PinEntryDialog::description() const -{ - return _desc->text(); -} - -void PinEntryDialog::setError(const QString &txt) -{ - if (!txt.isNull()) { - _icon->setPixmap(icon(QStyle::SP_MessageBoxCritical)); - } - _error->setText(txt); -#ifndef QT_NO_ACCESSIBILITY - _error->setAccessibleDescription(txt); -#endif - _error->setVisible(!txt.isEmpty()); -} - -QString PinEntryDialog::error() const -{ - return _error->text(); -} - -void PinEntryDialog::setPin(const QString &txt) -{ - _edit->setText(txt); -} - -QString PinEntryDialog::pin() const -{ - return _edit->text(); -} - -void PinEntryDialog::setPrompt(const QString &txt) -{ - _prompt->setText(txt); - _prompt->setVisible(!txt.isEmpty()); - if (txt.contains("PIN")) - _disable_echo_allowed = false; -} - -QString PinEntryDialog::prompt() const -{ - return _prompt->text(); -} - -void PinEntryDialog::setOkText(const QString &txt) -{ - _ok->setText(txt); -#ifndef QT_NO_ACCESSIBILITY - _ok->setAccessibleDescription(txt); -#endif - _ok->setVisible(!txt.isEmpty()); -} - -void PinEntryDialog::setCancelText(const QString &txt) -{ - _cancel->setText(txt); -#ifndef QT_NO_ACCESSIBILITY - _cancel->setAccessibleDescription(txt); -#endif - _cancel->setVisible(!txt.isEmpty()); -} - -void PinEntryDialog::setQualityBar(const QString &txt) -{ - if (_have_quality_bar) { - _quality_bar_label->setText(txt); -#ifndef QT_NO_ACCESSIBILITY - _quality_bar_label->setAccessibleDescription(txt); -#endif - } -} - -void PinEntryDialog::setQualityBarTT(const QString &txt) -{ - if (_have_quality_bar) { - _quality_bar->setToolTip(txt); - } -} - -void PinEntryDialog::setGenpinLabel(const QString &txt) -{ - if (!mGenerateActionEdit) { - return; - } - if (txt.isEmpty()) { - mGenerateActionEdit->setVisible(false); - } else { - mGenerateActionEdit->setText(txt); - mGenerateActionEdit->setVisible(true); - } -} - -void PinEntryDialog::setGenpinTT(const QString &txt) -{ - if (mGenerateActionEdit) { - mGenerateActionEdit->setToolTip(txt); - } -} - -void PinEntryDialog::onBackspace() -{ - if (_disable_echo_allowed) { - _edit->setEchoMode(QLineEdit::NoEcho); - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::NoEcho); - } - } -} - -void PinEntryDialog::updateQuality(const QString &txt) -{ - int length; - int percent; - QPalette pal; - - if (_timer) { - _timer->stop(); - } - - _disable_echo_allowed = false; - - if (!_have_quality_bar || !_pinentry_info) { - return; - } - const QByteArray utf8_pin = txt.toUtf8(); - const char *pin = utf8_pin.constData(); - length = strlen(pin); - percent = length ? pinentry_inq_quality(_pinentry_info, pin, length) : 0; - if (!length) { - _quality_bar->reset(); - } else { - pal = _quality_bar->palette(); - if (percent < 0) { - pal.setColor(QPalette::Highlight, QColor("red")); - percent = -percent; - } else { - pal.setColor(QPalette::Highlight, QColor("green")); - } - _quality_bar->setPalette(pal); - _quality_bar->setValue(percent); - } -} - -void PinEntryDialog::setPinentryInfo(pinentry_t peinfo) -{ - _pinentry_info = peinfo; -} - -void PinEntryDialog::focusChanged(QWidget *old, QWidget *now) -{ - // Grab keyboard. It might be a little weird to do it here, but it works! - // Previously this code was in showEvent, but that did not work in Qt4. - if (!_pinentry_info || _pinentry_info->grab) { - if (_grabbed && old && (old == _edit || old == mRepeat)) { - old->releaseKeyboard(); - _grabbed = false; - } - if (!_grabbed && now && (now == _edit || now == mRepeat)) { - now->grabKeyboard(); - _grabbed = true; - } - } - -} - -void PinEntryDialog::textChanged(const QString &text) -{ - Q_UNUSED(text); - if (mRepeat && mRepeat->text() == _edit->text()) { - _ok->setEnabled(true); - _ok->setToolTip(QString()); - } else if (mRepeat) { - _ok->setEnabled(false); - _ok->setToolTip(mRepeatError); - } - - if (mVisiActionEdit && sender() == _edit) { - mVisiActionEdit->setVisible(!_edit->text().isEmpty()); - } - if (mGenerateActionEdit) { - mGenerateActionEdit->setVisible(_edit->text().isEmpty() && - _pinentry_info->genpin_label); - } -} - -void PinEntryDialog::generatePin() -{ - const char *pin = pinentry_inq_genpin(_pinentry_info); - if (pin) { - if (_edit->echoMode() == QLineEdit::Password) { - toggleVisibility(); - } - const QString pinStr = QString::fromUtf8(pin); - _edit->setText(pinStr); - mRepeat->setText(pinStr); - } -} - -void PinEntryDialog::toggleVisibility() -{ - if (sender() != mVisiCB) { - if (_edit->echoMode() == QLineEdit::Password) { - mVisiActionEdit->setIcon(QIcon::fromTheme(QLatin1String("hint"))); - mVisiActionEdit->setToolTip(mHideTT); - _edit->setEchoMode(QLineEdit::Normal); - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Normal); - } - } else { - mVisiActionEdit->setIcon(QIcon::fromTheme(QLatin1String("visibility"))); - mVisiActionEdit->setToolTip(mVisibilityTT); - _edit->setEchoMode(QLineEdit::Password); - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Password); - } - } - } else { - if (mVisiCB->isChecked()) { - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Normal); - } - _edit->setEchoMode(QLineEdit::Normal); - } else { - if (mRepeat) { - mRepeat->setEchoMode(QLineEdit::Password); - } - _edit->setEchoMode(QLineEdit::Password); - } - } -} - -QString PinEntryDialog::repeatedPin() const -{ - if (mRepeat) { - return mRepeat->text(); - } - return QString(); -} - -bool PinEntryDialog::timedOut() const -{ - return _timed_out; -} - -void PinEntryDialog::setRepeatErrorText(const QString &err) -{ - mRepeatError = err; -} -#include "pinentrydialog.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.h deleted file mode 100644 index 45671b95..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.h +++ /dev/null @@ -1,128 +0,0 @@ -/* pinentrydialog.h - A (not yet) secure Qt 4 dialog for PIN entry. - * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) - * Copyright 2007 Ingo Klöcker - * Copyright 2016 Intevation GmbH - * - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Andre Heinecke <aheinecke@intevation.de> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRYDIALOG_H__ -#define __PINENTRYDIALOG_H__ - -#include <QDialog> -#include <QStyle> -#include <QTimer> - -#include "pinentry.h" - -class QLabel; -class QPushButton; -class QLineEdit; -class PinLineEdit; -class QString; -class QProgressBar; -class QCheckBox; -class QAction; - -QPixmap icon(QStyle::StandardPixmap which = QStyle::SP_CustomBase); - -void raiseWindow(QWidget *w); - -class PinEntryDialog : public QDialog -{ - Q_OBJECT - - Q_PROPERTY(QString description READ description WRITE setDescription) - Q_PROPERTY(QString error READ error WRITE setError) - Q_PROPERTY(QString pin READ pin WRITE setPin) - Q_PROPERTY(QString prompt READ prompt WRITE setPrompt) -public: - explicit PinEntryDialog(QWidget *parent = 0, const char *name = 0, - int timeout = 0, bool modal = false, - bool enable_quality_bar = false, - const QString &repeatString = QString(), - const QString &visibiltyTT = QString(), - const QString &hideTT = QString()); - - void setDescription(const QString &); - QString description() const; - - void setError(const QString &); - QString error() const; - - void setPin(const QString &); - QString pin() const; - - QString repeatedPin() const; - void setRepeatErrorText(const QString &); - - void setPrompt(const QString &); - QString prompt() const; - - void setOkText(const QString &); - void setCancelText(const QString &); - - void setQualityBar(const QString &); - void setQualityBarTT(const QString &); - - void setGenpinLabel(const QString &); - void setGenpinTT(const QString &); - - void setPinentryInfo(pinentry_t); - - bool timedOut() const; - -protected slots: - void updateQuality(const QString &); - void slotTimeout(); - void textChanged(const QString &); - void focusChanged(QWidget *old, QWidget *now); - void toggleVisibility(); - void onBackspace(); - void generatePin(); - -protected: - /* reimp */ void showEvent(QShowEvent *event); - -private: - QLabel *_icon; - QLabel *_desc; - QLabel *_error; - QLabel *_prompt; - QLabel *_quality_bar_label; - QProgressBar *_quality_bar; - PinLineEdit *_edit; - QLineEdit *mRepeat; - QPushButton *_ok; - QPushButton *_cancel; - bool _grabbed; - bool _have_quality_bar; - bool _timed_out; - bool _disable_echo_allowed; - pinentry_t _pinentry_info; - QTimer *_timer; - QString mRepeatError, - mVisibilityTT, - mGenerateTT, - mHideTT; - QAction *mVisiActionEdit, - *mGenerateActionEdit; - QCheckBox *mVisiCB; -}; - -#endif // __PINENTRYDIALOG_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.cpp deleted file mode 100644 index b05bd07b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* pinlineedit.cpp - Modified QLineEdit widget. - * Copyright (C) 2018 Damien Goutte-Gattat - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include "pinlineedit.h" - -#include <QKeyEvent> - -PinLineEdit::PinLineEdit(QWidget *parent) : QLineEdit(parent) -{ -} - -void -PinLineEdit::keyPressEvent(QKeyEvent *e) -{ - QLineEdit::keyPressEvent(e); - - if ( e->key() == Qt::Key_Backspace ) - emit backspacePressed(); -} - -#include "pinlineedit.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.h deleted file mode 100644 index b1b48dfd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.h +++ /dev/null @@ -1,38 +0,0 @@ -/* pinlineedit.h - Modified QLineEdit widget. - * Copyright (C) 2018 Damien Goutte-Gattat - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _PINLINEEDIT_H_ -#define _PINLINEEDIT_H_ - -#include <QLineEdit> - -class PinLineEdit : public QLineEdit -{ - Q_OBJECT - -public: - PinLineEdit(QWidget *); - -signals: - void backspacePressed(); - -protected: - void keyPressEvent(QKeyEvent *); -}; - -#endif // _PINLINEEDIT_H_ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/qrc_pinentry.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/qrc_pinentry.cpp deleted file mode 100644 index 6ab21299..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/qrc_pinentry.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/**************************************************************************** -** Resource object code -** -** Created: Wed Feb 17 23:35:02 2010 -** by: The Resource Compiler for Qt version 4.4.3 -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#include <QtCore/qglobal.h> - -static const unsigned char qt_resource_data[] = { - // /home/marc/KDE/src/gnupg-backend/pinentry/qt4/document-encrypt.png - 0x0,0x0,0x7,0x2b, - 0x89, - 0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0, - 0x0,0x0,0x30,0x0,0x0,0x0,0x30,0x8,0x6,0x0,0x0,0x0,0x57,0x2,0xf9,0x87, - 0x0,0x0,0x0,0x4,0x73,0x42,0x49,0x54,0x8,0x8,0x8,0x8,0x7c,0x8,0x64,0x88, - 0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0x5,0x31,0x0,0x0,0x5,0x31, - 0x1,0xb7,0xed,0x28,0x52,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x53,0x6f,0x66, - 0x74,0x77,0x61,0x72,0x65,0x0,0x77,0x77,0x77,0x2e,0x69,0x6e,0x6b,0x73,0x63,0x61, - 0x70,0x65,0x2e,0x6f,0x72,0x67,0x9b,0xee,0x3c,0x1a,0x0,0x0,0x6,0xa8,0x49,0x44, - 0x41,0x54,0x78,0xda,0xd5,0x59,0x4b,0x6c,0x55,0x45,0x18,0xfe,0x67,0xce,0x7d,0xf5, - 0xfd,0xc0,0x82,0xb1,0xd,0xb,0xdd,0x11,0x34,0x46,0xd1,0xd,0x1b,0x42,0x4c,0x48, - 0x31,0xb4,0x68,0x52,0x16,0xb8,0x31,0xae,0x4c,0xec,0x92,0x85,0xa9,0x8b,0x6e,0x8c, - 0xb2,0x60,0xa9,0x21,0xee,0x5c,0xdb,0xf8,0x58,0xb9,0xa1,0x6d,0x60,0x61,0x42,0xb4, - 0xe0,0x2,0x41,0xd,0x8,0xd1,0xb6,0x94,0x36,0x5c,0xfb,0xa6,0xbd,0xf7,0x9e,0x73, - 0xc6,0xef,0xfb,0x73,0x99,0x73,0xe3,0xc5,0x40,0xd3,0x9e,0x5b,0x99,0xe4,0xe3,0x9f, - 0x33,0x33,0x67,0xce,0xff,0xfd,0xaf,0x99,0x72,0x8d,0x73,0x4e,0x9e,0xe6,0x96,0x91, - 0x14,0xda,0x8d,0x1b,0x37,0x72,0xd7,0xaf,0x5f,0x7f,0xb1,0x54,0x2a,0xbd,0xba,0xb9, - 0xb9,0xc9,0xa1,0x2b,0xb3,0xb3,0xb3,0xd7,0x46,0x47,0x47,0xcb,0xb2,0xc3,0x6d,0xc7, - 0x3c,0x30,0x3e,0x3e,0xbe,0xbf,0x52,0xa9,0x7c,0x8,0xa5,0x5f,0xc9,0x66,0xb3,0x2f, - 0x37,0x37,0x37,0xe7,0x3b,0x3a,0x3a,0xc4,0x5a,0x2b,0x2b,0x2b,0x2b,0xb2,0xbc,0xbc, - 0x5c,0xba,0x7f,0xff,0xfe,0x35,0xcc,0xff,0xb4,0x67,0xcf,0x9e,0xb3,0x43,0x43,0x43, - 0x7f,0xfd,0x6f,0x8,0x4c,0x4c,0x4c,0x7c,0x10,0x86,0xe1,0x68,0x6b,0x6b,0x6b,0x4f, - 0x77,0x77,0xb7,0xe4,0x72,0x39,0xe1,0xbe,0x4b,0x4b,0x4b,0x2a,0xf7,0xee,0xdd,0x2b, - 0x50,0x5a,0xc7,0x17,0x16,0x16,0xe4,0xd2,0xa5,0x4b,0x45,0x90,0x1c,0x3d,0x75,0xea, - 0xd4,0xe7,0xbb,0x4a,0x60,0x72,0x72,0xb2,0x17,0x8a,0x7f,0x89,0xee,0x1b,0x5d,0x5d, - 0x5d,0x2,0xf,0xc8,0xad,0x5b,0xb7,0x64,0x71,0x71,0x51,0x15,0x6f,0x6b,0x6b,0x13, - 0x63,0xc,0x3d,0xa0,0x63,0x50,0x5a,0xe,0x1e,0x3c,0x28,0xc7,0x8e,0x1d,0x93,0xa9, - 0xa9,0x29,0x29,0x16,0x8b,0xe3,0xed,0xed,0xed,0xef,0x1e,0x3d,0x7a,0x74,0xb6,0xe1, - 0x4,0xc6,0xc6,0xc6,0x72,0xb0,0xf6,0x1f,0xe8,0xf6,0xc1,0xf2,0x72,0xf7,0xee,0x5d, - 0x86,0x89,0x74,0x76,0x76,0x4a,0x14,0x45,0x12,0xc7,0xb1,0x80,0x9c,0xca,0x20,0x8, - 0x24,0x93,0xc9,0x28,0x90,0xb,0x32,0x3d,0x3d,0x2d,0xc3,0xc3,0xc3,0x3a,0x7f,0xf3, - 0xe6,0xcd,0x99,0xde,0xde,0xde,0x17,0xe,0x1c,0x38,0x50,0x6e,0x24,0x1,0x86,0xcd, - 0x37,0x78,0xf7,0xad,0x7c,0x3e,0x2f,0xb7,0x6f,0xdf,0x16,0xc4,0x3c,0xad,0x4e,0x8b, - 0xff,0xd,0xa5,0x3f,0x3,0xa6,0x40,0x64,0xea,0xc1,0x83,0x7,0x24,0x70,0xa8,0x5c, - 0x2e,0x1f,0x82,0x1c,0x46,0x5e,0x74,0x93,0xe0,0xd5,0xab,0x57,0x65,0x70,0x70,0x50, - 0xf0,0x3e,0x3d,0xf7,0xed,0xe1,0xc3,0x87,0xdf,0x6e,0x18,0x81,0xb,0x17,0x2e,0x1c, - 0x47,0x72,0x7e,0x7,0x8b,0x66,0x69,0x51,0x48,0x2a,0x41,0x12,0x5f,0x6d,0x6c,0x6c, - 0xbc,0x7f,0xfa,0xf4,0xe9,0x45,0x79,0x44,0x3b,0x7f,0xfe,0x7c,0x17,0xac,0xfe,0x5, - 0x3c,0x36,0x54,0x28,0x14,0xe4,0xf2,0xe5,0xcb,0x32,0x32,0x32,0x42,0x2f,0x84,0x20, - 0x3e,0x8,0x12,0xdf,0xa7,0x4e,0xe0,0xe2,0xc5,0x8b,0x19,0x28,0x39,0x3,0xcb,0xed, - 0xa3,0xd2,0xf3,0xf3,0xf3,0x6a,0x79,0xe4,0xc0,0xc8,0xc0,0xc0,0xc0,0xa7,0xf2,0x4, - 0xed,0xdc,0xb9,0x73,0x1f,0xf5,0xf4,0xf4,0x7c,0xbc,0xbe,0xbe,0xae,0x89,0xdd,0xdf, - 0xdf,0x2f,0x73,0x73,0x73,0xf3,0x6b,0x6b,0x6b,0x7d,0x47,0x8e,0x1c,0x9,0x65,0xb, - 0xcd,0x6e,0x91,0x30,0xe3,0xfc,0x24,0x3e,0xba,0x8f,0xc9,0x39,0x33,0x33,0xa3,0xf1, - 0xe,0x32,0xbf,0x42,0xf9,0xb3,0xf2,0x84,0xed,0xcc,0x99,0x33,0x9f,0x20,0xb1,0x7f, - 0x69,0x6a,0x6a,0xd2,0xdc,0x41,0x69,0xa5,0x7,0xf7,0x61,0xea,0x24,0x20,0x69,0x12, - 0x60,0xe2,0xf5,0xb3,0x9a,0xd0,0xea,0x54,0x9e,0x7,0x55,0x4b,0x4b,0xcb,0x9b,0x98, - 0xda,0x8a,0x2b,0x1d,0x94,0x1e,0x0,0x1c,0x3c,0xc7,0x83,0x8f,0x15,0x8a,0xf9,0xd3, - 0x9f,0x36,0x1,0x5a,0x8a,0xc9,0x28,0x48,0x4a,0x92,0xe1,0x47,0x57,0x4f,0x9c,0x38, - 0x71,0x47,0xb6,0xd6,0xe8,0x85,0x3b,0x78,0x7f,0x81,0x7b,0xdd,0xbb,0x77,0x4f,0xe8, - 0xd,0xe4,0xd5,0xa1,0xb4,0x9,0xb0,0x2c,0xf6,0x2,0xac,0xed,0x24,0xc1,0x4,0xfe, - 0xdd,0x4f,0x6e,0x7d,0xaf,0x6b,0xf4,0x22,0xf,0x37,0x96,0x62,0xb4,0xde,0xb4,0x9, - 0xd0,0x4a,0x9d,0xc,0x9f,0xd5,0xd5,0x55,0x12,0xe0,0x61,0x35,0xe9,0x27,0xb7,0xbe, - 0xd7,0xf,0xc,0x41,0x1a,0xa4,0xda,0x3a,0xd3,0x26,0xc0,0x90,0x9,0xf0,0x61,0x86, - 0xf,0xad,0xcf,0xa1,0x95,0x6d,0x10,0x58,0xe6,0x1e,0x2c,0x8,0xa8,0x40,0x1c,0xa, - 0xd2,0x23,0x50,0xff,0x71,0x3d,0x84,0xd8,0x76,0x62,0xf,0x5f,0xce,0x1b,0x45,0x0, - 0xc9,0xc7,0xc4,0xdb,0x2e,0x81,0x6d,0xef,0x91,0xd9,0xe,0x1,0x1e,0x42,0xdb,0x6d, - 0x3c,0x91,0x7d,0x6b,0xb0,0x7,0xfc,0xc7,0x53,0xda,0x23,0x7d,0x2,0x8c,0xdf,0x6d, - 0x36,0xee,0xf1,0xd4,0x12,0x60,0xe,0x30,0xc,0xd3,0xff,0x83,0xe6,0xc7,0xaf,0xdf, - 0x71,0x2f,0xbd,0xe6,0xa4,0x38,0xdd,0x2d,0x8b,0xc5,0x66,0xdc,0x5d,0x22,0x9e,0x1, - 0x1e,0x15,0x95,0x25,0xf6,0xeb,0x20,0xce,0xb1,0xdc,0x12,0xbc,0x2e,0x40,0xe1,0xbc, - 0xe4,0xf2,0x39,0x55,0x3c,0x8b,0x3e,0x25,0xd,0x41,0x14,0x9a,0x72,0xd2,0xdd,0xd7, - 0x25,0xd9,0x67,0x9c,0x5c,0x99,0xf8,0x59,0x8e,0xbf,0x37,0x66,0x76,0x2c,0x89,0x6d, - 0x26,0x94,0x67,0xf7,0xff,0x26,0xdd,0x1d,0x7f,0xca,0xc6,0x52,0x28,0xeb,0xeb,0x4d, - 0xb8,0x7,0x65,0x65,0x63,0xc3,0x0,0x56,0x36,0x36,0x45,0x4a,0x81,0x91,0x4d,0xeb, - 0xa4,0xa4,0x88,0x25,0xb,0x80,0x0,0x94,0x34,0x92,0x27,0xf2,0x84,0x95,0x2,0x1c, - 0x97,0x2f,0x20,0x81,0x5b,0x9c,0x34,0x17,0x80,0xf6,0xb2,0x74,0xf4,0x64,0xa5,0xe9, - 0xb9,0xd7,0xc5,0xb4,0x3d,0x2f,0xc5,0xb9,0x62,0x7a,0x55,0xc8,0x18,0x7,0x65,0x8a, - 0x92,0x33,0xeb,0x52,0xce,0xc4,0xb2,0x89,0x1d,0xd6,0x4c,0x20,0xad,0x90,0x65,0x44, - 0x43,0x58,0xe0,0x15,0x81,0xb0,0x12,0x58,0x86,0x1a,0xde,0x81,0xcc,0x6,0xec,0x43, - 0xe2,0x1d,0x95,0x58,0x97,0x6b,0x1,0x89,0x56,0x10,0x6c,0xc5,0x73,0x4b,0x9f,0x2e, - 0xc4,0x9b,0xc,0xad,0x74,0x8,0x50,0xa9,0x28,0x22,0x2,0x71,0x84,0x33,0x12,0x39, - 0xc6,0x32,0x89,0x19,0x82,0x4a,0x60,0xdc,0xa2,0xaf,0x74,0x1,0x84,0x90,0xce,0x13, - 0xb1,0x44,0x92,0xc1,0x12,0x23,0xb1,0xe5,0xd7,0x1d,0xd6,0xc6,0x80,0xc3,0x1c,0xde, - 0xe1,0x46,0x0,0xae,0x16,0xe9,0x10,0xb0,0x96,0xd6,0x73,0x30,0x25,0x3e,0x8a,0x8f, - 0x84,0xb4,0x96,0xe8,0x4c,0x95,0x0,0x3e,0xc,0x38,0x6b,0x34,0x74,0x38,0x19,0x83, - 0x44,0x88,0xe1,0x80,0xd6,0xd5,0x57,0x23,0x90,0xc7,0x32,0x40,0x42,0xc,0x68,0x1d, - 0xa8,0x0,0xbc,0xd9,0x2,0xd6,0xa6,0xe4,0x1,0xdf,0x9c,0xc4,0x80,0x8b,0x61,0xb5, - 0xc0,0xd1,0x60,0x0,0x65,0xa4,0x16,0x57,0xc3,0x1a,0xc7,0x2e,0x43,0x88,0xc4,0x54, - 0x5a,0x8c,0x5,0xec,0x63,0x5c,0x3,0x5,0x2f,0x3a,0x1a,0xc2,0x71,0x4d,0x6,0x32, - 0x20,0x68,0x98,0xd4,0x3c,0xe0,0xc3,0xa8,0xea,0x7f,0xc8,0x90,0xa,0x78,0x44,0x40, - 0x88,0xb9,0x58,0x17,0x92,0x26,0x63,0x5f,0x9f,0xc4,0xa8,0x53,0xac,0x5f,0x6b,0xa2, - 0x8,0x88,0x51,0x9d,0x1c,0x40,0x19,0x81,0x19,0x90,0xb6,0x7,0x18,0x46,0x21,0xc3, - 0xc4,0x44,0x4c,0x68,0x40,0x3c,0xb2,0x81,0xc6,0x35,0x74,0xd7,0xf0,0xf1,0x49,0x5c, - 0xcd,0x1,0xed,0x5b,0x63,0x28,0x81,0x98,0xde,0x21,0x4f,0xcd,0x29,0xb,0x18,0x1a, - 0x26,0x5d,0xf,0xf8,0xd0,0x96,0xd8,0x51,0x51,0x42,0x95,0xa8,0xc2,0xe8,0x58,0x54, - 0x55,0xc0,0xe9,0xba,0x2c,0x3d,0xa2,0x4a,0x87,0x21,0xc3,0xc9,0xe1,0x3c,0x88,0xa1, - 0xb0,0xd3,0x67,0x74,0x7d,0x75,0x13,0xd1,0x87,0x74,0x3d,0x60,0x4c,0x2d,0x8c,0xa2, - 0x36,0x3f,0xf8,0x64,0xf9,0xaf,0x4a,0x5a,0x3f,0xe4,0x70,0xd5,0x3,0xde,0x2b,0x55, - 0x90,0x8c,0x46,0x8d,0x42,0x14,0xb6,0x31,0xb7,0x51,0x63,0x34,0x79,0x21,0x1d,0xa4, - 0xa9,0x8b,0x71,0x6d,0xec,0x13,0x31,0xd7,0xea,0x9c,0xe,0x26,0x9c,0xd,0xbc,0x80, - 0xb9,0x10,0x79,0x0,0xaf,0xd9,0xf4,0xaf,0xd3,0xac,0xd1,0x55,0xe8,0x79,0x60,0x7c, - 0x8,0x51,0xb9,0x84,0x84,0xe6,0x8a,0xf7,0x54,0xc6,0x5b,0xd9,0x2b,0xf,0x19,0xd5, - 0x78,0x42,0x47,0xf0,0x9e,0x6e,0x90,0x26,0x81,0x58,0x15,0x73,0x80,0x9,0x20,0x81, - 0x87,0xa,0xc4,0x80,0xf,0x5,0xd1,0x40,0xaa,0x3b,0xc1,0xf9,0x2e,0xc7,0x95,0x84, - 0xca,0x8,0x48,0xc8,0x89,0x21,0x4c,0x63,0x42,0x28,0x49,0x5c,0xab,0x32,0xf1,0x2, - 0x51,0x1b,0x2a,0xc6,0xaf,0xe7,0x69,0x9b,0x9,0x9c,0x5f,0x1f,0x86,0x56,0x72,0x2e, - 0xd9,0x47,0x20,0xd1,0x69,0xc,0x1,0x6b,0x1f,0x22,0xae,0xb9,0x4a,0xd4,0x12,0x20, - 0xa1,0xc4,0xb,0xc9,0x5a,0x2d,0xa3,0x94,0x80,0xf8,0xbc,0xa8,0xae,0xda,0xb5,0x9f, - 0x98,0x18,0xbf,0x80,0xd4,0x82,0x25,0x93,0xe3,0xfe,0x0,0xa4,0x7,0x24,0x88,0x94, - 0x48,0x12,0xff,0x9,0x39,0x51,0xd8,0xc6,0x11,0x88,0x63,0x8f,0x5a,0x2b,0x7a,0xa5, - 0xd9,0xa2,0x88,0xb7,0x21,0xab,0xa7,0xad,0x88,0xc1,0xb3,0x55,0xeb,0x4b,0x5,0x28, - 0x63,0x75,0xe,0xa3,0x15,0xbd,0x5e,0x35,0xa2,0xa,0xd1,0xca,0xa,0xad,0x3e,0xf8, - 0x6c,0xd,0x91,0xa0,0x2e,0x17,0xd0,0x83,0xe2,0x3c,0x7d,0x35,0x79,0x6b,0xae,0x14, - 0x9a,0xd0,0x3c,0x3,0x38,0xaf,0x30,0x9c,0x48,0x9f,0x0,0x13,0x53,0xc1,0xaa,0xe1, - 0xe3,0x9f,0xa,0xb8,0x38,0xa2,0xf2,0xe8,0xf8,0x3c,0xd4,0x6b,0x83,0xf5,0x57,0x8a, - 0x8,0x10,0x26,0x31,0x43,0x9,0xf0,0x21,0x87,0x7e,0xc,0xb8,0xdd,0xfc,0x99,0xd5, - 0xd7,0x7f,0xf,0x25,0x61,0xab,0xca,0x9,0x9,0xb0,0x2f,0xc9,0x19,0x91,0x24,0x7d, - 0x42,0x64,0xb7,0x8,0x38,0x47,0xc4,0x2a,0x13,0xab,0xd6,0xa2,0x76,0x6d,0x1d,0x59, - 0xc0,0xed,0x2e,0x1,0x7f,0x18,0x29,0x1e,0x55,0x6a,0x3d,0x89,0xda,0xd2,0x5b,0x87, - 0x54,0xff,0x5b,0x25,0xfd,0xf6,0x14,0x12,0x48,0xe1,0x97,0x7a,0x5f,0xce,0x32,0x40, - 0xf0,0x18,0x58,0x2f,0x13,0x18,0x2f,0x89,0xfa,0xe6,0xaa,0x88,0xbd,0x4c,0x10,0x3d, - 0x94,0x8f,0x41,0x48,0x9d,0x6b,0x9,0x50,0xe9,0xa0,0xaa,0x74,0x96,0x72,0x87,0x61, - 0xab,0x8a,0x85,0x3b,0x88,0xa,0x50,0x66,0xff,0xbf,0x3c,0x60,0xeb,0x91,0x58,0xfd, - 0x31,0xb0,0x89,0xe2,0xa,0xa9,0xb3,0xb4,0x87,0x7f,0xe,0xeb,0x3d,0x50,0xef,0x1d, - 0xc2,0xfd,0x4b,0xe1,0x7f,0x0,0xd8,0x6e,0xc6,0xdd,0x5d,0xd6,0xb,0x18,0x0,0x0, - 0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82, -}; - -static const unsigned char qt_resource_name[] = { - // document-encrypt.png - 0x0,0x14, - 0x8,0xbf,0x25,0x67, - 0x0,0x64, - 0x0,0x6f,0x0,0x63,0x0,0x75,0x0,0x6d,0x0,0x65,0x0,0x6e,0x0,0x74,0x0,0x2d,0x0,0x65,0x0,0x6e,0x0,0x63,0x0,0x72,0x0,0x79,0x0,0x70,0x0,0x74,0x0,0x2e, - 0x0,0x70,0x0,0x6e,0x0,0x67, -}; - -static const unsigned char qt_resource_struct[] = { - // : - 0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1, - // :/document-encrypt.png - 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0, - -}; - -QT_BEGIN_NAMESPACE - -extern bool qRegisterResourceData - (int, const unsigned char *, const unsigned char *, const unsigned char *); - -extern bool qUnregisterResourceData - (int, const unsigned char *, const unsigned char *, const unsigned char *); - -QT_END_NAMESPACE - - -int QT_MANGLE_NAMESPACE(qInitResources_pinentry)() -{ - QT_PREPEND_NAMESPACE(qRegisterResourceData) - (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); - return 1; -} - -Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_pinentry)) - -int QT_MANGLE_NAMESPACE(qCleanupResources_pinentry)() -{ - QT_PREPEND_NAMESPACE(qUnregisterResourceData) - (0x01, qt_resource_struct, qt_resource_name, qt_resource_data); - return 1; -} - -Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources_pinentry)) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.am deleted file mode 100644 index 9e176e76..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -# Secure Memory Makefile -# Copyright (C) 2002 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -noinst_LIBRARIES = libsecmem.a - -libsecmem_a_SOURCES = \ - memory.h \ - secmem-util.h \ - util.h \ - secmem.c \ - util.c \ - secmem++.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.in deleted file mode 100644 index 333ab946..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.in +++ /dev/null @@ -1,645 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Secure Memory Makefile -# Copyright (C) 2002 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -subdir = secmem -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -AR = ar -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libsecmem_a_AR = $(AR) $(ARFLAGS) -libsecmem_a_LIBADD = -am_libsecmem_a_OBJECTS = secmem.$(OBJEXT) util.$(OBJEXT) -libsecmem_a_OBJECTS = $(am_libsecmem_a_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/secmem.Po ./$(DEPDIR)/util.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libsecmem_a_SOURCES) -DIST_SOURCES = $(libsecmem_a_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -noinst_LIBRARIES = libsecmem.a -libsecmem_a_SOURCES = \ - memory.h \ - secmem-util.h \ - util.h \ - secmem.c \ - util.c \ - secmem++.h - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu secmem/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu secmem/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libsecmem.a: $(libsecmem_a_OBJECTS) $(libsecmem_a_DEPENDENCIES) $(EXTRA_libsecmem_a_DEPENDENCIES) - $(AM_V_at)-rm -f libsecmem.a - $(AM_V_AR)$(libsecmem_a_AR) libsecmem.a $(libsecmem_a_OBJECTS) $(libsecmem_a_LIBADD) - $(AM_V_at)$(RANLIB) libsecmem.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secmem.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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 $(LIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/secmem.Po - -rm -f ./$(DEPDIR)/util.Po - -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-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 ./$(DEPDIR)/secmem.Po - -rm -f ./$(DEPDIR)/util.Po - -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: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-tags distdir 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 \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/memory.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/memory.h deleted file mode 100644 index 75fe708b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/memory.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Quintuple Agent secure memory allocation - * Copyright (C) 1998,1999 Free Software Foundation, Inc. - * Copyright (C) 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _MEMORY_H -#define _MEMORY_H - -#include <sys/types.h> - -#ifdef __cplusplus -extern "C" { -#if 0 -} -#endif -#endif - - -/* values for flags, hardcoded in secmem.c */ -#define SECMEM_WARN 0 -#define SECMEM_DONT_WARN 1 -#define SECMEM_SUSPEND_WARN 2 - -void secmem_init( size_t npool ); -void secmem_term( void ); -void *secmem_malloc( size_t size ); -void *secmem_realloc( void *a, size_t newsize ); -void secmem_free( void *a ); -int m_is_secure( const void *p ); -void secmem_dump_stats(void); -void secmem_set_flags( unsigned flags ); -unsigned secmem_get_flags(void); -size_t secmem_get_max_size (void); - -#if 0 -{ -#endif -#ifdef __cplusplus -} -#endif -#endif /* _MEMORY_H */ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem++.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem++.h deleted file mode 100644 index b0aa9e9e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem++.h +++ /dev/null @@ -1,91 +0,0 @@ -/* STL allocator for secmem - * Copyright (C) 2008 Marc Mutz <marc@kdab.com> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __SECMEM_SECMEMPP_H__ -#define __SECMEM_SECMEMPP_H__ - -#include "secmem/memory.h" -#include <cstddef> - -namespace secmem { - - template <typename T> - class alloc { - public: - // type definitions: - typedef size_t size_type; - typedef ptrdiff_t difference_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef T& reference; - typedef const T& const_reference; - typedef T value_type; - - // rebind - template <typename U> - struct rebind { - typedef alloc<U> other; - }; - - // address - pointer address( reference value ) const { - return &value; - } - const_pointer address( const_reference value ) const { - return &value; - } - - // (trivial) ctors and dtors - alloc() {} - alloc( const alloc & ) {} - template <typename U> alloc( const alloc<U> & ) {} - // copy ctor is ok - ~alloc() {} - - // de/allocation - size_type max_size() const { - return secmem_get_max_size(); - } - - pointer allocate( size_type n, void * =0 ) { - return static_cast<pointer>( secmem_malloc( n * sizeof(T) ) ); - } - - void deallocate( pointer p, size_type ) { - secmem_free( p ); - } - - // de/construct - void construct( pointer p, const T & value ) { - void * loc = p; - new (loc)T(value); - } - void destruct( pointer p ) { - p->~T(); - } - }; - - // equality comparison - template <typename T1,typename T2> - bool operator==( const alloc<T1> &, const alloc<T2> & ) { return true; } - template <typename T1, typename T2> - bool operator!=( const alloc<T1> &, const alloc<T2> & ) { return false; } - -} - -#endif /* __SECMEM_SECMEMPP_H__ */ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem-util.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem-util.h deleted file mode 100644 index b422182b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem-util.h +++ /dev/null @@ -1,3 +0,0 @@ -/* This file exists because "util.h" is such a generic name that it is - likely to clash with other such files. */ -#include "util.h" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem.c deleted file mode 100644 index a12f0b3c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem.c +++ /dev/null @@ -1,439 +0,0 @@ -/* secmem.c - memory allocation from a secure heap - * Copyright (C) 1998, 1999, 2003 Free Software Foundation, Inc. - * Copyright (C) 2015 g10 Code GmbH - * - * This file is part of GnuPG. - * - * GnuPG is free software; you can redistribute 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. - * - * GnuPG is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <config.h> -#include <stdio.h> -#include <stdlib.h> -#ifndef HAVE_W32CE_SYSTEM -#include <errno.h> -#endif -#include <stdarg.h> -#include <unistd.h> -#if defined(HAVE_MLOCK) || defined(HAVE_MMAP) -# include <sys/mman.h> -# include <sys/types.h> -# include <fcntl.h> -#endif -#include <string.h> - -#include "memory.h" - -#ifdef ORIGINAL_GPG_VERSION -#include "types.h" -#include "util.h" -#else /* ORIGINAL_GPG_VERSION */ - -#include "util.h" - -typedef union { - int a; - short b; - char c[1]; - long d; -#ifdef HAVE_U64_TYPE - u64 e; -#endif - float f; - double g; -} PROPERLY_ALIGNED_TYPE; - -#define log_error log_info -#define log_bug log_fatal - -void -log_info(char *template, ...) -{ - va_list args; - - va_start(args, template); - vfprintf(stderr, template, args); - va_end(args); -} - -void -log_fatal(char *template, ...) -{ - va_list args; - - va_start(args, template); - vfprintf(stderr, template, args); - va_end(args); - exit(EXIT_FAILURE); -} - -#endif /* ORIGINAL_GPG_VERSION */ - -#if defined(MAP_ANON) && !defined(MAP_ANONYMOUS) -# define MAP_ANONYMOUS MAP_ANON -#endif - -#define DEFAULT_POOLSIZE 16384 - -typedef struct memblock_struct MEMBLOCK; -struct memblock_struct { - unsigned size; - union { - MEMBLOCK *next; - PROPERLY_ALIGNED_TYPE aligned; - } u; -}; - - - -static void *pool; -static volatile int pool_okay; /* may be checked in an atexit function */ -#if HAVE_MMAP -static int pool_is_mmapped; -#endif -static size_t poolsize; /* allocated length */ -static size_t poollen; /* used length */ -static MEMBLOCK *unused_blocks; -static unsigned max_alloced; -static unsigned cur_alloced; -static unsigned max_blocks; -static unsigned cur_blocks; -static int disable_secmem; -static int show_warning; -static int no_warning; -static int suspend_warning; - - -static void -print_warn(void) -{ - if( !no_warning ) - log_info("Warning: using insecure memory!\n"); -} - - -static void -lock_pool( void *p, size_t n ) -{ -#if defined(HAVE_MLOCK) - uid_t uid; - int err; - - uid = getuid(); - -#ifdef HAVE_BROKEN_MLOCK - if( uid ) { - errno = EPERM; - err = -1; - } - else { - err = mlock( p, n ); - } -#else - err = mlock( p, n ); -#endif - - if( uid && !geteuid() ) { - if( setuid( uid ) || getuid() != geteuid() ) - log_fatal("failed to reset uid: %s\n", strerror(errno)); - } - - if( err ) { - if( errno != EPERM -#ifdef EAGAIN /* OpenBSD returns this */ - && errno != EAGAIN -#endif - ) - log_error("can't lock memory: %s\n", strerror(errno)); - show_warning = 1; - } - -#else - (void)p; - (void)n; - log_info("Please note that you don't have secure memory on this system\n"); -#endif -} - - -static void -init_pool( size_t n) -{ -#if HAVE_MMAP - size_t pgsize; -#endif - - poolsize = n; - - if( disable_secmem ) - log_bug("secure memory is disabled"); - -#if HAVE_MMAP -#ifdef HAVE_GETPAGESIZE - pgsize = getpagesize(); -#else - pgsize = 4096; -#endif - - poolsize = (poolsize + pgsize -1 ) & ~(pgsize-1); -# ifdef MAP_ANONYMOUS - pool = mmap( 0, poolsize, PROT_READ|PROT_WRITE, - MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); -# else /* map /dev/zero instead */ - { int fd; - - fd = open("/dev/zero", O_RDWR); - if( fd == -1 ) { - log_error("can't open /dev/zero: %s\n", strerror(errno) ); - pool = (void*)-1; - } - else { - pool = mmap( 0, poolsize, PROT_READ|PROT_WRITE, - MAP_PRIVATE, fd, 0); - close (fd); - } - } -# endif - if( pool == (void*)-1 ) - log_info("can't mmap pool of %u bytes: %s - using malloc\n", - (unsigned)poolsize, strerror(errno)); - else { - pool_is_mmapped = 1; - pool_okay = 1; - } - -#endif - if( !pool_okay ) { - pool = malloc( poolsize ); - if( !pool ) - log_fatal("can't allocate memory pool of %u bytes\n", - (unsigned)poolsize); - else - pool_okay = 1; - } - lock_pool( pool, poolsize ); - poollen = 0; -} - - -/* concatenate unused blocks */ -static void -compress_pool(void) -{ - /* fixme: we really should do this */ -} - -void -secmem_set_flags( unsigned flags ) -{ - int was_susp = suspend_warning; - - no_warning = flags & 1; - suspend_warning = flags & 2; - - /* and now issue the warning if it is not longer suspended */ - if( was_susp && !suspend_warning && show_warning ) { - show_warning = 0; - print_warn(); - } -} - -unsigned -secmem_get_flags(void) -{ - unsigned flags; - - flags = no_warning ? 1:0; - flags |= suspend_warning ? 2:0; - return flags; -} - -void -secmem_init( size_t n ) -{ - if( !n ) { -#if !defined(HAVE_DOSISH_SYSTEM) - uid_t uid; - - disable_secmem=1; - uid = getuid(); - if( uid != geteuid() ) { - if( setuid( uid ) || getuid() != geteuid() ) - log_fatal("failed to drop setuid\n" ); - } -#endif - } - else { - if( n < DEFAULT_POOLSIZE ) - n = DEFAULT_POOLSIZE; - if( !pool_okay ) - init_pool(n); - else - log_error("Oops, secure memory pool already initialized\n"); - } -} - - -void * -secmem_malloc( size_t size ) -{ - MEMBLOCK *mb, *mb2; - int compressed=0; - - if( !pool_okay ) { - log_info( - "operation is not possible without initialized secure memory\n"); - log_info("(you may have used the wrong program for this task)\n"); - exit(2); - } - if( show_warning && !suspend_warning ) { - show_warning = 0; - print_warn(); - } - - /* blocks are always a multiple of 32 */ - size += sizeof(MEMBLOCK); - size = ((size + 31) / 32) * 32; - - retry: - /* try to get it from the used blocks */ - for(mb = unused_blocks,mb2=NULL; mb; mb2=mb, mb = mb->u.next ) - if( mb->size >= size ) { - if( mb2 ) - mb2->u.next = mb->u.next; - else - unused_blocks = mb->u.next; - goto leave; - } - /* allocate a new block */ - if( (poollen + size <= poolsize) ) { - mb = (void*)((char*)pool + poollen); - poollen += size; - mb->size = size; - } - else if( !compressed ) { - compressed=1; - compress_pool(); - goto retry; - } - else - return NULL; - - leave: - cur_alloced += mb->size; - cur_blocks++; - if( cur_alloced > max_alloced ) - max_alloced = cur_alloced; - if( cur_blocks > max_blocks ) - max_blocks = cur_blocks; - - memset (&mb->u.aligned.c, 0, - size - (size_t) &((struct memblock_struct *) 0)->u.aligned.c); - - return &mb->u.aligned.c; -} - - -void * -secmem_realloc( void *p, size_t newsize ) -{ - MEMBLOCK *mb; - size_t size; - void *a; - - if (! p) - return secmem_malloc(newsize); - - mb = (MEMBLOCK*)((char*)p - ((size_t) &((MEMBLOCK*)0)->u.aligned.c)); - size = mb->size; - if( newsize < size ) - return p; /* it is easier not to shrink the memory */ - a = secmem_malloc( newsize ); - memcpy(a, p, size); - memset((char*)a+size, 0, newsize-size); - secmem_free(p); - return a; -} - - -void -secmem_free( void *a ) -{ - MEMBLOCK *mb; - size_t size; - - if( !a ) - return; - - mb = (MEMBLOCK*)((char*)a - ((size_t) &((MEMBLOCK*)0)->u.aligned.c)); - size = mb->size; - /* This does not make much sense: probably this memory is held in the - * cache. We do it anyway: */ - wipememory2(mb, 0xff, size ); - wipememory2(mb, 0xaa, size ); - wipememory2(mb, 0x55, size ); - wipememory2(mb, 0x00, size ); - mb->size = size; - mb->u.next = unused_blocks; - unused_blocks = mb; - cur_blocks--; - cur_alloced -= size; -} - -int -m_is_secure( const void *p ) -{ - return p >= pool && p < (void*)((char*)pool+poolsize); -} - -void -secmem_term() -{ - if( !pool_okay ) - return; - - wipememory2( pool, 0xff, poolsize); - wipememory2( pool, 0xaa, poolsize); - wipememory2( pool, 0x55, poolsize); - wipememory2( pool, 0x00, poolsize); -#if HAVE_MMAP - if( pool_is_mmapped ) - munmap( pool, poolsize ); -#endif - pool = NULL; - pool_okay = 0; - poolsize=0; - poollen=0; - unused_blocks=NULL; -} - - -void -secmem_dump_stats() -{ - if( disable_secmem ) - return; - fprintf(stderr, - "secmem usage: %u/%u bytes in %u/%u blocks of pool %lu/%lu\n", - cur_alloced, max_alloced, cur_blocks, max_blocks, - (ulong)poollen, (ulong)poolsize ); -} - - -size_t -secmem_get_max_size (void) -{ - return poolsize; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.c deleted file mode 100644 index 44609cf6..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.c +++ /dev/null @@ -1,116 +0,0 @@ -/* Quintuple Agent - * Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#define _GNU_SOURCE 1 - -#include <unistd.h> -#ifndef HAVE_W32CE_SYSTEM -# include <errno.h> -#endif -#include <stdarg.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <assert.h> - -#include "util.h" - -#ifndef HAVE_DOSISH_SYSTEM -static int uid_set = 0; -static uid_t real_uid, file_uid; -#endif /*!HAVE_DOSISH_SYSTEM*/ - -/* Write DATA of size BYTES to FD, until all is written or an error - occurs. */ -ssize_t -xwrite(int fd, const void *data, size_t bytes) -{ - char *ptr; - size_t todo; - ssize_t written = 0; - - for (ptr = (char *)data, todo = bytes; todo; ptr += written, todo -= written) - { - do - written = write (fd, ptr, todo); - while ( -#ifdef HAVE_W32CE_SYSTEM - 0 -#else - written == -1 && errno == EINTR -#endif - ); - if (written < 0) - break; - } - return written; -} - -#if 0 -extern int debug; - -int -debugmsg(const char *fmt, ...) -{ - va_list va; - int ret; - - if (debug) { - va_start(va, fmt); - fprintf(stderr, "\e[4m"); - ret = vfprintf(stderr, fmt, va); - fprintf(stderr, "\e[24m"); - va_end(va); - return ret; - } else - return 0; -} -#endif - -/* initialize uid variables */ -#ifndef HAVE_DOSISH_SYSTEM -static void -init_uids(void) -{ - real_uid = getuid(); - file_uid = geteuid(); - uid_set = 1; -} -#endif - - -/* drop all additional privileges */ -void -drop_privs() -{ -#ifndef HAVE_DOSISH_SYSTEM - if (!uid_set) - init_uids(); - if (real_uid != file_uid) { - if (setuid(real_uid) < 0) { - perror("dropping privileges failed"); - exit(EXIT_FAILURE); - } - file_uid = real_uid; - } -#endif -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.h deleted file mode 100644 index 3c8ffb8a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Quintuple Agent utilities - * Copyright (C) 1999 Robert Bihlmeyer <robbe@orcus.priv.at> - * Copyright (C) 2003 g10 Code GmbH - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef _UTIL_H -#define _UTIL_H - -#include <sys/types.h> - -#ifndef HAVE_TYPE_BYTE -# undef byte -# if !(defined(_WIN32) && defined(cbNDRContext)) - /* Windows typedefs byte in the rpc headers. Avoid warning about - double definition. */ - typedef unsigned char byte; -# endif -# define HAVE_TYPE_BYTE -#endif - -#ifndef HAVE_TYPE_ULONG -# undef ulong - typedef unsigned long ulong; -# define HAVE_TYPE_ULONG -#endif - - -ssize_t xwrite(int, const void *, size_t); /* write until finished */ -int debugmsg(const char *, ...); /* output a debug message if debugging==on */ -void drop_privs(void); /* finally drop privileges */ - - -/* To avoid that a compiler optimizes certain memset calls away, these - macros may be used instead. */ -#define wipememory2(_ptr,_set,_len) do { \ - volatile char *_vptr=(volatile char *)(_ptr); \ - size_t _vlen=(_len); \ - while(_vlen) { *_vptr=(_set); _vptr++; _vlen--; } \ - } while(0) -#define wipememory(_ptr,_len) wipememory2(_ptr,0,_len) -#define wipe(_ptr,_len) wipememory2(_ptr,0,_len) - - - - -#define xtoi_1(p) (*(p) <= '9'? (*(p)- '0'): \ - *(p) <= 'F'? (*(p)-'A'+10):(*(p)-'a'+10)) -#define xtoi_2(p) ((xtoi_1(p) * 16) + xtoi_1((p)+1)) - - -#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.am deleted file mode 100644 index 3252bf74..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.am +++ /dev/null @@ -1,60 +0,0 @@ -# Makefile.am -# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB -# Copyright (C) 2008, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-tqt - - -if FALLBACK_CURSES -ncurses_include = $(NCURSES_INCLUDE) -libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -else -ncurses_include = -libcurses = -endif - - -AM_CPPFLAGS = $(COMMON_CFLAGS) \ - -I$(top_srcdir) -I$(top_srcdir)/secmem \ - $(ncurses_include) -I$(top_srcdir)/pinentry -AM_CXXFLAGS = $(PINENTRY_TQT_CFLAGS) -pinentry_tqt_LDADD = \ - ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_TQT_LIBS) $(libcurses) - -if BUILD_PINENTRY_TQT -BUILT_SOURCES = \ - secqlineedit.moc pinentrydialog.moc -endif - -CLEANFILES = \ - secqlineedit.moc pinentrydialog.moc - -pinentry_tqt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp secqinternal_p.h secqinternal.cpp \ - secqlineedit.h secqlineedit.cpp \ - secqstring.h secqstring.cpp - -nodist_pinentry_tqt_SOURCES = \ - secqlineedit.moc pinentrydialog.moc - -.h.moc: - $(TQT_MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.in deleted file mode 100644 index ee534a28..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.in +++ /dev/null @@ -1,745 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am -# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB -# Copyright (C) 2008, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-tqt$(EXEEXT) -subdir = tqt -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_tqt_OBJECTS = pinentrydialog.$(OBJEXT) main.$(OBJEXT) \ - secqinternal.$(OBJEXT) secqlineedit.$(OBJEXT) \ - secqstring.$(OBJEXT) -nodist_pinentry_tqt_OBJECTS = -pinentry_tqt_OBJECTS = $(am_pinentry_tqt_OBJECTS) \ - $(nodist_pinentry_tqt_OBJECTS) -am__DEPENDENCIES_1 = -@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ -@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ -@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_tqt_DEPENDENCIES = ../pinentry/libpinentry.a \ - $(top_builddir)/secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/main.Po \ - ./$(DEPDIR)/pinentrydialog.Po ./$(DEPDIR)/secqinternal.Po \ - ./$(DEPDIR)/secqlineedit.Po ./$(DEPDIR)/secqstring.Po -am__mv = mv -f -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_@AM_V@) -am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ - -o $@ -AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) -am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_tqt_SOURCES) $(nodist_pinentry_tqt_SOURCES) -DIST_SOURCES = $(pinentry_tqt_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -@FALLBACK_CURSES_FALSE@ncurses_include = -@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) -@FALLBACK_CURSES_FALSE@libcurses = -@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) -AM_CPPFLAGS = $(COMMON_CFLAGS) \ - -I$(top_srcdir) -I$(top_srcdir)/secmem \ - $(ncurses_include) -I$(top_srcdir)/pinentry - -AM_CXXFLAGS = $(PINENTRY_TQT_CFLAGS) -pinentry_tqt_LDADD = \ - ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_TQT_LIBS) $(libcurses) - -@BUILD_PINENTRY_TQT_TRUE@BUILT_SOURCES = \ -@BUILD_PINENTRY_TQT_TRUE@ secqlineedit.moc pinentrydialog.moc - -CLEANFILES = \ - secqlineedit.moc pinentrydialog.moc - -pinentry_tqt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp secqinternal_p.h secqinternal.cpp \ - secqlineedit.h secqlineedit.cpp \ - secqstring.h secqstring.cpp - -nodist_pinentry_tqt_SOURCES = \ - secqlineedit.moc pinentrydialog.moc - -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .cpp .h .moc .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tqt/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tqt/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-tqt$(EXEEXT): $(pinentry_tqt_OBJECTS) $(pinentry_tqt_DEPENDENCIES) $(EXTRA_pinentry_tqt_DEPENDENCIES) - @rm -f pinentry-tqt$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(pinentry_tqt_OBJECTS) $(pinentry_tqt_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqinternal.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqlineedit.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqstring.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.cpp.o: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(PROGRAMS) -installdirs: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) 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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -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." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic mostlyclean-am - -distclean: distclean-am - -rm -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/pinentrydialog.Po - -rm -f ./$(DEPDIR)/secqinternal.Po - -rm -f ./$(DEPDIR)/secqlineedit.Po - -rm -f ./$(DEPDIR)/secqstring.Po - -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 -f ./$(DEPDIR)/main.Po - -rm -f ./$(DEPDIR)/pinentrydialog.Po - -rm -f ./$(DEPDIR)/secqinternal.Po - -rm -f ./$(DEPDIR)/secqlineedit.Po - -rm -f ./$(DEPDIR)/secqstring.Po - -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: all check install install-am install-exec install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -.h.moc: - $(TQT_MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/main.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/main.cpp deleted file mode 100644 index af12b9bd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/main.cpp +++ /dev/null @@ -1,241 +0,0 @@ -/* main.cpp - Secure KDE dialog for PIN entry. - * Copyright (C) 2002 Klarälvdalens Datakonsult AB - * Copyright (C) 2003 g10 Code GmbH - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * Modified by Marcus Brinkmann <marcus@g10code.de>. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <stdlib.h> -#include <errno.h> - -#include <ntqapplication.h> -#include <ntqwidget.h> -#include <ntqmessagebox.h> -#include "secqstring.h" - -#include "pinentrydialog.h" - -#include "pinentry.h" - -#ifdef FALLBACK_CURSES -#include <pinentry-curses.h> -#endif - -static TQString escape_accel( const TQString & s ) { - - TQString result; - result.reserve( 2 * s.length()); - - bool afterUnderscore = false; - - for ( unsigned int i = 0, end = s.length() ; i != end ; ++i ) { - const TQChar ch = s[i]; - if ( ch == TQChar ( '_' ) ) - { - if ( afterUnderscore ) // escaped _ - { - result += TQChar ( '_' ); - afterUnderscore = false; - } - else // accel - { - afterUnderscore = true; - } - } - else - { - if ( afterUnderscore || // accel - ch == TQChar ( '&' ) ) // escape & from being interpreted by TQt - result += TQChar ( '&' ); - result += ch; - afterUnderscore = false; - } - } - - if ( afterUnderscore ) - // trailing single underscore: shouldn't happen, but deal with it robustly: - result += TQChar ( '_' ); - - return result; -} - - -/* Hack for creating a TQWidget with a "foreign" window ID */ -class ForeignWidget : public TQWidget -{ -public: - ForeignWidget( WId wid ) : TQWidget( 0 ) - { - TQWidget::destroy(); - create( wid, false, false ); - } - - ~ForeignWidget() - { - destroy( false, false ); - } -}; - -static int -qt_cmd_handler (pinentry_t pe) -{ - TQWidget *parent = 0; - - int want_pass = !!pe->pin; - - if (want_pass) - { - /* FIXME: Add parent window ID to pinentry and GTK. */ - if (pe->parent_wid) - parent = new ForeignWidget (pe->parent_wid); - - PinEntryDialog pinentry (parent, NULL, true, !!pe->quality_bar); - - pinentry.setPinentryInfo (pe); - pinentry.setPrompt (TQString::fromUtf8 (pe->prompt)); - pinentry.setDescription (TQString::fromUtf8 (pe->description)); - /* If we reuse the same dialog window. */ -#if 0 - pinentry.setText (SecTQString::null); -#endif - - if (pe->ok) - pinentry.setOkText (escape_accel (TQString::fromUtf8 (pe->ok))); - else if (pe->default_ok) - pinentry.setOkText (escape_accel (TQString::fromUtf8 (pe->default_ok))); - - if (pe->cancel) - pinentry.setCancelText (escape_accel (TQString::fromUtf8 (pe->cancel))); - else if (pe->default_cancel) - pinentry.setCancelText - (escape_accel (TQString::fromUtf8 (pe->default_cancel))); - - if (pe->error) - pinentry.setError (TQString::fromUtf8 (pe->error)); - if (pe->quality_bar) - pinentry.setQualityBar (TQString::fromUtf8 (pe->quality_bar)); - if (pe->quality_bar_tt) - pinentry.setQualityBarTT (TQString::fromUtf8 (pe->quality_bar_tt)); - - bool ret = pinentry.exec (); - if (!ret) - return -1; - - char *pin = (char *) pinentry.text().utf8(); - if (!pin) - return -1; - - int len = strlen (pin); - if (len >= 0) - { - pinentry_setbufferlen (pe, len + 1); - if (pe->pin) - { - strcpy (pe->pin, pin); - ::secmem_free (pin); - return len; - } - } - ::secmem_free (pin); - return -1; - } - else - { - TQString desc = TQString::fromUtf8 (pe->description? pe->description : ""); - TQString ok = escape_accel - (TQString::fromUtf8 (pe->ok ? pe->ok : - pe->default_ok ? pe->default_ok : "_OK")); - TQString can = escape_accel - (TQString::fromUtf8 (pe->cancel ? pe->cancel : - pe->default_cancel? pe->default_cancel: "_Cancel")); - bool ret; - - ret = TQMessageBox::information (parent, "", desc, ok, can ); - - return !ret; - } -} - -pinentry_cmd_handler_t pinentry_cmd_handler = qt_cmd_handler; - -int -main (int argc, char *argv[]) -{ - pinentry_init ("pinentry-tqt"); - -#ifdef FALLBACK_CURSES - if (!pinentry_have_display (argc, argv)) - pinentry_cmd_handler = curses_cmd_handler; - else -#endif - { - /* TQt does only understand -display but not --display; thus we - are fixing that here. The code is pretty simply and may get - confused if an argument is called "--display". */ - char **new_argv, *p; - size_t n; - int i, done; - - for (n=0,i=0; i < argc; i++) - n += strlen (argv[i])+1; - n++; - new_argv = (char**)calloc (argc+1, sizeof *new_argv); - if (new_argv) - *new_argv = (char*)malloc (n); - if (!new_argv || !*new_argv) - { - fprintf (stderr, "pinentry-tqt: can't fixup argument list: %s\n", - strerror (errno)); - exit (EXIT_FAILURE); - - } - for (done=0,p=*new_argv,i=0; i < argc; i++) - if (!done && !strcmp (argv[i], "--display")) - { - new_argv[i] = (char*)"-display"; - done = 1; - } - else - { - new_argv[i] = strcpy (p, argv[i]); - p += strlen (argv[i]) + 1; - } - - /* We use a modal dialog window, so we don't need the application - window anymore. */ - i = argc; - new TQApplication (i, new_argv); - } - - - /* Consumes all arguments. */ - pinentry_parse_opts (argc, argv); -// if (pinentry_parse_opts (argc, argv)) -// { -// printf ("pinentry-tqt (pinentry) " VERSION "\n"); -// exit (EXIT_SUCCESS); -// } - - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.cpp deleted file mode 100644 index b7aa309b..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.cpp +++ /dev/null @@ -1,247 +0,0 @@ -/* pinentrydialog.cpp - A secure KDE dialog for PIN entry. - * Copyright (C) 2002 Klarälvdalens Datakonsult AB - * Copyright (C) 2007 g10 Code GmbH - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <ntqlayout.h> -#include <ntqpushbutton.h> -#include <ntqlabel.h> -#include <ntqmessagebox.h> -#include <ntqprogressbar.h> -#include <ntqtooltip.h> - -#include "secqlineedit.h" - -#include "pinentrydialog.h" -#include "pinentry.h" - -PinEntryDialog::PinEntryDialog( TQWidget* parent, const char* name, - bool modal, bool enable_quality_bar ) - : TQDialog( parent, name, modal, TQt::WStyle_StaysOnTop ), _grabbed( false ), - _disable_echo_allowed ( true ) -{ - TQBoxLayout* top = new TQVBoxLayout( this, 6 ); - TQBoxLayout* upperLayout = new TQHBoxLayout( top ); - - _icon = new TQLabel( this ); - _icon->setPixmap( TQMessageBox::standardIcon( TQMessageBox::Information ) ); - upperLayout->addWidget( _icon ); - - TQBoxLayout* labelLayout = new TQVBoxLayout( upperLayout ); - - _error = new TQLabel( this ); - labelLayout->addWidget( _error ); - - _desc = new TQLabel( this ); - labelLayout->addWidget( _desc ); - - TQGridLayout* grid = new TQGridLayout( labelLayout ); - - _prompt = new TQLabel( this ); - _prompt->setAlignment( TQt::AlignRight | TQt::AlignVCenter ); - grid->addWidget( _prompt, 0, 0 ); - _edit = new SecTQLineEdit( this ); - _edit->setMaxLength( 256 ); - _edit->setEchoMode( SecTQLineEdit::Password ); - grid->addWidget( _edit, 0, 1 ); - - if (enable_quality_bar) - { - _quality_bar_label = new TQLabel( this ); - _quality_bar_label->setAlignment( TQt::AlignRight | TQt::AlignVCenter ); - grid->addWidget ( _quality_bar_label, 1, 0 ); - _quality_bar = new TQProgressBar( this ); - _quality_bar->setCenterIndicator( true ); - grid->addWidget( _quality_bar, 1, 1 ); - _have_quality_bar = true; - } - else - _have_quality_bar = false; - - TQBoxLayout* l = new TQHBoxLayout( top ); - - _ok = new TQPushButton( tr("OK"), this ); - _cancel = new TQPushButton( tr("Cancel"), this ); - - l->addWidget( _ok ); - l->addStretch(); - l->addWidget( _cancel ); - - _ok->setDefault(true); - - connect( _ok, SIGNAL( clicked() ), - this, SIGNAL( accepted() ) ); - connect( _cancel, SIGNAL( clicked() ), - this, SIGNAL( rejected() ) ); - connect( _edit, SIGNAL( textModified(const SecTQString&) ), - this, SLOT( updateQuality(const SecTQString&) ) ); - connect (_edit, SIGNAL (backspacePressed()), - this, SLOT (onBackspace ())); - connect (this, SIGNAL (accepted ()), - this, SLOT (accept ())); - connect (this, SIGNAL (rejected ()), - this, SLOT (reject ())); - _edit->setFocus(); -} - -void PinEntryDialog::paintEvent( TQPaintEvent* ev ) -{ - // Grab keyboard when widget is mapped to screen - // It might be a little weird to do it here, but it works! - if( !_grabbed ) { - _edit->grabKeyboard(); - _grabbed = true; - } - TQDialog::paintEvent( ev ); -} - -void PinEntryDialog::hideEvent( TQHideEvent* ev ) -{ - _edit->releaseKeyboard(); - _grabbed = false; - TQDialog::hideEvent( ev ); -} - -void PinEntryDialog::keyPressEvent( TQKeyEvent* e ) -{ - if ( e->state() == 0 && e->key() == Key_Escape ) { - emit rejected(); - return; - } - TQDialog::keyPressEvent( e ); -} - - -void PinEntryDialog::updateQuality( const SecTQString & txt ) -{ - char *pin; - int length; - int percent; - TQPalette pal; - - _disable_echo_allowed = false; - - if (!_have_quality_bar || !_pinentry_info) - return; - pin = (char*)txt.utf8(); - length = strlen (pin); - percent = length? pinentry_inq_quality (_pinentry_info, pin, length) : 0; - ::secmem_free (pin); - if (!length) - { - _quality_bar->reset (); - } - else - { - pal = _quality_bar->palette (); - if (percent < 0) - { - pal.setColor (TQColorGroup::Highlight, TQColor("red")); - percent = -percent; - } - else - { - pal.setColor (TQColorGroup::Highlight, TQColor("green")); - } - _quality_bar->setPalette (pal); - _quality_bar->setProgress (percent); - } -} - - -void PinEntryDialog::onBackspace() -{ - if (_disable_echo_allowed) - _edit->setEchoMode( SecTQLineEdit::NoEcho ); -} - - -void PinEntryDialog::setDescription( const TQString& txt ) -{ - _desc->setText( txt ); - _icon->setPixmap( TQMessageBox::standardIcon( TQMessageBox::Information ) ); - setError( TQString::null ); -} - -TQString PinEntryDialog::description() const -{ - return _desc->text(); -} - -void PinEntryDialog::setError( const TQString& txt ) -{ - if ( !txt.isNull() ) - _icon->setPixmap( TQMessageBox::standardIcon( TQMessageBox::Critical ) ); - _error->setText( txt ); -} - -TQString PinEntryDialog::error() const -{ - return _error->text(); -} - -void PinEntryDialog::setText( const SecTQString& txt ) -{ - _edit->setText( txt ); -} - -SecTQString PinEntryDialog::text() const -{ - return _edit->text(); -} - -void PinEntryDialog::setPrompt( const TQString& txt ) -{ - _prompt->setText( txt ); - if (txt.contains("PIN")) - _disable_echo_allowed = false; -} - -TQString PinEntryDialog::prompt() const -{ - return _prompt->text(); -} - -void PinEntryDialog::setOkText( const TQString& txt ) -{ - _ok->setText( txt ); -} - -void PinEntryDialog::setCancelText( const TQString& txt ) -{ - _cancel->setText( txt ); -} - -void PinEntryDialog::setQualityBar( const TQString& txt ) -{ - if (_have_quality_bar) - _quality_bar_label->setText( txt ); -} - -void PinEntryDialog::setQualityBarTT( const TQString& txt ) -{ - if (_have_quality_bar) - TQToolTip::add ( _quality_bar, txt ); -} - -void PinEntryDialog::setPinentryInfo (pinentry_t peinfo ) -{ - _pinentry_info = peinfo; -} - -#include "pinentrydialog.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.h deleted file mode 100644 index 8ec3fd5c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.h +++ /dev/null @@ -1,94 +0,0 @@ -/* pinentrydialog.h - A secure KDE dialog for PIN entry. - * Copyright (C) 2002 Klarälvdalens Datakonsult AB - * Written by Steffen Hansen <steffen@klaralvdalens-datakonsult.se>. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifndef __PINENTRYDIALOG_H__ -#define __PINENTRYDIALOG_H__ - -#include <ntqdialog.h> -#include "pinentry.h" - -class TQLabel; -class TQPushButton; -class TQProgressBar; -class SecTQLineEdit; -class SecTQString; - -class PinEntryDialog : public TQDialog { - TQ_OBJECT - - TQ_PROPERTY( TQString description READ description WRITE setDescription ) - TQ_PROPERTY( TQString error READ error WRITE setError ) - // TQ_PROPERTY( SecTQString text READ text WRITE setText ) - TQ_PROPERTY( TQString prompt READ prompt WRITE setPrompt ) -public: - friend class PinEntryController; // TODO: remove when assuan lets me use TQt eventloop. - PinEntryDialog( TQWidget* parent = 0, const char* name = 0, - bool modal = false, bool enable_quality_bar = false ); - - void setDescription( const TQString& ); - TQString description() const; - - void setError( const TQString& ); - TQString error() const; - - void setText( const SecTQString& ); - SecTQString text() const; - - void setPrompt( const TQString& ); - TQString prompt() const; - - void setOkText( const TQString& ); - void setCancelText( const TQString& ); - - void setQualityBar( const TQString& ); - void setQualityBarTT( const TQString& ); - - void setPinentryInfo (pinentry_t); - -public slots: - void updateQuality(const SecTQString &); - void onBackspace(); - -signals: - void accepted(); - void rejected(); - -protected: - virtual void keyPressEvent( TQKeyEvent *e ); - virtual void hideEvent( TQHideEvent* ); - virtual void paintEvent( TQPaintEvent* ); - -private: - TQLabel* _icon; - TQLabel* _desc; - TQLabel* _error; - TQLabel* _prompt; - TQLabel* _quality_bar_label; - TQProgressBar* _quality_bar; - SecTQLineEdit* _edit; - TQPushButton* _ok; - TQPushButton* _cancel; - bool _grabbed; - bool _have_quality_bar; - pinentry_t _pinentry_info; - bool _disable_echo_allowed; -}; - - -#endif // __PINENTRYDIALOG_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal.cpp deleted file mode 100644 index 7accf709..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal.cpp +++ /dev/null @@ -1,637 +0,0 @@ -/**************************************************************************** -** $Id$ -** -** Implementation of some internal classes -** -** Created : 010427 -** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. -** -** This file is part of the kernel module of the TQt GUI Toolkit. -** -** This file may be distributed under the terms of the Q Public License -** as defined by Trolltech AS of Norway and appearing in the file -** LICENSE.TQPL included in the packaging of this file. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file COPYING included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** See http://www.trolltech.com/qpl/ for TQPL licensing information. -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -** SPDX-License-Identifier: GPL-2.0 OR QPL-1.0 -** -**********************************************************************/ - -#include "secqinternal_p.h" -#include "ntqwidget.h" -#include "ntqpixmap.h" -#include "ntqpainter.h" -#include "ntqcleanuphandler.h" - -static TQPixmap* qdb_shared_pixmap = 0; -static TQPixmap *qdb_force_pixmap = 0; -static SecTQSharedDoubleBuffer* qdb_owner = 0; - -static TQCleanupHandler<TQPixmap> qdb_pixmap_cleanup; - -#ifdef Q_WS_MACX -bool SecTQSharedDoubleBuffer::dblbufr = FALSE; -#else -bool SecTQSharedDoubleBuffer::dblbufr = TRUE; -#endif - - -/* - hardLimitWidth/Height: if >= 0, the maximum number of pixels that - get double buffered. - - sharedLimitWidth/Height: if >= 0, the maximum number of pixels the - shared double buffer can keep. - - For x with sharedLimitSize < x <= hardLimitSize, temporary buffers - are constructed. - */ -static const int hardLimitWidth = -1; -static const int hardLimitHeight = -1; -#if defined( Q_WS_QWS ) || defined( Q_WS_MAC9 ) -// Small in TQt/Embedded / Mac9 - 5K on 32bpp -static const int sharedLimitWidth = 64; -static const int sharedLimitHeight = 20; -#else -// 240K on 32bpp -static const int sharedLimitWidth = 640; -static const int sharedLimitHeight = 100; -#endif - -// ******************************************************************* -// SecTQSharedDoubleBufferCleaner declaration and implementation -// ******************************************************************* - -/* \internal - This class is responsible for cleaning up the pixmaps created by the - SecTQSharedDoubleBuffer class. When SecTQSharedDoubleBuffer creates a - pixmap larger than the shared limits, this class deletes it after a - specified amount of time. - - When the large pixmap is created/used, you must call start(). If the - large pixmap is ever deleted, you must call stop(). The start() - method always restarts the timer, so if the large pixmap is - constantly in use, the timer will never fire, and the pixmap will - not be constantly created and destroyed. -*/ - -static const int shared_double_buffer_cleanup_timeout = 30000; // 30 seconds - -// declaration - -class SecTQSharedDoubleBufferCleaner : public TQObject -{ -public: - SecTQSharedDoubleBufferCleaner( void ); - - void start( void ); - void stop( void ); - - void doCleanup( void ); - - bool event( TQEvent *e ); - -private: - int timer_id; -}; - -// implementation - -/* \internal - Creates a SecTQSharedDoubleBufferCleaner object. The timer is not - started when creating the object. -*/ -SecTQSharedDoubleBufferCleaner::SecTQSharedDoubleBufferCleaner( void ) - : TQObject( 0, "internal shared double buffer cleanup object" ), - timer_id( -1 ) -{ -} - -/* \internal - Starts the cleanup timer. Any previously running timer is stopped. -*/ -void SecTQSharedDoubleBufferCleaner::start( void ) -{ - stop(); - timer_id = startTimer( shared_double_buffer_cleanup_timeout ); -} - -/* \internal - Stops the cleanup timer, if it is running. -*/ -void SecTQSharedDoubleBufferCleaner::stop( void ) -{ - if ( timer_id != -1 ) - killTimer( timer_id ); - timer_id = -1; -} - -/* \internal - */ -void SecTQSharedDoubleBufferCleaner::doCleanup( void ) -{ - qdb_pixmap_cleanup.remove( &qdb_force_pixmap ); - delete qdb_force_pixmap; - qdb_force_pixmap = 0; -} - -/* \internal - Event handler reimplementation. Calls doCleanup() when the timer - fires. -*/ -bool SecTQSharedDoubleBufferCleaner::event( TQEvent *e ) -{ - if ( e->type() != TQEvent::Timer ) - return FALSE; - - TQTimerEvent *event = (TQTimerEvent *) e; - if ( event->timerId() == timer_id ) { - doCleanup(); - stop(); - } -#ifdef QT_CHECK_STATE - else { - tqWarning( "SecTQSharedDoubleBufferCleaner::event: invalid timer event received." ); - return FALSE; - } -#endif // QT_CHECK_STATE - - return TRUE; -} - -// static instance -static SecTQSharedDoubleBufferCleaner *static_cleaner = 0; -TQSingleCleanupHandler<SecTQSharedDoubleBufferCleaner> cleanup_static_cleaner; - -inline static SecTQSharedDoubleBufferCleaner *staticCleaner() -{ - if ( ! static_cleaner ) { - static_cleaner = new SecTQSharedDoubleBufferCleaner(); - cleanup_static_cleaner.set( &static_cleaner ); - } - return static_cleaner; -} - - -// ******************************************************************* -// SecTQSharedDoubleBuffer implementation -// ******************************************************************* - -/* \internal - \enum DoubleBufferFlags - - \value InitBG initialize the background of the double buffer. - - \value Force disable shared buffer size limits. - - \value Default InitBG and Force are used by default. -*/ - -/* \internal - \enum DoubleBufferState - - \value Active indicates that the buffer may be used. - - \value BufferActive indicates that painting with painter() will be - double buffered. - - \value ExternalPainter indicates that painter() will return a - painter that was not created by SecTQSharedDoubleBuffer. -*/ - -/* \internal - \class SecTQSharedDoubleBuffer - - This class provides a single, reusable double buffer. This class - is used internally by TQt widgets that need double buffering, which - prevents each individual widget form creating a double buffering - pixmap. - - Using a single pixmap double buffer and sharing it across all - widgets is nicer on window system resources. -*/ - -/* \internal - Creates a SecTQSharedDoubleBuffer with flags \f. - - \sa DoubleBufferFlags -*/ -SecTQSharedDoubleBuffer::SecTQSharedDoubleBuffer( DBFlags f ) - : wid( 0 ), rx( 0 ), ry( 0 ), rw( 0 ), rh( 0 ), flags( f ), state( 0 ), - p( 0 ), external_p( 0 ), pix( 0 ) -{ -} - -/* \internal - Creates a SecTQSharedDoubleBuffer with flags \f. The \a widget, \a x, - \a y, \a w and \a h arguments are passed to begin(). - - \sa DoubleBufferFlags begin() -*/ -SecTQSharedDoubleBuffer::SecTQSharedDoubleBuffer( TQWidget* widget, - int x, int y, int w, int h, - DBFlags f ) - : wid( 0 ), rx( 0 ), ry( 0 ), rw( 0 ), rh( 0 ), flags( f ), state( 0 ), - p( 0 ), external_p( 0 ), pix( 0 ) -{ - begin( widget, x, y, w, h ); -} - -/* \internal - Creates a SecTQSharedDoubleBuffer with flags \f. The \a painter, \a x, - \a y, \a w and \a h arguments are passed to begin(). - - \sa DoubleBufferFlags begin() -*/ -SecTQSharedDoubleBuffer::SecTQSharedDoubleBuffer( TQPainter* painter, - int x, int y, int w, int h, - DBFlags f) - : wid( 0 ), rx( 0 ), ry( 0 ), rw( 0 ), rh( 0 ), flags( f ), state( 0 ), - p( 0 ), external_p( 0 ), pix( 0 ) -{ - begin( painter, x, y, w, h ); -} - -/* \internal - Creates a SecTQSharedDoubleBuffer with flags \f. The \a widget and - \a r arguments are passed to begin(). - - \sa DoubleBufferFlags begin() -*/ -SecTQSharedDoubleBuffer::SecTQSharedDoubleBuffer( TQWidget *widget, const TQRect &r, DBFlags f ) - : wid( 0 ), rx( 0 ), ry( 0 ), rw( 0 ), rh( 0 ), flags( f ), state( 0 ), - p( 0 ), external_p( 0 ), pix( 0 ) -{ - begin( widget, r ); -} - -/* \internal - Creates a SecTQSharedDoubleBuffer with flags \f. The \a painter and - \a r arguments are passed to begin(). - - \sa DoubleBufferFlags begin() -*/ -SecTQSharedDoubleBuffer::SecTQSharedDoubleBuffer( TQPainter *painter, const TQRect &r, DBFlags f ) - : wid( 0 ), rx( 0 ), ry( 0 ), rw( 0 ), rh( 0 ), flags( f ), state( 0 ), - p( 0 ), external_p( 0 ), pix( 0 ) -{ - begin( painter, r ); -} - -/* \internal - Destructs the SecTQSharedDoubleBuffer and calls end() if the buffer is - active. - - \sa isActive() end() -*/ -SecTQSharedDoubleBuffer::~SecTQSharedDoubleBuffer() -{ - if ( isActive() ) - end(); -} - -/* \internal - Starts double buffered painting in the area specified by \a x, - \a y, \a w and \a h on \a painter. Painting should be done using the - TQPainter returned by SecTQSharedDoubleBuffer::painter(). - - The double buffered area will be updated when calling end(). - - \sa painter() isActive() end() -*/ -bool SecTQSharedDoubleBuffer::begin( TQPainter* painter, int x, int y, int w, int h ) -{ - if ( isActive() ) { -#if defined(QT_CHECK_STATE) - tqWarning( "SecTQSharedDoubleBuffer::begin: Buffer is already active." - "\n\tYou must end() the buffer before a second begin()" ); -#endif // QT_CHECK_STATE - return FALSE; - } - - external_p = painter; - - if ( painter->device()->devType() == TQInternal::Widget ) - return begin( (TQWidget *) painter->device(), x, y, w, h ); - - state = Active; - - rx = x; - ry = y; - rw = w; - rh = h; - - if ( ( pix = getPixmap() ) ) { -#ifdef Q_WS_X11 - if ( painter->device()->x11Screen() != pix->x11Screen() ) - pix->x11SetScreen( painter->device()->x11Screen() ); - TQPixmap::x11SetDefaultScreen( pix->x11Screen() ); -#endif // Q_WS_X11 - - state |= BufferActive; - p = new TQPainter( pix ); - if ( p->isActive() ) { - p->setPen( external_p->pen() ); - p->setBackgroundColor( external_p->backgroundColor() ); - p->setFont( external_p->font() ); - } - } else { - state |= ExternalPainter; - p = external_p; - } - - return TRUE; -} - -/* \internal - - - Starts double buffered painting in the area specified by \a x, - \a y, \a w and \a h on \a widget. Painting should be done using the - TQPainter returned by SecTQSharedDoubleBuffer::painter(). - - The double buffered area will be updated when calling end(). - - \sa painter() isActive() end() -*/ -bool SecTQSharedDoubleBuffer::begin( TQWidget* widget, int x, int y, int w, int h ) -{ - if ( isActive() ) { -#if defined(QT_CHECK_STATE) - tqWarning( "SecTQSharedDoubleBuffer::begin: Buffer is already active." - "\n\tYou must end() the buffer before a second begin()" ); -#endif // QT_CHECK_STATE - return FALSE; - } - - state = Active; - - wid = widget; - rx = x; - ry = y; - rw = w <= 0 ? wid->width() : w; - rh = h <= 0 ? wid->height() : h; - - if ( ( pix = getPixmap() ) ) { -#ifdef Q_WS_X11 - if ( wid->x11Screen() != pix->x11Screen() ) - pix->x11SetScreen( wid->x11Screen() ); - TQPixmap::x11SetDefaultScreen( pix->x11Screen() ); -#endif // Q_WS_X11 - - state |= BufferActive; - if ( flags & InitBG ) { - pix->fill( wid, rx, ry ); - } - p = new TQPainter( pix, wid ); - // newly created painters should be translated to the origin - // of the widget, so that paint methods can draw onto the double - // buffered painter in widget coordinates. - p->setBrushOrigin( -rx, -ry ); - p->translate( -rx, -ry ); - } else { - if ( external_p ) { - state |= ExternalPainter; - p = external_p; - } else { - p = new TQPainter( wid ); - } - - if ( flags & InitBG ) { - wid->erase( rx, ry, rw, rh ); - } - } - return TRUE; -} - -/* \internal - Ends double buffered painting. The contents of the shared double - buffer pixmap are drawn onto the destination by calling flush(), - and ownership of the shared double buffer pixmap is released. - - \sa begin() flush() -*/ -bool SecTQSharedDoubleBuffer::end() -{ - if ( ! isActive() ) { -#if defined(QT_CHECK_STATE) - tqWarning( "SecTQSharedDoubleBuffer::end: Buffer is not active." - "\n\tYou must call begin() before calling end()." ); -#endif // QT_CHECK_STATE - return FALSE; - } - - if ( ! ( state & ExternalPainter ) ) { - p->end(); - delete p; - } - - flush(); - - if ( pix ) { - releasePixmap(); - } - - wid = 0; - rx = ry = rw = rh = 0; - // do not reset flags! - state = 0; - - p = external_p = 0; - pix = 0; - - return TRUE; -} - -/* \internal - Paints the contents of the shared double buffer pixmap onto the - destination. The destination is determined from the arguments - based to begin(). - - Note: You should not need to call this function, since it is called - from end(). - - \sa begin() end() -*/ -void SecTQSharedDoubleBuffer::flush() -{ - if ( ! isActive() || ! ( state & BufferActive ) ) - return; - - if ( external_p ) - external_p->drawPixmap( rx, ry, *pix, 0, 0, rw, rh ); - else if ( wid && wid->isVisible() ) - bitBlt( wid, rx, ry, pix, 0, 0, rw, rh ); -} - -/* \internal - Atquire ownership of the shared double buffer pixmap, subject to the - following conditions: - - \list 1 - \i double buffering is enabled globally. - \i the shared double buffer pixmap is not in use. - \i the size specified in begin() is valid, and within limits. - \endlist - - If all of these conditions are met, then this SecTQSharedDoubleBuffer - object becomes the owner of the shared double buffer pixmap. The - shared double buffer pixmap is resize if necessary, and this - function returns a pointer to the pixmap. Ownership must later be - relinquished by calling releasePixmap(). - - If none of the above conditions are met, this function returns - zero. - - \sa releasePixmap() -*/ -TQPixmap *SecTQSharedDoubleBuffer::getPixmap() -{ - if ( isDisabled() ) { - // double buffering disabled globally - return 0; - } - - if ( qdb_owner ) { - // shared pixmap already in use - return 0; - } - - if ( rw <= 0 || rh <= 0 || - ( hardLimitWidth > 0 && rw >= hardLimitWidth ) || - ( hardLimitHeight > 0 && rh >= hardLimitHeight ) ) { - // invalid size, or hard limit reached - return 0; - } - - if ( rw >= sharedLimitWidth || rh >= sharedLimitHeight ) { - if ( flags & Force ) { - rw = TQMIN(rw, 8000); - rh = TQMIN(rh, 8000); - // need to create a big pixmap and start the cleaner - if ( ! qdb_force_pixmap ) { - qdb_force_pixmap = new TQPixmap( rw, rh ); - qdb_pixmap_cleanup.add( &qdb_force_pixmap ); - } else if ( qdb_force_pixmap->width () < rw || - qdb_force_pixmap->height() < rh ) { - qdb_force_pixmap->resize( rw, rh ); - } - qdb_owner = this; - staticCleaner()->start(); - return qdb_force_pixmap; - } - - // size is outside shared limit - return 0; - } - - if ( ! qdb_shared_pixmap ) { - qdb_shared_pixmap = new TQPixmap( rw, rh ); - qdb_pixmap_cleanup.add( &qdb_shared_pixmap ); - } else if ( qdb_shared_pixmap->width() < rw || - qdb_shared_pixmap->height() < rh ) { - qdb_shared_pixmap->resize( rw, rh ); - } - qdb_owner = this; - return qdb_shared_pixmap; -} - -/* \internal - Releases ownership of the shared double buffer pixmap. - - \sa getPixmap() -*/ -void SecTQSharedDoubleBuffer::releasePixmap() -{ - if ( qdb_owner != this ) { - // sanity check - -#ifdef QT_CHECK_STATE - tqWarning( "SecTQSharedDoubleBuffer::releasePixmap: internal error." - "\n\t%p does not own shared pixmap, %p does.", - (void*)this, (void*)qdb_owner ); -#endif // QT_CHECK_STATE - - return; - } - - qdb_owner = 0; -} - -/* \internal - \fn bool SecTQSharedDoubleBuffer::isDisabled() - - Returns TRUE is double buffering is disabled globally, FALSE otherwise. -*/ - -/* \internal - \fn void SecTQSharedDoubleBuffer::setDisabled( bool off ) - - Disables global double buffering \a off is TRUE, otherwise global - double buffering is enabled. -*/ - -/* \internal - Deletes the shared double buffer pixmap. You should not need to - call this function, since it is called from the TQApplication - destructor. -*/ -void SecTQSharedDoubleBuffer::cleanup() -{ - qdb_pixmap_cleanup.remove( &qdb_shared_pixmap ); - qdb_pixmap_cleanup.remove( &qdb_force_pixmap ); - delete qdb_shared_pixmap; - delete qdb_force_pixmap; - qdb_shared_pixmap = 0; - qdb_force_pixmap = 0; - qdb_owner = 0; -} - -/* \internal - \fn bool SecTQSharedDoubleBuffer::begin( TQWidget *widget, const TQRect &r ) - \overload -*/ - -/* \internal - \fn bool SecTQSharedDoubleBuffer::begin( TQPainter *painter, const TQRect &r ) - \overload -*/ - -/* \internal - \fn TQPainter *SecTQSharedDoubleBuffer::painter() const - - Returns the active painter on the double buffered area, - or zero if double buffered painting is not active. -*/ - -/* \internal - \fn bool SecTQSharedDoubleBuffer::isActive() const - - Returns TRUE if double buffered painting is active, FALSE otherwise. -*/ - -/* \internal - \fn bool SecTQSharedDoubleBuffer::isBuffered() const - - Returns TRUE if painting is double buffered, FALSE otherwise. -*/ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal_p.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal_p.h deleted file mode 100644 index a05c9c3f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal_p.h +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** -** $Id$ -** -** Definition of some shared interal classes -** -** Created : 010427 -** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. -** -** This file is part of the kernel module of the TQt GUI Toolkit. -** -** This file may be distributed under the terms of the Q Public License -** as defined by Trolltech AS of Norway and appearing in the file -** LICENSE.TQPL included in the packaging of this file. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** See http://www.trolltech.com/qpl/ for TQPL licensing information. -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -** SPDX-License-Identifier: GPL-2.0 OR QPL-1.0 -** -**********************************************************************/ - -#ifndef SECTQINTERNAL_P_H -#define SECTQINTERNAL_P_H - -// -// W A R N I N G -// ------------- -// -// This file is not part of the TQt API. It exists for the convenience -// of a number of TQt sources files. This header file may change from -// version to version without notice, or even be removed. -// -// We mean it. -// -// -#ifndef QT_H -#include "ntqnamespace.h" -#include "ntqrect.h" -#include "ntqptrlist.h" -#include "ntqcstring.h" -#include "ntqiodevice.h" -#endif // QT_H - -class TQWidget; -class TQPainter; -class TQPixmap; - -class Q_EXPORT SecTQSharedDoubleBuffer -{ -public: - enum DoubleBufferFlags { - NoFlags = 0x00, - InitBG = 0x01, - Force = 0x02, - Default = InitBG | Force - }; - typedef uint DBFlags; - - SecTQSharedDoubleBuffer( DBFlags f = Default ); - SecTQSharedDoubleBuffer( TQWidget* widget, - int x = 0, int y = 0, int w = -1, int h = -1, - DBFlags f = Default ); - SecTQSharedDoubleBuffer( TQPainter* painter, - int x = 0, int y = 0, int w = -1, int h = -1, - DBFlags f = Default ); - SecTQSharedDoubleBuffer( TQWidget *widget, const TQRect &r, DBFlags f = Default ); - SecTQSharedDoubleBuffer( TQPainter *painter, const TQRect &r, DBFlags f = Default ); - ~SecTQSharedDoubleBuffer(); - - bool begin( TQWidget* widget, int x = 0, int y = 0, int w = -1, int h = -1 ); - bool begin( TQPainter* painter, int x = 0, int y = 0, int w = -1, int h = -1); - bool begin( TQWidget* widget, const TQRect &r ); - bool begin( TQPainter* painter, const TQRect &r ); - bool end(); - - TQPainter* painter() const; - - bool isActive() const; - bool isBuffered() const; - void flush(); - - static bool isDisabled() { return !dblbufr; } - static void setDisabled( bool off ) { dblbufr = !off; } - - static void cleanup(); - -private: - enum DoubleBufferState { - Active = 0x0100, - BufferActive = 0x0200, - ExternalPainter = 0x0400 - }; - typedef uint DBState; - - TQPixmap *getPixmap(); - void releasePixmap(); - - TQWidget *wid; - int rx, ry, rw, rh; - DBFlags flags; - DBState state; - - TQPainter *p, *external_p; - TQPixmap *pix; - - static bool dblbufr; -}; - -inline bool SecTQSharedDoubleBuffer::begin( TQWidget* widget, const TQRect &r ) -{ return begin( widget, r.x(), r.y(), r.width(), r.height() ); } - -inline bool SecTQSharedDoubleBuffer::begin( TQPainter *painter, const TQRect &r ) -{ return begin( painter, r.x(), r.y(), r.width(), r.height() ); } - -inline TQPainter* SecTQSharedDoubleBuffer::painter() const -{ return p; } - -inline bool SecTQSharedDoubleBuffer::isActive() const -{ return ( state & Active ); } - -inline bool SecTQSharedDoubleBuffer::isBuffered() const -{ return ( state & BufferActive ); } - -#endif // SECTQINTERNAL_P_H diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.cpp deleted file mode 100644 index da0637a5..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.cpp +++ /dev/null @@ -1,1957 +0,0 @@ -/* secqlineedit.cpp - Secure version of TQLineEdit. - * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - * Copyright (C) 2003 g10 Code GmbH - * - * The license of the original qlineedit.cpp file from which this file - * is derived can be found below. Modified by Marcus Brinkmann - * <marcus@g10code.de>. All modifications are licensed as follows, so - * that the intersection of the two licenses is then the GNU General - * Public License version 2. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0 - */ - - -/* Undo/Redo is disabled, because it uses unsecure memory for the - history buffer. */ -#define SECURE_NO_UNDO 1 - - -/********************************************************************** -** $Id$ -** -** Implementation of SecTQLineEdit widget class -** -** Created : 941011 -** -** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. -** -** This file is part of the widgets module of the TQt GUI Toolkit. -** -** This file may be distributed under the terms of the Q Public License -** as defined by Trolltech AS of Norway and appearing in the file -** LICENSE.TQPL included in the packaging of this file. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** See http://www.trolltech.com/qpl/ for TQPL licensing information. -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#include "secqlineedit.h" -#include "ntqpainter.h" -#include "ntqdrawutil.h" -#include "ntqfontmetrics.h" -#include "ntqpixmap.h" -#include "ntqclipboard.h" -#include "ntqapplication.h" -#include "ntqtimer.h" -#include "ntqpopupmenu.h" -#include "ntqstringlist.h" -#include "ntqguardedptr.h" -#include "ntqstyle.h" -#include "ntqwhatsthis.h" -#include "secqinternal_p.h" -#include "private/qtextlayout_p.h" -#include "ntqvaluevector.h" -#if defined(QT_ACCESSIBILITY_SUPPORT) -#include "ntqaccessible.h" -#endif - -#ifndef QT_NO_ACCEL -#include "ntqkeysequence.h" -#define ACCEL_KEY(k) "\t" + TQString(TQKeySequence( TQt::CTRL | TQt::Key_ ## k )) -#else -#define ACCEL_KEY(k) "\t" + TQString("Ctrl+" #k) -#endif - -#define innerMargin 1 - -struct SecTQLineEditPrivate : public TQt -{ - SecTQLineEditPrivate( SecTQLineEdit *q ) - : q(q), cursor(0), cursorTimer(0), tripleClickTimer(0), frame(1), - cursorVisible(0), separator(0), readOnly(0), modified(0), - direction(TQChar::DirON), alignment(0), - echoMode(0), textDirty(0), selDirty(0), - ascent(0), maxLength(32767), menuId(0), - hscroll(0), - undoState(0), selstart(0), selend(0), - imstart(0), imend(0), imselstart(0), imselend(0) - {} - void init( const SecTQString&); - - SecTQLineEdit *q; - SecTQString text; - int cursor; - int cursorTimer; - TQPoint tripleClick; - int tripleClickTimer; - uint frame : 1; - uint cursorVisible : 1; - uint separator : 1; - uint readOnly : 1; - uint modified : 1; - uint direction : 5; - uint alignment : 3; - uint echoMode : 2; - uint textDirty : 1; - uint selDirty : 1; - int ascent; - int maxLength; - int menuId; - int hscroll; - - void finishChange( int validateFromState = -1, bool setModified = TRUE ); - - void setCursorVisible( bool visible ); - - - // undo/redo handling - enum CommandType { Separator, Insert, Remove, Delete, RemoveSelection, DeleteSelection }; - struct Command { - inline Command(){} - inline Command( CommandType type, int pos, TQChar c ) - :type(type),c(c),pos(pos){} - uint type : 4; - TQChar c; - int pos; - }; - int undoState; - TQValueVector<Command> history; -#ifndef SECURE_NO_UNDO - void addCommand( const Command& cmd ); -#endif /* SECURE_NO_UNDO */ - - void insert( const SecTQString& s ); - void del( bool wasBackspace = FALSE ); - void remove( int pos ); - - inline void separate() { separator = TRUE; } -#ifndef SECURE_NO_UNDO - inline void undo( int until = -1 ) { - if ( !isUndoAvailable() ) - return; - deselect(); - while ( undoState && undoState > until ) { - Command& cmd = history[--undoState]; - switch ( cmd.type ) { - case Insert: - text.remove( cmd.pos, 1); - cursor = cmd.pos; - break; - case Remove: - case RemoveSelection: - text.insert( cmd.pos, cmd.c ); - cursor = cmd.pos + 1; - break; - case Delete: - case DeleteSelection: - text.insert( cmd.pos, cmd.c ); - cursor = cmd.pos; - break; - case Separator: - continue; - } - if ( until < 0 && undoState ) { - Command& next = history[undoState-1]; - if ( next.type != cmd.type && next.type < RemoveSelection - && !( cmd.type >= RemoveSelection && next.type != Separator ) ) - break; - } - } - modified = ( undoState != 0 ); - textDirty = TRUE; - } - inline void redo() { - if ( !isRedoAvailable() ) - return; - deselect(); - while ( undoState < (int)history.size() ) { - Command& cmd = history[undoState++]; - switch ( cmd.type ) { - case Insert: - text.insert( cmd.pos, cmd.c ); - cursor = cmd.pos + 1; - break; - case Remove: - case Delete: - case RemoveSelection: - case DeleteSelection: - text.remove( cmd.pos, 1 ); - cursor = cmd.pos; - break; - case Separator: - continue; - } - if ( undoState < (int)history.size() ) { - Command& next = history[undoState]; - if ( next.type != cmd.type && cmd.type < RemoveSelection - && !( next.type >= RemoveSelection && cmd.type != Separator ) ) - break; - } - } - textDirty = TRUE; - } -#endif /* SECURE_NO_UNDO */ - inline bool isUndoAvailable() const { return !readOnly && undoState; } - inline bool isRedoAvailable() const { return !readOnly && undoState < (int)history.size(); } - - - // bidi - inline bool isRightToLeft() const { return direction==TQChar::DirON?text.isRightToLeft():(direction==TQChar::DirR); } - - // selection - int selstart, selend; - inline bool allSelected() const { return !text.isEmpty() && selstart == 0 && selend == (int)text.length(); } - inline bool hasSelectedText() const { return !text.isEmpty() && selend > selstart; } - inline void deselect() { selDirty |= (selend > selstart); selstart = selend = 0; } - void removeSelectedText(); -#ifndef QT_NO_CLIPBOARD - void copy( bool clipboard = TRUE ) const; -#endif - inline bool inSelection( int x ) const - { if ( selstart >= selend ) return FALSE; - int pos = xToPos( x, TQTextItem::OnCharacters ); return pos >= selstart && pos < selend; } - - // input methods - int imstart, imend, imselstart, imselend; - - // complex text layout - TQTextLayout textLayout; - void updateTextLayout(); - void moveCursor( int pos, bool mark = FALSE ); - void setText( const SecTQString& txt ); - int xToPos( int x, TQTextItem::CursorPosition = TQTextItem::BetweenCharacters ) const; - inline int visualAlignment() const { return alignment ? alignment : int( isRightToLeft() ? AlignRight : AlignLeft ); } - TQRect cursorRect() const; - void updateMicroFocusHint(); - -}; - - -/*! - \class SecTQLineEdit - \brief The SecTQLineEdit widget is a one-line text editor. - - \ingroup basic - \mainclass - - A line edit allows the user to enter and edit a single line of - plain text with a useful collection of editing functions, - including undo and redo, cut and paste, - - By changing the echoMode() of a line edit, it can also be used as - a "write-only" field, for inputs such as passwords. - - The length of the text can be constrained to maxLength(). - - A related class is TQTextEdit which allows multi-line, rich-text - editing. - - You can change the text with setText() or insert(). The text is - retrieved with text(); the displayed text (which may be different, - see \l{EchoMode}) is retrieved with displayText(). Text can be - selected with setSelection() or selectAll(), and the selection can - be cut(), copy()ied and paste()d. The text can be aligned with - setAlignment(). - - When the text changes the textChanged() signal is emitted; when - the Return or Enter key is pressed the returnPressed() signal is - emitted. - - When the text changes the textModified() signal is emitted in all - cases. - - By default, SecTQLineEdits have a frame as specified by the Windows - and Motif style guides; you can turn it off by calling - setFrame(FALSE). - - The default key bindings are described below. - \target desc - \table - \header \i Keypress \i Action - \row \i Left Arrow \i Moves the cursor one character to the left. - \row \i Shift+Left Arrow \i Moves and selects text one character to the left. - \row \i Right Arrow \i Moves the cursor one character to the right. - \row \i Shift+Right Arrow \i Moves and selects text one character to the right. - \row \i Home \i Moves the cursor to the beginning of the line. - \row \i End \i Moves the cursor to the end of the line. - \row \i Backspace \i Deletes the character to the left of the cursor. - \row \i Ctrl+Backspace \i Deletes the word to the left of the cursor. - \row \i Delete \i Deletes the character to the right of the cursor. - \row \i Ctrl+Delete \i Deletes the word to the right of the cursor. - \row \i Ctrl+A \i Moves the cursor to the beginning of the line. - \row \i Ctrl+B \i Moves the cursor one character to the left. - \row \i Ctrl+C \i Copies the selected text to the clipboard. - (Windows also supports Ctrl+Insert for this operation.) - \row \i Ctrl+D \i Deletes the character to the right of the cursor. - \row \i Ctrl+E \i Moves the cursor to the end of the line. - \row \i Ctrl+F \i Moves the cursor one character to the right. - \row \i Ctrl+H \i Deletes the character to the left of the cursor. - \row \i Ctrl+K \i Deletes to the end of the line. - \row \i Ctrl+V \i Pastes the clipboard text into line edit. - (Windows also supports Shift+Insert for this operation.) - \row \i Ctrl+X \i Deletes the selected text and copies it to the clipboard. - (Windows also supports Shift+Delete for this operation.) - \row \i Ctrl+Z \i Undoes the last operation. - \row \i Ctrl+Y \i Redoes the last undone operation. - \endtable - - Any other key sequence that represents a valid character, will - cause the character to be inserted into the line edit. - - <img src=qlined-m.png> <img src=qlined-w.png> - - \sa TQTextEdit TQLabel TQComboBox - \link guibooks.html#fowler GUI Design Handbook: Field, Entry\endlink -*/ - - -/*! - \fn void SecTQLineEdit::textChanged( const SecTQString& ) - - This signal is emitted whenever the text changes. The argument is - the new text. -*/ - -/*! - \fn void SecTQLineEdit::selectionChanged() - - This signal is emitted whenever the selection changes. - - \sa hasSelectedText(), selectedText() -*/ - -/*! - \fn void SecTQLineEdit::lostFocus() - - This signal is emitted when the line edit has lost focus. - - \sa hasFocus(), TQWidget::focusInEvent(), TQWidget::focusOutEvent() -*/ - - - -/*! - Constructs a line edit with no text. - - The maximum text length is set to 32767 characters. - - The \a parent and \a name arguments are sent to the TQWidget constructor. - - \sa setText(), setMaxLength() -*/ - -SecTQLineEdit::SecTQLineEdit( TQWidget* parent, const char* name ) - : TQFrame( parent, name, WNoAutoErase ), d(new SecTQLineEditPrivate( this )) -{ - d->init( SecTQString::null ); -} - -/*! - Constructs a line edit containing the text \a contents. - - The cursor position is set to the end of the line and the maximum - text length to 32767 characters. - - The \a parent and \a name arguments are sent to the TQWidget - constructor. - - \sa text(), setMaxLength() -*/ - -SecTQLineEdit::SecTQLineEdit( const SecTQString& contents, TQWidget* parent, const char* name ) - : TQFrame( parent, name, WNoAutoErase ), d(new SecTQLineEditPrivate( this )) -{ - d->init( contents ); -} - -/*! - Destroys the line edit. -*/ - -SecTQLineEdit::~SecTQLineEdit() -{ - delete d; -} - - -/*! - \property SecTQLineEdit::text - \brief the line edit's text - - Setting this property clears the selection, clears the undo/redo - history, moves the cursor to the end of the line and resets the - \c modified property to FALSE. - - The text is truncated to maxLength() length. - - \sa insert() -*/ -SecTQString SecTQLineEdit::text() const -{ - return ( d->text.isNull() ? SecTQString ("") : d->text ); -} - -void SecTQLineEdit::setText( const SecTQString& text) -{ - resetInputContext(); - d->setText( text ); - d->modified = FALSE; - d->finishChange( -1, FALSE ); -} - - -/*! - \property SecTQLineEdit::displayText - \brief the displayed text - - If \c EchoMode is \c Normal this returns the same as text(); if - \c EchoMode is \c Password it returns a string of asterisks - text().length() characters long, e.g. "******"; if \c EchoMode is - \c NoEcho returns an empty string, "". - - \sa setEchoMode() text() EchoMode -*/ - -TQString SecTQLineEdit::displayText() const -{ - if ( d->echoMode == NoEcho ) - return TQString::fromLatin1(""); - - TQChar pwd_char = TQChar (style().styleHint( TQStyle::SH_LineEdit_PasswordCharacter, this)); - TQString res; - res.fill (pwd_char, d->text.length ()); - return res; -} - - -/*! - \property SecTQLineEdit::maxLength - \brief the maximum permitted length of the text - - If the text is too long, it is truncated at the limit. - - If truncation occurs any selected text will be unselected, the - cursor position is set to 0 and the first part of the string is - shown. -*/ - -int SecTQLineEdit::maxLength() const -{ - return d->maxLength; -} - -void SecTQLineEdit::setMaxLength( int maxLength ) -{ - d->maxLength = maxLength; - setText( d->text ); -} - - - -/*! - \property SecTQLineEdit::frame - \brief whether the line edit draws itself with a frame - - If enabled (the default) the line edit draws itself inside a - two-pixel frame, otherwise the line edit draws itself without any - frame. -*/ -bool SecTQLineEdit::frame() const -{ - return frameShape() != NoFrame; -} - - -void SecTQLineEdit::setFrame( bool enable ) -{ - setFrameStyle( enable ? ( LineEditPanel | Sunken ) : NoFrame ); -} - - -/*! - \enum SecTQLineEdit::EchoMode - - This enum type describes how a line edit should display its - contents. - - \value Normal Display characters as they are entered. This is the - default. - \value NoEcho Do not display anything. This may be appropriate - for passwords where even the length of the - password should be kept secret. - \value Password Display asterisks instead of the characters - actually entered. - - \sa setEchoMode() echoMode() -*/ - - -/*! - \property SecTQLineEdit::echoMode - \brief the line edit's echo mode - - The initial setting is \c Normal, but SecTQLineEdit also supports \c - NoEcho and \c Password modes. - - The widget's display and the ability to copy the text is affected - by this setting. - - \sa EchoMode displayText() -*/ - -SecTQLineEdit::EchoMode SecTQLineEdit::echoMode() const -{ - return (EchoMode) d->echoMode; -} - -void SecTQLineEdit::setEchoMode( EchoMode mode ) -{ - d->echoMode = mode; - d->updateTextLayout(); - update(); -} - - - -/*! - Returns a recommended size for the widget. - - The width returned, in pixels, is usually enough for about 15 to - 20 characters. -*/ - -TQSize SecTQLineEdit::sizeHint() const -{ - constPolish(); - TQFontMetrics fm( font() ); - int h = TQMAX(fm.lineSpacing(), 14) + 2*innerMargin; - int w = fm.width( 'x' ) * 17; // "some" - int m = frameWidth() * 2; - return (style().sizeFromContents(TQStyle::CT_LineEdit, this, - TQSize( w + m, h + m ). - expandedTo(TQApplication::globalStrut()))); -} - - -/*! - Returns a minimum size for the line edit. - - The width returned is enough for at least one character. -*/ - -TQSize SecTQLineEdit::minimumSizeHint() const -{ - constPolish(); - TQFontMetrics fm = fontMetrics(); - int h = fm.height() + TQMAX( 2*innerMargin, fm.leading() ); - int w = fm.maxWidth(); - int m = frameWidth() * 2; - return TQSize( w + m, h + m ); -} - - -/*! - \property SecTQLineEdit::cursorPosition - \brief the current cursor position for this line edit - - Setting the cursor position causes a repaint when appropriate. -*/ - -int SecTQLineEdit::cursorPosition() const -{ - return d->cursor; -} - - -void SecTQLineEdit::setCursorPosition( int pos ) -{ - if ( pos <= (int) d->text.length() ) - d->moveCursor( pos ); -} - - -/*! - \property SecTQLineEdit::alignment - \brief the alignment of the line edit - - Possible Values are \c TQt::AlignAuto, \c TQt::AlignLeft, \c - TQt::AlignRight and \c TQt::AlignHCenter. - - Attempting to set the alignment to an illegal flag combination - does nothing. - - \sa TQt::AlignmentFlags -*/ - -int SecTQLineEdit::alignment() const -{ - return d->alignment; -} - -void SecTQLineEdit::setAlignment( int flag ) -{ - d->alignment = flag & 0x7; - update(); -} - - -/*! - \obsolete - \fn void SecTQLineEdit::cursorRight( bool, int ) - - Use cursorForward() instead. - - \sa cursorForward() -*/ - -/*! - \obsolete - \fn void SecTQLineEdit::cursorLeft( bool, int ) - For compatibilty with older applications only. Use cursorBackward() - instead. - \sa cursorBackward() -*/ - -/*! - Moves the cursor forward \a steps characters. If \a mark is TRUE - each character moved over is added to the selection; if \a mark is - FALSE the selection is cleared. - - \sa cursorBackward() -*/ - -void SecTQLineEdit::cursorForward( bool mark, int steps ) -{ - int cursor = d->cursor; - if ( steps > 0 ) { - while( steps-- ) - cursor = d->textLayout.nextCursorPosition( cursor ); - } else if ( steps < 0 ) { - while ( steps++ ) - cursor = d->textLayout.previousCursorPosition( cursor ); - } - d->moveCursor( cursor, mark ); -} - - -/*! - Moves the cursor back \a steps characters. If \a mark is TRUE each - character moved over is added to the selection; if \a mark is - FALSE the selection is cleared. - - \sa cursorForward() -*/ -void SecTQLineEdit::cursorBackward( bool mark, int steps ) -{ - cursorForward( mark, -steps ); -} - -/*! - Moves the cursor one word forward. If \a mark is TRUE, the word is - also selected. - - \sa cursorWordBackward() -*/ -void SecTQLineEdit::cursorWordForward( bool mark ) -{ - d->moveCursor( d->textLayout.nextCursorPosition(d->cursor, TQTextLayout::SkipWords), mark ); -} - -/*! - Moves the cursor one word backward. If \a mark is TRUE, the word - is also selected. - - \sa cursorWordForward() -*/ - -void SecTQLineEdit::cursorWordBackward( bool mark ) -{ - d->moveCursor( d->textLayout.previousCursorPosition(d->cursor, TQTextLayout::SkipWords), mark ); -} - - -/*! - If no text is selected, deletes the character to the left of the - text cursor and moves the cursor one position to the left. If any - text is selected, the cursor is moved to the beginning of the - selected text and the selected text is deleted. - - \sa del() -*/ -void SecTQLineEdit::backspace() -{ - int priorState = d->undoState; - if ( d->hasSelectedText() ) { - d->removeSelectedText(); - } else if ( d->cursor ) { - --d->cursor; - d->del( TRUE ); - } - d->finishChange( priorState ); - - emit backspacePressed(); -} - -/*! - If no text is selected, deletes the character to the right of the - text cursor. If any text is selected, the cursor is moved to the - beginning of the selected text and the selected text is deleted. - - \sa backspace() -*/ - -void SecTQLineEdit::del() -{ - int priorState = d->undoState; - if ( d->hasSelectedText() ) { - d->removeSelectedText(); - } else { - int n = d->textLayout.nextCursorPosition( d->cursor ) - d->cursor; - while ( n-- ) - d->del(); - } - d->finishChange( priorState ); -} - -/*! - Moves the text cursor to the beginning of the line unless it is - already there. If \a mark is TRUE, text is selected towards the - first position; otherwise, any selected text is unselected if the - cursor is moved. - - \sa end() -*/ - -void SecTQLineEdit::home( bool mark ) -{ - d->moveCursor( 0, mark ); -} - -/*! - Moves the text cursor to the end of the line unless it is already - there. If \a mark is TRUE, text is selected towards the last - position; otherwise, any selected text is unselected if the cursor - is moved. - - \sa home() -*/ - -void SecTQLineEdit::end( bool mark ) -{ - d->moveCursor( d->text.length(), mark ); -} - - -/*! - \property SecTQLineEdit::modified - \brief whether the line edit's contents has been modified by the user - - The modified flag is never read by SecTQLineEdit; it has a default value - of FALSE and is changed to TRUE whenever the user changes the line - edit's contents. - - This is useful for things that need to provide a default value but - do not start out knowing what the default should be (perhaps it - depends on other fields on the form). Start the line edit without - the best default, and when the default is known, if modified() - returns FALSE (the user hasn't entered any text), insert the - default value. - - Calling clearModified() or setText() resets the modified flag to - FALSE. -*/ - -bool SecTQLineEdit::isModified() const -{ - return d->modified; -} - -/*! - Resets the modified flag to FALSE. - - \sa isModified() -*/ -void SecTQLineEdit::clearModified() -{ - d->modified = FALSE; - d->history.clear(); - d->undoState = 0; -} - -/*! - \obsolete - \property SecTQLineEdit::edited - \brief whether the line edit has been edited. Use modified instead. -*/ -bool SecTQLineEdit::edited() const { return d->modified; } -void SecTQLineEdit::setEdited( bool on ) { d->modified = on; } - -/*! - \obsolete - \property SecTQLineEdit::hasMarkedText - \brief whether part of the text has been selected by the user. Use hasSelectedText instead. -*/ - -/*! - \property SecTQLineEdit::hasSelectedText - \brief whether there is any text selected - - hasSelectedText() returns TRUE if some or all of the text has been - selected by the user; otherwise returns FALSE. - - \sa selectedText() -*/ - - -bool SecTQLineEdit::hasSelectedText() const -{ - return d->hasSelectedText(); -} - -/*! - \obsolete - \property SecTQLineEdit::markedText - \brief the text selected by the user. Use selectedText instead. -*/ - -/*! - \property SecTQLineEdit::selectedText - \brief the selected text - - If there is no selected text this property's value is - TQString::null. - - \sa hasSelectedText() -*/ - -SecTQString SecTQLineEdit::selectedText() const -{ - if ( d->hasSelectedText() ) - return d->text.mid( d->selstart, d->selend - d->selstart ); - return SecTQString::null; -} - -/*! - selectionStart() returns the index of the first selected character in the - line edit or -1 if no text is selected. - - \sa selectedText() -*/ - -int SecTQLineEdit::selectionStart() const -{ - return d->hasSelectedText() ? d->selstart : -1; -} - - -/*! - Selects text from position \a start and for \a length characters. - - \sa deselect() selectAll() -*/ - -void SecTQLineEdit::setSelection( int start, int length ) -{ - if ( start < 0 || start > (int)d->text.length() || length < 0 ) { - d->selstart = d->selend = 0; - } else { - d->selstart = start; - d->selend = TQMIN( start + length, (int)d->text.length() ); - d->cursor = d->selend; - } - update(); -} - - -/*! - \property SecTQLineEdit::undoAvailable - \brief whether undo is available -*/ - -bool SecTQLineEdit::isUndoAvailable() const -{ - return d->isUndoAvailable(); -} - -/*! - \property SecTQLineEdit::redoAvailable - \brief whether redo is available -*/ - -bool SecTQLineEdit::isRedoAvailable() const -{ - return d->isRedoAvailable(); -} - -/*! - Selects all the text (i.e. highlights it) and moves the cursor to - the end. This is useful when a default value has been inserted - because if the user types before clicking on the widget, the - selected text will be deleted. - - \sa setSelection() deselect() -*/ - -void SecTQLineEdit::selectAll() -{ - d->selstart = d->selend = d->cursor = 0; - d->moveCursor( d->text.length(), TRUE ); -} - -/*! - Deselects any selected text. - - \sa setSelection() selectAll() -*/ - -void SecTQLineEdit::deselect() -{ - d->deselect(); - d->finishChange(); -} - - -/*! - Deletes any selected text, inserts \a newText and sets it as the - new contents of the line edit. -*/ -void SecTQLineEdit::insert( const SecTQString &newText ) -{ -// q->resetInputContext(); //#### FIX ME IN QT - int priorState = d->undoState; - d->removeSelectedText(); - d->insert( newText ); - d->finishChange( priorState ); -} - -/*! - Clears the contents of the line edit. -*/ -void SecTQLineEdit::clear() -{ - int priorState = d->undoState; - resetInputContext(); - d->selstart = 0; - d->selend = d->text.length(); - d->removeSelectedText(); - d->separate(); - d->finishChange( priorState ); -} - -/*! - Undoes the last operation if undo is \link - SecTQLineEdit::undoAvailable available\endlink. Deselects any current - selection, and updates the selection start to the current cursor - position. -*/ -void SecTQLineEdit::undo() -{ -#ifndef SECURE_NO_UNDO - resetInputContext(); - d->undo(); - d->finishChange( -1, FALSE ); -#endif -} - -/*! - Redoes the last operation if redo is \link - SecTQLineEdit::redoAvailable available\endlink. -*/ -void SecTQLineEdit::redo() -{ -#ifndef SECURE_NO_UNDO - resetInputContext(); - d->redo(); - d->finishChange(); -#endif -} - - -/*! - \property SecTQLineEdit::readOnly - \brief whether the line edit is read only. - - In read-only mode, the user can still copy the text to the - clipboard (if echoMode() is \c Normal), but cannot edit it. - - SecTQLineEdit does not show a cursor in read-only mode. - - \sa setEnabled() -*/ - -bool SecTQLineEdit::isReadOnly() const -{ - return d->readOnly; -} - -void SecTQLineEdit::setReadOnly( bool enable ) -{ - d->readOnly = enable; -#ifndef QT_NO_CURSOR - setCursor( enable ? arrowCursor : ibeamCursor ); -#endif - update(); -} - - -#ifndef QT_NO_CLIPBOARD -/*! - Copies the selected text to the clipboard and deletes it, if there - is any, and if echoMode() is \c Normal. - - \sa copy() paste() setValidator() -*/ - -void SecTQLineEdit::cut() -{ - if ( hasSelectedText() ) { - copy(); - del(); - } -} - - -/*! - Copies the selected text to the clipboard, if there is any, and if - echoMode() is \c Normal. - - \sa cut() paste() -*/ - -void SecTQLineEdit::copy() const -{ - d->copy(); -} - -/*! - Inserts the clipboard's text at the cursor position, deleting any - selected text, providing the line edit is not \link - SecTQLineEdit::readOnly read-only\endlink. - - \sa copy() cut() -*/ - -void SecTQLineEdit::paste() -{ - d->removeSelectedText(); - insert( TQApplication::clipboard()->text( TQClipboard::Clipboard ) ); -} - -void SecTQLineEditPrivate::copy( bool clipboard ) const -{ -#ifndef SECURE - TQString t = q->selectedText(); - if ( !t.isEmpty() && echoMode == SecTQLineEdit::Normal ) { - q->disconnect( TQApplication::clipboard(), SIGNAL(selectionChanged()), q, 0); - TQApplication::clipboard()->setText( t, clipboard ? TQClipboard::Clipboard : TQClipboard::Selection ); - q->connect( TQApplication::clipboard(), SIGNAL(selectionChanged()), - q, SLOT(clipboardChanged()) ); - } -#endif -} - -#endif // !QT_NO_CLIPBOARD - -/*!\reimp -*/ - -void SecTQLineEdit::resizeEvent( TQResizeEvent *e ) -{ - TQFrame::resizeEvent( e ); -} - -/*! \reimp -*/ -bool SecTQLineEdit::event( TQEvent * e ) -{ - if ( e->type() == TQEvent::AccelOverride && !d->readOnly ) { - TQKeyEvent* ke = (TQKeyEvent*) e; - if ( ke->state() == NoButton || ke->state() == ShiftButton - || ke->state() == Keypad ) { - if ( ke->key() < Key_Escape ) { - ke->accept(); - } else if ( ke->state() == NoButton - || ke->state() == ShiftButton ) { - switch ( ke->key() ) { - case Key_Delete: - case Key_Home: - case Key_End: - case Key_Backspace: - case Key_Left: - case Key_Right: - ke->accept(); - default: - break; - } - } - } else if ( ke->state() & ControlButton ) { - switch ( ke->key() ) { -// Those are too frequently used for application functionality -/* case Key_A: - case Key_B: - case Key_D: - case Key_E: - case Key_F: - case Key_H: - case Key_K: -*/ - case Key_C: - case Key_V: - case Key_X: - case Key_Y: - case Key_Z: - case Key_Left: - case Key_Right: -#if defined (Q_WS_WIN) - case Key_Insert: - case Key_Delete: -#endif - ke->accept(); - default: - break; - } - } - } else if ( e->type() == TQEvent::Timer ) { - // should be timerEvent, is here for binary compatibility - int timerId = ((TQTimerEvent*)e)->timerId(); - if ( timerId == d->cursorTimer ) { - if(!hasSelectedText() || style().styleHint( TQStyle::SH_BlinkCursorWhenTextSelected )) - d->setCursorVisible( !d->cursorVisible ); - } else if ( timerId == d->tripleClickTimer ) { - killTimer( d->tripleClickTimer ); - d->tripleClickTimer = 0; - } - } - return TQWidget::event( e ); -} - -/*! \reimp -*/ -void SecTQLineEdit::mousePressEvent( TQMouseEvent* e ) -{ - if ( e->button() == RightButton ) - return; - if ( d->tripleClickTimer && ( e->pos() - d->tripleClick ).manhattanLength() < - TQApplication::startDragDistance() ) { - selectAll(); - return; - } - bool mark = e->state() & ShiftButton; - int cursor = d->xToPos( e->pos().x() ); - d->moveCursor( cursor, mark ); -} - -/*! \reimp -*/ -void SecTQLineEdit::mouseMoveEvent( TQMouseEvent * e ) -{ - -#ifndef QT_NO_CURSOR - if ( ( e->state() & MouseButtonMask ) == 0 ) { - if ( !d->readOnly ) - setCursor( ( d->inSelection( e->pos().x() ) ? arrowCursor : ibeamCursor ) ); - } -#endif - - if ( e->state() & LeftButton ) { - d->moveCursor( d->xToPos( e->pos().x() ), TRUE ); - } -} - -/*! \reimp -*/ -void SecTQLineEdit::mouseReleaseEvent( TQMouseEvent* e ) -{ -#ifndef QT_NO_CLIPBOARD - if (TQApplication::clipboard()->supportsSelection() ) { - if ( e->button() == LeftButton ) { - d->copy( FALSE ); - } else if ( !d->readOnly && e->button() == MidButton ) { - d->deselect(); - insert( TQApplication::clipboard()->text( TQClipboard::Selection ) ); - } - } -#endif -} - -/*! \reimp -*/ -void SecTQLineEdit::mouseDoubleClickEvent( TQMouseEvent* e ) -{ - if ( e->button() == TQt::LeftButton ) { - deselect(); - d->cursor = d->xToPos( e->pos().x() ); - d->cursor = d->textLayout.previousCursorPosition( d->cursor, TQTextLayout::SkipWords ); - // ## text layout should support end of words. - int end = d->textLayout.nextCursorPosition( d->cursor, TQTextLayout::SkipWords ); - while ( end > d->cursor && d->text[end-1].isSpace() ) - --end; - d->moveCursor( end, TRUE ); - d->tripleClickTimer = startTimer( TQApplication::doubleClickInterval() ); - d->tripleClick = e->pos(); - } -} - -/*! - \fn void SecTQLineEdit::returnPressed() - - This signal is emitted when the Return or Enter key is pressed. -*/ - -/*! - Converts key press event \a e into a line edit action. - - If Return or Enter is pressed the signal returnPressed() is - emitted. - - The default key bindings are listed in the \link #desc detailed - description.\endlink -*/ - -void SecTQLineEdit::keyPressEvent( TQKeyEvent * e ) -{ - d->setCursorVisible( TRUE ); - if ( e->key() == Key_Enter || e->key() == Key_Return ) { - emit returnPressed(); - e->ignore(); - return; - } - if ( !d->readOnly ) { - TQString t = e->text(); - if ( !t.isEmpty() && (!e->ascii() || e->ascii()>=32) && - e->key() != Key_Delete && - e->key() != Key_Backspace ) { -#ifdef Q_WS_X11 - extern bool tqt_hebrew_keyboard_hack; - if ( tqt_hebrew_keyboard_hack ) { - // the X11 keyboard layout is broken and does not reverse - // braces correctly. This is a hack to get halfway correct - // behaviour - if ( d->isRightToLeft() ) { - TQChar *c = (TQChar *)t.unicode(); - int l = t.length(); - while( l-- ) { - if ( c->mirrored() ) - *c = c->mirroredChar(); - c++; - } - } - } -#endif - insert( t ); - return; - } - } - bool unknown = FALSE; - if ( e->state() & ControlButton ) { - switch ( e->key() ) { - case Key_A: -#if defined(Q_WS_X11) - home( e->state() & ShiftButton ); -#else - selectAll(); -#endif - break; - case Key_B: - cursorForward( e->state() & ShiftButton, -1 ); - break; -#ifndef QT_NO_CLIPBOARD - case Key_C: - copy(); - break; -#endif - case Key_D: - if ( !d->readOnly ) { - del(); - } - break; - case Key_E: - end( e->state() & ShiftButton ); - break; - case Key_F: - cursorForward( e->state() & ShiftButton, 1 ); - break; - case Key_H: - if ( !d->readOnly ) { - backspace(); - } - break; - case Key_K: - if ( !d->readOnly ) { - int priorState = d->undoState; - d->deselect(); - while ( d->cursor < (int) d->text.length() ) - d->del(); - d->finishChange( priorState ); - } - break; -#if defined(Q_WS_X11) - case Key_U: - if ( !d->readOnly ) - clear(); - break; -#endif -#ifndef QT_NO_CLIPBOARD - case Key_V: - if ( !d->readOnly ) - paste(); - break; - case Key_X: - if ( !d->readOnly && d->hasSelectedText() && echoMode() == Normal ) { - copy(); - del(); - } - break; -#if defined (Q_WS_WIN) - case Key_Insert: - copy(); - break; -#endif -#endif - case Key_Delete: - if ( !d->readOnly ) { - cursorWordForward( TRUE ); - del(); - } - break; - case Key_Backspace: - if ( !d->readOnly ) { - cursorWordBackward( TRUE ); - del(); - } - break; - case Key_Right: - case Key_Left: - if ( d->isRightToLeft() == (e->key() == Key_Right) ) { - if ( echoMode() == Normal ) - cursorWordBackward( e->state() & ShiftButton ); - else - home( e->state() & ShiftButton ); - } else { - if ( echoMode() == Normal ) - cursorWordForward( e->state() & ShiftButton ); - else - end( e->state() & ShiftButton ); - } - break; - case Key_Z: - if ( !d->readOnly ) { - if(e->state() & ShiftButton) - redo(); - else - undo(); - } - break; - case Key_Y: - if ( !d->readOnly ) - redo(); - break; - default: - unknown = TRUE; - } - } else { // ### check for *no* modifier - switch ( e->key() ) { - case Key_Shift: - // ### TODO - break; - case Key_Left: - case Key_Right: { - int step = (d->isRightToLeft() == (e->key() == Key_Right)) ? -1 : 1; - cursorForward( e->state() & ShiftButton, step ); - } - break; - case Key_Backspace: - if ( !d->readOnly ) { - backspace(); - } - break; - case Key_Home: -#ifdef Q_WS_MACX - case Key_Up: -#endif - home( e->state() & ShiftButton ); - break; - case Key_End: -#ifdef Q_WS_MACX - case Key_Down: -#endif - end( e->state() & ShiftButton ); - break; - case Key_Delete: - if ( !d->readOnly ) { -#if defined (Q_WS_WIN) - if ( e->state() & ShiftButton ) { - cut(); - break; - } -#endif - del(); - } - break; -#if defined (Q_WS_WIN) - case Key_Insert: - if ( !d->readOnly && e->state() & ShiftButton ) - paste(); - else - unknown = TRUE; - break; -#endif - case Key_F14: // Undo key on Sun keyboards - if ( !d->readOnly ) - undo(); - break; -#ifndef QT_NO_CLIPBOARD - case Key_F16: // Copy key on Sun keyboards - copy(); - break; - case Key_F18: // Paste key on Sun keyboards - if ( !d->readOnly ) - paste(); - break; - case Key_F20: // Cut key on Sun keyboards - if ( !d->readOnly && hasSelectedText() && echoMode() == Normal ) { - copy(); - del(); - } - break; -#endif - default: - unknown = TRUE; - } - } - if ( e->key() == Key_Direction_L ) - d->direction = TQChar::DirL; - else if ( e->key() == Key_Direction_R ) - d->direction = TQChar::DirR; - - if ( unknown ) - e->ignore(); -} - -/*! \reimp - */ -void SecTQLineEdit::imStartEvent( TQIMEvent *e ) -{ - if ( d->readOnly ) { - e->ignore(); - return; - } - d->removeSelectedText(); - d->updateMicroFocusHint(); - d->imstart = d->imend = d->imselstart = d->imselend = d->cursor; -} - -/*! \reimp - */ -void SecTQLineEdit::imComposeEvent( TQIMEvent *e ) -{ - if ( d->readOnly ) { - e->ignore(); - } else { - d->text.replace( d->imstart, d->imend - d->imstart, e->text() ); - d->imend = d->imstart + e->text().length(); - d->imselstart = d->imstart + e->cursorPos(); - d->imselend = d->imselstart + e->selectionLength(); - d->cursor = e->selectionLength() ? d->imend : d->imselend; - d->updateTextLayout(); - update(); - } -} - -/*! \reimp - */ -void SecTQLineEdit::imEndEvent( TQIMEvent *e ) -{ - if ( d->readOnly ) { - e->ignore(); - } else { - d->text.remove( d->imstart, d->imend - d->imstart ); - d->cursor = d->imselstart = d->imselend = d->imend = d->imstart; - d->textDirty = TRUE; - insert( e->text() ); - } -} - -/*!\reimp -*/ - -void SecTQLineEdit::focusInEvent( TQFocusEvent* e ) -{ - if ( e->reason() == TQFocusEvent::Tab || - e->reason() == TQFocusEvent::Backtab || - e->reason() == TQFocusEvent::Shortcut ) - selectAll(); - if ( !d->cursorTimer ) { - int cft = TQApplication::cursorFlashTime(); - d->cursorTimer = cft ? startTimer( cft/2 ) : -1; - } - d->updateMicroFocusHint(); -} - -/*!\reimp -*/ - -void SecTQLineEdit::focusOutEvent( TQFocusEvent* e ) -{ - if ( e->reason() != TQFocusEvent::ActiveWindow && - e->reason() != TQFocusEvent::Popup ) - deselect(); - d->setCursorVisible( FALSE ); - if ( d->cursorTimer > 0 ) - killTimer( d->cursorTimer ); - d->cursorTimer = 0; - emit lostFocus(); -} - -/*!\reimp -*/ -void SecTQLineEdit::drawContents( TQPainter *p ) -{ - const TQColorGroup& cg = colorGroup(); - TQRect cr = contentsRect(); - TQFontMetrics fm = fontMetrics(); - TQRect lineRect( cr.x() + innerMargin, cr.y() + (cr.height() - fm.height() + 1) / 2, - cr.width() - 2*innerMargin, fm.height() ); - TQBrush bg = TQBrush( paletteBackgroundColor() ); - if ( paletteBackgroundPixmap() ) - bg = TQBrush( cg.background(), *paletteBackgroundPixmap() ); - else if ( !isEnabled() ) - bg = cg.brush( TQColorGroup::Background ); - p->save(); - p->setClipRegion( TQRegion(cr) - lineRect ); - p->fillRect( cr, bg ); - p->restore(); - SecTQSharedDoubleBuffer buffer( p, lineRect.x(), lineRect.y(), - lineRect.width(), lineRect.height(), - hasFocus() ? SecTQSharedDoubleBuffer::Force : 0 ); - p = buffer.painter(); - p->fillRect( lineRect, bg ); - - // locate cursor position - int cix = 0; - TQTextItem ci = d->textLayout.findItem( d->cursor ); - if ( ci.isValid() ) { - if ( d->cursor != (int)d->text.length() && d->cursor == ci.from() + ci.length() - && ci.isRightToLeft() != d->isRightToLeft() ) - ci = d->textLayout.findItem( d->cursor + 1 ); - cix = ci.x() + ci.cursorToX( d->cursor - ci.from() ); - } - - // horizontal scrolling - int minLB = TQMAX( 0, -fm.minLeftBearing() ); - int minRB = TQMAX( 0, -fm.minRightBearing() ); - int widthUsed = d->textLayout.widthUsed() + 1 + minRB; - if ( (minLB + widthUsed) <= lineRect.width() ) { - switch ( d->visualAlignment() ) { - case AlignRight: - d->hscroll = widthUsed - lineRect.width(); - break; - case AlignHCenter: - d->hscroll = ( widthUsed - lineRect.width() ) / 2; - break; - default: - d->hscroll = 0; - break; - } - d->hscroll -= minLB; - } else if ( cix - d->hscroll >= lineRect.width() ) { - d->hscroll = cix - lineRect.width() + 1; - } else if ( cix - d->hscroll < 0 ) { - d->hscroll = cix; - } else if ( widthUsed - d->hscroll < lineRect.width() ) { - d->hscroll = widthUsed - lineRect.width() + 1; - } - // the y offset is there to keep the baseline constant in case we have script changes in the text. - TQPoint topLeft = lineRect.topLeft() - TQPoint(d->hscroll, d->ascent-fm.ascent()); - - // draw text, selections and cursors - p->setPen( cg.text() ); - bool supressCursor = d->readOnly, hasRightToLeft = d->isRightToLeft(); - int textflags = 0; - if ( font().underline() ) - textflags |= TQt::Underline; - if ( font().strikeOut() ) - textflags |= TQt::StrikeOut; - if ( font().overline() ) - textflags |= TQt::Overline; - - for ( int i = 0; i < d->textLayout.numItems(); i++ ) { - TQTextItem ti = d->textLayout.itemAt( i ); - hasRightToLeft |= ti.isRightToLeft(); - int tix = topLeft.x() + ti.x(); - int first = ti.from(); - int last = ti.from() + ti.length() - 1; - - // text and selection - if ( d->selstart < d->selend && (last >= d->selstart && first < d->selend ) ) { - TQRect highlight = TQRect( TQPoint( tix + ti.cursorToX( TQMAX( d->selstart - first, 0 ) ), - lineRect.top() ), - TQPoint( tix + ti.cursorToX( TQMIN( d->selend - first, last - first + 1 ) ) - 1, - lineRect.bottom() ) ).normalize(); - p->save(); - p->setClipRegion( TQRegion( lineRect ) - highlight, TQPainter::CoordPainter ); - p->drawTextItem( topLeft, ti, textflags ); - p->setClipRect( lineRect & highlight, TQPainter::CoordPainter ); - p->fillRect( highlight, cg.highlight() ); - p->setPen( cg.highlightedText() ); - p->drawTextItem( topLeft, ti, textflags ); - p->restore(); - } else { - p->drawTextItem( topLeft, ti, textflags ); - } - - // input method edit area - if ( d->imstart < d->imend && (last >= d->imstart && first < d->imend ) ) { - TQRect highlight = TQRect( TQPoint( tix + ti.cursorToX( TQMAX( d->imstart - first, 0 ) ), lineRect.top() ), - TQPoint( tix + ti.cursorToX( TQMIN( d->imend - first, last - first + 1 ) )-1, lineRect.bottom() ) ).normalize(); - p->save(); - p->setClipRect( lineRect & highlight, TQPainter::CoordPainter ); - - int h1, s1, v1, h2, s2, v2; - cg.color( TQColorGroup::Base ).hsv( &h1, &s1, &v1 ); - cg.color( TQColorGroup::Background ).hsv( &h2, &s2, &v2 ); - TQColor imCol; - imCol.setHsv( h1, s1, ( v1 + v2 ) / 2 ); - p->fillRect( highlight, imCol ); - p->drawTextItem( topLeft, ti, textflags ); - p->restore(); - } - - // input method selection - if ( d->imselstart < d->imselend && (last >= d->imselstart && first < d->imselend ) ) { - TQRect highlight = TQRect( TQPoint( tix + ti.cursorToX( TQMAX( d->imselstart - first, 0 ) ), lineRect.top() ), - TQPoint( tix + ti.cursorToX( TQMIN( d->imselend - first, last - first + 1 ) )-1, lineRect.bottom() ) ).normalize(); - p->save(); - p->setClipRect( lineRect & highlight, TQPainter::CoordPainter ); - p->fillRect( highlight, cg.text() ); - p->setPen( paletteBackgroundColor() ); - p->drawTextItem( topLeft, ti, textflags ); - p->restore(); - } - } - - // draw cursor - if ( d->cursorVisible && !supressCursor ) { - TQPoint from( topLeft.x() + cix, lineRect.top() ); - TQPoint to = from + TQPoint( 0, lineRect.height() ); - p->drawLine( from, to ); - if ( hasRightToLeft ) { - to = from + TQPoint( (ci.isRightToLeft()?-2:2), 2 ); - p->drawLine( from, to ); - from.ry() += 4; - p->drawLine( from, to ); - } - } - buffer.end(); -} - - -enum { IdUndo, IdRedo, IdSep1, IdCut, IdCopy, IdPaste, IdClear, IdSep2, IdSelectAll }; - - -/*! \reimp */ -void SecTQLineEdit::windowActivationChange( bool b ) -{ - //### remove me with WHighlightSelection attribute - if ( palette().active() != palette().inactive() ) - update(); - TQWidget::windowActivationChange( b ); -} - -/*! \reimp */ - -void SecTQLineEdit::setPalette( const TQPalette & p ) -{ - //### remove me with WHighlightSelection attribute - TQWidget::setPalette( p ); - update(); -} - -/*! - \obsolete - \fn void SecTQLineEdit::repaintArea( int from, int to ) - Repaints all characters from \a from to \a to. If cursorPos is - between from and to, ensures that cursorPos is visible. -*/ - -/*! \reimp - */ -void SecTQLineEdit::setFont( const TQFont & f ) -{ - TQWidget::setFont( f ); - d->updateTextLayout(); -} - - -void SecTQLineEdit::clipboardChanged() -{ -} - -void SecTQLineEditPrivate::init( const SecTQString& txt ) -{ -#ifndef QT_NO_CURSOR - q->setCursor( readOnly ? arrowCursor : ibeamCursor ); -#endif - q->setFocusPolicy( TQWidget::StrongFocus ); - q->setInputMethodEnabled( TRUE ); - // Specifies that this widget can use more, but is able to survive on - // less, horizontal space; and is fixed vertically. - q->setSizePolicy( TQSizePolicy( TQSizePolicy::Expanding, TQSizePolicy::Fixed ) ); - q->setBackgroundMode( PaletteBase ); - q->setKeyCompression( TRUE ); - q->setMouseTracking( TRUE ); - q->setAcceptDrops( TRUE ); - q->setFrame( TRUE ); - text = txt; - updateTextLayout(); - cursor = text.length(); -} - -void SecTQLineEditPrivate::updateTextLayout() -{ - // replace all non-printable characters with spaces (to avoid - // drawing boxes when using fonts that don't have glyphs for such - // characters) - const TQString &displayText = q->displayText(); - TQString str(displayText.unicode(), displayText.length()); - TQChar* uc = (TQChar*)str.unicode(); - for (int i = 0; i < (int)str.length(); ++i) { - if (! uc[i].isPrint()) - uc[i] = TQChar(0x0020); - } - textLayout.setText( str, q->font() ); - // ### want to do textLayout.setRightToLeft( text.isRightToLeft() ); - textLayout.beginLayout( TQTextLayout::SingleLine ); - textLayout.beginLine( INT_MAX ); - while ( !textLayout.atEnd() ) - textLayout.addCurrentItem(); - ascent = 0; - textLayout.endLine(0, 0, TQt::AlignLeft, &ascent); -} - -int SecTQLineEditPrivate::xToPos( int x, TQTextItem::CursorPosition betweenOrOn ) const -{ - x-= q->contentsRect().x() - hscroll + innerMargin; - for ( int i = 0; i < textLayout.numItems(); ++i ) { - TQTextItem ti = textLayout.itemAt( i ); - TQRect tir = ti.rect(); - if ( x >= tir.left() && x <= tir.right() ) - return ti.xToCursor( x - tir.x(), betweenOrOn ) + ti.from(); - } - return x < 0 ? 0 : text.length(); -} - - -TQRect SecTQLineEditPrivate::cursorRect() const -{ - TQRect cr = q->contentsRect(); - int cix = cr.x() - hscroll + innerMargin; - TQTextItem ci = textLayout.findItem( cursor ); - if ( ci.isValid() ) { - if ( cursor != (int)text.length() && cursor == ci.from() + ci.length() - && ci.isRightToLeft() != isRightToLeft() ) - ci = textLayout.findItem( cursor + 1 ); - cix += ci.x() + ci.cursorToX( cursor - ci.from() ); - } - int ch = q->fontMetrics().height(); - return TQRect( cix-4, cr.y() + ( cr.height() - ch + 1) / 2, 8, ch + 1 ); -} - -void SecTQLineEditPrivate::updateMicroFocusHint() -{ - if ( q->hasFocus() ) { - TQRect r = cursorRect(); - q->setMicroFocusHint( r.x(), r.y(), r.width(), r.height() ); - } -} - -void SecTQLineEditPrivate::moveCursor( int pos, bool mark ) -{ - if ( pos != cursor ) - separate(); - bool fullUpdate = mark || hasSelectedText(); - if ( mark ) { - int anchor; - if ( selend > selstart && cursor == selstart ) - anchor = selend; - else if ( selend > selstart && cursor == selend ) - anchor = selstart; - else - anchor = cursor; - selstart = TQMIN( anchor, pos ); - selend = TQMAX( anchor, pos ); - } else { - selstart = selend = 0; - } - if ( fullUpdate ) { - cursor = pos; - q->update(); - } else { - setCursorVisible( FALSE ); - cursor = pos; - setCursorVisible( TRUE ); - } - updateMicroFocusHint(); - if ( mark ) { - if( !q->style().styleHint( TQStyle::SH_BlinkCursorWhenTextSelected )) - setCursorVisible( FALSE ); - emit q->selectionChanged(); - } -} - -void SecTQLineEditPrivate::finishChange( int validateFromState, bool setModified ) -{ - bool lineDirty = selDirty; - if ( textDirty ) { - if ( validateFromState >= 0 ) { -#ifndef SECURE_NO_UNDO - undo( validateFromState ); -#endif /* SECURE_NO_UNDO */ - history.resize( undoState ); - textDirty = setModified = FALSE; - } - updateTextLayout(); - updateMicroFocusHint(); - lineDirty |= textDirty; - if ( setModified ) - modified = TRUE; - if ( textDirty ) { - textDirty = FALSE; - emit q->textChanged( text ); - } - emit q->textModified( text ); -#if defined(QT_ACCESSIBILITY_SUPPORT) - TQAccessible::updateAccessibility( q, 0, TQAccessible::ValueChanged ); -#endif - } - if ( selDirty ) { - selDirty = FALSE; - emit q->selectionChanged(); - } - if ( lineDirty || !setModified ) - q->update(); -} - -void SecTQLineEditPrivate::setText( const SecTQString& txt ) -{ - deselect(); - SecTQString oldText = text; - text = txt.isEmpty() ? SecTQString ("") : txt.left( maxLength ); - history.clear(); - undoState = 0; - cursor = text.length(); - textDirty = 1; // Err on safe side. -} - - -void SecTQLineEditPrivate::setCursorVisible( bool visible ) -{ - if ( (bool)cursorVisible == visible ) - return; - if ( cursorTimer ) - cursorVisible = visible; - TQRect r = cursorRect(); - if ( !q->contentsRect().contains( r ) ) - q->update(); - else - q->update( r ); -} - -#ifndef SECURE_NO_UNDO - -void SecTQLineEditPrivate::addCommand( const Command& cmd ) -{ - if ( separator && undoState && history[undoState-1].type != Separator ) { - history.resize( undoState + 2 ); - history[undoState++] = Command( Separator, 0, 0 ); - } else { - history.resize( undoState + 1); - } - separator = FALSE; - history[ undoState++ ] = cmd; -} -#endif /* SECURE_NO_UNDO */ - -void SecTQLineEditPrivate::insert( const SecTQString& s ) -{ - int remaining = maxLength - text.length(); - text.insert( cursor, s.left(remaining) ); - for ( int i = 0; i < (int) s.left(remaining).length(); ++i ) - { -#ifndef SECURE_NO_UNDO - addCommand( Command( Insert, cursor, s.at(i) ) ); -#endif /* SECURE_NO_UNDO */ - cursor++; - } - textDirty = TRUE; -} - -void SecTQLineEditPrivate::del( bool wasBackspace ) -{ - if ( cursor < (int) text.length() ) { -#ifndef SECURE_NO_UNDO - addCommand ( Command( (CommandType)(wasBackspace?Remove:Delete), cursor, text.at(cursor) ) ); -#endif /* SECURE_NO_UNDO */ - text.remove( cursor, 1 ); - textDirty = TRUE; - } -} - -void SecTQLineEditPrivate::removeSelectedText() -{ - if ( selstart < selend && selend <= (int) text.length() ) { - separate(); -#ifndef SECURE_NO_UNDO - int i ; - if ( selstart <= cursor && cursor < selend ) { - // cursor is within the selection. Split up the commands - // to be able to restore the correct cursor position - for ( i = cursor; i >= selstart; --i ) - addCommand ( Command( DeleteSelection, i, text.at(i) ) ); - for ( i = selend - 1; i > cursor; --i ) - addCommand ( Command( DeleteSelection, i - cursor + selstart - 1, text.at(i) ) ); - } else { - for ( i = selend-1; i >= selstart; --i ) - addCommand ( Command( RemoveSelection, i, text.at(i) ) ); - } -#endif /* SECURE_NO_UNDO */ - text.remove( selstart, selend - selstart ); - if ( cursor > selstart ) - cursor -= TQMIN( cursor, selend ) - selstart; - deselect(); - textDirty = TRUE; - } -} - -#include "secqlineedit.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.h deleted file mode 100644 index 126f2314..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.h +++ /dev/null @@ -1,228 +0,0 @@ -/* secntqlineedit.h - Secure version of TQLineEdit. - * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - * Copyright (C) 2003 g10 Code GmbH - * - * The license of the original ntqlineedit.h file from which this file - * is derived can be found below. Modified by Marcus Brinkmann - * <marcus@g10code.de>. All modifications are licensed as follows, so - * that the intersection of the two licenses is then the GNU General - * Public License version 2. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0 - */ - -#include "secqstring.h" - -/* This disables some insecure code. */ -#define SECURE 1 - -/********************************************************************** -** $Id$ -** -** Definition of SecTQLineEdit widget class -** -** Created : 941011 -** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. -** -** This file is part of the widgets module of the TQt GUI Toolkit. -** -** This file may be distributed under the terms of the Q Public License -** as defined by Trolltech AS of Norway and appearing in the file -** LICENSE.TQPL included in the packaging of this file. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** See http://www.trolltech.com/qpl/ for TQPL licensing information. -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#ifndef SECTQLINEEDIT_H -#define SECTQLINEEDIT_H - -struct SecTQLineEditPrivate; - -class TQPopupMenu; - -#ifndef QT_H -#include "ntqframe.h" -#include "ntqstring.h" -#endif // QT_H - -class TQTextParagraph; -class TQTextCursor; - -class Q_EXPORT SecTQLineEdit : public TQFrame -{ - TQ_OBJECT - TQ_ENUMS( EchoMode ) - // TQ_PROPERTY( SecTQString text READ text WRITE setText ) - TQ_PROPERTY( int maxLength READ maxLength WRITE setMaxLength ) - TQ_PROPERTY( bool frame READ frame WRITE setFrame ) - TQ_PROPERTY( EchoMode echoMode READ echoMode WRITE setEchoMode ) - TQ_PROPERTY( TQString displayText READ displayText ) - TQ_PROPERTY( int cursorPosition READ cursorPosition WRITE setCursorPosition ) - TQ_PROPERTY( Alignment alignment READ alignment WRITE setAlignment ) - TQ_PROPERTY( bool edited READ edited WRITE setEdited DESIGNABLE false ) - TQ_PROPERTY( bool modified READ isModified ) - TQ_PROPERTY( bool hasSelectedText READ hasSelectedText ) - // TQ_PROPERTY( SecTQString markedText READ markedText DESIGNABLE false ) - // TQ_PROPERTY( SecTQString selectedText READ selectedText ) - TQ_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly ) - TQ_PROPERTY( bool undoAvailable READ isUndoAvailable ) - TQ_PROPERTY( bool redoAvailable READ isRedoAvailable ) - -public: - SecTQLineEdit( TQWidget* parent, const char* name=0 ); - SecTQLineEdit( const SecTQString &, TQWidget* parent, const char* name=0 ); - SecTQLineEdit( const SecTQString &, const TQString &, TQWidget* parent, const char* name=0 ); - ~SecTQLineEdit(); - - SecTQString text() const; - - TQString displayText() const; - - int maxLength() const; - - bool frame() const; - - enum EchoMode { Normal, NoEcho, Password }; - EchoMode echoMode() const; - - bool isReadOnly() const; - - TQSize sizeHint() const; - TQSize minimumSizeHint() const; - - int cursorPosition() const; - bool validateAndSet( const SecTQString &, int, int, int ); // obsolete - - int alignment() const; - -#ifndef QT_NO_COMPAT - void cursorLeft( bool mark, int steps = 1 ) { cursorForward( mark, -steps ); } - void cursorRight( bool mark, int steps = 1 ) { cursorForward( mark, steps ); } -#endif - void cursorForward( bool mark, int steps = 1 ); - void cursorBackward( bool mark, int steps = 1 ); - void cursorWordForward( bool mark ); - void cursorWordBackward( bool mark ); - void backspace(); - void del(); - void home( bool mark ); - void end( bool mark ); - - bool isModified() const; - void clearModified(); - - bool edited() const; // obsolete, use isModified() - void setEdited( bool ); // obsolete, use clearModified() - - bool hasSelectedText() const; - SecTQString selectedText() const; - int selectionStart() const; - - bool isUndoAvailable() const; - bool isRedoAvailable() const; - -#ifndef QT_NO_COMPAT - bool hasMarkedText() const { return hasSelectedText(); } - SecTQString markedText() const { return selectedText(); } -#endif - -public slots: - virtual void setText( const SecTQString &); - virtual void selectAll(); - virtual void deselect(); - virtual void insert( const SecTQString &); - virtual void clear(); - virtual void undo(); - virtual void redo(); - virtual void setMaxLength( int ); - virtual void setFrame( bool ); - virtual void setEchoMode( EchoMode ); - virtual void setReadOnly( bool ); - virtual void setFont( const TQFont & ); - virtual void setPalette( const TQPalette & ); - virtual void setSelection( int, int ); - virtual void setCursorPosition( int ); - virtual void setAlignment( int flag ); -#ifndef QT_NO_CLIPBOARD - virtual void cut(); - virtual void copy() const; - virtual void paste(); -#endif - -signals: - void textChanged( const SecTQString &); - void textModified( const SecTQString &); - void returnPressed(); - void lostFocus(); - void selectionChanged(); - void backspacePressed(); - -protected: - bool event( TQEvent * ); - void mousePressEvent( TQMouseEvent * ); - void mouseMoveEvent( TQMouseEvent * ); - void mouseReleaseEvent( TQMouseEvent * ); - void mouseDoubleClickEvent( TQMouseEvent * ); - void keyPressEvent( TQKeyEvent * ); - void imStartEvent( TQIMEvent * ); - void imComposeEvent( TQIMEvent * ); - void imEndEvent( TQIMEvent * ); - void focusInEvent( TQFocusEvent * ); - void focusOutEvent( TQFocusEvent * ); - void resizeEvent( TQResizeEvent * ); - void drawContents( TQPainter * ); - void windowActivationChange( bool ); -#ifndef QT_NO_COMPAT - void repaintArea( int, int ) { update(); } -#endif - -private slots: - void clipboardChanged(); - -public: - TQChar passwordChar() const; // obsolete internal - -private: - friend struct SecTQLineEditPrivate; - SecTQLineEditPrivate * d; - -private: // Disabled copy constructor and operator= -#if defined(TQ_DISABLE_COPY) - SecTQLineEdit( const SecTQLineEdit & ); - SecTQLineEdit &operator=( const SecTQLineEdit & ); -#endif -}; - -#endif // SECTQLINEEDIT_H diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.cpp deleted file mode 100644 index 82dd9180..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.cpp +++ /dev/null @@ -1,939 +0,0 @@ -/* secqstring.cpp - Secure version of TQString. - * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - * Copyright (C) 2003 g10 Code GmbH - * - * The license of the original qstring.cpp file from which this file - * is derived can be found below. Modified by Marcus Brinkmann - * <marcus@g10code.de>. All modifications are licensed as follows, so - * that the intersection of the two licenses is then the GNU General - * Public License version 2. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0 - */ - -/**************************************************************************** -** $Id$ -** -** Implementation of the SecTQString class and related Unicode functions -** -** Created : 920722 -** -** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. -** -** This file is part of the tools module of the TQt GUI Toolkit. -** -** This file may be distributed under the terms of the Q Public License -** as defined by Trolltech AS of Norway and appearing in the file -** LICENSE.TQPL included in the packaging of this file. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** See http://www.trolltech.com/qpl/ for TQPL licensing information. -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -// Don't define it while compiling this module, or USERS of TQt will -// not be able to link. - -#include "secqstring.h" - -static uint computeNewMax( uint len ) -{ - uint newMax = 4; - while ( newMax < len ) - newMax *= 2; - // try to save some memory - if ( newMax >= 1024 * 1024 && len <= newMax - (newMax >> 2) ) - newMax -= newMax >> 2; - return newMax; -} - -// These macros are used for efficient allocation of TQChar strings. -// IMPORTANT! If you change these, make sure you also change the -// "delete unicode" statement in ~SecTQStringData() in SecTQString.h correspondingly! - -#define QT_ALLOC_SECTQCHAR_VEC(N) (TQChar*) ::secmem_malloc (sizeof(TQChar) * (N)) -#define QT_DELETE_SECTQCHAR_VEC(P) ::secmem_free (P) - - -/***************************************************************************** - SecTQString member functions - *****************************************************************************/ - -/*! - \class SecTQString SecTQString.h - \reentrant - - \brief The SecTQString class provides an abstraction of Unicode text - and the classic C '\0'-terminated char array. - - \ingroup tools - \ingroup shared - \ingroup text - \mainclass - - SecTQString uses \link shclass.html implicit sharing\endlink, which - makes it very efficient and easy to use. - - In all of the SecTQString methods that take \c {const char *} - parameters, the \c {const char *} is interpreted as a classic - C-style '\0'-terminated ASCII string. It is legal for the \c - {const char *} parameter to be 0. If the \c {const char *} is not - '\0'-terminated, the results are undefined. Functions that copy - classic C strings into a SecTQString will not copy the terminating - '\0' character. The TQChar array of the SecTQString (as returned by - unicode()) is generally not terminated by a '\0'. If you need to - pass a SecTQString to a function that requires a C '\0'-terminated - string use latin1(). - - \keyword SecTQString::null - A SecTQString that has not been assigned to anything is \e null, i.e. - both the length and data pointer is 0. A SecTQString that references - the empty string ("", a single '\0' char) is \e empty. Both null - and empty SecTQStrings are legal parameters to the methods. Assigning - \c{(const char *) 0} to SecTQString gives a null SecTQString. For - convenience, \c SecTQString::null is a null SecTQString. When sorting, - empty strings come first, followed by non-empty strings, followed - by null strings. We recommend using \c{if ( !str.isNull() )} to - check for a non-null string rather than \c{if ( !str )}; see \l - operator!() for an explanation. - - Note that if you find that you are mixing usage of \l TQCString, - SecTQString, and \l TQByteArray, this causes lots of unnecessary - copying and might indicate that the true nature of the data you - are dealing with is uncertain. If the data is '\0'-terminated 8-bit - data, use \l TQCString; if it is unterminated (i.e. contains '\0's) - 8-bit data, use \l TQByteArray; if it is text, use SecTQString. - - Lists of strings are handled by the SecTQStringList class. You can - split a string into a list of strings using SecTQStringList::split(), - and join a list of strings into a single string with an optional - separator using SecTQStringList::join(). You can obtain a list of - strings from a string list that contain a particular substring or - that match a particular \link ntqregexp.html regex\endlink using - SecTQStringList::grep(). - - <b>Note for C programmers</b> - - Due to C++'s type system and the fact that SecTQString is implicitly - shared, SecTQStrings may be treated like ints or other simple base - types. For example: - - \code - SecTQString boolToString( bool b ) - { - SecTQString result; - if ( b ) - result = "True"; - else - result = "False"; - return result; - } - \endcode - - The variable, result, is an auto variable allocated on the stack. - When return is called, because we're returning by value, The copy - constructor is called and a copy of the string is returned. (No - actual copying takes place thanks to the implicit sharing, see - below.) - - Throughout TQt's source code you will encounter SecTQString usages like - this: - \code - SecTQString func( const SecTQString& input ) - { - SecTQString output = input; - // process output - return output; - } - \endcode - - The 'copying' of input to output is almost as fast as copying a - pointer because behind the scenes copying is achieved by - incrementing a reference count. SecTQString (like all TQt's implicitly - shared classes) operates on a copy-on-write basis, only copying if - an instance is actually changed. - - If you wish to create a deep copy of a SecTQString without losing any - Unicode information then you should use TQDeepCopy. - - \sa TQChar TQCString TQByteArray SecTQConstString -*/ - -Q_EXPORT SecTQStringData *SecTQString::shared_null = 0; -QT_STATIC_CONST_IMPL SecTQString SecTQString::null; -QT_STATIC_CONST_IMPL TQChar TQChar::null; -QT_STATIC_CONST_IMPL TQChar TQChar::replacement((ushort)0xfffd); -QT_STATIC_CONST_IMPL TQChar TQChar::byteOrderMark((ushort)0xfeff); -QT_STATIC_CONST_IMPL TQChar TQChar::byteOrderSwapped((ushort)0xfffe); -QT_STATIC_CONST_IMPL TQChar TQChar::nbsp((ushort)0x00a0); - -SecTQStringData* SecTQString::makeSharedNull() -{ - SecTQString::shared_null = new SecTQStringData; -#if defined( Q_OS_MAC ) - SecTQString *that = const_cast<SecTQString *>(&SecTQString::null); - that->d = SecTQString::shared_null; -#endif - return SecTQString::shared_null; -} - -/*! - \fn SecTQString::SecTQString() - - Constructs a null string, i.e. both the length and data pointer - are 0. - - \sa isNull() -*/ - -/*! - Constructs a string of length one, containing the character \a ch. -*/ -SecTQString::SecTQString( TQChar ch ) -{ - d = new SecTQStringData( QT_ALLOC_SECTQCHAR_VEC( 1 ), 1, 1 ); - d->unicode[0] = ch; -} - -/*! - Constructs an implicitly shared copy of \a s. This is very fast - since it only involves incrementing a reference count. -*/ -SecTQString::SecTQString( const SecTQString &s ) : - d(s.d) -{ - d->ref(); -} - - -SecTQString::SecTQString( int size, bool /*dummy*/ ) -{ - if ( size ) { - int l = size; - TQChar* uc = QT_ALLOC_SECTQCHAR_VEC( l ); - d = new SecTQStringData( uc, 0, l ); - } else { - d = shared_null ? shared_null : (shared_null=new SecTQStringData); - d->ref(); - } -} - - -/* Deep copy of STR. */ -SecTQString::SecTQString( const TQString &str ) -{ - const TQChar *unicode = str.unicode (); - uint length = str.length (); - - if ( !unicode && !length ) { - d = shared_null ? shared_null : makeSharedNull(); - d->ref(); - } else { - TQChar* uc = QT_ALLOC_SECTQCHAR_VEC( length ); - if ( unicode ) - memcpy(uc, unicode, length*sizeof(TQChar)); - d = new SecTQStringData(uc,unicode ? length : 0,length); - } -} - - -/*! - Constructs a string that is a deep copy of the first \a length - characters in the TQChar array. - - If \a unicode and \a length are 0, then a null string is created. - - If only \a unicode is 0, the string is empty but has \a length - characters of space preallocated: SecTQString expands automatically - anyway, but this may speed up some cases a little. We recommend - using the plain constructor and setLength() for this purpose since - it will result in more readable code. - - \sa isNull() setLength() -*/ - -SecTQString::SecTQString( const TQChar* unicode, uint length ) -{ - if ( !unicode && !length ) { - d = shared_null ? shared_null : makeSharedNull(); - d->ref(); - } else { - TQChar* uc = QT_ALLOC_SECTQCHAR_VEC( length ); - if ( unicode ) - memcpy(uc, unicode, length*sizeof(TQChar)); - d = new SecTQStringData(uc,unicode ? length : 0,length); - } -} - -/*! - \fn SecTQString::~SecTQString() - - Destroys the string and frees the string's data if this is the - last reference to the string. -*/ - - -/*! - Deallocates any space reserved solely by this SecTQString. - - If the string does not share its data with another SecTQString - instance, nothing happens; otherwise the function creates a new, - unique copy of this string. This function is called whenever the - string is modified. -*/ - -void SecTQString::real_detach() -{ - setLength( length() ); -} - -void SecTQString::deref() -{ - if ( d && d->deref() ) { - if ( d != shared_null ) - delete d; - d = 0; - } -} - -void SecTQStringData::deleteSelf() -{ - delete this; -} - -/*! - \fn SecTQString& SecTQString::operator=( TQChar c ) - - Sets the string to contain just the single character \a c. -*/ - - -/*! - \overload - - Assigns a shallow copy of \a s to this string and returns a - reference to this string. This is very fast because the string - isn't actually copied. -*/ -SecTQString &SecTQString::operator=( const SecTQString &s ) -{ - s.d->ref(); - deref(); - d = s.d; - return *this; -} - - -/*! - \fn bool SecTQString::isNull() const - - Returns TRUE if the string is null; otherwise returns FALSE. A - null string is always empty. - - \code - SecTQString a; // a.unicode() == 0, a.length() == 0 - a.isNull(); // TRUE, because a.unicode() == 0 - a.isEmpty(); // TRUE, because a.length() == 0 - \endcode - - \sa isEmpty(), length() -*/ - -/*! - \fn bool SecTQString::isEmpty() const - - Returns TRUE if the string is empty, i.e. if length() == 0; - otherwise returns FALSE. Null strings are also empty. - - \code - SecTQString a( "" ); - a.isEmpty(); // TRUE - a.isNull(); // FALSE - - SecTQString b; - b.isEmpty(); // TRUE - b.isNull(); // TRUE - \endcode - - \sa isNull(), length() -*/ - -/*! - \fn uint SecTQString::length() const - - Returns the length of the string. - - Null strings and empty strings have zero length. - - \sa isNull(), isEmpty() -*/ - -/*! - If \a newLen is less than the length of the string, then the - string is truncated at position \a newLen. Otherwise nothing - happens. - - \code - SecTQString s = "truncate me"; - s.truncate( 5 ); // s == "trunc" - \endcode - - \sa setLength() -*/ - -void SecTQString::truncate( uint newLen ) -{ - if ( newLen < d->len ) - setLength( newLen ); -} - -/*! - Ensures that at least \a newLen characters are allocated to the - string, and sets the length of the string to \a newLen. Any new - space allocated contains arbitrary data. - - \sa reserve(), truncate() -*/ -void SecTQString::setLength( uint newLen ) -{ - if ( d->count != 1 || newLen > d->maxl || - ( newLen * 4 < d->maxl && d->maxl > 4 ) ) { - // detach, grow or shrink - uint newMax = computeNewMax( newLen ); - TQChar* nd = QT_ALLOC_SECTQCHAR_VEC( newMax ); - if ( nd ) { - uint len = TQMIN( d->len, newLen ); - memcpy( nd, d->unicode, sizeof(TQChar) * len ); - deref(); - d = new SecTQStringData( nd, newLen, newMax ); - } - } else { - d->len = newLen; - } -} - - -/*! - \internal - - Like setLength, but doesn't shrink the allocated memory. -*/ -void SecTQString::grow( uint newLen ) -{ - if ( d->count != 1 || newLen > d->maxl ) { - setLength( newLen ); - } else { - d->len = newLen; - } -} - - -/*! - Returns a substring that contains the \a len leftmost characters - of the string. - - The whole string is returned if \a len exceeds the length of the - string. - - \code - SecTQString s = "Pineapple"; - SecTQString t = s.left( 4 ); // t == "Pine" - \endcode - - \sa right(), mid(), isEmpty() -*/ - -SecTQString SecTQString::left( uint len ) const -{ - if ( isEmpty() ) { - return SecTQString(); - } else if ( len == 0 ) { // ## just for 1.x compat: - return SecTQString (""); - } else if ( len >= length() ) { - return *this; - } else { - SecTQString s( len, TRUE ); - memcpy( s.d->unicode, d->unicode, len * sizeof(TQChar) ); - s.d->len = len; - return s; - } -} - -/*! - Returns a string that contains the \a len rightmost characters of - the string. - - If \a len is greater than the length of the string then the whole - string is returned. - - \code - SecTQString string( "Pineapple" ); - SecTQString t = string.right( 5 ); // t == "apple" - \endcode - - \sa left(), mid(), isEmpty() -*/ - -SecTQString SecTQString::right( uint len ) const -{ - if ( isEmpty() ) { - return SecTQString(); - } else if ( len == 0 ) { // ## just for 1.x compat: - return SecTQString (""); - } else { - uint l = length(); - if ( len >= l ) - return *this; - SecTQString s( len, TRUE ); - memcpy( s.d->unicode, d->unicode+(l-len), len*sizeof(TQChar) ); - s.d->len = len; - return s; - } -} - -/*! - Returns a string that contains the \a len characters of this - string, starting at position \a index. - - Returns a null string if the string is empty or \a index is out of - range. Returns the whole string from \a index if \a index + \a len - exceeds the length of the string. - - \code - SecTQString s( "Five pineapples" ); - SecTQString t = s.mid( 5, 4 ); // t == "pine" - \endcode - - \sa left(), right() -*/ - -SecTQString SecTQString::mid( uint index, uint len ) const -{ - uint slen = length(); - if ( isEmpty() || index >= slen ) { - return SecTQString(); - } else if ( len == 0 ) { // ## just for 1.x compat: - return SecTQString (""); - } else { - if ( len > slen-index ) - len = slen - index; - if ( index == 0 && len == slen ) - return *this; - register const TQChar *p = unicode()+index; - SecTQString s( len, TRUE ); - memcpy( s.d->unicode, p, len * sizeof(TQChar) ); - s.d->len = len; - return s; - } -} - -/*! - Inserts \a s into the string at position \a index. - - If \a index is beyond the end of the string, the string is - extended with spaces to length \a index and \a s is then appended - and returns a reference to the string. - - \code - SecTQString string( "I like fish" ); - str = string.insert( 2, "don't " ); - // str == "I don't like fish" - \endcode - - \sa remove(), replace() -*/ - -SecTQString &SecTQString::insert( uint index, const SecTQString &s ) -{ - // the sub function takes care of &s == this case. - return insert( index, s.unicode(), s.length() ); -} - -/*! - \overload - - Inserts the first \a len characters in \a s into the string at - position \a index and returns a reference to the string. -*/ - -SecTQString &SecTQString::insert( uint index, const TQChar* s, uint len ) -{ - if ( len == 0 ) - return *this; - uint olen = length(); - int nlen = olen + len; - - if ( s >= d->unicode && (uint)(s - d->unicode) < d->maxl ) { - // Part of me - take a copy. - TQChar *tmp = QT_ALLOC_SECTQCHAR_VEC( len ); - memcpy(tmp,s,len*sizeof(TQChar)); - insert(index,tmp,len); - QT_DELETE_SECTQCHAR_VEC( tmp ); - return *this; - } - - if ( index >= olen ) { // insert after end of string - grow( len + index ); - int n = index - olen; - TQChar* uc = d->unicode+olen; - while (n--) - *uc++ = ' '; - memcpy( d->unicode+index, s, sizeof(TQChar)*len ); - } else { // normal insert - grow( nlen ); - memmove( d->unicode + index + len, unicode() + index, - sizeof(TQChar) * (olen - index) ); - memcpy( d->unicode + index, s, sizeof(TQChar) * len ); - } - return *this; -} - -/*! - Removes \a len characters from the string starting at position \a - index, and returns a reference to the string. - - If \a index is beyond the length of the string, nothing happens. - If \a index is within the string, but \a index + \a len is beyond - the end of the string, the string is truncated at position \a - index. - - \code - SecTQString string( "Montreal" ); - string.remove( 1, 4 ); // string == "Meal" - \endcode - - \sa insert(), replace() -*/ - -SecTQString &SecTQString::remove( uint index, uint len ) -{ - uint olen = length(); - if ( index >= olen ) { - // range problems - } else if ( index + len >= olen ) { // index ok - setLength( index ); - } else if ( len != 0 ) { - real_detach(); - memmove( d->unicode+index, d->unicode+index+len, - sizeof(TQChar)*(olen-index-len) ); - setLength( olen-len ); - } - return *this; -} - - -/*! - \overload - - Replaces \a len characters with \a slen characters of TQChar data - from \a s, starting at position \a index, and returns a reference - to the string. - - \sa insert(), remove() -*/ - -SecTQString &SecTQString::replace( uint index, uint len, const TQChar* s, uint slen ) -{ - real_detach(); - if ( len == slen && index + len <= length() ) { - // Optimized common case: replace without size change - memcpy( d->unicode+index, s, len * sizeof(TQChar) ); - } else if ( s >= d->unicode && (uint)(s - d->unicode) < d->maxl ) { - // Part of me - take a copy. - TQChar *tmp = QT_ALLOC_SECTQCHAR_VEC( slen ); - memcpy( tmp, s, slen * sizeof(TQChar) ); - replace( index, len, tmp, slen ); - QT_DELETE_SECTQCHAR_VEC( tmp ); - } else { - remove( index, len ); - insert( index, s, slen ); - } - return *this; -} - - -/*! - Replaces \a len characters from the string with \a s, starting at - position \a index, and returns a reference to the string. - - If \a index is beyond the length of the string, nothing is deleted - and \a s is appended at the end of the string. If \a index is - valid, but \a index + \a len is beyond the end of the string, - the string is truncated at position \a index, then \a s is - appended at the end. - - \code - TQString string( "Say yes!" ); - string = string.replace( 4, 3, "NO" ); - // string == "Say NO!" - \endcode - - \sa insert(), remove() -*/ - -SecTQString &SecTQString::replace( uint index, uint len, const SecTQString &s ) -{ - return replace( index, len, s.unicode(), s.length() ); -} - - -/*! - Appends \a str to the string and returns a reference to the string. -*/ -SecTQString& SecTQString::operator+=( const SecTQString &str ) -{ - uint len1 = length(); - uint len2 = str.length(); - if ( len2 ) { - if ( isEmpty() ) { - operator=( str ); - } else { - grow( len1+len2 ); - memcpy( d->unicode+len1, str.unicode(), sizeof(TQChar)*len2 ); - } - } else if ( isNull() && !str.isNull() ) { // ## just for 1.x compat: - *this = SecTQString (""); - } - return *this; -} - - -/*! - Returns the string encoded in UTF-8 format. - - See TQTextCodec for more diverse coding/decoding of Unicode strings. - - \sa fromUtf8(), ascii(), latin1(), local8Bit() -*/ -uchar *SecTQString::utf8() const -{ - int l = length(); - int rlen = l*3+1; - uchar* rstr = (uchar*) ::secmem_malloc (rlen); - uchar* cursor = rstr; - const TQChar *ch = d->unicode; - for (int i=0; i < l; i++) { - uint u = ch->unicode(); - if ( u < 0x80 ) { - *cursor++ = (uchar)u; - } else { - if ( u < 0x0800 ) { - *cursor++ = 0xc0 | ((uchar) (u >> 6)); - } else { - if (u >= 0xd800 && u < 0xdc00 && i < l-1) { - unsigned short low = ch[1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - ++ch; - ++i; - u = (u - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - } - } - if (u > 0xffff) { - // if people are working in utf8, but strings are encoded in eg. latin1, the resulting - // name might be invalid utf8. This and the corresponding code in fromUtf8 takes care - // we can handle this without loosing information. This can happen with latin filenames - // and a utf8 locale under Unix. - if (u > 0x10fe00 && u < 0x10ff00) { - *cursor++ = (u - 0x10fe00); - ++ch; - continue; - } else { - *cursor++ = 0xf0 | ((uchar) (u >> 18)); - *cursor++ = 0x80 | ( ((uchar) (u >> 12)) & 0x3f); - } - } else { - *cursor++ = 0xe0 | ((uchar) (u >> 12)); - } - *cursor++ = 0x80 | ( ((uchar) (u >> 6)) & 0x3f); - } - *cursor++ = 0x80 | ((uchar) (u&0x3f)); - } - ++ch; - } - /* FIXME: secmem_realloc doesn't release extra memory. */ - *cursor = '\0'; - return rstr; -} - - -/*! - \fn TQChar SecTQString::at( uint ) const - - Returns the character at index \a i, or 0 if \a i is beyond the - length of the string. - - \code - const SecTQString string( "abcdefgh" ); - TQChar ch = string.at( 4 ); - // ch == 'e' - \endcode - - If the SecTQString is not const (i.e. const SecTQString) or const& (i.e. - const SecTQString &), then the non-const overload of at() will be used - instead. -*/ - -/*! - \fn TQChar SecTQString::constref(uint i) const - - Returns the TQChar at index \a i by value. - - Equivalent to at(\a i). - - \sa ref() -*/ - -/*! - \fn TQChar& SecTQString::ref(uint i) - - Returns the TQChar at index \a i by reference, expanding the string - with TQChar::null if necessary. The resulting reference can be - assigned to, or otherwise used immediately, but becomes invalid - once furher modifications are made to the string. - - \code - SecTQString string("ABCDEF"); - TQChar ch = string.ref( 3 ); // ch == 'D' - \endcode - - \sa constref() -*/ - -/*! - \fn TQChar SecTQString::operator[]( int ) const - - Returns the character at index \a i, or TQChar::null if \a i is - beyond the length of the string. - - If the SecTQString is not const (i.e., const SecTQString) or const\& - (i.e., const SecTQString\&), then the non-const overload of operator[] - will be used instead. -*/ - -/*! - \fn TQCharRef SecTQString::operator[]( int ) - - \overload - - The function returns a reference to the character at index \a i. - The resulting reference can then be assigned to, or used - immediately, but it will become invalid once further modifications - are made to the original string. - - If \a i is beyond the length of the string then the string is - expanded with TQChar::nulls, so that the TQCharRef references a - valid (null) character in the string. - - The TQCharRef internal class can be used much like a constant - TQChar, but if you assign to it, you change the original string - (which will detach itself because of SecTQString's copy-on-write - semantics). You will get compilation errors if you try to use the - result as anything but a TQChar. -*/ - -/*! - \fn TQCharRef SecTQString::at( uint i ) - - \overload - - The function returns a reference to the character at index \a i. - The resulting reference can then be assigned to, or used - immediately, but it will become invalid once further modifications - are made to the original string. - - If \a i is beyond the length of the string then the string is - expanded with TQChar::null. -*/ - -/* - Internal chunk of code to handle the - uncommon cases of at() above. -*/ -void SecTQString::subat( uint i ) -{ - uint olen = d->len; - if ( i >= olen ) { - setLength( i+1 ); // i is index; i+1 is needed length - for ( uint j=olen; j<=i; j++ ) - d->unicode[j] = TQChar::null; - } else { - // Just be sure to detach - real_detach(); - } -} - - -/*! \internal - */ -bool SecTQString::isRightToLeft() const -{ - int len = length(); - TQChar *p = d->unicode; - while ( len-- ) { - switch( (*p).direction () ) - { - case TQChar::DirL: - case TQChar::DirLRO: - case TQChar::DirLRE: - return FALSE; - case TQChar::DirR: - case TQChar::DirAL: - case TQChar::DirRLO: - case TQChar::DirRLE: - return TRUE; - default: - break; - } - ++p; - } - return FALSE; -} - - -/*! - \fn const SecTQString operator+( const SecTQString &s1, const SecTQString &s2 ) - - \relates SecTQString - - Returns a string which is the result of concatenating the string - \a s1 and the string \a s2. - - Equivalent to \a {s1}.append(\a s2). -*/ - - -/*! \fn void SecTQString::detach() - If the string does not share its data with another SecTQString instance, - nothing happens; otherwise the function creates a new, unique copy of - this string. This function is called whenever the string is modified. The - implicit sharing mechanism is implemented this way. -*/ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.h deleted file mode 100644 index e8fa5548..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.h +++ /dev/null @@ -1,307 +0,0 @@ -/* secntqstring.h - Secure version of TQString. - * Copyright (C) 1992-2002 Trolltech AS. All rights reserved. - * Copyright (C) 2003 g10 Code GmbH - * - * The license of the original ntqstring.h file from which this file is - * derived can be found below. Modified by Marcus Brinkmann - * <marcus@g10code.de>. All modifications are licensed as follows, so - * that the intersection of the two licenses is then the GNU General - * Public License version 2. - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0 - */ - -/**************************************************************************** -** $Id$ -** -** Definition of the SecTQString class, and related Unicode functions. -** -** Created : 920609 -** -** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. -** -** This file is part of the tools module of the TQt GUI Toolkit. -** -** This file may be distributed under the terms of the Q Public License -** as defined by Trolltech AS of Norway and appearing in the file -** LICENSE.TQPL included in the packaging of this file. -** -** This file may be distributed and/or modified under the terms of the -** GNU General Public License version 2 as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL included in the -** packaging of this file. -** -** Licensees holding valid TQt Enterprise Edition or TQt Professional Edition -** licenses may use this file in accordance with the TQt Commercial License -** Agreement provided with the Software. -** -** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE -** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -** -** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for -** information about TQt Commercial License Agreements. -** See http://www.trolltech.com/qpl/ for TQPL licensing information. -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#ifndef SECTQSTRING_H -#define SECTQSTRING_H - -extern "C" -{ -#include "memory.h" -} - -/* We need the original qchar and qstring for transparent conversion - from TQChar to TQChar and TQString to SecTQString (but not the other - way round). */ -#include <ntqstring.h> - -#ifndef QT_H -#include "ntqcstring.h" -#endif // QT_H - - -/***************************************************************************** - SecTQString class - *****************************************************************************/ - -class SecTQString; -class SecTQCharRef; -template <class T> class TQDeepCopy; -#include <stdio.h> -// internal -struct Q_EXPORT SecTQStringData : public TQShared { - SecTQStringData() : - TQShared(), unicode(0), len(0), maxl(0) { ref(); } - SecTQStringData(TQChar *u, uint l, uint m) : - TQShared(), unicode(u), len(l), maxl(m) { } - ~SecTQStringData() { if ( unicode ) ::secmem_free ((char*) unicode); } - - void deleteSelf(); - TQChar *unicode; -#ifdef Q_OS_MAC9 - uint len; -#else - uint len : 30; -#endif -#ifdef Q_OS_MAC9 - uint maxl; -#else - uint maxl : 30; -#endif -}; - - -class Q_EXPORT SecTQString -{ -public: - SecTQString(); // make null string - SecTQString( TQChar ); // one-char string - SecTQString( const SecTQString & ); // impl-shared copy - /* We need a way to convert a TQString to a SecTQString ("importing" - it). Having no conversion for the other way prevents - accidential bugs where the secure string is copied to insecure - memory. */ - SecTQString( const TQString & ); // deep copy - SecTQString( const TQChar* unicode, uint length ); // deep copy - ~SecTQString(); - - SecTQString &operator=( const SecTQString & ); // impl-shared copy - - QT_STATIC_CONST SecTQString null; - - bool isNull() const; - bool isEmpty() const; - uint length() const; - void truncate( uint pos ); - - SecTQString left( uint len ) const; - SecTQString right( uint len ) const; - SecTQString mid( uint index, uint len=0xffffffff) const; - - - SecTQString &insert( uint index, const SecTQString & ); - SecTQString &insert( uint index, const TQChar*, uint len ); - SecTQString &remove( uint index, uint len ); - SecTQString &replace( uint index, uint len, const SecTQString & ); - SecTQString &replace( uint index, uint len, const TQChar*, uint clen ); - - SecTQString &operator+=( const SecTQString &str ); - - TQChar at( uint i ) const - { return i < d->len ? d->unicode[i] : TQChar::null; } - TQChar operator[]( int i ) const { return at((uint)i); } - SecTQCharRef at( uint i ); - SecTQCharRef operator[]( int i ); - - TQChar constref(uint i) const - { return at(i); } - TQChar& ref(uint i) - { // Optimized for easy-inlining by simple compilers. - if ( d->count != 1 || i >= d->len ) - subat( i ); - return d->unicode[i]; - } - - const TQChar* unicode() const { return d->unicode; } - - uchar* utf8() const; - - void setLength( uint newLength ); - - bool isRightToLeft() const; - - -private: - SecTQString( int size, bool /* dummy */ ); // allocate size incl. \0 - - void deref(); - void real_detach(); - void subat( uint ); - - void grow( uint newLength ); - - SecTQStringData *d; - static SecTQStringData* shared_null; - static SecTQStringData* makeSharedNull(); - - friend class SecTQConstString; - friend class TQTextStream; - SecTQString( SecTQStringData* dd, bool /* dummy */ ) : d(dd) { } - - // needed for TQDeepCopy - void detach(); - friend class TQDeepCopy<SecTQString>; -}; - -class Q_EXPORT SecTQCharRef { - friend class SecTQString; - SecTQString& s; - uint p; - SecTQCharRef(SecTQString* str, uint pos) : s(*str), p(pos) { } - -public: - // most TQChar operations repeated here - - // all this is not documented: We just say "like TQChar" and let it be. -#ifndef Q_QDOC - ushort unicode() const { return s.constref(p).unicode(); } - - // An operator= for each TQChar cast constructors - SecTQCharRef operator=(char c ) { s.ref(p)=c; return *this; } - SecTQCharRef operator=(uchar c ) { s.ref(p)=c; return *this; } - SecTQCharRef operator=(TQChar c ) { s.ref(p)=c; return *this; } - SecTQCharRef operator=(const SecTQCharRef& c ) { s.ref(p)=c.unicode(); return *this; } - SecTQCharRef operator=(ushort rc ) { s.ref(p)=rc; return *this; } - SecTQCharRef operator=(short rc ) { s.ref(p)=rc; return *this; } - SecTQCharRef operator=(uint rc ) { s.ref(p)=rc; return *this; } - SecTQCharRef operator=(int rc ) { s.ref(p)=rc; return *this; } - - operator TQChar () const { return s.constref(p); } - - // each function... - bool isNull() const { return unicode()==0; } - bool isPrint() const { return s.constref(p).isPrint(); } - bool isPunct() const { return s.constref(p).isPunct(); } - bool isSpace() const { return s.constref(p).isSpace(); } - bool isMark() const { return s.constref(p).isMark(); } - bool isLetter() const { return s.constref(p).isLetter(); } - bool isNumber() const { return s.constref(p).isNumber(); } - bool isLetterOrNumber() { return s.constref(p).isLetterOrNumber(); } - bool isDigit() const { return s.constref(p).isDigit(); } - - int digitValue() const { return s.constref(p).digitValue(); } - TQChar lower() const { return s.constref(p).lower(); } - TQChar upper() const { return s.constref(p).upper(); } - - TQChar::Category category() const { return s.constref(p).category(); } - TQChar::Direction direction() const { return s.constref(p).direction(); } - TQChar::Joining joining() const { return s.constref(p).joining(); } - bool mirrored() const { return s.constref(p).mirrored(); } - TQChar mirroredChar() const { return s.constref(p).mirroredChar(); } - // const SecTQString &decomposition() const { return s.constref(p).decomposition(); } - TQChar::Decomposition decompositionTag() const { return s.constref(p).decompositionTag(); } - unsigned char combiningClass() const { return s.constref(p).combiningClass(); } - - // Not the non-const ones of these. - uchar cell() const { return s.constref(p).cell(); } - uchar row() const { return s.constref(p).row(); } -#endif -}; - -inline SecTQCharRef SecTQString::at( uint i ) { return SecTQCharRef(this,i); } -inline SecTQCharRef SecTQString::operator[]( int i ) { return at((uint)i); } - -class Q_EXPORT SecTQConstString : private SecTQString { -public: - SecTQConstString( const TQChar* unicode, uint length ); - ~SecTQConstString(); - const SecTQString& string() const { return *this; } -}; - - -/***************************************************************************** - SecTQString inline functions - *****************************************************************************/ - -// These two move code into makeSharedNull() and deletesData() -// to improve cache-coherence (and reduce code bloat), while -// keeping the common cases fast. -// -// No safe way to pre-init shared_null on ALL compilers/linkers. -inline SecTQString::SecTQString() : - d(shared_null ? shared_null : makeSharedNull()) -{ - d->ref(); -} -// -inline SecTQString::~SecTQString() -{ - if ( d->deref() ) { - if ( d != shared_null ) - d->deleteSelf(); - } -} - -// needed for TQDeepCopy -inline void SecTQString::detach() -{ real_detach(); } - -inline bool SecTQString::isNull() const -{ return unicode() == 0; } - -inline uint SecTQString::length() const -{ return d->len; } - -inline bool SecTQString::isEmpty() const -{ return length() == 0; } - -/***************************************************************************** - SecTQString non-member operators - *****************************************************************************/ - -Q_EXPORT inline const SecTQString operator+( const SecTQString &s1, const SecTQString &s2 ) -{ - SecTQString tmp( s1 ); - tmp += s2; - return tmp; -} - -#endif // SECTQSTRING_H diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.am deleted file mode 100644 index 260ee390..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -# Makefile.am - PIN entry tty frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -bin_PROGRAMS = pinentry-tty - -AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBICONV) - -pinentry_tty_SOURCES = pinentry-tty.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.in deleted file mode 100644 index 2bb778f5..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.in +++ /dev/null @@ -1,679 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry tty frontend. -# Copyright (C) 2002, 2015 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-tty$(EXEEXT) -subdir = tty -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_tty_OBJECTS = pinentry-tty.$(OBJEXT) -pinentry_tty_OBJECTS = $(am_pinentry_tty_OBJECTS) -pinentry_tty_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -pinentry_tty_DEPENDENCIES = ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/pinentry-tty.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_tty_SOURCES) -DIST_SOURCES = $(pinentry_tty_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBICONV) - -pinentry_tty_SOURCES = pinentry-tty.c -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tty/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tty/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-tty$(EXEEXT): $(pinentry_tty_OBJECTS) $(pinentry_tty_DEPENDENCIES) $(EXTRA_pinentry_tty_DEPENDENCIES) - @rm -f pinentry-tty$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(pinentry_tty_OBJECTS) $(pinentry_tty_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-tty.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/pinentry-tty.Po - -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 -f ./$(DEPDIR)/pinentry-tty.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/pinentry-tty.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/pinentry-tty.c deleted file mode 100644 index c4d85c60..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/pinentry-tty.c +++ /dev/null @@ -1,612 +0,0 @@ -/* pinentry-tty.c - A minimalist dumb terminal mechanism for PIN entry - * Copyright (C) 2014 Serge Voilokov - * Copyright (C) 2015 Daniel Kahn Gillmor <dkg@fifthhorseman.net> - * Copyright (C) 2015 g10 Code GmbH - * - * This file is part of PINENTRY. - * - * PINENTRY is free software; you can redistribute 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. - * - * PINENTRY is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif -#include <signal.h> -#include <fcntl.h> -#include <unistd.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <time.h> -#include <termios.h> -#ifdef HAVE_UTIME_H -#include <utime.h> -#endif /*HAVE_UTIME_H*/ -#include <sys/types.h> -#include <sys/stat.h> -#include <ctype.h> -#include <gpg-error.h> - -#include "pinentry.h" -#include "memory.h" - -#ifndef HAVE_DOSISH_SYSTEM -static int timed_out; -#endif - -static struct termios n_term; -static struct termios o_term; - -static int -terminal_save (int fd) -{ - if ((tcgetattr (fd, &o_term)) == -1) - return -1; - return 0; -} - -static void -terminal_restore (int fd) -{ - tcsetattr (fd, TCSANOW, &o_term); -} - -static int -terminal_setup (int fd, int line_edit) -{ - n_term = o_term; - if (line_edit) - n_term.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL); - else - { - n_term.c_lflag &= ~(ECHO|ICANON); - n_term.c_lflag |= ISIG; - n_term.c_cc[VMIN] = 1; - n_term.c_cc[VTIME]= 0; - } - if ((tcsetattr(fd, TCSAFLUSH, &n_term)) == -1) - return -1; - return 1; -} - -#define UNDERLINE_START "\033[4m" -/* Bold, red. */ -#define ALERT_START "\033[1;31m" -#define NORMAL_RESTORE "\033[0m" - -static void -fputs_highlighted (char *text, char *highlight, FILE *ttyfo) -{ - for (; *text; text ++) - { - /* Skip accelerator prefix. */ - if (*text == '_') - { - text ++; - if (! *text) - break; - } - - if (text == highlight) - fputs (UNDERLINE_START, ttyfo); - fputc (*text, ttyfo); - if (text == highlight) - fputs (NORMAL_RESTORE, ttyfo); - } -} - -static char -button (char *text, char *default_text, FILE *ttyfo) -{ - char *highlight; - int use_default = 0; - - if (! text) - return 0; - - /* Skip any leading white space. */ - while (*text == ' ') - text ++; - - highlight = text; - while ((highlight = strchr (highlight, '_'))) - { - highlight = highlight + 1; - if (*highlight == '_') - { - /* Escaped underscore. Skip both characters. */ - highlight++; - continue; - } - if (!isalnum (*highlight)) - /* Unusable accelerator. */ - continue; - break; - } - - if (! highlight) - /* Not accelerator. Take the first alpha-numeric character. */ - { - highlight = text; - while (*highlight && !isalnum (*highlight)) - highlight ++; - } - - if (! *highlight) - /* Hmm, no alpha-numeric characters. */ - { - if (! default_text) - return 0; - highlight = default_text; - use_default = 1; - } - - fputs (" ", ttyfo); - fputs_highlighted (text, highlight, ttyfo); - if (use_default) - { - fputs (" (", ttyfo); - fputs_highlighted (default_text, highlight, ttyfo); - fputc (')', ttyfo); - } - fputc ('\n', ttyfo); - - return tolower (*highlight); -} - -static void -dump_error_text (FILE *ttyfo, const char *text) -{ - int lines = 0; - - if (! text || ! *text) - return; - - for (;;) - { - const char *eol = strchr (text, '\n'); - if (! eol) - eol = text + strlen (text); - - lines ++; - - fwrite ("\n *** ", 6, 1, ttyfo); - fputs (ALERT_START, ttyfo); - fwrite (text, (size_t) (eol - text), 1, ttyfo); - fputs (NORMAL_RESTORE, ttyfo); - - if (! *eol) - break; - - text = eol + 1; - } - - if (lines > 1) - fputc ('\n', ttyfo); - else - fwrite (" ***\n", 5, 1, ttyfo); - - fputc ('\n', ttyfo); -} - -static int -confirm (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) -{ - char *msg; - char *msgbuffer = NULL; - - char ok = 0; - char notok = 0; - char cancel = 0; - - int ret; - - dump_error_text (ttyfo, pinentry->error); - - msg = pinentry->description; - if (! msg) - { - /* If there is no description, fallback to the title. */ - msg = msgbuffer = pinentry_get_title (pinentry); - } - if (! msg) - msg = "Confirm:"; - - if (msg) - { - fputs (msg, ttyfo); - fputc ('\n', ttyfo); - } - free (msgbuffer); - - fflush (ttyfo); - - if (pinentry->ok) - ok = button (pinentry->ok, "OK", ttyfo); - else if (pinentry->default_ok) - ok = button (pinentry->default_ok, "OK", ttyfo); - else - ok = button ("OK", NULL, ttyfo); - - if (! pinentry->one_button) - { - if (pinentry->cancel) - cancel = button (pinentry->cancel, "Cancel", ttyfo); - else if (pinentry->default_cancel) - cancel = button (pinentry->default_cancel, "Cancel", ttyfo); - - if (pinentry->notok) - notok = button (pinentry->notok, "No", ttyfo); - } - - while (1) - { - int input; - - if (pinentry->one_button) - fprintf (ttyfo, "Press any key to continue."); - else - { - fputc ('[', ttyfo); - if (ok) - fputc (ok, ttyfo); - if (cancel) - fputc (cancel, ttyfo); - if (notok) - fputc (notok, ttyfo); - fputs("]? ", ttyfo); - } - fflush (ttyfo); - - input = fgetc (ttyfi); - - if (input == EOF) - { - pinentry->close_button = 1; - - pinentry->canceled = 1; - -#ifndef HAVE_DOSISH_SYSTEM - if (!timed_out && errno == EINTR) - pinentry->specific_err = gpg_error (GPG_ERR_FULLY_CANCELED); -#endif - - ret = 0; - break; - } - else - { - fprintf (ttyfo, "%c\n", input); - input = tolower (input); - } - - if (pinentry->one_button) - { - ret = 1; - break; - } - - if (cancel && input == cancel) - { - pinentry->canceled = 1; - ret = 0; - break; - } - else if (notok && input == notok) - { - ret = 0; - break; - } - else if (ok && input == ok) - { - ret = 1; - break; - } - else - { - fprintf (ttyfo, "Invalid selection.\n"); - } - } - -#ifndef HAVE_DOSISH_SYSTEM - if (timed_out) - pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); -#endif - - return ret; -} - -static char * -read_password (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) -{ - int done = 0; - int len = 128; - int count = 0; - char *buffer; - - (void) ttyfo; - - buffer = secmem_malloc (len); - if (! buffer) - return NULL; - - while (!done) - { - int c; - - if (count == len - 1) - /* Double the buffer's size. Note: we check if count is len - - 1 and not len so that we always have space for the NUL - character. */ - { - int new_len = 2 * len; - char *tmp = secmem_realloc (buffer, new_len); - if (! tmp) - { - secmem_free (tmp); - return NULL; - } - buffer = tmp; - len = new_len; - } - - c = fgetc (ttyfi); - switch (c) - { - case EOF: - done = -1; -#ifndef HAVE_DOSISH_SYSTEM - if (!timed_out && errno == EINTR) - pinentry->specific_err = gpg_error (GPG_ERR_FULLY_CANCELED); -#endif - break; - - case '\n': - done = 1; - break; - - default: - buffer[count ++] = c; - break; - } - } - buffer[count] = '\0'; - - if (done == -1) - { - secmem_free (buffer); - return NULL; - } - - return buffer; -} - - -static int -password (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) -{ - char *msg; - char *msgbuffer = NULL; - int done = 0; - - msg = pinentry->description; - if (! msg) - msg = msgbuffer = pinentry_get_title (pinentry); - if (! msg) - msg = "Enter your passphrase."; - - dump_error_text (ttyfo, pinentry->error); - - fprintf (ttyfo, "%s\n", msg); - free (msgbuffer); - - while (! done) - { - char *passphrase; - - char *prompt = pinentry->prompt; - if (! prompt || !*prompt) - prompt = "PIN"; - - fprintf (ttyfo, "%s%s ", - prompt, - /* Make sure the prompt ends in a : or a question mark. */ - (prompt[strlen(prompt) - 1] == ':' - || prompt[strlen(prompt) - 1] == '?') ? "" : ":"); - fflush (ttyfo); - - passphrase = read_password (pinentry, ttyfi, ttyfo); - fputc ('\n', ttyfo); - if (! passphrase) - { - done = -1; - break; - } - - if (! pinentry->repeat_passphrase) - done = 1; - else - { - char *passphrase2; - - prompt = pinentry->repeat_passphrase; - fprintf (ttyfo, "%s%s ", - prompt, - /* Make sure the prompt ends in a : or a question mark. */ - (prompt[strlen(prompt) - 1] == ':' - || prompt[strlen(prompt) - 1] == '?') ? "" : ":"); - fflush (ttyfo); - - passphrase2 = read_password (pinentry, ttyfi, ttyfo); - fputc ('\n', ttyfo); - if (! passphrase2) - { - done = -1; - break; - } - - if (strcmp (passphrase, passphrase2) == 0) - { - pinentry->repeat_okay = 1; - done = 1; - } - else - dump_error_text (ttyfo, - pinentry->repeat_error_string - ?: "Passphrases don't match."); - - secmem_free (passphrase2); - } - - if (done == 1) - pinentry_setbuffer_use (pinentry, passphrase, 0); - else - secmem_free (passphrase); - } - -#ifndef HAVE_DOSISH_SYSTEM - if (timed_out) - pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); -#endif - - return done; -} - - -/* If a touch has been registered, touch that file. */ -static void -do_touch_file(pinentry_t pinentry) -{ -#ifdef HAVE_UTIME_H - struct stat st; - time_t tim; - - if (!pinentry->touch_file || !*pinentry->touch_file) - return; - - if (stat(pinentry->touch_file, &st)) - return; /* Oops. */ - - /* Make sure that we actually update the mtime. */ - while ((tim = time(NULL)) == st.st_mtime) - sleep(1); - - /* Update but ignore errors as we can't do anything in that case. - Printing error messages may even clubber the display further. */ - utime (pinentry->touch_file, NULL); -#endif /*HAVE_UTIME_H*/ -} - -#ifndef HAVE_DOSISH_SYSTEM -static void -catchsig (int sig) -{ - if (sig == SIGALRM) - timed_out = 1; -} -#endif - -int -tty_cmd_handler (pinentry_t pinentry) -{ - int rc = 0; - FILE *ttyfi = stdin; - FILE *ttyfo = stdout; - int saved_errno = 0; - -#ifndef HAVE_DOSISH_SYSTEM - timed_out = 0; - - if (pinentry->timeout) - { - struct sigaction sa; - - memset (&sa, 0, sizeof(sa)); - sa.sa_handler = catchsig; - sigaction (SIGALRM, &sa, NULL); - sigaction (SIGINT, &sa, NULL); - alarm (pinentry->timeout); - } -#endif - - if (pinentry->ttyname) - { - ttyfi = fopen (pinentry->ttyname, "r"); - if (!ttyfi) - return -1; - - ttyfo = fopen (pinentry->ttyname, "w"); - if (!ttyfo) - { - saved_errno = errno; - fclose (ttyfi); - errno = saved_errno; - return -1; - } - } - - if (terminal_save (fileno (ttyfi)) < 0) - rc = -1; - else - { - if (terminal_setup (fileno (ttyfi), !!pinentry->pin) == -1) - { - saved_errno = errno; - fprintf (stderr, "terminal_setup failure, exiting\n"); - rc = -1; - } - else - { - if (pinentry->pin) - rc = password (pinentry, ttyfi, ttyfo); - else - rc = confirm (pinentry, ttyfi, ttyfo); - - terminal_restore (fileno (ttyfi)); - do_touch_file (pinentry); - } - } - - if (pinentry->ttyname) - { - fclose (ttyfi); - fclose (ttyfo); - } - - if (saved_errno) - errno = saved_errno; - - return rc; -} - - -pinentry_cmd_handler_t pinentry_cmd_handler = tty_cmd_handler; - - - -int -main (int argc, char *argv[]) -{ - pinentry_init ("pinentry-tty"); - - /* Consumes all arguments. */ - pinentry_parse_opts(argc, argv); - - if (pinentry_loop ()) - return 1; - - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.am deleted file mode 100644 index 12c66db6..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -# Makefile.am - PIN entry W32 -# Copyright (C) 2004 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -## Process this file with automake to produce Makefile.in - -logos = logo-32.bmp logo-48.bmp logo-64.bmp logo-96.bmp logo-128.bmp - -EXTRA_DIST = $(logos) - -bin_PROGRAMS = pinentry-w32 - -AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem \ - -I$(top_srcdir)/pinentry - - -pinentry_w32_SOURCES = main.c pinentry-w32.rc resource.h - -# Note: For testing you should add -mconsole to LDFLAGS. -pinentry_w32_LDFLAGS = -mwindows -pinentry_w32_LDADD = pinentry-w32.o \ - ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) - -pinentry-w32.o: pinentry-w32.rc resource.h $(logos) - $(WINDRES) -I.. -v -o $@ $< - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.in deleted file mode 100644 index d7acbb72..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.in +++ /dev/null @@ -1,690 +0,0 @@ -# Makefile.in generated by automake 1.16.3 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2020 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@ - -# Makefile.am - PIN entry W32 -# Copyright (C) 2004 g10 Code GmbH -# -# This file is part of PINENTRY. -# -# PINENTRY is free software; you can redistribute 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. -# -# PINENTRY is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see <https://www.gnu.org/licenses/>. -# SPDX-License-Identifier: GPL-2.0+ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -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 = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = pinentry-w32$(EXEEXT) -subdir = w32 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ - $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ - $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am_pinentry_w32_OBJECTS = main.$(OBJEXT) -pinentry_w32_OBJECTS = $(am_pinentry_w32_OBJECTS) -am__DEPENDENCIES_1 = -pinentry_w32_DEPENDENCIES = pinentry-w32.o ../pinentry/libpinentry.a \ - ../secmem/libsecmem.a $(am__DEPENDENCIES_1) -pinentry_w32_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(pinentry_w32_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/main.Po -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(pinentry_w32_SOURCES) -DIST_SOURCES = $(pinentry_w32_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -COMMON_CFLAGS = @COMMON_CFLAGS@ -COMMON_LIBS = @COMMON_LIBS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EFL_CFLAGS = @EFL_CFLAGS@ -EFL_LIBS = @EFL_LIBS@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FLTKCFLAGS = @FLTKCFLAGS@ -FLTKCXXFLAGS = @FLTKCXXFLAGS@ -FLTKLIBS = @FLTKLIBS@ -FLTK_CONFIG = @FLTK_CONFIG@ -GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ -GNOME3_CFLAGS = @GNOME3_CFLAGS@ -GNOME3_LIBS = @GNOME3_LIBS@ -GPGRT_CONFIG = @GPGRT_CONFIG@ -GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ -GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ -GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ -GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ -GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ -GREP = @GREP@ -GTK2_CFLAGS = @GTK2_CFLAGS@ -GTK2_LIBS = @GTK2_LIBS@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ -KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ -LDFLAGS = @LDFLAGS@ -LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ -LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ -LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCURSES = @LIBCURSES@ -LIBICONV = @LIBICONV@ -LIBNCURSES = @LIBNCURSES@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ -LIBSECRET_LIBS = @LIBSECRET_LIBS@ -LIBTERMCAP = @LIBTERMCAP@ -LIBX11_CFLAGS = @LIBX11_CFLAGS@ -LIBX11_LIBS = @LIBX11_LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOC = @MOC@ -MOC2 = @MOC2@ -MOC4 = @MOC4@ -MOC42 = @MOC42@ -NCURSES_CFLAGS = @NCURSES_CFLAGS@ -NCURSES_INCLUDE = @NCURSES_INCLUDE@ -NCURSES_LIBS = @NCURSES_LIBS@ -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@ -PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ -PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ -PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ -PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ -PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ -PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ -PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ -PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ -PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ -PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ -PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ -PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ -PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -QTCHOOSER = @QTCHOOSER@ -RANLIB = @RANLIB@ -RCC = @RCC@ -RCC2 = @RCC2@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -TQT_MOC = @TQT_MOC@ -VERSION = @VERSION@ -WINDRES = @WINDRES@ -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@ -ac_ct_CXX = @ac_ct_CXX@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -runstatedir = @runstatedir@ -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@ -logos = logo-32.bmp logo-48.bmp logo-64.bmp logo-96.bmp logo-128.bmp -EXTRA_DIST = $(logos) -AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem \ - -I$(top_srcdir)/pinentry - -pinentry_w32_SOURCES = main.c pinentry-w32.rc resource.h - -# Note: For testing you should add -mconsole to LDFLAGS. -pinentry_w32_LDFLAGS = -mwindows -pinentry_w32_LDADD = pinentry-w32.o \ - ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) - -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu w32/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu w32/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__maybe_remake_depfiles)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - 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) - -pinentry-w32$(EXEEXT): $(pinentry_w32_OBJECTS) $(pinentry_w32_DEPENDENCIES) $(EXTRA_pinentry_w32_DEPENDENCIES) - @rm -f pinentry-w32$(EXEEXT) - $(AM_V_CCLD)$(pinentry_w32_LINK) $(pinentry_w32_OBJECTS) $(pinentry_w32_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker - -$(am__depfiles_remade): - @$(MKDIR_P) $(@D) - @echo '# dummy' >$@-t && $(am__mv) $@-t $@ - -am--depfiles: $(am__depfiles_remade) - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - 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-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - 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" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) distdir-am - -distdir-am: $(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: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -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 -f ./$(DEPDIR)/main.Po - -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 -f ./$(DEPDIR)/main.Po - -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 TAGS all all-am am--depfiles check check-am clean \ - clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ - 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 tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -pinentry-w32.o: pinentry-w32.rc resource.h $(logos) - $(WINDRES) -I.. -v -o $@ $< - -# 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/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-128.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-128.bmp Binary files differdeleted file mode 100644 index 883475b3..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-128.bmp +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-32.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-32.bmp Binary files differdeleted file mode 100644 index 38d60183..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-32.bmp +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-48.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-48.bmp Binary files differdeleted file mode 100644 index 53c62743..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-48.bmp +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-64.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-64.bmp Binary files differdeleted file mode 100644 index 7d4ca29a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-64.bmp +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-96.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-96.bmp Binary files differdeleted file mode 100644 index f0496c88..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-96.bmp +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/main.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/main.c deleted file mode 100644 index d8a48339..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/main.c +++ /dev/null @@ -1,719 +0,0 @@ -/* main.c - Secure W32 dialog for PIN entry. - * Copyright (C) 2004, 2007 g10 Code GmbH - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <config.h> -#include <stdio.h> -#include <stdlib.h> -#if WINVER < 0x0403 -# define WINVER 0x0403 /* Required for SendInput. */ -#endif -#include <windows.h> -#ifdef HAVE_W32CE_SYSTEM -# include <winioctl.h> -# include <sipapi.h> -#endif - -#include "pinentry.h" -#include "memory.h" - -#include "resource.h" -/* #include "msgcodes.h" */ - -#define PGMNAME "pinentry-w32" - -#ifndef LSFW_LOCK -# define LSFW_LOCK 1 -# define LSFW_UNLOCK 2 -#endif - -#ifndef debugfp -#define debugfp stderr -#endif - - -/* This function pointer gets initialized in main. */ -#ifndef HAVE_W32CE_SYSTEM -static BOOL WINAPI (*lock_set_foreground_window)(UINT); -#endif - -static int w32_cmd_handler (pinentry_t pe); -static void ok_button_clicked (HWND dlg, pinentry_t pe); - - -/* We use global variables for the state, because there should never - ever be a second instance. */ -static HWND dialog_handle; -static int confirm_mode; -static int passphrase_ok; -static int confirm_yes; - -/* The file descriptors for the loop. */ -static int w32_infd; -static int w32_outfd; - - -/* Connect this module to the pinentry framework. */ -pinentry_cmd_handler_t pinentry_cmd_handler = w32_cmd_handler; - - - -const char * -w32_strerror (int ec) -{ - static char strerr[256]; - - if (ec == -1) - ec = (int)GetLastError (); -#ifdef HAVE_W32CE_SYSTEM - /* There is only a wchar_t FormatMessage. It does not make much - sense to play the conversion game; we print only the code. */ - snprintf (strerr, sizeof strerr, "ec=%d", ec); -#else - FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, NULL, ec, - MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), - strerr, sizeof strerr - 1, NULL); -#endif - return strerr; -} - - - -#ifdef HAVE_W32CE_SYSTEM -/* Create a pipe. WRITE_END shall have the opposite value of the one - pssed to _assuan_w32ce_prepare_pipe; see there for more - details. */ -#define GPGCEDEV_IOCTL_MAKE_PIPE \ - CTL_CODE (FILE_DEVICE_STREAMS, 2049, METHOD_BUFFERED, FILE_ANY_ACCESS) -static HANDLE -w32ce_finish_pipe (int rvid, int write_end) -{ - HANDLE hd; - - hd = CreateFile (L"GPG1:", write_end? GENERIC_WRITE : GENERIC_READ, - FILE_SHARE_READ | FILE_SHARE_WRITE, - NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL); - if (hd != INVALID_HANDLE_VALUE) - { - if (!DeviceIoControl (hd, GPGCEDEV_IOCTL_MAKE_PIPE, - &rvid, sizeof rvid, NULL, 0, NULL, NULL)) - { - DWORD lastrc = GetLastError (); - CloseHandle (hd); - hd = INVALID_HANDLE_VALUE; - SetLastError (lastrc); - } - } - - return hd; -} -#endif /*HAVE_W32CE_SYSTEM*/ - - -/* static HWND */ -/* show_window_hierarchy (HWND parent, int level) */ -/* { */ -/* HWND child; */ - -/* child = GetWindow (parent, GW_CHILD); */ -/* while (child) */ -/* { */ -/* char buf[1024+1]; */ -/* char name[200]; */ -/* int nname; */ -/* char *pname; */ - -/* memset (buf, 0, sizeof (buf)); */ -/* GetWindowText (child, buf, sizeof (buf)-1); */ -/* nname = GetClassName (child, name, sizeof (name)-1); */ -/* if (nname) */ -/* pname = name; */ -/* else */ -/* pname = NULL; */ -/* fprintf (debugfp, "### %*shwnd=%p (%s) `%s'\n", level*2, "", child, */ -/* pname? pname:"", buf); */ -/* show_window_hierarchy (child, level+1); */ -/* child = GetNextWindow (child, GW_HWNDNEXT); */ -/* } */ - -/* return NULL; */ -/* } */ - - - -/* Convert a wchar to UTF8. Caller needs to release the string. - Returns NULL on error. */ -static char * -wchar_to_utf8 (const wchar_t *string, size_t len, int secure) -{ - int n; - char *result; - - /* Note, that CP_UTF8 is not defined in Windows versions earlier - than NT. */ - n = WideCharToMultiByte (CP_UTF8, 0, string, len, NULL, 0, NULL, NULL); - if (n < 0) - return NULL; - - result = secure? secmem_malloc (n+1) : malloc (n+1); - if (!result) - return NULL; - n = WideCharToMultiByte (CP_UTF8, 0, string, len, result, n, NULL, NULL); - if (n < 0) - { - if (secure) - secmem_free (result); - else - free (result); - return NULL; - } - return result; -} - - -/* Convert a UTF8 string to wchar. Returns NULL on error. Caller - needs to free the returned value. */ -wchar_t * -utf8_to_wchar (const char *string) -{ - int n; - wchar_t *result; - size_t len = strlen (string); - - n = MultiByteToWideChar (CP_UTF8, 0, string, len, NULL, 0); - if (n < 0) - return NULL; - - result = calloc ((n+1), sizeof *result); - if (!result) - return NULL; - n = MultiByteToWideChar (CP_UTF8, 0, string, len, result, n); - if (n < 0) - { - free (result); - return NULL; - } - result[n] = 0; - return result; -} - - -/* Raise the software input panel. */ -static void -raise_sip (HWND dlg) -{ -#ifdef HAVE_W32CE_SYSTEM - SIPINFO si; - - SetForegroundWindow (dlg); - - memset (&si, 0, sizeof si); - si.cbSize = sizeof si; - - if (SipGetInfo (&si)) - { - si.fdwFlags |= SIPF_ON; - SipSetInfo (&si); - } -#else - (void)dlg; -#endif -} - -/* Center the window CHILDWND with the desktop as its parent - window. STYLE is passed as second arg to SetWindowPos.*/ -static void -center_window (HWND childwnd, HWND style) -{ -#ifndef HAVE_W32CE_SYSTEM - HWND parwnd; - RECT rchild, rparent; - HDC hdc; - int wchild, hchild, wparent, hparent; - int wscreen, hscreen, xnew, ynew; - int flags = SWP_NOSIZE | SWP_NOZORDER; - - parwnd = GetDesktopWindow (); - GetWindowRect (childwnd, &rchild); - wchild = rchild.right - rchild.left; - hchild = rchild.bottom - rchild.top; - - GetWindowRect (parwnd, &rparent); - wparent = rparent.right - rparent.left; - hparent = rparent.bottom - rparent.top; - - hdc = GetDC (childwnd); - wscreen = GetDeviceCaps (hdc, HORZRES); - hscreen = GetDeviceCaps (hdc, VERTRES); - ReleaseDC (childwnd, hdc); - xnew = rparent.left + ((wparent - wchild) / 2); - if (xnew < 0) - xnew = 0; - else if ((xnew+wchild) > wscreen) - xnew = wscreen - wchild; - ynew = rparent.top + ((hparent - hchild) / 2); - if (ynew < 0) - ynew = 0; - else if ((ynew+hchild) > hscreen) - ynew = hscreen - hchild; - if (style == HWND_TOPMOST || style == HWND_NOTOPMOST) - flags = SWP_NOMOVE | SWP_NOSIZE; - SetWindowPos (childwnd, style? style : NULL, xnew, ynew, 0, 0, flags); -#endif -} - - - -static void -move_mouse_and_click (HWND hwnd) -{ -#ifndef HAVE_W32CE_SYSTEM - RECT rect; - HDC hdc; - int wscreen, hscreen, x, y, normx, normy; - INPUT inp[3]; - int idx; - - hdc = GetDC (hwnd); - wscreen = GetDeviceCaps (hdc, HORZRES); - hscreen = GetDeviceCaps (hdc, VERTRES); - ReleaseDC (hwnd, hdc); - if (wscreen < 10 || hscreen < 10) - return; - - GetWindowRect (hwnd, &rect); - x = rect.left; - y = rect.bottom; - - normx = x * (65535 / wscreen); - if (normx < 0 || normx > 65535) - return; - normy = y * (65535 / hscreen); - if (normy < 0 || normy > 65535) - return; - - for (idx=0; idx < 3; idx++) - memset (&inp[idx], 0, sizeof inp[idx]); - - idx=0; - inp[idx].type = INPUT_MOUSE; - inp[idx].mi.dx = normx; - inp[idx].mi.dy = normy; - inp[idx].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE; - idx++; - - inp[idx].type = INPUT_MOUSE; - inp[idx].mi.dwFlags = MOUSEEVENTF_LEFTDOWN; - idx++; - - inp[idx].type = INPUT_MOUSE; - inp[idx].mi.dwFlags = MOUSEEVENTF_LEFTUP; - idx++; - - if ( (SendInput (idx, inp, sizeof (INPUT)) != idx) && debugfp) - fprintf (debugfp, "SendInput failed: %s\n", w32_strerror (-1)); -#endif -} - - - -/* Resize the button so that STRING fits into it. */ -static void -resize_button (HWND hwnd, const char *string) -{ - if (!hwnd) - return; - - /* FIXME: Need to figure out how to convert dialog coorddnates to - screen coordinates and how buttons should be placed. */ -/* SetWindowPos (hbutton, NULL, */ -/* 10, 180, */ -/* strlen (string+2), 14, */ -/* (SWP_NOZORDER)); */ -} - - - - - -/* Call SetDlgItemTextW with an UTF8 string. */ -static void -set_dlg_item_text (HWND dlg, int item, const char *string) -{ - if (!string || !*string) - SetDlgItemTextW (dlg, item, L""); - else - { - wchar_t *wbuf; - - wbuf = utf8_to_wchar (string); - if (!wbuf) - SetDlgItemTextW (dlg, item, L"[out of core]"); - else - { - SetDlgItemTextW (dlg, item, wbuf); - free (wbuf); - } - } -} - - -/* Load our butmapped icon from the resource and display it. */ -static void -set_bitmap (HWND dlg, int item) -{ - HWND hwnd; - HBITMAP bitmap; - RECT rect; - int resid; - - hwnd = GetDlgItem (dlg, item); - if (!hwnd) - return; - - rect.left = 0; - rect.top = 0; - rect.right = 32; - rect.bottom = 32; - if (!MapDialogRect (dlg, &rect)) - { - fprintf (stderr, "MapDialogRect failed: %s\n", w32_strerror (-1)); - return; - } - /* fprintf (stderr, "MapDialogRect: %d/%d\n", rect.right, rect.bottom); */ - - switch (rect.right) - { - case 32: resid = IDB_ICON_32; break; - case 48: resid = IDB_ICON_48; break; - case 64: resid = IDB_ICON_64; break; - case 96: resid = IDB_ICON_96; break; - default: resid = IDB_ICON_128;break; - } - - bitmap = LoadImage (GetModuleHandle (NULL), - MAKEINTRESOURCE (resid), - IMAGE_BITMAP, - rect.right, rect.bottom, - (LR_SHARED | LR_LOADTRANSPARENT | LR_LOADMAP3DCOLORS)); - if (!bitmap) - { - fprintf (stderr, "LoadImage failed: %s\n", w32_strerror (-1)); - return; - } - SendMessage(hwnd, STM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)bitmap); -} - - -/* Dialog processing loop. */ -static BOOL CALLBACK -dlg_proc (HWND dlg, UINT msg, WPARAM wparam, LPARAM lparam) -{ - static pinentry_t pe; - /* static int item; */ - - -/* { */ -/* int idx; */ - -/* for (idx=0; msgcodes[idx].string; idx++) */ -/* if (msg == msgcodes[idx].msg) */ -/* break; */ -/* if (msgcodes[idx].string) */ -/* fprintf (debugfp, "received %s\n", msgcodes[idx].string); */ -/* else */ -/* fprintf (debugfp, "received WM_%u\n", msg); */ -/* } */ - - switch (msg) - { - case WM_INITDIALOG: - dialog_handle = dlg; - pe = (pinentry_t)lparam; - if (!pe) - abort (); - set_dlg_item_text (dlg, IDC_PINENT_PROMPT, pe->prompt); - set_dlg_item_text (dlg, IDC_PINENT_DESC, pe->description); - set_dlg_item_text (dlg, IDC_PINENT_TEXT, ""); - set_bitmap (dlg, IDC_PINENT_ICON); - if (pe->ok) - { - set_dlg_item_text (dlg, IDOK, pe->ok); - resize_button (GetDlgItem (dlg, IDOK), pe->ok); - } - if (pe->cancel) - { - set_dlg_item_text (dlg, IDCANCEL, pe->cancel); - resize_button (GetDlgItem (dlg, IDCANCEL), pe->cancel); - } - if (pe->error) - set_dlg_item_text (dlg, IDC_PINENT_ERR, pe->error); - - if (confirm_mode) - { - EnableWindow (GetDlgItem (dlg, IDC_PINENT_TEXT), FALSE); - SetWindowPos (GetDlgItem (dlg, IDC_PINENT_TEXT), NULL, 0, 0, 0, 0, - (SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER|SWP_HIDEWINDOW)); - - /* item = IDOK; */ - } - /* else */ - /* item = IDC_PINENT_TEXT; */ - - center_window (dlg, HWND_TOP); - - /* Unfortunately we can't use SetForegroundWindow because there - is no easy eay to have all the calling processes do an - AllowSetForegroundWindow. What we do instead is to bad hack - by simulating a click to the Window. */ -/* if (SetForegroundWindow (dlg) && lock_set_foreground_window) */ -/* { */ -/* lock_set_foreground_window (LSFW_LOCK); */ -/* } */ - -/* show_window_hierarchy (GetDesktopWindow (), 0); */ - - ShowWindow (dlg, SW_SHOW); - move_mouse_and_click ( GetDlgItem (dlg, IDC_PINENT_PROMPT) ); - raise_sip (dlg); - break; - - case WM_COMMAND: - switch (LOWORD (wparam)) - { - case IDOK: - if (confirm_mode) - confirm_yes = 1; - else - ok_button_clicked (dlg, pe); - EndDialog (dlg, TRUE); - break; - - case IDCANCEL: - pe->result = -1; - EndDialog (dlg, FALSE); - break; - } - break; - - case WM_KEYDOWN: - if (wparam == VK_RETURN) - { - if (confirm_mode) - confirm_yes = 1; - else - ok_button_clicked (dlg, pe); - EndDialog (dlg, TRUE); - } - break; - - case WM_CTLCOLORSTATIC: - if ((HWND)lparam == GetDlgItem (dlg, IDC_PINENT_ERR)) - { - /* Display the error prompt in red. */ - SetTextColor ((HDC)wparam, RGB (255, 0, 0)); - SetBkMode ((HDC)wparam, TRANSPARENT); - return (BOOL)GetStockObject (NULL_BRUSH); - } - break; - - } - return FALSE; -} - - -/* The okay button has been clicked or the enter enter key in the text - field. */ -static void -ok_button_clicked (HWND dlg, pinentry_t pe) -{ - char *s_utf8; - wchar_t *w_buffer; - size_t w_buffer_size = 255; - unsigned int nchar; - - pe->locale_err = 1; - w_buffer = secmem_malloc ((w_buffer_size + 1) * sizeof *w_buffer); - if (!w_buffer) - return; - - nchar = GetDlgItemTextW (dlg, IDC_PINENT_TEXT, w_buffer, w_buffer_size); - s_utf8 = wchar_to_utf8 (w_buffer, nchar, 1); - secmem_free (w_buffer); - if (s_utf8) - { - passphrase_ok = 1; - pinentry_setbufferlen (pe, strlen (s_utf8) + 1); - if (pe->pin) - strcpy (pe->pin, s_utf8); - secmem_free (s_utf8); - pe->locale_err = 0; - pe->result = pe->pin? strlen (pe->pin) : 0; - } -} - - -static int -w32_cmd_handler (pinentry_t pe) -{ -/* HWND lastwindow = GetForegroundWindow (); */ - - confirm_mode = !pe->pin; - - passphrase_ok = confirm_yes = 0; - - dialog_handle = NULL; - DialogBoxParam (GetModuleHandle (NULL), MAKEINTRESOURCE (IDD_PINENT), - GetDesktopWindow (), dlg_proc, (LPARAM)pe); - if (dialog_handle) - { -/* if (lock_set_foreground_window) */ -/* lock_set_foreground_window (LSFW_UNLOCK); */ -/* if (lastwindow) */ -/* SetForegroundWindow (lastwindow); */ - } - else - return -1; - - if (confirm_mode) - return confirm_yes; - else if (passphrase_ok && pe->pin) - return strlen (pe->pin); - else - return -1; -} - - -/* WindowsCE uses a very strange way of handling the standard streams. - There is a function SetStdioPath to associate a standard stream - with a file or a device but what we really want is to use pipes as - standard streams. Despite that we implement pipes using a device, - we would have some limitations on the number of open pipes due to - the 3 character limit of device file name. Thus we don't take this - path. Another option would be to install a file system driver with - support for pipes; this would allow us to get rid of the device - name length limitation. However, with GnuPG we can get away be - redefining the standard streams and passing the handles to be used - on the command line. This has also the advantage that it makes - creating a process much easier and does not require the - SetStdioPath set and restore game. The caller needs to pass the - rendezvous ids using up to three options: - - -&S0=<rvid> -&S1=<rvid> -&S2=<rvid> - - They are all optional but they must be the first arguments on the - command line. Parsing stops as soon as an invalid option is found. - These rendezvous ids are then used to finish the pipe creation.*/ -#ifdef HAVE_W32CE_SYSTEM -static void -parse_std_file_handles (int *argcp, char ***argvp) -{ - int argc = *argcp; - char **argv = *argvp; - const char *s; - int fd; - int i; - int fixup = 0; - - if (!argc) - return; - - for (argc--, argv++; argc; argc--, argv++) - { - s = *argv; - if (*s == '-' && s[1] == '&' && s[2] == 'S' - && (s[3] == '0' || s[3] == '1' || s[3] == '2') - && s[4] == '=' - && (strchr ("-01234567890", s[5]) || !strcmp (s+5, "null"))) - { - if (s[5] == 'n') - fd = (int)(-1); - else - fd = (int)w32ce_finish_pipe (atoi (s+5), s[3] != '0'); - if (s[3] == '0' && fd != -1) - w32_infd = fd; - else if (s[3] == '1' && fd != -1) - w32_outfd = fd; - fixup++; - } - else - break; - } - - if (fixup) - { - argc = *argcp; - argc -= fixup; - *argcp = argc; - - argv = *argvp; - for (i=1; i < argc; i++) - argv[i] = argv[i + fixup]; - for (; i < argc + fixup; i++) - argv[i] = NULL; - } - - -} -#endif /*HAVE_W32CE_SYSTEM*/ - - -int -main (int argc, char **argv) -{ -#ifndef HAVE_W32CE_SYSTEM - void *handle; -#endif - - w32_infd = STDIN_FILENO; - w32_outfd = STDOUT_FILENO; - -#ifdef HAVE_W32CE_SYSTEM - parse_std_file_handles (&argc, &argv); -#endif - - pinentry_init (PGMNAME); - - pinentry_parse_opts (argc, argv); - -/* debugfp = fopen ("pinentry.log", "w"); */ -/* if (!debugfp) */ -/* debugfp = stderr; */ - - /* We need to load a function because that one is only available - since W2000 but not in older NTs. */ -#ifndef HAVE_W32CE_SYSTEM - handle = LoadLibrary ("user32.dll"); - if (handle) - { - void *foo; - foo = GetProcAddress (handle, "LockSetForegroundWindow"); - if (foo) - lock_set_foreground_window = foo; - else - CloseHandle (handle); - } -#endif - - if (pinentry_loop2 (w32_infd, w32_outfd)) - return 1; - -#ifdef HAVE_W32CE_SYSTEM - Sleep (400); -#endif - return 0; -} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/pinentry-w32.rc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/pinentry-w32.rc deleted file mode 100755 index bc3dacbd..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/pinentry-w32.rc +++ /dev/null @@ -1,74 +0,0 @@ -/* dialog.rc - Resource definitions -*- c -*- - * Copyright (C) 2004, 2010 g10 Code GmbH - * - * 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, see <https://www.gnu.org/licenses/>. - * SPDX-License-Identifier: GPL-2.0+ - */ - -#include <config.h> -#include <winuser.h> -#include <windows.h> -#include "resource.h" - -/* - * Main dialog - */ - -#ifdef HAVE_W32CE_SYSTEM - -IDD_PINENT DIALOG DISCARDABLE 0, 0, 150, 100 -STYLE DS_MODALFRAME | DS_SYSMODAL | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Pinentry" -FONT 8, "MS Shell Dlg" -BEGIN - LTEXT "", IDC_PINENT_DESC, 2, 2, 140, 24 - LTEXT "", IDC_PINENT_ERR, 2, 30, 140, 12 - - LTEXT "", IDC_PINENT_PROMPT, 2, 56, 20, 12 - EDITTEXT IDC_PINENT_TEXT, 30, 56, 100, 12, ES_PASSWORD | ES_AUTOHSCROLL - - DEFPUSHBUTTON "O&K", IDOK, 2, 70, 50, 14 - PUSHBUTTON "&Cancel", IDCANCEL, 60, 70, 50, 14 - -END - -#else /* Standard Windows. */ - -IDB_ICON_32 BITMAP DISCARDABLE "logo-32.bmp" -IDB_ICON_48 BITMAP DISCARDABLE "logo-48.bmp" -IDB_ICON_64 BITMAP DISCARDABLE "logo-64.bmp" -IDB_ICON_96 BITMAP DISCARDABLE "logo-96.bmp" -IDB_ICON_128 BITMAP DISCARDABLE "logo-128.bmp" - -IDD_PINENT DIALOG DISCARDABLE 0, 0, 186, 116 -STYLE DS_MODALFRAME | DS_SYSMODAL | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Pinentry" -FONT 10, "MS Sans Serif" -BEGIN - CONTROL "", IDC_PINENT_ICON, - "Static", SS_BITMAP|SS_CENTERIMAGE, - 4, 6, 32, 32 - LTEXT "", IDC_PINENT_DESC, 40, 6, 140, 50 - RTEXT "", IDC_PINENT_PROMPT, 6, 60, 60, 12 - EDITTEXT IDC_PINENT_TEXT, 70, 59, 110, 12, ES_PASSWORD | ES_AUTOHSCROLL - CTEXT "", IDC_PINENT_ERR, 6, 76, 174, 12 - DEFPUSHBUTTON "O&K", IDOK, 74, 96, 50, 14 - PUSHBUTTON "&Cancel", IDCANCEL, 130, 96, 50, 14 -END - - - -#endif /* Standard Windows. */ - - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/resource.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/resource.h deleted file mode 100644 index 4311bf3e..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/resource.h +++ /dev/null @@ -1,25 +0,0 @@ -/* resource.h - * Copyright 2004 g10 Code GmbH - * - * This file is free software; as a special exception the author gives - * unlimited permission to copy and/or distribute it, with or without - * modifications, as long as this notice is preserved. - * - * This file 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. - * SPDX-License-Identifier: FSFULLR - */ - -#define IDD_PINENT 101 -#define IDC_PINENT_TEXT 292 -#define IDC_PINENT_DESC 1000 -#define IDC_PINENT_ERR 1001 -#define IDC_PINENT_PROMPT 1002 -#define IDC_PINENT_ICON 1003 - -#define IDB_ICON_32 3101 -#define IDB_ICON_48 3102 -#define IDB_ICON_64 3103 -#define IDB_ICON_96 3104 -#define IDB_ICON_128 3105 diff --git a/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2 b/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2 Binary files differdeleted file mode 100644 index cfa3e579..00000000 --- a/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2 +++ /dev/null diff --git a/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2.asc b/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2.asc deleted file mode 100644 index 426d62e9..00000000 --- a/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2.asc +++ /dev/null @@ -1,9 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCYwYDUwAKCRBSiJe4JkA6 -2oLvAQDnnCjGuMWl2Q2OhNWTJ+xCSh98qjbCJhhPh0XdlYYllAEAgpwKE8j8zhb8 -bpWiye8YMK73S52u22spIO1fOzXH0QKIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO -my0Zxsi9BQJjBw2vAAoJEOmOmy0Zxsi9gg0BAMw2ynU0fU0kDoi6zce44On7VmXE -9MMvpki4BbfW9yvmAQCzzRirV3k/NY3fMVC+T9OFQV6KEpBCSd8I2dQ6v79WDw== -=WKvZ ------END PGP SIGNATURE----- |
