From: Marc Fournier Date: Fri, 29 Jan 2016 13:52:25 +0000 (+0100) Subject: Revert "Merge tag 'upstream/5.5.0'" X-Git-Tag: collectd-5.5.1-1ubuntu0_ppa12.04.1~2 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=3ef53d0d929161c049bc06e5aadca5cc8ccb296e;p=pkg-collectd.git Revert "Merge tag 'upstream/5.5.0'" This reverts commit 9e9a8d617a8b29c6bc8700885e2cd15d8b71e8f1, reversing changes made to 546a6028cba5a9e237f01dc08a8734c3f5f4ba56. --- diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 3f63c3d..0000000 --- a/AUTHORS +++ /dev/null @@ -1,301 +0,0 @@ -Permanent project members -========================= - -Florian "octo" Forster - - Initial author. - -Sebastian "tokkee" Harl - - Bugfixes and enhancements in many places all around the project. - - perl plugin. - - users plugin. - - vserver plugin. - - Debian package. - - -Contributors (sorted alphabetically) -==================================== - -Akkarit Sangpetch - - write_mongodb plugin. - -Alessandro Iurlano - - Initial filecount plugin. - -Alex Deymo - - aquaero plugin. - -Alvaro Barcellos - - Don't-fork patch. - -Amit Gupta - - Multiple servers in the apache plugin. - - curl_xml plugin. - -Andreas Henriksson - - libmnl support in the netlink plugin. - -Andy Parkins - - battery plugin: sysfs code. - -Anthony Dewhurst - - zfs_arc plugin. - -Anthony Gialluca - - apcups plugin. - -Antony Dovgal - - memcached plugin. - -Aurélien Reynaud - - LPAR plugin. - - Various fixes for AIX, HP-UX and Solaris. - -Benjamin Gilbert - - Improvements to the LVM plugin. - -Bert Vermeulen - - sigrok plugin - -Brett Hawn - - write_tsdb plugin for http://opentsdb.net/ - -Bruno Prémont - - BIND plugin. - - Many bug reports and -fixes in various plugins, - especially a nasty bug in the network plugin. - - Wireshark dissector. - -Chad Malfait - - LVM plugin. - -Chris Lundquist - - Improvements to the write_mongodb plugin. - -Christophe Kalt - - The version 3 `log' mode. - - Many Solaris related hints and fixes. - -Cyril Feraudet - - ethstat plugin. - -Dan Berrange - - uuid plugin. - -Dan Ryder - - ceph plugin. - -David Bacher - - serial plugin. - -Doug MacEachern - - The `-T' option (config testing mode). - - OpenVPN plugin. - - jcollectd (two-way JMX integration). - - A few other patches to various plugins. - - curl_json plugin. - -Edward “Koko” Konetzko - - fscache plugin. - -Evan Felix - - mic plugin. - -Fabian Linzberger - - Percentage aggregation for `collectd-nagios'. - -Fabien Wernli - - Solaris improvements in the memory and interfaces plugin. - -Fabrice A. Marie - - write_sensu plugin. - -Flavio Stanchina - - mbmon plugin. - -Franck Lombardi - - UNIX socket code for the memcached plugin. - -Jason Pepas - - nfs plugin. - -J. Javier Maestro - - Write-Graphite plugin: UDP support and LogSendErrors flag. - -Jeremy Katz - - percentage reporting in memory and swap plugins. - - zookeeper plugin. - -Jérôme Renard - - varnish plugin. - -Jiri Tyr - - fhcount plugin. - -Kevin Bowling - - write_tsdb plugin for http://opentsdb.net/ - -Kimo Rosenbaum - - openldap plugin. - -Kris Nielander - - tail_csv plugin. - -LuboÅ¡ Staněk - - sensors plugin improvements. - - Time and effort to find a nasty bug in the ntpd-plugin. - -Luke Herberling - - powerdns plugin. - - Initial `tail' subsystem by: - -Lyonel Vincent - - processes plugin. - -Manuel Sanmartin - - AIX port of the following plugins: - + cpu - + disk - + interface - + load - + memory - + processes - + swap - - Various AIX-related fixes and hacks. - -Marc Fournier - - Various fixes to the varnish plugin. - - RPM specfile update. - - libmnl support in the netlink plugin. - - linux support in the zfs_arc plugin. - - openldap plugin. - -Marco Chiappero - - uptime plugin. - - ip6tables support in the iptables plugin. - - openvpn plugin (support for more status file formats) - -Michael Hanselmann - - md plugin. - -Michael Schenck - - IO time support to disk plugin. - -Michael Stapelberg - - OpenBSD port of the tcpconns plugin. - - cgroups plugin. - -Michał Mirosław - - thermal plugin. - - Streamlines recursive directory traversion. - -Mirko Buffoni - - Port/Socket selection in the MySQL plugin. - -Niki W. Waibel - - Initial autotools fixes. - - libltdl code. - - getmnt-wizardry. - -Oleg King - - Added support for the statgrab library to - + the cpu plugin, - + the disk plugin, and - + the users plugin. - -Ondrej Zajicek - - madwifi plugin. - -Patrik Weiskircher - - Contextswitch plugin. - - Forkrate counter in the processes plugin. - - INode count in the DF plugin. - -Paul Sadauskas - - tokyotyrant plugin. - - `ReportByDevice' option of the df plugin. - - write_http plugin. - -Peter Holik - - cpufreq plugin. - - multimeter plugin. - - irq plugin. - - Some bugfixes in the exec plugin. - - Notifications in the ipmi plugin. - -Phoenix Kayo - - pinba plugin. - -Pierre-Yves Ritschard - - Write-Riemann plugin. - - Write-Graphite plugin: Notification support. - - Write-Kafka plugin. - - Log-Logstash plugin. - - Normalization in the CPU plugin. - - Relative values in the Load plugin. - -Piotr Hosowicz - - SMF manifest for collectd. - -Richard W. M. Jones - - virt plugin. - - uuid plugin. - -Roman Klesel - - Oracle schema and sample SQL statements to be used with the Oracle plugin. - -Rodolphe Quiédeville - - Lock statistics in the mysql plugin. - -Scott Garrett - - tape plugin. - -Scott Sanders - - Write-Graphite plugin. - -Sebastien Pahl - - AMQP plugin. - -Simon Kuhnle - - OpenBSD code for the cpu and memory plugins. - -Sjoerd van der Berg - - iptables plugin. - -Stefan Hacker - - teamspeak2 plugin. - -Sven Trenkel - - netapp plugin. - - python plugin. - -Tim Laszlo - - drbd plugin. - -Thomas Meson - - Graphite support for the AMQP plugin. - -Tomasz Pala - - conntrack plugin. - -Tommie Gannert - - PID-file patch. - -Vincent Bernat - - smart plugin. - -Vincent Brillault - - turbostat plugin, based on Len Brown kernel tool - -Vincent Stehlé - - hddtemp plugin. - -Wilfried Goesgens - - linux support in the zfs_arc plugin. - -Xin Li - - FreeBSD port of the ZFS-ARC plugin. - -collectd is available at: - - -Enjoy :) diff --git a/COPYING b/COPYING deleted file mode 100644 index 191af71..0000000 --- a/COPYING +++ /dev/null @@ -1,371 +0,0 @@ -collectd consists of a daemon and numerous plugins. The daemon is licensed -under the "MIT License"; its source files are located at src/daemon/. The -plugins are licenses individually, please check the top of the plugin's source -file(s) to see which license applies. The majority of plugins is licensed -either under the "MIT License" or the "GNU General Public License". - -The "MIT License" and "GNU General Public License" follow. Other licenses, not -included in this file, should be considered "as published by the Open Source -Initiative (OSI)". - -MIT License -=========== -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 -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -GNU General Public License (GPL) -================================ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index b0a997c..0000000 --- a/ChangeLog +++ /dev/null @@ -1,2898 +0,0 @@ -2015-05-27, Version 5.5.0 - * Build system: Ability to make out-of-tree builds has been fixed. - Thanks to Vincent Bernat. #792 - * Build system, Disk and Users plugins: Detection and use of libstatgrab - ≧ 0.90 has been added. Thanks to Vincent Bernat. #445, #795, #806, - #807, #908 - * Build system, Memory, CPU, TCPConns and Processes plugins: Numerous - fixes related to OpenBSD support have been added. Thanks to Landry - Breuil. #777, #778, #779, #808 - * Build system: Plugins now only export "module_register()". Thanks to - Florian Forster. - * Build system: Various cleanups and improvements have been done. Thanks - to Marc Fournier. - * collectd: Numerous internal changes and improvements to the daemon and - the plugin API have been make. Thanks to Florian Forster, Pierre-Yves - Ritschard and Alex Petrov. #512, #727 - * collectd: Numerous spelling mistakes have been corrected in comments - and documentation and several error messages have been improved. - Thanks to Ruben Kerkhof, Abhinav Upadhyay, Olivier Bazoud, Pierre-Yves - Ritschard, Tim Smith, Moshe Zada, Katelyn Perry and Marc Fournier. - * collectd: Rules/Targets can now be appended to existing Filter Chains. - Thanks to Marc Falzon. #444 - * collectd: Failing Filter Chains destinations will now log the list of - available write targets. Thanks to Wilfried Goesgens. #650, #1043 - * collectd: Support for process signaling and management by upstart and - systemd has been implemented for the Linux platform. Thanks to - Pierre-Yves Ritschard and Marc Fournier. #798, #811, #814 - * collectd: The "CollectInternalStats" option has been added. Thanks to - Yves Mettier. #691 - * collectd: The daemon source code and dependencies have moved to the - "src/daemon/" directory. Thanks to Florian Forster. - * collectd: The new "MaxReadInterval" option allows to cap the - exponential retry interval of plugins read errors. Thanks to Alexey - Remizov and Florian Forster. #713 - * collectd: The "-P" command-line option now has precedence over the - "PIDFile" option. Thanks to Thomas D. #553 - * collection.cgi: Various data-source related adjustments have been - made. Thanks to Fabiano Pires and Sebastian Harl. - * libcollectdclient: Now propagates errors when signing / encrypting - network packets. Thanks to Florian Forster. - * Configuration: Support for unquoted IPv6 addresses has been added. - Thanks to Sebastian Harl. #489 - * Documentation: Various improvements have been done. Thanks to Florian - Forster and Marc Fournier. - * Examples: the sample C plugin has been updated to the current plugin - API. Thanks to Sebastian Harl. - * Licensing: The following components have been relicensed to the MIT - license: the Apple Sensors, Ascent, DBI, E-Mail, Entropy, GenericJMX, - gmond, LogFile, nginx, Notify Desktop, NTPd, NUT, olsrd, Perl, Ping, - PostgreSQL, Protocols, RouterOS, RRDCacheD, SNMP, StatsD, SysLog, - Table, Tail, UnixSock, vmem, VServer, Wireless, Write Riemann and XMMS - plugins, the core collectd daemon, the collectdmon, collectd-nagios - and collectd-tg utilities, all the Targets and Matches, liboconfig, - most of the "utils_*" files and the plugin API. - * Tests: A test suite has been added. Thanks to Florian Forster. - * Threshold: The hysteresis calculation has been made more reliable. - Thanks to Jan Kundrát. #581 - * Threshold: Various fixes and improvements have been made. Thanks to - Manuel Luis Sanmartín Rozada. #649, #644 - * AMQP plugin: The "ConnectionRetryDelay" option has been added, - allowing to delay reconnection. Thanks to Yoga Ramalingam and Marc - Fournier. #833 - * AMQP plugin: The "QueueDurable" and "QueueAutoDelete" options have - been added, giving control over queue creation and deletion. Thanks to - David Blundell and Marc Fournier. #623 - * Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx and Write HTTP - plugins: Customizing the "User-Agent" field is now possible at - compile-time. Thanks to Jeremy Katz. #440 - * Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx plugins: The - connection will be reset if it hasn't completed within the configured - "Interval". The new "Timeout" option gives control over this behavior. - Thanks to Jan Kundrát and Marc Fournier. #982, #983, #993 - * Apache, Ascent, cURL, cURL-JSON, cURL-XML, nginx, Write HTTP plugins: - Allow usernames and passwords to contain colons if built against - libcurl ≧ 7.19.1. Thanks to Marc Fournier. #695, #947 - * Apache plugin: The "SSLCiphers" option gives control over the - encryption algorithms to use with TLS connections. Thanks to Toni - Moreno. #946 - * Barometer plugin: This new plugin reads sensor data from various - Freescale and Bosch digital barometers. Thanks to Tomas Menzl. #69, - #693 - * Battery plugin: Reporting values as percentages and reporting degraded - batteries has been added. Thanks to Florian Forster. - * Battery plugin: Support for reading values from sysfs on Linux has - been added. Thanks to Andy Parkins, Nicholas Humfrey, Peter Wu and - Florian Forster. #725, #810, #998 - * Battery plugin: The value for current is no longer supplied unless the - battery provides this information. Thanks to Florian Forster. - * BIND plugin: Bind's XML v3 API is now supported; Thanks to Victor - Berger, Bruno Prémont and Michal Humpula. #742, #847 - * Ceph plugin: This new plugin collects statistics from the Ceph - distributed storage system. Thanks to Dan Ryder, Dennis Zou, Colin - McCabe, Sage Weil. #522, #598 - * ConnTrack plugin: Support for reporting values as percentages as well - as legacy conntrack files in "/proc" has been added. Thanks to - Pierre-Yves Ritschard. #497, #680 - * CPU plugin: The plugin is now able to report values as percentages and - aggregate values per-state and per-CPU. Thanks to Pierre-Yves - Ritschard, Florian Forster, Fabien Wernli, Nicholas Humfrey and - Wilfried Goesgens. #499, #516, #639 #734, #812, #802 - * cURL-JSON plugin: Extracting values from complex JSON structures has - been enhanced. Thanks to Jim Radford. #408, #411 - * cURL-JSON plugin: Intervals can now be configured on a per-URL basis. - Thanks to Stan Sawa. #685 - * cURL-JSON, cURL-XML, Write HTTP plugins: These plugins now also follow - HTTP redirects. Thanks to Marc Fournier. - * cURL, cURL-JSON, cURL-XML plugins: HTTP Digest authentication has been - implemented. Thanks to Frank Cornelis. #482 - * DBI, Oracle, PostgreSQL plugins: A "MetadataFrom" parameter has been - added which allows to set metadata from database columns. Thanks to - Mark Wong. #317, #321 - * DBI plugin: Querying several databases in parallel is now possible. - Thanks to Vincent Bernat. #453 - * Disk plugin: On the Linux platform, disk names can now get looked up - in udev with the "UdevNameAttr" option. Thanks to Patrick Mooney. #537 - * Disk plugin: This plugin now collects several additional I/O-related - metrics on the Linux platform. Thanks to Florian Forster and Michael - Schenck. #705, #759 - * DRBD plugin: This new plugin reads Linux's Distributed Replicated - Block Device (DRBD) statistics. Thanks to Tim Laszlo. #566, #700 - * Exec, UnixSock plugins: The "PUTNOTIF" command now allows to set - metadata on notifications. Thanks to John-John Tedro. #416 - * fhcount plugin: This new plugin reports the number of used file - handles. Thanks to Jiri Tyr. #1009 - * GenericJMX plugin: A Class Loader for "JMXConnectorFactory" has been - added, allowing the plugin to work with JBOSS > 7. Thanks to Alexandre - Moutot. #452 - * IPC plugin: This new plugin collects information related to shared - memory. Thanks to Andrés J. Díaz. #925 - * Java plugin: Now uses the hostname defined in the configuration file. - Thanks to Pierre-Yves Ritschard. #530, #681 - * Load plugin: The plugin is now able to report values as percentages. - Thanks to Vedran Bartonicek and Pierre-Yves Ritschard. #344, #498 - * Log Logstash plugin: This new plugin writes collectd logs and events - as Logstash JSON formatted events. Thanks to Pierre-Yves Ritschard. - #360 - * LVM plugin: The plugin collects thin pool data volumes size, and no - longer reports virtual volumes. Thanks to Benjamin Gilbert. #603 - * memcached plugin: "listen_disabled_num" are now also reported. Thanks - to Matt Cottingham. #622 - * Memory plugin: Slab memory reporting on the Linux platform has been - added. Thanks to Manuel CISSÉ and Marc Fournier. #560, #697 - * Memory plugin: The plugin is now able to report values as percentages. - Thanks to Jeremy Katz, Florian Forster and Manuel CISSÉ. #501, #511, - #559 - * Modbus plugin: Selecting between holding and input registers is now - possible. Thanks to Jan Vitek. #338 - * Modbus plugin: Support for accessing devices through an RS-485 serial - port has been added. Thanks to Eric Sandeen. - * Multimeter plugin: This plugin isn't built by default on the AIX - platform anymore. Thanks to Manuel Luis Sanmartin Rozada. #549, #684 - * MySQL and PostgreSQL plugins: Passing "127.0.0.1" as a host will now - result in the global Hostname being used in metric names. Thanks to - Jeremy Katz. #441 - * MySQL plugin: InnoDB, Select and Sort statistics collection has been - added. Thanks to Wilson Felipe, Marek Becka and Pierre-Yves Ritschard. - #248, #621, #699, #824 - * MySQL plugin: The "Alias" and "ConnectTimeout" options have been - added. Thanks to William Tisäter. - * Netlink plugin: Support for 64bit netlink counters has been added. - Thanks to Marek Becka. #435 - * Network plugin: The "ReconnectInterval" configuration option has been - added. Thanks to John Ferlito. #732 - * NFS plugin: Support for NFSv4.0 has been implemented. Thanks to Marek - Becka. #550 - * OneWire plugin: Support for more temperature-providing sensor families - has been added. Thanks to Tomasz Torcz. #672 - * OneWire plugin: Support for full OWFS path and more device families - has been implemented. Thanks to Tomas Menzl. #68 - * OpenLDAP plugin: This new plugin reads monitoring information from - OpenLDAP's "cn=Monitor" subtree. Thanks to Kimo Rosenbaum, Marc - Fournier and Nicholas Humfrey. #719 - * OpenVPN plugin: Support for OpenVPN 2.3.0 has been implemented. Thanks - to Ed Okerson. #252 - * OpenVZ plugin: Various improvements have been made, making the plugin - report values like the other collectd plugins do. Thanks to Chris - Lundquist. #264 - * Perl plugin: A new "listval_filter" method has been added, various - internal cleanups and improvements have been made and a test suite has - been added. Thanks to Matthias Bethke. #728 - * PostgreSQL plugin: The new "ExpireDelay" option allows skipping older - values pending write when the database slows down. Thanks to Stephen - O'Dor. #593 - * PowerDNS plugin: The plugin was updated for stats from pdns 3.4.3. - Thanks to Ruben Kerkhof. #965 - * Processes plugin: A memory-usage related optimization for low-profile - systems has been added. Thanks to Florian Forster. #652 - * Python plugin: Support for Python3 has been improved, "ModulePath" is - now prepended to "sys.path", and the "get_dataset()" function has been - added to the Python API. Thanks to Sven Trenkel and Patrick Browne. - #890, #751, #771 - * Redis and Write_Redis plugins: The support library has been switched - from credis to hiredis. Thanks to Andrés J. Díaz, Victor Seva, Marc - Fournier, Johan Bergström, Michael Spiegle and brianpkelly. #296, - #464, #475, #799, #1030 - * Redis plugin: Custom commands can now be used to fetch values stored - in Redis. Thanks to Pierre-Yves Ritschard. #816 - * Redis plugin: Support for passwords up to 512 characters long has been - added. Thanks to Jeremy Katz. #532 - * Sensors plugin: Support for lm_sensors' power sensors has been added. - Thanks to Jan Kundrát. #571 - * SMART plugin: This new plugin collects SMART statistics from disk - drives. Thanks to Vincent Bernat. #797 - * SNMP plugin: A blacklist/whitelist feature can now be used to filter - which OIDs to collect. Thanks to Christophe Courtaut. #414 - * SNMP plugin: SNMPv3 authentication and encryption support has been - implemented. Thanks to Michael Pilat. #362 - * SNMP plugin: Two error messages have been disambiguated. Thanks to - Sergey. #939, #952 - * Swap plugin: The plugin is now able to report values as percentages. - Thanks to Jeremy Katz and Florian Forster. #500, #510 - * Swap plugin: The plugin no longer fails on Linux systems where - "SwapCached" isn't exposed by the kernel. Thanks to Florian Forster. - #733 - * Tail plugin: "GaugeInc" and "GaugeAdd" options have been implemented. - Thanks to Andre Ferraz. #673 - * Tail plugin: Intervals can now be configured on a per-File basis. - Thanks to Tom Leaman. #446 - * TCPConns plugin: The "AllPortsSummary" option, allowing to summarize - all connections, has been added. Thanks to Marek Becka. #488 - * TCPConns plugin: Three metrics were renamed on the AIX platform, for - the sake of consistency. Thanks to Manuel Luis Sanmartín Rozada. #546 - * Turbostat plugin: This new plugin reads CPU frequency and C-state - residency on modern Intel turbo-capable processors. Thanks to Vincent - Brillault, Jean Delvare and Nicolas Iooss. #651 - * UnixSock plugin: The "GETTHRESHOLD" command has been re-added. Thanks - to Manuel Luis Sanmartín Rozada. #674 - * Varnish plugin: Varnish 4 support has been added, as well as as - monitoring metrics only available in Varnish 4. Thanks to Marc - Fournier. #618, #783 - * virt plugin: Guests memory usage is now also collected. Thanks to - Tiago Carvalho, jazzmes and Zollner Robert. - * virt plugin: It is now possible to chose between using guests' name or - UUID as plugin_instance. Thanks to Remi Ferrand. #385 - * virt plugin: The libvirt plugin has been renamed to virt. Thanks to - Florian Forster. - * Write Graphite plugin: When the connection to graphite fails, - reconnection attempts are now limited to once per second. Thanks to - Florian Forster. #625 - * Write HTTP plugin: Multi-instance support of this plugin has been - improved. The "" block has been deprecated in favor of - "". Thanks to Marc Fournier. #902 - * Write HTTP plugin: Several TLS-related configuration options have been - added. Thanks to Ingmar Runge. #666 - * Write HTTP plugin: The "LowSpeedLimit" and "Timeout" options allow to - reset slow/stalled network connections. Thanks to loginator17 and Marc - Fournier. #752, #985 - * Write HTTP plugin: The size of the payload posted to the HTTP server - can now be controlled with the "BufferSize" option. Thanks to Florian - Forster. #722 - * Write Kafka plugin: This new plugin sends data to Apache Kafka, a - distributed messaging queue. Thanks to Pierre-Yves Ritschard, - ciomaire, Vincent Bernat, Marc Fournier. #670, #694, #794, #853, #014 - * Write Log plugin: This new plugin dispatches collected values to the - configured log destination(s). Thanks to Pierre-Yves Ritschard. #886 - * Write Riemann plugin: Extra meta strings are now added as attributes - in notifications. Thanks to John-John Tedro. #417 - * Write Riemann plugin: Notification message are now sent to the Riemann - server via the description field. Thanks to Adrian Miron. #575 - * Write Riemann plugin: Support for custom attributes has been added. - Thanks to Pierre-Yves Ritschard. #459 - * Write Riemann plugin: Support had been implemented for sending events - to Riemann in batches (when using TCP), and is enabled by default. - Thanks to Pierre-Yves Ritschard. #800 - * Write Riemann plugin: The "EventServicePrefix" option has been added, - which adds a prefix to event service names. Thanks to Moshe Zada. #706 - * Write Riemann plugin: Threshold checks can now be passed down to the - Riemann server. Thanks to Pierre-Yves Ritschard. #518 - * Write Sensu plugin: This new plugin submits values to Sensu, a stream - processing and monitoring system. Thanks to Fabrice A. Marie and Marc - Fournier. #912, #1001, #1016 - * Write TSDB plugin: This new plugin sends data to OpenTSDB, a scalable - time series database. Thanks to Kevin Bowling, Florian Forster, Dallin - Young, Michael Schenck and Pierre-Yves Ritschard. #703, #772, #945 - * ZFS ARC plugin: Support for ZFS-on-Linux has been added. Thanks to - Marc Fournier and Wilfried Goesgens. #552 - * Zookeeper plugin: This new plugin reads data from the Apache Zookeeper - "MNTR" command. Thanks to Jeremy Katz. #826 - -2015-02-26, Version 5.4.2 - * Build system: Numerous fixes. Thanks to Bjørn Nordbø, Jim Radford, - KOMEDA Shinji, Lauri Tirkkonen, Manuel Luis Sanmartin Rozada, Marc - Fournier, Rainer Müller, Yoga Ramalingam and Yves Mettier. #326, - #373, #653, #828 - * collectd: A use-after-free has been fixed in the "parse_value()" - function. Thanks to Matthias Urlichs. - * collectd: Fix carriage return sign in types_list Thanks to Marc - Fournier and @NsLib. - * collectd: Fix programming error in src/configfile.c. Thanks to - Wilfried Goesgens. - * collectd: An off-by-one error has been fixed in the - "strstripnewline()" function. Patch by Florian Forster. - * collectd: Use the complain mechanism to report filter chain write - failures. Thanks to Sebastian Harl. - * collectd: Spelling and grammar of error messages have been fixed. - Thanks to Katelyn Perry and Tim Laszlo. - * collectdctl: Fixed buffering issues which caused trouble on AIX and - Solaris. Thanks to Yoga Ramalingam. - * Documentation: Details and example about multi-instance filterchain - targets have been added. Thanks to Marc Fournier. - * Documentation: The "CollectStatistics" option of the rrdcached has - been documented. Thanks to Micha Krause. #907 - * Documentation: The write_redis has been documented. Thanks to Marc - Fournier. - * Documentation: The "GraphiteSeparateInstances" and - "GraphiteAlwaysAppendDS" options of the amqp have been documented. - Thanks to Marc Fournier. - * Documentation: Documentation of the "AutoLoadPlugin" option has been - improved. Thanks to Florian Forster. #715 - * aggregation: "utils_vl_lookup": A race when creating user objects - has been fixed. Thanks to Sebastian Harl. #535 - * cpu: Temperature code for Mac OS X has been removed. - Thanks to Florian Forster and Marc Fournier. #22 - * cURL, cURL-JSON, cURL-XML and Write HTTP plugins: Call - "curl_global_init()" in the plugins' "init()" callback. Thanks to - Jeremy Katz. - * cURL and memcachec plugins: Fix calculation of gauge, average, - minimum and maximum. Previously, they were calculated from the start - of the daemon, which is not the documented behavior. Thanks to - Florian Forster. #663 - * curl-json: A bug, which triggered when two URLs with a long common - prefix were configured, was fixed. Thanks to Marc Fournier. #582 - * dbi: Compatibility with new versions of libdbi has been restored. - Thanks to Florian Forster. #950 - * Exec, UnixSock plugins: Fix parsing of the "time" option of the - "PUTNOTIF" command. Thanks to Adrian Miron. #477 - * ipmi: A conflict with the java over the "SIGUSR2" signal has been - fixed. Thanks to Vincent Bernat. #114 - * java: Conversion from Java's time representation to collectd's - representation has been fixed. Thanks to Manuel Luis Sanmartín - Rozada. - * java: Make sure "cjni_thread_detach()" is called on all paths. - Thanks to Florian Forster. - * LogFile and SysLog plugins: Avoid total silence in case of a - misconfiguration. Thanks to Marc Fournier and Wilfried Goesgens. - * network: Support for recent versions of gcrypt has been added. - Thanks to Vincent Bernat. #632 - * network: Robustness of the client connecting behavior has been - improved. Thanks to Florian Forster. #627 - * python: Don't create empty "meta_data_t" objects. Thanks to Florian - Forster. #716 - * python: Fix Py list length check in "cpy_build_meta()". Thanks to - Yoga Ramalingam. - * python: The "interval" member was fixed to export seconds as a - double. Thanks to Justin Burnham. - * RRDtool and RRDCacheD plugins: A memory leak when creating RRD files - has been fixed. Thanks to Yves Mettier. #661 - * snmp: Fix a memory leak. Thanks to Marc Fournier and Pierre-Yves - Ritschard. #610, #804 - * statsd: Support for samplerates in timer metrics was added. Thanks - to John Leach. #461 - * swap: Fix behavior under OpenVZ by making "cached" optional. Thanks - to Florian Forster. #733 - * threshold: Population of the "time" field in notifications has been - added. Thanks to Manuel Luis Sanmartín Rozada. - * libvirt: Only gather stats for running domains. Thanks to Ruben - Kerkhof. - * lvm: An issue with Volume Groups (VGs) without Logical Volumes (LVs) - has been fixed. Thanks to Jan Kundrát. - * write_graphite: Escape characters not supported by Graphite. Thanks - to Pierre-Yves Ritschard and Marc Fournier. - * write_http: Make callback names context-dependent. Thanks to Marc - Fournier. #821 - * write_redis: A formatting bug, which resulted in totally unusable - numbers being transmitted to Redis, was fixed. Thanks to Marc - Fournier. - * write_riemann: Receive acknowledge message when using TCP. Thanks to - John-John Tedro. - -2014-01-26, Version 5.4.1 - * amqp plugin: Add support for RabbitMQ 0.4.x to avoid compiler - warnings. Thanks to Sebastian Harl for implementing this. - * apache / network plugins: Improved initialization order hopefully - resolved gcrypt initialization problems. - * aquaero plugin: The type used to submit fan utilization was fixed. - Thanks to Alex Deymo for the patch. - * cgroups plugin: A small memory leak was fixed. Checking the existence - of a mount option without a value was fixed. More permissive parsing - of the cpuacct.stats file fixes support for some versions of Linux. - Thanks to Marc Fournier for bug reports and patches. - * curl plugin: Fix blocks without an instance. Thanks to - Alexander Golovko for reporting and Sebastian Harl for fixing this. - * curl_json plugin: Potentially invalid memory access has been - sanitized. Thanks to Jim Radford for his patch. - * interface plugin: Fix behavior under FreeBSD 10: Reporting of - per-address statistics caused duplicate updates to the same metric. - Thanks to demon / @trtrmitya for the patch. - * write_graphite plugin: Use TCP to connect to Graphite by default. The - default changed from TCP to UDP between 5.3.1 and 5.4.0, which is a - regression. Thanks to Marc Fournier for fixing this. Reconnect - behavior was improved. Thanks to Michael Hart for his patch. - * zfs_arc plugin: Collect "allocated" and "stolen" on FreeBSD only. - -2013-08-18, Version 5.4.0 - * collectd: The "LoadPlugin" config option no longer attempts to load - plugins twice. If more than one "LoadPlugin" statement or block is - encountered, only the first will have any effect. - * collectd: The "AutoLoadPlugin" option allows to automatically load - plugins for which a configuration is found. - * collectd: The "WriteQueueLimitHigh" and "WriteQueueLimitLow" options - allow collectd to drop values when under stress, to avoid running out - of memory. Thanks to Yves Mettier for his patch. - * amqp plugin: The "GraphiteSeparateInstances" and - "GraphiteAlwaysAppendDS" options have been added. Thanks to Laurent - for the patch. - * aquaero plugin: This new plugin reads various metrics, e.g. fan - speeds and temperatures, from Aquaero 5, a fan and water cooling - control panel. Thanks to Alex Deymo for his patch. - * curl plugin: The "MeasureResponseCode" option has been added. Thanks - to Jan Matějka for his patch. - * curl_json plugin: Support for UNIX domain sockets and array wildcards - has been added. Thanks to Jim Radford for his patch. - * curl_xml plugin: Support for long URLs has been improved. - * cgroups plugin: This new plugin collects CPU accounting information - for processes in a cgroup. Thanks to Michael Stapelberg for his patch. - * df plugin: The "ValuesAbsolute" and "ValuesPercentage" options have - been added. Thanks to Vedran Bartonicek for the patch. - * exec plugin: Do UID / GID lookups before forking. This should prevent - a race condition in the NSS library. Thanks to Ceri Storey for the - patch. - * lvm plugin: This new plugin collects size information from Linux' - Logical Volume Manager (LVM). Thanks to Chad Malfait for his work. - * memcached plugin: Support for increment and decrement counts has been - added. Thanks to Blake Matheny for the patch. - * mic plugin: This new plugin collects CPU and memory usage, power - consumption and temperatures of Intel's Many-Integrated-Core (MIC) - architecture, such as Xeon Phi cards. Thanks to Evan Felix for his - work. - * netlink plugin: This plugin has been converted to use the supported - "libmnl" library. Thanks to Andreas Henriksson for his patch. - * nginx plugin: Collection of accepted and handled connections has been - added. Thanks to Patrick Shan for his patch. - * sigrok plugin: This new plugin collects metrics from sigrok, a signal - processing framework reading various hardware devices, from light - meters to spectrum analyzers. Thanks to Bert Vermeulen for his patch. - * statsd plugin: This new plugin listens to a UDP socket and reads - metrics in the StatsD format. - * varnish plugin: Many additional metrics have been added. Thanks to - Nick Stenning for his patch. - * write_graphite plugin: Support for "UDP" has been added. Thanks to - Javier Maestro for his patch. - * write_riemann plugin: The "TTLFactor" option has been added. - * zfs_arc plugin: Support for FreeBSD has been added. Thanks to Xin Li - for his patch. - -2015-02-26, Version 5.3.2 - * Build system: Numerous fixes. Thanks to Bjørn Nordbø, Jim Radford, - KOMEDA Shinji, Lauri Tirkkonen, Manuel Luis Sanmartin Rozada, Marc - Fournier, Rainer Müller, Yoga Ramalingam and Yves Mettier. #326, - #373, #653, #828 - * collectd: A use-after-free has been fixed in the "parse_value()" - function. Thanks to Matthias Urlichs. - * collectd: Fix carriage return sign in types_list Thanks to Marc - Fournier and @NsLib. - * collectd: Fix programming error in src/configfile.c Thanks to - Wilfried Goesgens. - * collectd: An off-by-one error has been fixed in the - "strstripnewline()" function. Patch by Florian Forster. - * collectd: Use the complain mechanism to report filter chain write - failures. Thanks to Sebastian Harl. - * collectd: Spelling and grammar of error messages have been fixed. - Thanks to Katelyn Perry and Tim Laszlo. - * collectdctl: Fixed buffering issues which caused trouble on AIX and - Solaris. Thanks to Yoga Ramalingam. - * Documentation: Details and example about multi-instance filterchain - targets have been added. Thanks to Marc Fournier. - * Documentation: The "CollectStatistics" option of the rrdcached has - been documented. Thanks to Micha Krause. #907 - * Documentation: The write_redis has been documented. Thanks to Marc - Fournier. - * Documentation: The synopsis of the threshold has been fixed. Thanks - to Fabien Wernli. - * Documentation: The "GraphiteSeparateInstances" and - "GraphiteAlwaysAppendDS" options of the amqp have been documented. - Thanks to Marc Fournier. - * aggregation: "utils_vl_lookup": A race when creating user objects - has been fixed. Thanks to Sebastian Harl. #535 - * cpu: Temperature code for Mac OS X has been removed. - Thanks to Florian Forster and Marc Fournier. #22 - * csv: A regression which would lead to the "DataDir" option to be - ignored has been fixed. Thanks to Manuel Luis Sanmartin Rozada. - * curl, curl-json, curl-xml and write_http plugins: Call - "curl_global_init()" in the plugins' "init()" callback. Thanks to - Jeremy Katz. - * curl and memcachec plugins: Fix calculation of gauge, average, - minimum and maximum. Previously, they were calculated from the start - of the daemon, which is not the documented behavior. Thanks to - Florian Forster. #663 - * dbi plugin: Compatibility with new versions of libdbi has been - restored. Thanks to Florian Forster. #950 - * exec, unixsock plugins: Fix parsing of the "time" option of the - "PUTNOTIF" command. Thanks to Adrian Miron. #477 - * java: Conversion from Java's time representation to collectd's - representation has been fixed. Thanks to Manuel Luis Sanmartín - Rozada. - * ipmi: A conflict with the java over the "SIGUSR2" signal has been - fixed. Thanks to Vincent Bernat. #114 - * java: Make sure "cjni_thread_detach()" is called on all paths. - Thanks to Florian Forster. - * logfile and syslog plugins: Avoid total silence in case of a - misconfiguration. Thanks to Marc Fournier and Wilfried Goesgens. - * memcached: Connecting to a UNIX socket has been fixed. Thanks to Jim - Radford. - * network: Support for recent versions of gcrypt has been added. - Thanks to Vincent Bernat. #632 - * network: Robustness of the client connecting behavior has been - improved. Thanks to Florian Forster. #627 - * python: Don't create empty "meta_data_t" objects. Thanks to Florian - Forster. #716 - * python: Fix Py list length check in "cpy_build_meta()". Thanks to - Yoga Ramalingam. - * python: The "interval" member was fixed to export seconds as a - double. Thanks to Justin Burnham. - * replace and set targets: Fix error message. Thanks to Marc Fournier. - #448 - * rrdtool and rrdcached plugins: Honor the "DataDir" config option; - this fixes a regression. Thanks to Florian Forster. #380 - * rrdtool and rrdcached plugins: A memory leak when creating RRD files - has been fixed. Thanks to Yves Mettier. #661 - * snmp: Fix a memory leak. Thanks to Marc Fournier and Pierre-Yves - Ritschard. #610, #804 - * swap: Fix behavior under OpenVZ by making "cached" optional. Thanks - to Florian Forster. #733 - * threshold: Population of the "time" field in notifications has been - added. Thanks to Manuel Luis Sanmartín Rozada. - * libvirt: Only gather stats for running domains. Thanks to Ruben - Kerkhof. - * write_graphite: Escape characters not supported by Graphite. Thanks - to Pierre-Yves Ritschard and Marc Fournier. - * write_http: Make callback names context-dependent. Thanks to Marc - Fournier. #821 - * write_riemann: Receive acknowledge message when using TCP. Thanks to - John-John Tedro. - -2013-07-13, Version 5.3.1 - * Documentation: Various fixes. - * Configuration: Fix error handling: Errors in included files were - ignored, causing configuration mistakes to go unnoticed. - * dns plugin: Don't abort when PCAP returns an error. - * modbus plugin: The reconnection strategy was improved, fixing a - segfault in the libmodbud library. Thanks to Stefan Nickl and - Fabien Wernli for their patches. - * mysql plugin: The notification about a newly running MySQL slave - thread has been fixed. Thanks to Joaquín Cuenca Abela for the patch. - * snmp plugin: A build issue has been fixed (C99 mixed declaration). - The end-of-tree check has been improved by Pierre-Yves Ritschard. - * threshold plugin: Handling of the "Interesting" configuration option - has been fixed. Thanks to Björn for the patch. - * write_riemann plugin: A memory leak has been fixed. Thanks to Dave - Cottlehuber for reporting it. - -2013-04-09, Version 5.3.0 - * collectd: The "Include" statements can now be limited to include - only matching files in a directory. Thanks to Sebastian Harl for his - patch. - * collectd: Dispatches / writes are now handled by a thread pool. This - improves reliability and throughput for instances configured to act - as a "server". Thanks to Sebastian Harl and Dan Fandrich for - reviewing this change and fixing bugs. - * aggregation plugin: Selection of value lists is now possible using - regular expressions. Parts of the identifier of the resulting metric - can now be set via the configuration file. - * apcups plugin: The "ReportSeconds" option has been implemented. - * curl* plugins: Support for POST requests and custom request headers - has been added. Thanks to Dan Fandrich for his patch. - * curl_xml plugin: Support for XML namespaces has been added. Thanks - to Dan Fandrich for his patch. - * dbi plugin: Support for numeric options has been added. The - "Host" option has been added. Thanks to Daniel Hilst for his patch. - * disk plugin: Support for systems with >256 has been fixed. Thanks to - Greg Mason for his patch. - * libvirt plugin: Support for memory allocation has been added. Thanks - to Johan Wirén for his patch. - * netapp plugin: Support for "SnapVault", "VFiler" and deduplication / - compression and quota metrics. Thanks to Sebastian Harl for his - patches and teamix GmbH for sponsoring this work. - * postgresql plugin: The reconnection logic has been improved. Thanks - to Sebastian Harl for his patches. - * rrdtool, rrdcached plugins: The "CreateFilesAsync" option has been - implemented. When enabled, new RRD files will be created - asynchronously, which improved throughput of "server" instances. - Many thanks to Yves Mettier for all his input and code. - * tail_csv plugin: This new plugins allows to read metrics from CSV - files, such as Snort's statistics file. Thanks to Kris Nielander for - his patch. - * write_mongodb plugin: Authentication options have been added. - * write_riemann plugin: This new plugin allows sending metrics to - Riemann, a stream processing and alerting tool. Big thanks to - Pierre-Yves Ritschard for his work. - -2013-04-08, Version 5.2.2 - * Build system: A bad interaction between the Java detection code and - libltdl has been fixed. Thanks to Dave Cottlehuber for his patch. - Installation of the Perl bindings has been improved / fixed. Thanks - to Sebastian Harl for his patch. - * collectd: Fixed read callback scheduling at startup. - * apache, ascent, bind, curl, curl_json, curl_xml, nginx and - write_http plugins: Portability fixes, protection from infinite - redirect loops, improved error handling and incorrect dereferences - have been fixed. Most of these are related to the cURL library. - Thanks to Dan Fandrich for his patches. - * logfile plugin: Flush the output file handle. This works around - caching when logging to STDOUT and redirecting into a file. Thanks - to Nathan Huff for the patch. - * mysql plugin: Fix a memory leak in the error handling. Thanks to - Tomas Doran for his patch. - * netapp plugin: Fix the interval with which values are dispatched. - * network plugin: Build issues under FreeBSD and initialization have - been fixed. Thanks to Ed Schouten for his patch. - * nfs plugin: A compilation problem has been fixed. - * notify_email plugin: Add a character set to the mail header. Thanks - to Manuel Cissé for his patch. - * pf plugin: Build issues have been fixed. - * postgresql plugin: Build issues have been fixed. - * rrdcached plugin: Connect to the daemon from the read callback. - * snmp plugin: Matching of SNMP subtrees has been improved. Thanks to - "jkrabbe" for the patch. - * thermal plugin: The initialization of dispatched value lists has - been fixed. Thanks to Markus Knetschke for his patch. - * unixsock plugin: Parsing of options with an underscore, e.g. - "plugin_instance" has been fixed. Thanks to Tommie Gannert for his - patch. - -2013-01-27, Version 5.2.1 - * Build system: "make distcheck" has been fixed. Build fixes Solaris - and systems without gcrypt. Thanks to Yves Mettier for his patches. - * collectd: The complaint mechanism was fixed. It reported messages - more frequently than intended. - * collectd-tg: A manual page has been added. - * dns plugin: Build issues on FreeBSD have been fixed. Thanks to - Ed Schouten for his patch. - * ethstat plugin: Fix the "Map" config option. An incorrectly used - character pointer may lead to a segmentation fault. - * network plugin: Build issues on FreeBSD have been fixed. Thanks to - Ed Schouten for his patch. - * postgresql plugin: A memory leak in the writing code has been fixed. - A use-after-free issue that happened when more than one database was - configured was fixed. Thanks to Sebastian Harl for fixing these - problems. - * redis plugin: A build failure has been fixed. Thanks to Pierre-Yves - Ritschard for his patch. - * varnish plugin: Fix a problem with instances without name. - * write_graphite plugin: A regression which rendered the - "SeparateInstances" and "AlwaysAppendDS" options unusable has been - fixed. A failed assertion when using types with many data sources - has been fixed. Improve reporting of connection errors to not spam - log files too much. Thanks to Pierre-Yves Ritschard for reporting - the logging problem. - * zfs_arc plugin: Fix the type used for mutex misses. Thanks to Yves - Mettier for reporting this bug. - -2012-11-17, Version 5.2.0 - * collectd: The performance of the LISTVAL command has been improved. - Thanks to Yves Mettier for the patch. - * collectd: The possibility to configure the collection interval on a - per-plugin basis has been added. Huge thanks to Sebastian Harl for - his work. - * collectd-tg: This new binary allows to generate random but real - looking collectd network traffic. This can be used to load-test new - plugin, for example. - * libcollectdclient: Code for constructing and sending network packets - in the binary format has been added. - * aggregation plugin: This new plugin allows to aggregate multiple - value lists into one. - * amqp and write_http plugins: Meta data is now included in the JSON - output format. Thanks to Mark Wong for the patch. - * amqp plugin: Support for "Graphite" output has been added. Thanks to - Thomas Meson for the patch. - * contextswitch plugin: Support for AIX has been added. Thanks to - Manuel Rozada for his patch. - * disk plugin: The "UseBSDName" config option has been added to the - Mac OS X version. - * GenericJMX plugin: Automatically determine the host name if it isn't - configured. - * libvirt plugin: The "number" interface format has been added. Thanks - to "Davide Guerri" for the patch. - * memcached plugin: Support for multiple connections has been added. - Thanks to Nicolas Szalay for the patch. - * ntpd plugin: The "IncludeUnitID" config option has been added. The - behavior when a peer is unreachable has been improved. Thanks to - Johan Kiviniemi for the patches. - * oracle plugin: The "Host" config option has been added. - * pf plugin: This new plugin allows to collect statistics from BSD's - packet filter "pf". Thanks to Pierre-Yves Ritschard and Stefan Rinkes - for their work. - * postgresql plugin: The "Instance" config option has been added. - Support for writing values to a PostgreSQL database has been added. - Thanks to Sebastian Harl for the patches. - * processes plugin: Support for Solaris has been added. Thanks to - Cosmin Ioiart for the patch. - * redis plugin: Support for authenticating via password has been added. - Thanks to biancalana for the patch. - * rrdcached plugin: The "HeartBeat", "RRARows", "RRATimespan", - "StepSize" and "XFF" config options have been added. - * swap plugin: The "ReportBytes" config option has been added. The AIX - version now also exports "reserved" pages and swap-in / swap-out - "traffic". Thanks to Manuel Rozada for the patch. - * tcpconns plugin: Use a netlink socket rather than reading from /proc - for improved performance. Thanks to Michael Stapelberg for the patch. - -2013-04-08, Version 5.1.3 - * Build system: A bad interaction between the Java detection code and - libltdl has been fixed. Thanks to Dave Cottlehuber for his patch. - * collectd: Fixed read callback scheduling at startup. - * apache, ascent, bind, curl, curl_json, curl_xml, nginx and - write_http plugins: Portability fixes, protection from infinite - redirect loops, improved error handling and incorrect dereferences - have been fixed. Most of these are related to the cURL library. - Thanks to Dan Fandrich for his patches. - * logfile plugin: Flush the output file handle. This works around - caching when logging to STDOUT and redirecting into a file. Thanks - to Nathan Huff for the patch. - * mysql plugin: Fix a memory leak in the error handling. Thanks to - Tomas Doran for his patch. - * netapp plugin: Fix the interval with which values are dispatched. - * network plugin: Build issues under FreeBSD and initialization have - been fixed. Thanks to Ed Schouten for his patch. - * nfs plugin: A compilation problem has been fixed. - * notify_email plugin: Add a character set to the mail header. Thanks - to Manuel Cissé for his patch. - * rrdcached plugin: Connect to the daemon from the read callback. - * snmp plugin: Matching of SNMP subtrees has been improved. Thanks to - "jkrabbe" for the patch. - * thermal plugin: The initialization of dispatched value lists has - been fixed. Thanks to Markus Knetschke for his patch. - * unixsock plugin: Parsing of options with an underscore, e.g. - "plugin_instance" has been fixed. Thanks to Tommie Gannert for his - patch. - -2013-01-25, Version 5.1.2 - * Build system: "make distcheck" has been fixed. Thanks to Yves - Mettier for his patches. - * collectd: The complaint mechanism was fixed. It reported messages - more frequently than intended. - * dns plugin: Build issues on FreeBSD have been fixed. Thanks to - Ed Schouten for his patch. - * ethstat plugin: Fix the "Map" config option. An incorrectly used - character pointer may lead to a segmentation fault. - * network plugin: Build issues on FreeBSD have been fixed. Thanks to - Ed Schouten for his patch. - * varnish plugin: Fix a problem with instances without name. - * write_graphite: Improve reporting of connection errors to not spam - log files too much. Thanks to Pierre-Yves Ritschard for reporting - this problem. - * zfs_arc plugin: Fix the type used for mutex misses. Thanks to Yves - Mettier for reporting this bug. - -2012-11-11, Version 5.1.1 - * collectd: Create new directories with mode 0777 and let umask remove - unwanted permission bits. - * collectd: Build issues have been fixed. - * collectd: An incorrect assertion has been fixed in some common code - for Solaris. This should resolve pseudo-random assertion failures - under Solaris. Thanks to Jeff Blane for his help debugging this. - * collectd: A couple of memory leaks through PThread thread attributes - have been fixed. Thanks to Gerrie Roos for fixing these. - * collectdctl: Fix PUTVAL for data sets with multiple data sources. - Thanks to Cyril Feraudet for reporting this problem. - * contrib/migrate-4-5.px: Handle to "df" to "df_complex" conversion - correctly. - * apcups plugin: Improve the reconnect behavior. - * curl_xml plugin: The "Host" setting was silently ignored. Thanks to - Fabien Wernli for fixing this. - * df plugin: Ignore "rootfs" devices under Linux to avoid having them - reported twice. Thanks to Brune Prémont for fixing this. - * disk plugin: Fix incorrect computation of read and write latency (the - "disk_time" type). Previously, the numbers reported where too small - by a factor of "interval", e.g. when the interval is set to 10 - seconds, the values were too low by a factor of 10. Thanks to Manuel - Sanmartin for reporting this problem. - * dns plugin: A build issue under Solaris has been fixed. A erroneous - define that could lead to the reporting of bad data has been fixed by - Daniel Sutto. - * ethstat plugin: An off-by-one error and potential use of - uninitialized memory has been fixed. Thanks to Mark Voelker for - reporting these problems. - * memcachec plugin: A bug in the configuration handling has been fixed. - Thanks to Pascal Hofmann for fixing this issue. - * mysql plugin: Fix a bug when registering multiple databases. Thanks - to Sebastian Harl for fixing this. - * netapp plugin: Correctly close the connection on communication - errors. - * netlink plugin: The function used to query statistics has been - changed to be more in line with iproute2's behavior. Thanks to - "KIvosak" for the patch. - * network plugin: Initialization of libgcrypt has been fixed. Thanks to - Chris Lundquist for his patch. - * oracle plugin: Error messages have been improved. - * ping plugin: Don't enter the exponential back-off mode when - ping_send() fails. This should make recovery after a network failure - much faster. - * python plugin: Memory leaks have been fixed. Thanks to Tommie Gannert - and Sven Trenkel for fixing this. - * redis plugin: Fix a compilation problem on FreeBSD. Thanks to - "biancalana" for the fix. - * rrdtool plugin: Fix an out-of-bounds array access when printing a - warning message. Thanks to Will Hawkins for fixing this bug. - * snmp plugin: Support for the SNMP_ENDOFMIBVIEW return value has been - added. Support for more complex / unusual MIBs / subtrees has been - added. Thanks to Mark Juric to test the changes and point out these - problems. - * varnish plugin: Support for multiple instances of Varnish 3 has been - fixed. Thanks to Jonathan Huot for the patch. - * write_mongodb plugin: Add compatibility with libmongo 0.6.0 and - later. Thanks to Chris Lundquist for this patch. - -2012-04-01, Version 5.1.0 - * Build system, iptables plugin: The shipped version of libiptc has - been removed. - * collectd-nagios: A list of value lists can now be queried using - "-n LIST". Thanks to Sebastian Harl for his patches. - * bind plugin: The "ParseTime" option has been added. It allows to use - the system time rather than the time reported by BIND. - * curl, memcachec, tail plugins: The "ExcludeRegexp" option has been - added. Thanks to Peter Warasin for his initial patch. - * ethstat plugin: The new "ethstat" plugin reads performance statistics - directly from ethernet cards. Thanks to Cyril Feraudet for his patch. - * GenericJMX plugin: Support for querying MBean "Operations" (in - addition to "Attributes") has been added. Thanks to Pierre-Yves - Ritschard for his patch. - * irq plugin: The selection / ignore code now uses the default - ignorelist infrastructure, providing the standard feature set, e.g. - regex matching. - * md plugin: The new "md" plugin reports the number of disks in various - states in Linux software RAID devices. Thanks to Michael Hanselmann - for his patch. - * modbus plugin: Support for signed integer register types has been - added. - * nfs plugin: Support for Solaris has been added. Thanks to Cosmin - Ioiart for his patch. - * numa plugin: The new "numa" plugin reports statistics of the - Non-Uniform Memory Access (NUMA) subsystem of Linux. - * processes plugin: Various fixes for the FreeBSD implementation. - Thanks to Phil Kulin for his patch. - * rrdcached plugin: Passing flushes to the caching daemon has been - added. - * sensors plugin: The initialization code has been improved. Thanks to - Henrique de Moraes Holschuh for his patch. - * swap plugin: The "ReportByDevice" option has been added. - * syslog plugin: Support for writing notifications has been added. - Thanks to Fabien Wernli for his patch. - * tcpconns plugin: Support for AIX has been added. Thanks to Manuel - Luis Sanmartín Rozada for his patch. - * threshold plugin: The "PersistOK" option has been added. Thanks to - Aaron Brady for his patch. - * varnish plugin: Support for Varnish 3.0 has been added. Thanks to - Jérôme Renard for his patches. - * write_mongodb plugin: The new "write_mongodb" plugin writes value - lists to MongoDB, a shema-less database. Thanks to Akkarit Sangpetch - and Chris Lundquist for their work. - * write_graphite plugin: The new "write_graphite" plugin writes value - lists to Carbon, the storage layer of the Graphite time-series - database. Thanks to Scott Sanders and Pierre-Yves Ritschard for their - work. - * zfs_arc plugin: Several new statistics have been added. Thanks to - Aurelien Rougemont for his patches. - * scale target: Support for scaling specific data sources only has been - added. Thanks to Gerrie Roos for his patch. - -2012-11-11, Version 5.0.5 - * collectd: Create new directories with mode 0777 and let umask remove - unwanted permission bits. - * collectd: Build issues have been fixed. - * collectd: An incorrect assertion has been fixed in some common code - for Solaris. This should resolve pseudo-random assertion failures - under Solaris. Thanks to Jeff Blane for his help debugging this. - * collectd: A couple of memory leaks through PThread thread attributes - have been fixed. Thanks to Gerrie Roos for fixing these. - * collectdctl: Fix PUTVAL for data sets with multiple data sources. - Thanks to Cyril Feraudet for reporting this problem. - * contrib/migrate-4-5.px: Handle to "df" to "df_complex" conversion - correctly. - * apcups plugin: Improve the reconnect behavior. - * curl_xml plugin: The "Host" setting was silently ignored. Thanks to - Fabien Wernli for fixing this. - * df plugin: Ignore "rootfs" devices under Linux to avoid having them - reported twice. Thanks to Brune Prémont for fixing this. - * disk plugin: Fix incorrect computation of read and write latency (the - "disk_time" type). Previously, the numbers reported where too small - by a factor of "interval", e.g. when the interval is set to 10 - seconds, the values were too low by a factor of 10. Thanks to Manuel - Sanmartin for reporting this problem. - * dns plugin: A build issue under Solaris has been fixed. A erroneous - define that could lead to the reporting of bad data has been fixed by - Daniel Sutto. - * memcachec plugin: A bug in the configuration handling has been fixed. - Thanks to Pascal Hofmann for fixing this issue. - * mysql plugin: Fix a bug when registering multiple databases. Thanks - to Sebastian Harl for fixing this. - * netapp plugin: Correctly close the connection on communication - errors. - * netlink plugin: The function used to query statistics has been - changed to be more in line with iproute2's behavior. Thanks to - "KIvosak" for the patch. - * network plugin: Initialization of libgcrypt has been fixed. Thanks to - Chris Lundquist for his patch. - * oracle plugin: Error messages have been improved. - * ping plugin: Don't enter the exponential back-off mode when - ping_send() fails. This should make recovery after a network failure - much faster. - * python plugin: Memory leaks have been fixed. Thanks to Tommie Gannert - and Sven Trenkel for fixing this. - * redis plugin: Fix a compilation problem on FreeBSD. Thanks to - "biancalana" for the fix. - * rrdtool plugin: Fix an out-of-bounds array access when printing a - warning message. Thanks to Will Hawkins for fixing this bug. - * snmp plugin: Support for the SNMP_ENDOFMIBVIEW return value has been - added. Support for more complex / unusual MIBs / subtrees has been - added. Thanks to Mark Juric to test the changes and point out these - problems. - -2012-04-01, Version 5.0.4 - * Build system: Fix the use of a libltdl macro. Thanks to Clemens Lang - for fixing this. Adresses some issues with building the iptables - plugin under Gentoo. - * libcollectdclient: A memory leak in the lcc_getval() function has - been fixed. Thanks to Jason Schmidlapp for finding and fixing this - issue. - * bind plugin: The use of 'QType" types has been fixed. - * df plugin: Fixed compiler issue under Mac OS X 10.7. - * conntrack plugin: Support zero as legitimate value. Thanks to Louis - Opter for his patch. - * memcached plugin: Increased the size of a static buffer, which was - truncating status messages form memcached. Thanks to Timon for the - patch. - * network plugin: Forwarding of notifications has been disabled. This - was a contition not checked for before, which may retult in an - endless loop. - * processes plugin: Support for process names with spaces has been - added to the Linux implementation. Thanks to Darrell Bishop for his - patch. - * perl plugin: A race condition in several callbacks, including log and - write callbacks, has been fixed. Thanks to "Rrpv" for reporting this - bug. - * snmp plugin: A bug when casting unsigned integers to gauge values has - been fixed: Unsigned integers would be cast to a signed integer and - then to a gauge, possibly resulting in a negative value. - * tcpconns plugin: Compilation with newer versions of the FreeBSD - runtime has been fixed. - -2012-02-19, Version 5.0.3 - * Build system: Fix problems when building the ipvs and iptables - plugins. Thanks to Sebastian Harl for his patch. A bashism in the - version-gen.sh script has been fixed. Thanks to Jo-Philipp Wich for - his patch. - * csv and rrdtool plugins: Print a more helpful error message when the - DataDir is a symlink pointing to a non-existing location. Thanks to - Jonathan Nieder for his patch. - * exec plugin: Fix a problem when using select(2) to read from file - handles. Thanks to Gerrie Roos for his patch. - * network plugin: An incorrect error message in the handling of the - "Interface" configuration option has been fixed. Thanks to Gerrie - Roos for his patch. - * oracle plugin: A potential endless loop in the error handling has - been fixed. - * python plugin: A crash bug in the configuration handling has been - fixed. Thanks to Sven Trenkel for his patch. - * interfaces plugin: The change which was supposed to ignore "bogus" - interfaces has been reverted, since it ignored legit interfaces, such - as bonding pseudo-devices as well. - -2012-01-21, Version 5.0.2 - * curl_xml plugin: Fix handling of file:// and other URLs (which don't - follow HTTP status codes). Thanks to Fabien Wernli for his patch! - * df plugin: Fix handling of negative "available" counts. This can - occur with some file systems, for example UFS. Thanks to Toni Ylenius - for his patch. - * interface plugin: "mac" interfaces are now ignored on Solaris. These - pseudo-interfaces occur multiple times, causing warnings. Also switch - to 64-bit counters on Solaris, improving overflow behavior for - high-speed interfaces. Thanks to Eddy Geez and Fabien Wernli for - their patches. - * memory plugin: Account kernel and unused memory under Solaris. Thanks - to Fabien Wernli for his patch. - * network plugin: A bug in the interaction between the Network plugin - and filter chains has been fixed: When a filter modified a field such - as the hostname, subsequent values in the same network packets could - have ended up using the modified name rather than the original name. - Thanks to Sebastian Harl for identifying the problem. - * oracle plugin: A memory leak has been fixed in the parameter handling. - * python plugin: A memory leak has been fixed. Thanks to Sven Trenkel - for fixing this bug! - -2011-10-07, Version 5.0.1 - * collectd: A mutex leak has been fixed in the meta data code. Thanks - to Rafal Lesniak for his patch. - * collectd: Compatibility fixes for GCC 4.6 have been applied. Thanks - to Peter Green for his patch. - * csv plugin: The line buffer size has been increased. Thanks to Colin - McCabe for the patch. - * curl_json plugin: Don't use the "parent" node to build the type - instance, if it is empty. Compatibility with libyajl 2 has been - added. Thanks to "spupykin" of the Arch Linux project for the initial - code. Formatting of time has been fixed in the JSON module. - * exec plugin: Fix the timestamp value passed to notification scripts. - Thanks to Alexander Kovalenko for fixing this. - * iptables plugin: Fix linking with some versions of libiptc. - * irq plugin: Fix support for interrupts under Linux. The old code - assumed that interrupts have a numeric value -- this is no longer - true for Linux. Thanks to Bostjan Skufca for implementing this. - * notify_desktop plugin: Compatibility with libnotify 0.7 has been - added. Thanks to Samuli Suominen for his patch. - * processes plugin: Fix handling of regular expressions containing - spaces. Thanks for Sebastian Harl for fixing this. - * rrdtool, rrdcached plugins: Improve precision of the XFF parameter. - Previously, values like 0.999 would have been rounded to 1.0. Thanks - to Francois-Xavier Bourlet for fixing this. - * varnish plugin: Fix data type handling of some metrics. Some values - were submitted as gauge even though they were derives. - * Various plugin: Set a multi-threading flag in libcurl. Thanks to Mike - Flisher for the fix. - -2011-03-28, Version 5.0.0 - * collectd: The "FQDNLookup" option is now enabled by default. - * collectd: The internal representation of time has been changed to - allow a higher accuracy than one second. - * collectdcmd: This new command line utility can send various commands - to collectd using the UnixSock plugin. Thanks to HÃ¥kon Dugstad - Johnsen and Sebastian Harl for their code. - * collectd-nagios: The "-m" option has been implemented (treat NaNs as - critical). - * collectd-tg: Traffic generator creating bogus network traffic - compatible to the Network plugin. This utility can be used to - stress-test new write plugins and collectd in general. - * libcollectdclient: Creating and sending network packets has been - added to the collectd client library. - * All data sets: The data source name of all data sets with exactly - one data source has been changed to "value". - * All plugins: All "counter" data sources have been converted to - "derive" data sources. All plugins now use "derive" by default, but - plugins such as the network plugin can still handle "counter", of - course. The minimum value of all derive data sources is zero, the - maximum value is unspecified. - * amqp plugin: The new AMQP plugin can send data to and receive data - from an AMQP broker. Thanks to Sebastien Pahl for his code. - * apache plugin: Backwards compatibility code has been removed. - Support for the IBM HTTP Server has been added. Thanks to Manuel - Luis Sanmartín Rozada for his patch. - * contextswitch plugin: Support for sysctlbyname(3) has been added. - Thanks to Kimo Rosenbaum for his patch. - * df plugin: The default behavior has been changed to be equivalent to - the "ReportReserved" behavior of v4. - * dns plugin: Improved RFC 1035 name parsing has been imported from - "dnstop". - * exec plugin: Backwards compatibility code has been removed. - * GenericJMX plugin: The "InstancePrefix" option has been added to - "Connection" blocks. - * hddtemp plugin: The "TranslateDevicename" config option has been - removed. - * interface plugin: Use the "plugin instance" to store the interface - value. - * libvirt plugin: The "InterfaceFormat" option has been added. Thanks - to Ruben Kerkhof for his patch. - * lpar plugin: New plugins for "logical partitions", a virtualization - technique of POWER CPUs. Thanks to Aurélien Reynaud for his code and - patience. - * modbus plugin: Support for libmodbus 2.9.2 has been added and the - license has been changed to LGPLv2.1. - * mysql plugin: Backwards compatibility code has been removed. The - data sets used have been improved. - * network plugin: The default buffer size has been increased to - 1452 bytes. - * perl plugin: Backwards compatibility code has been removed. - * postgresql plugin: Backwards compatibility code has been removed. - * redis plugin: Plugin for collecting statistics from Redis, a key- - value store, has been added. Thanks to Andres J. Diaz for his code. - * swap plugin: Implement collection of physical and virtual memory - statistics under Solaris. The new default is collecting physical - memory. Thanks to Aurélien Reynaud for his patches. - * threshold plugin: The threshold configuration has been moved into - this separate plugin. - * unixsock plugin: The "DeleteSocket" option has been added. - * varnish plugin: The new Varnish plugin reads statistics from - Varnish, a web accelerator. Thanks to Jérôme Renard and Marc - Fournier for their contributions. - * write_redis: New plugin for writing data to Redis, a key-value - store. - * zfs_arc plugin: The data sets have been replaced by more elegant - alternatives. - * v5upgrade target: Target for converting v4 data sets to the v5 - schema. - -2013-04-07, Version 4.10.9 - * Build system: A bad interaction between the Java detection code and - libltdl has been fixed. Thanks to Dave Cottlehuber for his patch. - * apache, ascent, bind, curl, curl_json, curl_xml, nginx and - write_http plugins: Portability fixes, protection from infinite - redirect loops, improved error handling and incorrect dereferences - have been fixed. Most of these are related to the cURL library. - Thanks to Dan Fandrich for his patches. - * logfile plugin: Flush the output file handle. This works around - caching when logging to STDOUT and redirecting into a file. Thanks - to Nathan Huff for the patch. - * network plugin: Build issues under FreeBSD and initialization have - been fixed. Thanks to Ed Schouten for his patch. - * mysql plugin: Fix a memory leak in the error handling. Thanks to - Tomas Doran for his patch. - * thermal plugin: The initialization of dispatched value lists has - been fixed. Thanks to Markus Knetschke for his patch. - * unixsock plugin: Parsing of options with an underscore, e.g. - "plugin_instance" has been fixed. Thanks to Tommie Gannert for his - patch. - -2012-11-11, Version 4.10.8 - * collectd: Create new directories with mode 0777 and let umask remove - unwanted permission bits. - * collectd: Build issues have been fixed. - * collectd: An incorrect assertion has been fixed in some common code - for Solaris. This should resolve pseudo-random assertion failures - under Solaris. Thanks to Jeff Blane for his help debugging this. - * collectd: A couple of memory leaks through PThread thread attributes - have been fixed. Thanks to Gerrie Roos for fixing these. - * apcups plugin: Improve the reconnect behavior. - * df plugin: Ignore "rootfs" devices under Linux to avoid having them - reported twice. Thanks to Brune Prémont for fixing this. - * disk plugin: Fix incorrect computation of read and write latency (the - "disk_time" type). Previously, the numbers reported where too small - by a factor of "interval", e.g. when the interval is set to 10 - seconds, the values were too low by a factor of 10. Thanks to Manuel - Sanmartin for reporting this problem. - * dns plugin: A build issue under Solaris has been fixed. A erroneous - define that could lead to the reporting of bad data has been fixed by - Daniel Sutto. - * memcachec plugin: A bug in the configuration handling has been fixed. - Thanks to Pascal Hofmann for fixing this issue. - * netapp plugin: Correctly close the connection on communication - errors. - * netlink plugin: The function used to query statistics has been - changed to be more in line with iproute2's behavior. Thanks to - "KIvosak" for the patch. - * network plugin: Initialization of libgcrypt has been fixed. Thanks to - Chris Lundquist for his patch. - * oracle plugin: Error messages have been improved. - * ping plugin: Don't enter the exponential back-off mode when - ping_send() fails. This should make recovery after a network failure - much faster. - * python plugin: Memory leaks have been fixed. Thanks to Tommie Gannert - and Sven Trenkel for fixing this. - * rrdtool plugin: Fix an out-of-bounds array access when printing a - warning message. Thanks to Will Hawkins for fixing this bug. - * snmp plugin: Support for the SNMP_ENDOFMIBVIEW return value has been - added. Support for more complex / unusual MIBs / subtrees has been - added. Thanks to Mark Juric to test the changes and point out these - problems. - -2012-04-01, Version 4.10.7 - * Build system: Fix the use of a libltdl macro. Thanks to Clemens Lang - for fixing this. Adresses some issues with building the iptables - plugin under Gentoo. - * libcollectdclient: A memory leak in the lcc_getval() function has - been fixed. Thanks to Jason Schmidlapp for finding and fixing this - issue. - * bind plugin: The use of 'QType" types has been fixed. - * df plugin: Fixed compiler issue under Mac OS X 10.7. - * conntrack plugin: Support zero as legitimate value. Thanks to Louis - Opter for his patch. - * memcached plugin: Increased the size of a static buffer, which was - truncating status messages form memcached. Thanks to Timon for the - patch. - * network plugin: Forwarding of notifications has been disabled. This - was a contition not checked for before, which may retult in an - endless loop. - * processes plugin: Support for process names with spaces has been - added to the Linux implementation. Thanks to Darrell Bishop for his - patch. - * perl plugin: A race condition in several callbacks, including log and - write callbacks, has been fixed. Thanks to "Rrpv" for reporting this - bug. - * snmp plugin: A bug when casting unsigned integers to gauge values has - been fixed: Unsigned integers would be cast to a signed integer and - then to a gauge, possibly resulting in a negative value. - * tcpconns plugin: Compilation with newer versions of the FreeBSD - runtime has been fixed. - -2012-02-19, Version 4.10.6 - * Build system: Fix problems when building the ipvs and iptables - plugins. Thanks to Sebastian Harl for his patch. A bashism in the - version-gen.sh script has been fixed. Thanks to Jo-Philipp Wich for - his patch. - * csv and rrdtool plugins: Print a more helpful error message when the - DataDir is a symlink pointing to a non-existing location. Thanks to - Jonathan Nieder for his patch. - * exec plugin: Fix a problem when using select(2) to read from file - handles. Thanks to Gerrie Roos for his patch. - * network plugin: An incorrect error message in the handling of the - "Interface" configuration option has been fixed. Thanks to Gerrie - Roos for his patch. - * oracle plugin: A potential endless loop in the error handling has - been fixed. - * python plugin: A crash bug in the configuration handling has been - fixed. Thanks to Sven Trenkel for his patch. - * interfaces plugin: The change which was supposed to ignore "bogus" - interfaces has been reverted, since it ignored legit interfaces, such - as bonding pseudo-devices as well. - -2012-01-21, Version 4.10.5 - * curl_xml plugin: Fix handling of file:// and other URLs (which don't - follow HTTP status codes). Thanks to Fabien Wernli for his patch! - * df plugin: Fix handling of negative "available" counts. This can - occur with some file systems, for example UFS. Thanks to Toni Ylenius - for his patch. - * interface plugin: "mac" interfaces are now ignored on Solaris. These - pseudo-interfaces occur multiple times, causing warnings. Also switch - to 64-bit counters on Solaris, improving overflow behavior for - high-speed interfaces. Thanks to Eddy Geez and Fabien Wernli for - their patches. - * memory plugin: Account kernel and unused memory under Solaris. Thanks - to Fabien Wernli for his patch. - * network plugin: A bug in the interaction between the Network plugin - and filter chains has been fixed: When a filter modified a field such - as the hostname, subsequent values in the same network packets could - have ended up using the modified name rather than the original name. - Thanks to Sebastian Harl for identifying the problem. - * oracle plugin: A memory leak has been fixed in the parameter handling. - * python plugin: A memory leak has been fixed. Thanks to Sven Trenkel - for fixing this bug! - -2011-10-14, Version 4.10.4 - * collectd: A mutex leak has been fixed in the meta data code. Thanks - to Rafal Lesniak for his patch. - * collectd: Compatibility fixes for GCC 4.6 have been applied. Thanks - to Peter Green for his patch. - * csv plugin: The line buffer size has been increased. Thanks to Colin - McCabe for the patch. - * curl_json plugin: Don't use the "parent" node to build the type - instance, if it is empty. Compatibility with libyajl 2 has been - added. Thanks to "spupykin" of the Arch Linux project for the initial - code. - * iptables plugin: Fix linking with some versions of libiptc. - * irq plugin: Fix support for interrupts under Linux. The old code - assumed that interrupts have a numeric value -- this is no longer - true for Linux. Thanks to Bostjan Skufca for implementing this. - * notify_desktop plugin: Compatibility with libnotify 0.7 has been - added. Thanks to Samuli Suominen for his patch. - * processes plugin: Fix handling of regular expressions containing - spaces. Thanks for Sebastian Harl for fixing this. - * rrdtool, rrdcached plugins: Improve precision of the XFF parameter. - Previously, values like 0.999 would have been rounded to 1.0. Thanks - to Francois-Xavier Bourlet for fixing this. - * Various plugin: Set a multi-threading flag in libcurl. Thanks to Mike - Flisher for the fix. - -2011-03-26, Version 4.10.3 - * Documentation: Several updates and additions. Thanks to Sebastian Harl. - * collectd: Build issues (compiler warnings) have been fixed. Thanks to - Bruno Prémont. - * collectd: Threshold subsection: Handling of NAN values in the - percentage calculation has been fixed. - * collectd, java plugin, ntpd plugin: Several diagnostic messages have - been improved. - * curl_json plugin: Handling of arrays has been fixed. - * libvirt plugin: A bug in reading the virtual CPU statistics has been - fixed. Thanks to “JLPC” for reporting this problem. - * modbus plugin: Compatibility with libmodbus 2.0.3 has been restored. - * processes plugin: Potentially erroneous behavior has been fixed in an - error handling case. - * python plugin: Fix dispatching of values from Python scripts to - collectd. Thanks to Gregory Szorc for finding and fixing this - problem. - -2010-11-27, Version 4.10.2 - * Documentation: Various documentation fixes. - * collectd: If including one configuration file fails, continue with - the rest of the configuration if possible. - * collectd: Fix a bug in the read function scheduling. In rare cases - read functions may not have been called as often as requested. - * collectd: Concurrency issues with errno(3) under AIX have been - fixed: A thread-safe version of errno has to be requested under AIX. - Thanks to Aurélien Reynaud for his patch. - * collectd: A left-over hard-coded 2 has been replaced by the - configurable timeout value. - * curl, memcachec, tail plugins: Fix handling of "DERIVE" data - sources. Matching the end of a string has been improved; thanks to - Sebastian Harl for the patch. - * curl_json plugin: Fix a problem when parsing 64bit integers. Reading - JSON data from non-HTTP sources has been fixed. - * netapp plugin: Pass the interval setting to the dispatch function. - Restore compatibility to NetApp Release 7.3. Thanks to Sven Trenkel - for the patch. - * network plugin: Be less verbose about unchecked signatures, in order - to prevent spamming the logs. - * notify_email plugin: Concurrency problems have been fixed. - * python plugin: Set "sys.argv", since many scripts don't expect that - it may not be set. Thanks to Sven Trenkel for the patch. - * rrdtool, rrdcached plugin: Fix a too strict assertion when creating - RRD files. - * swap plugin: A bug which lead to incorrect I/O values has been - fixed. - * value match: A minor memory leak has been fixed. Thanks to Sven - Trenkel for the patch. - -2010-07-09, Version 4.10.1 - * Build system: Checking for "strtok_r" under Solaris has been fixed. - * Portability: Fixes for Solaris 8 have been applied. Thanks to - Alexander Wuerstlein for his patch. - * collectd: The shutdown speed when terminating the read threads has - been improved. - * libcollectdclient: A format error in the PUTVAL command has been - removed. Thanks to Johan Van den Brande for fixing this. - * df plugin: An error message shown when "cu_mount_getlist" fails has - been added. - * processes plugin: Missing initialization code for IO members of a - struct has been added. Thanks to Aurélien Reynaud for fixing this. - * python plugin: Memory leaks in the write and notification callbacks - have been fixed. A possible crash when the plugin was loaded but not - configured has been fixed. Thanks to Sven Trenkel for his patches. - * snmp plugin: Verbosity with regard to unknown ASN types has been - increased. A build problem on PowerPC and ARM processors has been - fixed by Aurélien Reynaud; thanks! - * powerdns plugin: Compatibility changes for PowerDNS 2.9.22 and above - have been applied. Thanks to Luke Heberling for his changes. - -2010-05-01, Version 4.10.0 - * collectd: JSON output now includes the "dstypes" and "dsnames" - fields. This makes it easier for external applications to interpret - the data. Thanks to Chris Buben for his work. - * collectd: The new "Timeout" option can be used to specify a - "timeout" for missing values. This is used in the threshold checking - code to detect missing values. Thanks to Andrés J. Díaz for the - patch. - * apache plugin: Support for "IdleWorkers" (Apache 1.*: "IdleServers") - has been added. - * curl plugin: The new "ExcludeRegex" allows to easily exclude certain - lines from the match. - * curl_xml plugin: This new plugin allows to read XML files using cURL - and extract metrics included in the files. Thanks to Amit Gupta for - his work. - * filecount plugin: The new "IncludeHidden" option allows to include - "hidden" files and directories in the statistics. Thanks to Vaclav - Malek for the patch. - * logfile plugin: The new "PrintSeverity" option allows to include the - severity of a message in the output. Thanks to Clément Stenac for - his patch. - * memcachec plugin: The new "ExcludeRegex" allows to easily exclude - certain lines from the match. - * modbus plugin: This new plugin allows to read registers from - Modbus-TCP enabled devices. - * network plugin: The new "Interface" option allows to set the - interface to be used for multicast and, if supported, unicast - traffic. Thanks to Max Henkel for his work. - * openvpn plugin: The "CollectUserCount" and "CollectIndividualUsers" - options allow more detailed control over how to report sessions of - multiple users. Thanks to Fabian Schuh for his work. - * pinba plugin: This new plugin receives timing information from the - Pinba PHP extension, which can be used for profiling PHP code and - webserver performance. Thanks to Phoenix Kayo for his work. - * ping plugin: The new "MaxMissed" allows to re-resolve a hosts - address when it doesn't reply to a number of ping requests. Thanks - to Stefan Völkel for the patch. - * postgresql plugin: The "Interval" config option has been added. The - plugin has been relicensed under the 2-clause BSD license. Thanks to - Sebastian Harl for his work. - * processes plugin: Support for "code" and "data" virtual memory sizes - has been added. Thanks to Clément Stenac for his patch. - * python plugin: Support for Python 3 has been implemented. Thanks to - Sven Trenkel for his work. - * routeros plugin: Support for collecting CPU load, memory usage, used - and free disk space, sectors written and number of bad blocks from - MikroTik devices has been added. - * swap plugin: Support for Linux < 2.6 has been added. Thanks to Lorin - Scraba for his patch. - * tail plugin: The new "ExcludeRegex" allows to easily exclude certain - lines from the match. Thanks to Peter Warasin for his patch. - * write_http plugin: The "StoreRates" option has been added. Thanks to - Paul Sadauskas for his patch. - * regex match: The "Invert" option has been added. Thanks to Julien - Ammous for his patch. - -2011-03-26, Version 4.9.5 - * Documentation: Several updates and additions. Thanks to Sebastian Harl. - * collectd: Build issues (compiler warnings) have been fixed. Thanks to - Bruno Prémont. - * collectd: Threshold subsection: Handling of NAN values in the - percentage calculation has been fixed. - * collectd, java plugin, ntpd plugin: Several diagnostic messages have - been improved. - * libvirt plugin: A bug in reading the virtual CPU statistics has been - fixed. Thanks to “JLPC” for reporting this problem. - * processes plugin: Potentially erroneous behavior has been fixed in an - error handling case. - * python plugin: Fix dispatching of values from Python scripts to - collectd. Thanks to Gregory Szorc for finding and fixing this - problem. - -2010-11-27, Version 4.9.4 - * Documentation: Various documentation fixes. - * collectd: If including one configuration file fails, continue with - the rest of the configuration if possible. - * collectd: Fix a bug in the read function scheduling. In rare cases - read functions may not have been called as often as requested. - * collectd: Concurrency issues with errno(3) under AIX have been - fixed: A thread-safe version of errno has to be requested under AIX. - Thanks to Aurélien Reynaud for his patch. - * curl, memcachec, tail plugins: Fix handling of "DERIVE" data - sources. Matching the end of a string has been improved; thanks to - Sebastian Harl for the patch. - * curl_json plugin: Fix a problem when parsing 64bit integers. Reading - JSON data from non-HTTP sources has been fixed. - * netapp plugin: Pass the interval setting to the dispatch function. - Restore compatibility to NetApp Release 7.3. Thanks to Sven Trenkel - for the patch. - * network plugin: Be less verbose about unchecked signatures, in order - to prevent spamming the logs. - * notify_email plugin: Concurrency problems have been fixed. - * python plugin: Set "sys.argv", since many scripts don't expect that - it may not be set. Thanks to Sven Trenkel for the patch. - * rrdtool, rrdcached plugin: Fix a too strict assertion when creating - RRD files. - * value match: A minor memory leak has been fixed. Thanks to Sven - Trenkel for the patch. - -2010-07-09, Version 4.9.3 - * Build system: Checking for "strtok_r" under Solaris has been fixed. - * Portability: Fixes for Solaris 8 have been applied. Thanks to - Aurélien Reynaud and Alexander Wuerstlein for their patches. - * collectd: The shutdown speed when terminating the read threads has - been improved. - * collectd-nagios: The format of the performance data has been fixed. - * libcollectdclient: A format error in the PUTVAL command has been - removed. Thanks to Johan Van den Brande for fixing this. - * df plugin: An error message shown when "cu_mount_getlist" fails has - been added. - * processes plugin: Missing initialization code for IO members of a - struct has been added. Thanks to Aurélien Reynaud for fixing this. - * python plugin: Memory leaks in the write and notification callbacks - have been fixed. A possible crash when the plugin was loaded but not - configured has been fixed. Thanks to Sven Trenkel for his patches. - * rrdcached plugin: A build issue has been resolved. Thanks to - Thorsten von Eicken for the patch. - * snmp plugin: Verbosity with regard to unknown ASN types has been - increased. A build problem on PowerPC and ARM processors has been - fixed by Aurélien Reynaud; thanks! - * powerdns plugin: Compatibility changes for PowerDNS 2.9.22 and above - have been applied. Thanks to Luke Heberling for his changes. - -2010-04-22, Version 4.9.2 - * Build system, various plugins: Fixes for AIX compatibility have been - added. Thanks to Manuel Sanmartin for his patches. - * Build system: Checking for "nanosleep" on old Solaris machines has - been fixed. Thanks to Vincent McIntyre and Sebastian Harl for - figuring out a way to make this work. - * collectd: Append a newline to messages written to STDERR. - * collectd: Serialization of NANs in JSON format has been fixed. - Thanks to Chris Buben for pointing out the resulting syntax error. - * collectd: Checks whether a "sleep" returned early have been added; - the cases are now handled correctly. Thanks to Michael Stapelberg - for the patch. - * collectd: Continue reading files in a directory when parsing one - file fails. - * apache plugin: Collection of the number of active connections has - been fixed for Apache 2.*. - * contextswitch plugin: Handle large counter/derive values correctly. - Thanks to Martin Merkel for reporting the bug. - * exec plugin: Error messages have been improved. The "running" flag - is now cleared correctly when forking a child fails. - * iptables plugin: Fix a violation of aliasing rules. This resolves a - warning / error with new GCC versions. Thanks to Jan Engelhardt for - the work-around. - * java plugin: The Java API files are now packaged into a .jar file. - Thanks to Amit Gupta for his patch. - * network plugin: Fix a segmentation fault when receiving packets with - an unknown data source type. - * network plugin: A memory leak when receiving encrypted network - packets has been fixed. - * openvpn plugin: Fix naming schema when reading "MULTI1" type status - files. - * oracle plugin: Fix checking for lost connections and reconnect in - this case. Thanks to Sven Trenkel for pointing out the problem. - * unixsock plugin: A memory leak in the "LISTVAL" command has been - fixed. Thanks to Peter Warasin for pointing it out. - * write_http plugin: Use the "any" authentication schema. This used to - be "digest". Thanks to Paul Sadauskas for the patch. - -2010-01-14, Version 4.9.1 - * Documentation: Some manpage fixes. - * Default config: Added sample configuration for missing plugins. - * apache plugin: Fix a segmentation fault in the config handling of - VerifyPeer / VerifyHost. Thanks to "plazmus" for his or her patch. - * processes plugin: Fix handling of derive data sources. - * rrdtool plugin: Fix a bug with random write timeouts. Due to an - incorrect initialization some files may be suspended basically - indefinitely. After flushing the files they were written regularly - again. - * routeros plugin: Use the node name for the "host" field. - * Monitorus.pm: Put the plugin into the "Collectd::Plugins" namespace. - * Perl bindings: Fix a warning that was printed when building - debugging output. - -2009-12-21, Version 4.9.0 - * contextswitch plugin: The new ContextSwitch plugin gathers the - number of context switches done by the CPU. Thanks to Patrik - Weiskircher for the patch. - * cpu plugin: Support for SMP (multiple processors) under FreeBSD has - been added. Thanks to Doug MacEachern for the patch. - * curl plugin: The “MeasureResponseTime” option has been added. Thanks - to Aman Gupta for the patch. - * df plugin: Collecting the inode count and reserved space has been - added. Thanks to Patrik Weiskircher for the patch. - * exec plugin: The environment variables “COLLECTD_INTERVAL” and - “COLLECTD_HOSTNAME” are now set before executing the application. - * Monitorus plugin: This Perl-based plugin to query statistics from - mon.itor.us has been added. Thanks to Jeff Green for the patch. - * netapp plugin: New plugin to collect statistics from NetApp filers. - Thanks to Sven Trenkel of the noris network AG for the patch. - * network plugin: Statistics collection about the plugin itself has - been implemented. - * openvpn plugin: Add support for more versions of the “status file”. - Thanks to Marco Chiappero for the patch. - * OpenVZ plugin: This Perl-based plugin to gather OpenVZ statistics - has been added. Thanks to Jonathan Kolb for the patch. - * ping plugin: The config options "SourceAddress" and "Device" - have been added. Thanks to Sebastian Harl for the patch. - * processes plugin: Collection of IO-metrics has been added. Thanks to - Andrés J. Díaz for the patch. - * python plugin: The new Python plugin integrates a Python interpreter - into collectd and allows to execute plugins written in the scripting - language. Thanks to Sven Trenkel for his work. - * routeros plugin: The new RouterOS plugin queries interface and - wireless registration statistics from RouterOS. - * Various plugins: AIX support has been added to the cpu, disk, - interface, load, memory, processes, and swap plugins. Thanks to - Manuel Sanmartin for his patches. - * hashed match: This match for simple load balancing and redundant - storage has been added. - * scale target: This target to scale (multiply) values by an arbitrary - value has been added. - -2010-04-22, Version 4.8.5 - * collectd: Append a newline to messages written to STDERR. - * network plugin: Fix a segmentation fault when receiving packets with - an unknown data source type. - -2010-04-07, Version 4.8.4 - * Build system, various plugins: Fixes for AIX compatibility have been - added. Thanks to Manuel Sanmartin for his patches. - * Build system: Checking for "nanosleep" on old Solaris machines has - been fixed. Thanks to Vincent McIntyre and Sebastian Harl for - figuring out a way to make this work. - * collectd: Serialization of NANs in JSON format has been fixed. - Thanks to Chris Buben for pointing out the resulting syntax error. - * collectd: Checks whether a "sleep" returned early have been added; - the cases are now handled correctly. Thanks to Michael Stapelberg - for the patch. - * collectd: Continue reading files in a directory when parsing one - file fails. - * apache plugin: Collection of the number of active connections has - been fixed for Apache 2.*. - * exec plugin: Error messages have been improved. The "running" flag - is now cleared correctly when forking a child fails. - * iptables plugin: Fix a violation of aliasing rules. This resolves a - warning / error with new GCC versions. Thanks to Jan Engelhardt for - the work-around. - * java plugin: The Java API files are now packaged into a .jar file. - Thanks to Amit Gupta for his patch. - * network plugin: A memory leak when receiving encrypted network - packets has been fixed. - * oracle plugin: Fix checking for lost connections and reconnect in - this case. Thanks to Sven Trenkel for pointing out the problem. - * unixsock plugin: A memory leak in the "LISTVAL" command has been - fixed. Thanks to Peter Warasin for pointing it out. - * write_http plugin: Use the "any" authentication schema. This used to - be "digest". Thanks to Paul Sadauskas for the patch. - -2010-01-14, Version 4.8.3 - * Documentation: Some manpage fixes. - * rrdtool plugin: Fix a bug with random write timeouts. Due to an - incorrect initialization some files may be suspended basically - indefinitely. After flushing the files they were written regularly - again. - -2009-12-18, Version 4.8.2 - * Build system, java plugin: Don't use “find -L” to search for Java - headers, because it's a GNU extension. - * Build system: Support for parallel builds has been improved. Thanks - Sebastian Harl and Stefan Völkel for looking into this. - * collectd: Print error messages to STDERR if no log plugin has been - loaded. - * genericjmx plugin: Close and re-open the connection upon I/O-errors. - * gmond plugin: Fix typos which caused syntax errors. - * memory plugin: Handling of >4 Gbyte of memory has been fixed. - * network plugin: The license has been changed to LGPL 2.1. - * oracle plugin: Reconnect to the database if the connection dies. - * rrdcached plugin: Work-around for a bug in RRDtool 1.4rc2 has been - added. - * snmp plugin: Handling of negative values has been fixed. Strings - containing control characters are now interpreted as hex-strings. - * unixsock plugin: A memory leak in the LISTVAL command has been - fixed. Thanks to Ben Knight for his patch. - -2009-10-04, Version 4.8.1 - * Build system: Issues when building the iptables plugin have been - fixed. - * exec plugin: Clear the signal block mask before calling exec(2). - * perl plugin: Declare the “environ” variable. This solves build - issues on some platforms. - * processes plugin: Remove unnecessary call of realloc(3). Thanks to - Andrés J. Díaz for the patch. - * unixsock plugin: Fix a (well hidden) race condition related to file - descriptor handling. - -2009-09-13, Version 4.8.0 - * collectd: Two new data source types, “DERIVE” and “ABSOLUTE”, have - been added. “DERIVE” can be used for counters that are reset - occasionally. Thanks to Mariusz Gronczewski for implementing this. - * thresholds: The advanced threshold options “Percentage”, “Hits”, and - “Hysteresis” have been added. Thanks to Andrés J. Díaz for his - patches. - * curl_json plugin: The new cURL-JSON plugin reads JSON files using - the cURL library and parses the contents according to user - specification. Among other things, this allows to read statistics - from a CouchDB instance. Thanks to Doug MacEachern for the patch. - * df plugin: Using the new “ReportByDevice” option the device rather - than the mount point can be used to identify partitions. Thanks to - Paul Sadauskas for the patch. - * dns plugin: The possibility to ignore numeric QTypes has been added. - Thanks to Mirko Buffoni for the patch. - * GenericJMX plugin: The new, Java-based GenericJMX plugin allows to - query arbitrary data from a Java process using the “Java Management - Extensions” (JMX). - * madwifi plugin: The new MadWifi plugin collects information about - Atheros wireless LAN chipsets from the MadWifi driver. Thanks to - Ondrej Zajicek for his patches. - * network plugin: The receive- and send-buffer-sizes have been made - configurable, allowing for bigger and smaller packets. Thanks to - Aman Gupta for the patch. - * olsrd plugin: The new OLSRd plugin queries routing information from - the “Optimized Link State Routing” daemon. - * rrdtool plugin: A new configuration option allows to define a random - write delay when writing RRD files. This spreads the load created by - writing RRD files more evenly. Thanks to Mariusz Gronczewski for the - patch. - * swap plugin: The possibility to collect swapped in/out pages has - been added to the Swap plugin. Thanks to Stefan Völkel for the - patch. - * tokyotyrant plugin: The new TokyoTyrant plugin reads the number of - records and file size from a running Tokyo Tyrant server. Thanks to - Paul Sadauskas for the patch. - * unixsock plugin: Add the “GETTHRESHOLD” command. This command can be - used to query the thresholds configured for a particular identifier. - * write_http plugin: The new Write HTTP plugin sends the values - collected by collectd to a web-server using HTTP POST requests. - Thanks to Paul Sadauskas for the patch. - * zfs_arc plugin: The new ZFS ARC plugin collects information about - the “Adaptive Replacement Cache” (ARC) of the “Zeta File-System” - (ZFS). Thanks to Anthony Dewhurst for the patch. - * empty_counter match: The new Empty Counter match matches value - lists, where at least one data source is of type COUNTER and the - counter value of all counter data sources is zero. - -2009-12-18, Version 4.7.5 - * Build system, java plugin: Don't use “find -L” to search for Java - headers, because it's a GNU extension. - * Build system: Support for parallel builds has been improved. Thanks - Sebastian Harl and Stefan Völkel for looking into this. - * collectd: Print error messages to STDERR if no log plugin has been - loaded. - * memory plugin: Handling of >4 Gbyte of memory has been fixed. - * network plugin: The license has been changed to LGPL 2.1. - * oracle plugin: Reconnect to the database if the connection dies. - * rrdcached plugin: Work-around for a bug in RRDtool 1.4rc2 has been - added. - * snmp plugin: Handling of negative values has been fixed. Strings - containing control characters are now interpreted as hex-strings. - * unixsock plugin: A memory leak in the LISTVAL command has been - fixed. Thanks to Ben Knight for his patch. - -2009-10-03, Version 4.7.4 - * Build system: Issues when building the iptables plugin have been - fixed. - * exec plugin: Clear the signal block mask before calling exec(2). - * perl plugin: Declare the “environ” variable. This solves build - issues on some platforms. - * processes plugin: Remove unnecessary call of realloc(3). Thanks to - Andrés J. Díaz for the patch. - * unixsock plugin: Fix a (well hidden) race condition related to file - descriptor handling. - -2009-09-13, Version 4.7.3 - * collectd: Fix a possible but very rare invalid “free” in the caching - code. Thanks to Sebastian Harl for the patch. - * collectd: Remove old values when a cache entry is marked as missing. - This way the “GETVAL” command of the UnixSock plugin doesn't return - old, no longer valid values when this happens. Thanks to Andrés J. - Díaz for the patch. - * collectd: The “plugin_unregister_read” function has been fixed. - * apache, ascent, bind, curl, nginx plugins: Advise the cURL library - to follow redirects. Thanks to Joey Hess for reporting this bug. - * df plugin: Check the ignorelist before stating the file system, - possibly reducing the number of stats considerably. Thanks to Joey - Hess for reporting this bug. - * iptables plugin: Support for the new libiptc API has been added. - Thanks to Sebastian Harl for the patch. The build system has been - updated to the plugin only includes the shipped header files when it - is linked with the shipped library, too. - * java plugin: Delay creating the JVM until after the daemon has - forked. The JVM internally creates threads that are lost when - forking. This means that Java-based plugins are now configured - during the init-phase, i. e. later than other plugins. - * libvirt plugin: Re-connect to libvirtd if connecting fails. Thanks - to Alan Pevec for the patch. - * network plugin: Fix the handling of the “CacheFlush” option: The - value was assigned to a wrong variable. The initialization of the - gcrypt library, which is used for signing / encrypting traffic, has - been fixed. Thanks to Luke Heberling for the patch. - * powerdns plugin: Set a timeout when reading data from the datagram - socket. Handling of the “LocalSocket” option has been fixed. An - incorrectly used “type” has been corrected. Thanks to Luke Heberling - for his patches. - -2009-07-19, Version 4.7.2 - * Build system: Support for `DESTDIR' has been fixed in the Java - bindings. - * collectd: Okay-notifications have been fixed. Thanks to Andrés J. - Díaz for fixing this bug. - * collectd: A programming error has been fixed in the notification - code. The bug may result in an assertion failure. - * memcached plugin: Portability fix for Solaris. Thanks to Amit Gupta - for reporting the bug. - * ping plugin: Link the plugin with libm. - -2009-06-02, Version 4.7.1 - * Build system: Detection of Java has been improved and missing - details have been added to the configuration summary. Support for - libtool 2.2 has been added. - * collectd: Two bugs with the threshold checking have been fixed. The - first one prevented thresholds to be checked at all, the second one - caused wrong behavior with the persistency option. Thanks to Andrés - J. Díaz for fixing these problems. - * collectd: Handling of the `Include' configuration option has been - fixed. - * rrdtool plugin: Make sure initialization is run only once. This - resolves problems under Solaris and potentially other systems. - Thanks to Amit Gupta for reporting this bug. - * java plugin: Make it possible to use dots ('.') instead of slashes - ('/') as the class separator. Thanks to Randy Rizun for pointing - this out. - * swap plugin: A work-around for 32-bit Solaris has been added. Thanks - to Doug MacEachern for the patch. - -2009-05-11, Version 4.7.0 - * apache plugin: Support to query multiple servers has been added. - Thanks to Amit Gupta for the patch. - * apache plugin: Handling of lighttpd's scoreboard statistics has been - improved. Thanks to Amit Gupta for the patch. - * conntrack plugin: The new conntrack plugin collects the connection - tracking table size. Thanks to Tomasz Pala for the patch. - * fscache plugin: The new fscache plugin collects statistics about - Linux' file-system based caching framework. Thanks to Edward - Konetzko for the patch. - * gmond plugin: The new gmond plugin can receive and interpret - multicast traffic from Ganglia's gmond daemon. - * java plugin: The new java plugin exports the collectd API to Java, - making it possible to write extensions to collectd in Java. - * memcachec plugin: The new memcachec plugin queries data from a - memcached daemon and parses it similar to the cURL plugin. Thanks to - Doug MacEachern for the initial code. - * memcached plugin: Support for connections over UNIX domain sockets - has been added. Thanks to Franck Lombardi for the patch. - * memory plugin: Support for OpenBSD and possibly other *BSDs has been - added. Thanks to Simon Kuhnle for the patch. - * mysql plugin: Support to query multiple databases has been added. - Thanks to Doug MacEachern for the patch. - * mysql plugin: Master/slave statistics have been added. - * mysql plugin: Lock statistics have been added. Thanks to Rodolphe - Quiédeville for the patch. - * network plugin: The possibility to sign or encrypt network traffic - has been added. - * protocols plugin: The new protocols plugin provides information - about network protocols, such as IP, TCP and UDP. - * snmp plugin: The intervals given in the configuration of the SNMP - plugin must no longer be a multiple of the global interval. - * table plugin: The new Table plugin provides parsing for table-like - structured files, such as many files beneath /proc. - * ted plugin: The new TED plugin reads power consumption measurements - from “The Energy Detective” (TED). Thanks to Eric Reed for this - plugin. - * onewire plugin: The new `Interval' option allows collecting - information from OneWire sensors at arbitrary intervals. - * ping plugin: Support for collecting the drop rate and standard - deviation of round-trip times has been added. - * uptime plugin: The new uptime plugin can collect the server's - uptime. Thanks to Marco Chiappero for the patch. - -2009-09-10, Version 4.6.5 - * collectd: Remove old values when a cache entry is marked as missing. - This way the “GETVAL” command of the UnixSock plugin doesn't return - old, no longer valid values when this happens. Thanks to Andrés J. - Díaz for the patch. - * apache, ascent, bind, curl, nginx plugins: Advise the cURL library - to follow redirects. Thanks to Joey Hess for reporting this bug. - * df plugin: Check the ignorelist before stating the file system, - possibly reducing the number of stats considerably. Thanks to Joey - Hess for reporting this bug. - * iptables plugin: Support for the new libiptc API has been added. - Thanks to Sebastian Harl for the patch. The build system has been - updated to the plugin only includes the shipped header files when it - is linked with the shipped library, too. - * libvirt plugin: Re-connect to libvirtd if connecting fails. Thanks - to Alan Pevec for the patch. - * powerdns plugin: Set a timeout when reading data from the datagram - socket. Handling of the “LocalSocket” option has been fixed. An - incorrectly used “type” has been corrected. Thanks to Luke Heberling - for his patches. - -2009-07-18, Version 4.6.4 - * collectd: Okay-notifications have been fixed. Thanks to Andrés J. - Díaz for fixing this bug. - * collectd: A programming error has been fixed in the notification - code. The bug may result in an assertion failure. - * memcached plugin: Portability fix for Solaris. Thanks to Amit Gupta - for reporting the bug. - -2009-06-02, Version 4.6.3 - * Build system, various plugins: Many build fixes for FreeBSD, - OpenBSD, NetBSD, Solaris and Mac OS X. Big thanks to Doug MacEachern - for many fixes and providing a build system for many platforms, - Ulf Zimmermann for providing a FreeBSD system and Simon Kuhnle for - providing an OpenBSD system. - * collectd: Two bugs with the threshold checking have been fixed. The - first one prevented thresholds to be checked at all, the second one - caused wrong behavior with the persistency option. Thanks to Andrés - J. Díaz for fixing these problems. - * collectd: Handling of the `Include' configuration option has been - fixed. - * battery plugin: Don't complain about a missing directory every - interval. - * exec plugin: Allow executed programs to close STDERR. Thanks to - Thorsten von Eicken for reporting this problem. - * irq plugin: Fix handling of overflowing 32-bit counters. Thanks to - Tomasz Pala for the patch. - * perl plugin: Portability build-fixes. Thanks to Doug MacEachern for - the patch. - * memory plugin: Fix a potential problem under Solaris. - * swap plugin: A work-around for 32-bit Solaris has been added. Thanks - to Doug MacEachern for the patch. - -2009-03-18, Version 4.6.2 - * collectd: Some Solaris utility code has been improved. - * filter subsystem: Allow `Chains' without default targets. - * liboping: A patch to comply with strict aliasing rules has been - added. - * timediff match: Fix a typo: The match was registered with a wrong - name which prevented this match to be used as documented. Thanks to - Bruno Prémont for finding this problem. - * bind plugin: Fix collection of the cached RR sets. The number of RR - sets currently in the cache was collected as a counter value, which - is nonsense. Thanks to Bruno Prémont for implementing this. - * dns plugin: Don't pass NULL to `pcap_open_live': Some systems, - primarily BSDs, don't take it well and crash. - * oracle plugin: Portability to 64 bit systems has been improved. - * postgresql plugin: The default configuration has been improved. - * rrdtool plugin: Fix a possible race condition: If the network plugin - is brought and dispatches a value before the rrdtool plugin is - initialized, the daemon may crash. - -2009-02-22, Version 4.6.1 - * collectd: Many documentation fixes. - * Collectd::Unixsock: Error handling has been improved. - * regex match: Don't link with the PCRE library. - * bind plugin: Various bugs have been fixed. Thanks to Bruno Prémont - for finding and fixing most of them. - * ipmi plugin: Fix an off-by-one error which could cause segmentation - faults. Thanks to Peter Holik for his patch. - -2009-02-16, Version 4.6.0 - * collectd: Added the `filter chain' infrastructure, which allows the - user to use `matches' and `targets' to control value processing. - * collectd: The new `-T' command line argument allows more in-depth - testing of a configuration. Thanks to Doug MacEachern for the patch. - * collectd-nagios: The Nagios integration command has been updated to - use libcollectdclient. The `percentage' aggregation function has - been added. Thanks to Fabian Linzberger for the patch. - * libcollectdclient: A library which abstracts communication with the - unixsock plugin for clients has been added. - * regex match: Match values by their identifies using regular - expressions. - * timediff match: Match for values with an invalid timestamp. - * value match: Select values by their data sources' values. - * notification target: Create and dispatch a notification. - * replace target: Replace parts of an identifier using regular - expressions. - * set target: Set (overwrite) entire parts of an identifier. - * bind plugin: This new plugin uses the new HTTP/XML interface to BIND - statistics, allowing very detailed name server statistics. Thanks to - Bruno Prémont for this plugin. - * cpu plugin: Report `interrupt' separately when using - sysctlbyname(3) (used under *BSD). Support for sysctl(3), for - example for native OpenBSD support, has been added. Thanks to Simon - Kuhnle for the patch. - * csv plugin: Make it possible to write values to STDOUT instead of - files. This is meant for testing purposes mostly. The output written - to STDOUT is compatible with the exec plugin. Thanks to Doug - MacEachern for the patch. - * curl plugin: This new plugin can be used to read web pages and parse - them using the same mechanism that's used in the tail plugin. - * dbi plugin: This new plugin allows you to connect to a variety of - relational databases and use SQL to gather custom statistics from - it. It is similar to the already existing PostgreSQL plugin but uses - libdbi to communicate with the database(s). - * interface plugin: Use the ignorelist framework when selecting / - ignoring interfaces. This allows one to use regular expressions to - select interfaces, too. - * ipmi plugin: Handle temporary IPMI error conditions more gracefully. - Thanks to Bruno Prémont for this patch. - * memcached plugin: Add hit-ratio metric. Thanks to Doug MacEachern - for the patch. - * mysql plugin: Allow connecting to a database via the UNIX domain - socket, too. Thanks to Mirko Buffoni for the patch. - * network plugin: Further performance improvements for the receive - code. This hopefully will help very large setups. - * openvpn plugin: This new plugin collects statistics provided by the - OpenVPN daemon. Thanks to Doug MacEachern for the patch. - * oracle plugin: This new plugin allows you to connect to an Oracle - database and use SQL to gather custom statistics from it. It is - similar to the already existing PostgreSQL plugin. - * perl plugin: Compatibility fixes for broken versions of Perl 5.10 - have been added. - * perl plugin: Export the newly added plugin_write() to Perl plugins. - * perl plugin: Added support for `notification meta data'. - * perl plugin: Added support for the `filter chain' infrastructure by - allowing plugins to register `matches' and `targets'. - * postgresql plugin: The preferred configuration syntax has been - updated to be in line with the syntax used by the new dbi and oracle - plugins. The compatibility code for the old syntax is present. - Support for the new `Result' blocks and the interval parameter has - been added. - * processes plugin: Stacksize and virtual memory usage statistics have - been added. Portability fixes. - * rrdcached plugin: This new plugin uses the (still in development) - RRD accelerator daemon, rrdcached. This daemon works very similar to - the original rrdtool plugin of collectd, but adds some more nice - features. - * swap plugin: Code for OpenBSD (and possibly other *BSDs) has been - added. - -2009-05-09, Version 4.5.4 - * Build system, various plugins: Many build fixes for FreeBSD, - OpenBSD, NetBSD, Solaris and Mac OS X. Big thanks to Doug MacEachern - for many fixes and providing a build system for many platforms, - Ulf Zimmermann for providing a FreeBSD system and Simon Kuhnle for - providing an OpenBSD system. - * collectd: Fix a potential race condition when creating directories. - * battery plugin: Don't complain about a missing directory every - interval. - * dns plugin: Slight portability fixes. - * exec plugin: Allow executed programs to close STDERR. Thanks to - Thorsten von Eicken for reporting this problem. - * irq plugin: Fix handling of overflowing 32-bit counters. Thanks to - Tomasz Pala for the patch. - * perl plugin: Portability build-fixes. Thanks to Doug MacEachern for - the patch. - * rrdtool plugin: Fix a possible race condition: If the network plugin - is initialized and dispatches a value before the rrdtool plugin is - initialized, the daemon may crash. - * memory plugin: Fix a potential problem under Solaris. - -2009-02-22, Version 4.5.3 - * build system: The check for libupsclient even when `pkg-config' is - not available. - * collectd: Fix error handling in the global cache. - * Collectd::Unixsock: Error handling has been improved. - * ascent plugin: Fix a memory leak. Thanks to Bruno Prémont for his - patch. - * ipmi plugin: Fix an off-by-one error which could cause segmentation - faults. Thanks to Peter Holik for his patch. - * tcpconns plugin: An endianness problem has been fixed in the *BSD - code. Thanks to "thated" for reporting this. - -2009-01-02, Version 4.5.2 - * build system: Check for `mysql.h' and `mysql/mysql.h', since the - file may be in both locations, especially when the database was - installed in a non-standard path. Thanks to Dusty Doris for - reporting this. - * build system: Handle the _POSIX_PTHREAD_SEMANTICS defined, needed by - Solaris, in the configure script automatically. - * build system, tcpconns plugin: Check for `kvm_nlist' and - `kvm_openfiles' before enabling the plugin: Solaris provides a KVM - library with similar functions to the BSD variant, but doesn't - provide these necessary functions. - * collectd.conf(5): Various fixes and clarifications. - * collectd: Remove a GNUism (unnamed unions), thus improving - portability. - * collectd, apcups plugin: Include "collectd.h" before . - This solves portability problems, especially for Solaris. - * dns plugin: Fix a portability problem with NetBSD. - * filecount plugin: Fix an off-by-one error. This error may cause a - segmentation fault. - * network plugin: Fix the handling of `type' in the network protocol. - Due to a programming mistake, only 4 or 8 bytes would be copied to a - much larger buffer. This caused the `type' to be transferred much - more often than necessary. In some cases, e. g. the `cpu' and - `cpufreq' plugins being used at the same time, data may be corrupted - in those files. Thanks to Bruno Prémont for debugging and reporting - this issue. - * processes plugin: Fix a possible segmentation fault when specifying - invalid configuration options. - * unixsock plugin: Make sure the initialization function is run only - once. This resolves a file descriptor leak under systems which run - the initialization more than once, such as Solaris. - -2008-10-16, Version 4.5.1 - * build system: Change `--enable-' to abort with an error if - dependencies are not met. Thanks to Bruno Prémont for the patch. - Also, the poisoning of various string functions has been restricted - to debug builds. - * collectd: Fix a memory leak in the global value cache. With every - *missing* value a couple of bytes would be leaked. Another memory - leak in the configuration handling code has been fixed. Thanks to - Niraj Tolia for reporting these issues. - * collectd: Fix an off-by-one error in the ignorelist functionality. - When using regular expressions, the last character would be missing, - possibly matching differently from what one would expect. - * collectdmon: Don't block SIGCHLD. This fixes a potential portability - problem. - * collectd-nagios: Fix handling of the `-d' option. Thanks to Fabian - Linzberger for reporting the bug. - * iptables plugin: Fix an off-by-one error. If a string was just one - character too long, it was truncated instead of reporting an error. - * network plugin: Fix a memory leak in the configuration handling - code. Thanks to Niraj Tolia for reporting this issue. - * perl plugin: Log an error message if bootstrapping `Collectd' fails. - * postgresql plugin: Don't reopen connection during reinitialization. - This fixes a bug under Solaris and potentially other platforms. - Missing calls to `PQclear' have been added, too. This fixes memory - leaks. Thanks to ``Admin'' for reporting these bugs. - * snmp plugin: Don't expect null-terminated strings from the Net-SNMP - library. - * tail plugin: Call `clearerr(3)' after reading an EOF. This fixes - problems with some `libc's. Thanks to Matthias Lay for reporting the - bug. - -2008-09-04, Version 4.5.0 - * collectd: Added the ability to flush certain identifiers. - * collectd: The concept of `notification meta data' has been - introduced. - * filecount plugin: The new filecount plugin counts the number of - files in a directory and its subdirectories. - * ipmi plugin: Sensor names have been changed to ensure unique names. - Notifications upon added and removed sensors can now be generated. - * notify_desktop plugin: This new plugin sends notifications to the - X desktop using the structure defined in the `Desktop Notification - Specification'. - * notify_email plugin: This new plugin sends out notifications via - email, using the `esmtp' library. - * onewire plugin: The new experimental(!) onewire plugin reads values, - such as temperatures, from sensors connected to the computer via the - onewire bus. - * perl plugin: Improved synchronized access to internal data structures - and fixed a possible dead-lock. - * perl plugin: Added the ability to flush certain identifiers and marked - plugin_flush_all() and plugin_flush_one() as deprecated in favor of - plugin_flush(). - * perl plugin: Added the ability to configure Perl plugins. - * postgresql plugin: The new postgresql plugin collects statistics - about or from a PostgreSQL database. - * processes plugin: The `ProcessMatch' option has been added. - * rrdtool plugin: Implement throttling of the `update queue' to lessen - IO load. - * tcpconns plugin: This plugin has been ported to OpenBSD. - * thermal plugin: The new thermal plugin collects system temperatures - using Linux ACPI thermal zone data. - -2009-01-02, Version 4.4.5 - * build system: Check for `mysql.h' and `mysql/mysql.h', since the - file may be in both locations, especially when the database was - installed in a non-standard path. Thanks to Dusty Doris for - reporting this. - * build system: Handle the _POSIX_PTHREAD_SEMANTICS defined, needed by - Solaris, in the configure script automatically. - * collectd.conf(5): Various fixes and clarifications. - * apcups plugin: Include "collectd.h" before . This solves - portability problems, especially for Solaris. - * dns plugin: Fix a portability problem with NetBSD. - * network plugin: Fix the handling of `type' in the network protocol. - Due to a programming mistake, only 4 or 8 bytes would be copied to a - much larger buffer. This caused the `type' to be transferred much - more often than necessary. In some cases, e. g. the `cpu' and - `cpufreq' plugins being used at the same time, data may be corrupted - in those files. Thanks to Bruno Prémont for debugging and reporting - this issue. - * unixsock plugin: Make sure the initialization function is run only - once. This resolves a file descriptor leak under systems which run - the initialization more than once, such as Solaris. - -2008-10-16, Version 4.4.4 - * build system: Change `--enable-' to abort with an error if - dependencies are not met. Thanks to Bruno Prémont for the patch. - Also, the poisoning of various string functions has been restricted - to debug builds. - * collectd: Fix a memory leak in the global value cache. With every - *missing* value a couple of bytes would be leaked. Another memory - leak in the configuration handling code has been fixed. Thanks to - Niraj Tolia for reporting these issues. - * collectd: Fix an off-by-one error in the ignorelist functionality. - When using regular expressions, the last character would be missing, - possibly matching differently from what one would expect. - * collectdmon: Don't block SIGCHLD. This fixes a potential portability - problem. - * collectd-nagios: Fix handling of the `-d' option. Thanks to Fabian - Linzberger for reporting the bug. - * network plugin: Fix a memory leak in the configuration handling - code. Thanks to Niraj Tolia for reporting this issue. - * perl plugin: Log an error message if bootstrapping `Collectd' fails. - * tail plugin: Call `clearerr(3)' after reading an EOF. This fixes - problems with some `libc's. Thanks to Matthias Lay for reporting the - bug. - -2008-09-01, Version 4.4.3 - * collectd: Fix a memory leak in the threshold checking code. - * memcached plugin: Fix a too short timeout and a related file - descriptor leak. - * memory plugin: A typo in the libstatgrab code has been fixed. - * snmp plugin: Fix a possible memory leak. - -2008-07-15, Version 4.4.2 - * build system: Use pkg-config to detect the upsclient library. - * collectd: Try even harder to determine the endianness of the - architecture collectd is being built on. - * disk plugin: Fix for Linux 2.4: A wrong field was used as the name - of disks. - * dns plugin: Fix compilation errors with BIND versions 19991001 - through 19991005. - * network plugin: Bugfix in the init routine: The init function - cleared a buffer regardless of its contents. This could lead to lost - values under Solaris. - * nginx plugin: Remove usage of the thread-unsafe `strtok' function. - * vserver plugin: Remove usage of the thread-unsafe `readdir' - function. - * wireless plugin: Work around incorrect noise and power values - returned by some broken drivers. - -2008-06-03, Version 4.4.1 - * collectd: Fix the `DataSource' option within `Type' blocks. Thanks - to kyrone for reporting this. - * collectd: Fixed min/max output in notifications generated by - threshold checking. - * collectd-nagios: Fix the protocol used to communicate with the - daemon. - * perl plugin: Fail noisily, but don't shutdown the daemon, if - initialization has errors. An issue with Perl 5.10 has been fixed. - * teamspeak2 plugin: Fixed an out of bound array access. Thanks to - René Rebe and Siegmund Gorr for reporting this. - -2008-05-06, Version 4.4.0 - * collectd: Internal code cleanups. - * collectd: Added support for a `Flush' command in the unixsock and - exec plugins. This command can be used to force a plugin (or all) to - flush its values to disk. - * collectd: Thresholds can now be configured to apply to one data - source only, making it possible to configure different thresholds - for each data source. - * apache, nginx plugins: Added the possibility to disable host and/or - peer verification. - * ascent plugin: The new ascent plugin reads and parses the statistics - page of an Ascent server. - * cpu plugin: Support for the statgrab library has been added. - * disk plugin: The possibility to ignore certain disks or collect only - specific disks has been added. - * disk plugin: Support for the statgrab library has been added. - * ipmi plugin: The new ipmi plugin uses the OpenIPMI library to read - sensor values via IPMI, the intelligent platform management - interface. - * iptables plugin: The iptc library that is used by the iptables - plugin has been added to the distribution, because it is not - provided by all distributions and removed from at least one. - * powerdns plugin: The new powerdns plugin reads statistics from an - authoritative or a recursing PowerDNS name server. - * rrdtool plugin: The size of the files generated with the default - configuration has been decreased. - * tail plugin: The new tail plugin can be used to gather statistics by - continuously reading from log files. - * teamspeak2 plugin: The new teamspeak2 plugin connects to a - TeamSpeak2 server and collects statistics about the number of users - and number of channels. - * users plugin: Support for the statgrab library has been added. - * vmem plugin: The new vmem plugin collects very detailed statistics - about the virtual memory subsystem of Linux. - -2008-08-30, Version 4.3.4 - * Build system: Improved detection of and linking with the statgrab - library. - * collectd: Portability fixes, especially to determine endianness more - reliable. - * Various plugins: Fix format strings. - * disk plugin: A fix for giving disks under Linux 2.4 the right names - again has been applied. - * memcached plugin: Fix a too short timeout and a related file - descriptor leak. - * memory plugin: A typo in the libstatgrab code has been fixed. - * network plugin: A fix in the initialization function solves problems - under Solaris. - * nginx plugin: A thread-unsafe function has been replaced. - * vserver plugin: A thread-unsafe function has been replaced. - * wireless plugin: A work-around for broken wireless drivers has been - added. - -2008-04-22, Version 4.3.3 - * build system: Improved detection of several libraries, especially if - they are in non-standard paths. - * build system: Portability fixes: Automatically define "_REENTRANT" - if the libc expects it. - * collectd: Error and warning messages have been improved. - * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before - using them. - * apache plugin: Allocate new memory when reading a webpage instead of - using a buffer of static size. - * exec plugin: Close (almost) all filedescriptors before exec(2)ing - the program. - * hddtemp plugin: Error and warning messages have been improved. - * sensors plugin: Fix sensor collection for some chip types. - -2008-03-29, Version 4.3.2 - * collectd: Fix configuration of the `FailureMax', `WarningMax', and - `Persist' threshold options. - * collectd: Fix handling of missing values in the global value cache. - * collectd: Improved error messages when parsing the configuration. - * sensors plugin: Fix temperature collection with libsensors4. - * unixsock plugin: Fix mixed input and output operation on streams. - * wireless plugin: Fix reading noise value. - -2008-03-05, Version 4.3.1 - * exec plugin: Set supplementary group IDs. - * network plugin: - + Use `memcpy' when constructing/parsing a package to avoid - alignment problems on weird architectures, such as Sparc. - + Translate doubles to/from the x86 byte representation to ensure - cross-platform compatibility. - * ping plugin: Correct the handling of the `TTL' setting. - * swap plugin: Reapply a patch for Solaris. - * tcpconns plugin: Portability improvements. - -2008-02-18, Version 4.3.0 - * collectd: Notifications have been added to the daemon. Notifications - are status messages that may be associated with a data instance. - * collectd: Threshold checking has been added to the daemon. This - means that you can configure threshold values for each data - instance. If this threshold is exceeded a notification will be - created. - * collectd: The new `FQDNLookup' option tells the daemon to use the - full qualified domain name as the hostname, not just the host part - es returned by `gethostname(2)'. - * collectd: Support for more than one `TypesDB' file has been added. - This is useful when one such file is included in a package but one - wants to add custom type definitions. - * collectd: The `Include' config option has been expanded to handle - entire directories and shell wildcards. - * collectdmon: The new `collectdmon' binary detects when collectd - terminates and automatically restarts it again. - * csv plugin: The CSV plugin is now able to store counter values as a - rate, using the `StoreRates' configuration option. - * exec plugin: Handling of notifications has been added and the - ability to pass arguments to the executed programs has been added. - * hddtemp plugin: The new `TranslateDevicename' option lets you - disable the translation from device names to major-minor-numbers. - * logfile plugin: Handling of notifications has been added. - * ntpd plugin: The new `ReverseLookups' can be used to disable reverse - domain name lookups in this plugin. - * perl plugin: Many internal changes added support for handling multiple - threads making the plugin reasonably usable inside collectd. The API has - been extended to support notifications and export global variables to - Perl plugins; callbacks now have to be identified by name rather than a - pointer to a subroutine. The plugin is no longer experimental. - * uuid plugin: The new UUID plugin sets the hostname to an unique - identifier for this host. This is meant for setups where each client - may migrate to another physical host, possibly going through one or - more name changes in the process. Thanks to Richard Jones from - Red Hat's Emerging Technology group for this plugin. - * libvirt: The new libvirt plugin uses the `libvirt' library to query - CPU, disk and network statistics about guest systems on the same - physical server. Thanks to Richard Jones from Red Hat's Emerging - Technology group for this plugin. - -2008-04-22, Version 4.2.7 - * build system: Improved detection of several libraries, especially if - they are in non-standard paths. - * build system: Portability fixes: Automatically define "_REENTRANT" - if the libc expects it. - * collectd: Error and warning messages have been improved. - * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before - using them. - * apache plugin: Allocate new memory when reading a webpage instead of - using a buffer of static size. - * exec plugin: Close (almost) all filedescriptors before exec(2)ing - the program. - * hddtemp plugin: Error and warning messages have been improved. - * sensors plugin: Fix sensor collection for some chip types. - -2008-03-29, Version 4.2.6 - * collectd: Improved error messages when parsing the configuration. - * sensors plugin: Fix temperature collection with libsensors4. - * unixsock plugin: Fix mixed input and output operation on streams. - * wireless plugin: Fix reading noise value. - -2008-03-04, Version 4.2.5 - * apache plugin: Improved initialization and error messages. - * exec plugin: Set supplementary group IDs. - * network plugin: - + Create separate threads for reading from the socket and parsing - and dispatching incoming packets. Versions prior to this may have - problems in high-load situations, where the socket receive buffers - overflows, resulting in gaps in the data. - + Use `memcpy' when constructing/parsing a package to avoid - alignment problems on weird architectures, such as Sparc. - + Translate doubles to/from the x86 byte representation to ensure - cross-platform compatibility. - * ping plugin: Correct the handling of the `TTL' setting. - * rrdtool plugin: Ensure correct handling of the `RRATimespan' option. - * swap plugin: Reapply a patch for Solaris. - * tcpconns plugin: Portability improvements. - -2008-01-21, Version 4.2.4 - * unixsock plugin: A bug in the unixsock plugin caused it not to set - the permission on the socket as documented in the manpage. Thanks to - Evgeny Chukreev for fixing this issue. - * collectd: The documentation has been improved. - -2007-12-28, Version 4.2.3 - * sensors plugin: Updated the plugin to build and work with version 3 - of the libsensors library. - -2007-12-15, Version 4.2.2 - * nginx plugin: Incorrect comparison of strings lead to a segfault - when using the plugin. Thanks to Saulius Grigaliunas for fixing - this. - * logfile plugin: The config option `Timestamp' was handled - incorrectly and basically always active. Thanks to Luke Heberling - for fixing this. - -2007-11-08, Version 4.2.1 - * tcpconns plugin: Don't complain about a missing file if IPv6 is not - enabled on the host. - * snmp plugin: Fix a memory leak. - -2007-10-27, Version 4.2.0 - * collectd: The new config option `Include' lets you include other - configfiles and thus split up your config into smaller parts. This - may be especially interesting for the snmp plugin to keep the data - definitions separate from the host definitions. - * ipvs plugin: The new `ipvs' plugin collects IPVS connection statistics - (number of connections, octets and packets for each service and - destination). Thanks to Sebastian Harl for this plugin. - * memcached plugin: The new `memcached' plugin connects to a memcached - daemon process and collects statistics of this distributed caching - system. Thanks to Antony Dovgal for contributing this plugin. - * nginx plugin: The new `nginx' plugin reads the status page of an - nginx daemon and saves the handled connections and requests. - * perl plugin: Many changes, including the added `EnableDebugger' - config option which lets you debug your Perl plugins more easily. - * rrdtool plugin: Use the thread-safe RRD-library if available. Try to - be more thread-safe otherwise by locking calls to the library. - * snmp plugin: Added the options `Scale' and `Shift' to Data-blocks to - correct the values returned by SNMP-agents. If a block is - defined as `table' the instance is now optional. The sequence number - is used as the type-instance in this case. The new `InstancePrefix' - option allows to add arbitrary prefixes to the type-instance. - * tcpconns plugin: The new `tcpconns' plugin collects the number of - certain TCP connections and what state they're in. This can be used - to see how many connections your FTP server has to handle or how - many outgoing connections your mailserver has open. - -2008-01-11, Version 4.1.6 - * unixsock plugin: A bug in the unixsock plugin caused it not to set - the permission on the socket as documented in the manpage. Thanks to - Evgeny Chukreev for fixing this issue. - * collectd: The documentation has been improved. - -2007-12-27, Version 4.1.5 - * rrdtool plugin: Fix a memory leak that only occurred in very-low- - memory situations. - * sensors plugin: Updated the plugin to build and work with version 3 - of the libsensors library. - -2007-11-08, Version 4.1.4 - * Build system: Improve detection of the rrd library, especially if - it's in a non-standard location. - * Build system: A bug when parsing the argument for - `--with-libnetsnmp' has been fixed. - * collectd: Implement `strerror_r' if the libc doesn't provide it. - * rrdtool plugin: Fix a bug in the shutdown sequence that might cause - a deadlock or delay when shutting down the daemon. - * snmp plugin: Fix a memory leak. - -2007-10-24, Version 4.1.3 - * collectd: A build issue under Solaris has been resolved by renaming - data types. - * rrdtool plugin: Use the thread-safe RRD-library if available. Try to - be more thread-safe otherwise by locking calls to the library. - -2007-09-28, Version 4.1.2 - * apcups plugin: Fix reporting of the `load percent' data. - * wireless plugin: Correct the handling of cards returning signal and - noise quality as percentage. - * perl plugin: Fix a possible buffer overflow in get_module_name(). - * build system: Further improve the detection of libraries. - * netlink plugin: Build issues under some older versions of the Linux - includes (i. e. Debian Sarge) have been fixed. - * snmp plugin: Fix a potential segfault when a host times out. Add - support for the `timeticks' type. - -2007-09-12, Version 4.1.1 - * Build system: The detection of `libnetlink' has been improved. - * collectd: The documentation has been fixed in numerous places. - * exec plugin: Setting the group under which to run a program has been - fixed. - * collectd: The `sstrerror' function was improved to work correctly - with the broken GNU version of `strerror_r'. - * collectd: Write an error message to STDERR when loading of a plugin - fails. - * apcups plugin: Fix the `types' used to submit the values: They still - has an `apcups_' prefix which doesn't work anymore. - * rrdtool plugin: Create new RRD-files with the `begin' time set to - whatever the client thinks is `now'.. - -2007-09-01, Version 4.1.0 - * Build system: The build system has been changed to automatically - disable all plugins, which are missing dependencies. The dependency - checking has been removed from the plugins themselves to remove - redundancy. - * Flexible interval: The interval of collected data is now sent along - with the data itself over the network, so that the interval-settings - of server and clients no longer needs to match. - * netlink plugin: The new `netlink' plugin connects to the Linux - kernel using a netlink socket and uses it to query information about - interfaces, qdiscs and classes. - * rrdtool plugin: The cache is now dumped to disk in an extra thread - to not block data collection. - * snmp plugin: The new `snmp' plugin can read values from SNMP enabled - network devices, such as switches, routers, thermometers, rack - monitoring servers, etc. The collectd-snmp(5) manpage documents this - plugin. - * unixsock plugin: Added the `LISTVAL' command. - * xmms plugin: The new `xmms' plugin graphs the bitrate and frequency - of music played with xmms. - -2007-09-28, Version 4.0.9 - * apcups plugin: Fix reporting of the `load percent' data. - * wireless plugin: Correct the handling of cards returning signal and - noise quality as percentage. - * perl plugin: Fix a possible buffer overflow in get_module_name(). - -2007-09-12, Version 4.0.8 - * collectd: The `sstrerror' function was improved to work correctly - with the broken GNU version of `strerror_r'. - * collectd: Write an error message to STDERR when loading of a plugin - fails. - * apcups plugin: Fix the `types' used to submit the values: They still - has an `apcups_' prefix which doesn't work anymore. - * rrdtool plugin: Create new RRD-files with the `begin' time set to - whatever the client thinks is `now'.. - -2007-08-26, Version 4.0.7 - * documentation: Some typos have been fixed and some information has - been improved. - * build system: Many fixes for detecting libraries in unusual places, - such as on RedHat systems. The affected libraries are `libcurl', - `libmysql', and `libupsclient'. - * network plugin: Allow the `Port' option to be specified as a number - (i. e. without quotes). - * nut plugin: A fix allows linking the nut plugin against - libupsclient, version >= 2.2.0. - * processes plugin: Fix a potential segmentation fault. - -2007-07-30, Version 4.0.6 - * sensors plugin: Fix the ignorelist functionality: Only the `type - instance' was used to match against the list, but the documentation - told otherwise. This release fixes the code, so it complies with the - documentation. - * syslog plugin: Call `openlog' right when the plugin is loaded, so - configuration messages will end up in the logging facility. - * conrtib/fedora: The contributed specfile for Fedora has been - updated. - -2007-07-05, Version 4.0.5 - * Portability: More fixes for OpenBSD have been included. - -2007-06-24, Version 4.0.4 - * cpu plugin: Fixed the Solaris code. - * dns plugin: Fixed a build issue for OpenBSD. - * interface plugin: Fixed the Solaris code. - * load plugin: Fixed the alternative `/proc' Linux code. - * memory plugin: Fixed the Solaris code. - * oconfig: Don't require `-lfl' anymore. - -2007-06-19, Version 4.0.3 - * cpu plugin: Fix the Darwin / Mac OS X code. - * ping plugin: Use the return value of `getpid', not its address. - * csv, rrdtool plugin: Fixed a bug that prevented an buffer to be - initialized correctly. - * configure: Added `--with-nan-emulation' to aid cross compilation. - -2007-06-12, Version 4.0.2 - * hddtemp and ntpd plugin: Corrected the parsing of port numbers when - they're given in numerically form. - -2007-06-07, Version 4.0.1 - * iptables plugin: A bug in the configuration routine has been fixed. - Setting a comment in the configfile will no longer cause a - segmentation fault. - -2007-06-03, Version 4.0.0 - * collectd: The plugin-infrastructure has been changed to allow for - more types of plugins, namely `write' and `log' plugins. - * collectd: The read-function has been changed to read many plugins in - parallel, using threads. Thus, plugins generally need to use - thread-safe functions from now on. - * collectd: The '-t' command line options allows to perform syntax tests - of the configuration file and exit immediately. - * csv plugin: The new `csv' plugin handles output to `comma separated - values'-files. - * rrdtool plugin: The new `rrdtool' plugin handles output to - RRD-files. Data can be cached to combine multiple updates into one - write to increase IO-performance. - * network plugin: The new `network' plugin handles IO via the network. - It implements a different, much more extensible protocol which can - combine many values in one packet, decreasing the number of UDP- - packets being sent. It can read from and send to the network and - with the appropriate configuration even forward packets to other - networks. - * unixsock plugin: The new `unixsock' plugin provides an interface to - communicate with the daemon while it is running. Right now the - commands `GETVAL' and `PUTVAL' are implemented, but more are to - come. - * perl plugin: The new `perl' plugin allows you to write extensions - for collectd in the scripting-language Perl. - * logfile plugin: The new `logfile' plugin writes logmessages to files - or STDOUT or STDERR. - * syslog plugin: The new `syslog' plugin sends logmessages to the - system's syslog daemon. - * entropy plugin: The new `entropy' plugin collects the amount of - entropy currently being available to the system. - * exec plugin: The new `exec' plugin forks child processes and reads - back values provided by the forked processes. - * iptables plugin: The new `iptables' plugin reads counters from - iptables rules. Thanks to Sjoerd van der Berg for contributing this - plugin. - * irq plugin: The new `irq' plugin collects the IRQ-counters. Thanks - to Peter Holik for contributing this plugin. - * nut plugin: The new `nut' plugin connects the upsd of the `network - ups tools' and reads information about the connected UPS. - * apache plugin: Support for lighttpd's `BusyServers' (aka. - connections) field was added by Florent Monbillard. - * collectd-nagios: The new `collectd-nagios' binary queries values - from collectd, parses them and exits according to Nagios-standards. - * manpages: The manpages have been improved a lot. - -2007-09-28, Version 3.11.7 - * wireless plugin: Correct the handling of cards returning signal and - noise quality as percentage. - -2007-08-31, Version 3.11.6 - * processes plugin: Fix a potential segmentation fault. - -2007-05-29, Version 3.11.5 - * configure: Added `AC_SYS_LARGEFILE' for LFS. - * ntpd plugin: Fix a potential buffer overflow. - * processes plugin: Fix a bug when run under Linux 2.4. All processes - were accounted as `zombies'. - -2007-04-10, Version 3.11.4 - * dns plugin: Change the order of includes to make the plugin compile - under FreeBSD. - -2007-03-30, Version 3.11.3 - * configure: Have the configure-script define `HAVE_LIBKSTAT' instead - of the unused `COLLECT_KSTAT'. - -2007-02-11, Version 3.11.2 - * plugin: Catch NULL-pointer and try to fix them. Otherwise the - NULL-pointer may have been passed to `printf' which causes a - segfault with some libcs. - -2007-02-10, Version 3.11.1 - * df plugin: Some wrong defines have been fixed so the plugin works - under Solaris again. - * dns plugin: The usage of a struct has been fixed to work with - non-GNU libcs. - * processes plugin: Some missing defines have been added so the plugin - compiles cleanly under FreeBSD and presumably other UNIXes. - -2006-12-22, Version 3.11.0 - * collectd: The new command line option `-P' makes it easier for - distributors to change the location of PID-files. - * collectd: The daemon shuts down faster now which makes it easier to - write init.d-scripts for it. - * apache plugin: Increase the buffersize to 16k, because the 4k buffer - caused problems every now and then. - * df plugin: New config options allow to ignore certain mountpoints, - filesystem types or devices. - * dns plugin: The new dns plugin uses `libpcap' to capture DNS traffic - and interprets it. It collects traffic as well as qtype, opcode and - rcode counts. - * email plugin: Sebastian Harl has contributed this plugin which - counts received mails in categories (e. g. ham, spam, virus), spam - score (as given by SpamAssassin) and check types. - * mbmon plugin: Flavio Stanchina has contributed this plugin which - uses `mbmon' to gather information from sensors on the motherboard. - * processes plugin: Collect detailed statistics for configured - processes, that's process and thread count, CPU usage, resident - segment size and pagefaults. - * multimeter plugin: Peter Holik contributed a new plugin which - queries multimeters. - * sensors plugin: Lubos Stanek has put much effort into improving this - plugin, including `extended naming', collection of voltage values - and the possibility to ignore certain values. - -2006-12-21, Version 3.10.4 - * Max Kellermann has identified a bug in the server routine: When - opening a socket fails the daemon will (re)try opening the socket in - an endless loop, ultimately leading to a `EMFILE' error. - -2006-11-04, Version 3.10.3 - * Lubos Stanek has identified a bug in the ntpd-plugin: When the - ntpd's reply was sent in more than one packet, the buffer size was - calculated incorrectly, resulting in the reading of uninitialized or - freed memory. - -2006-11-01, Version 3.10.2 - * The sample config file has been improved. - * Errors in the manpages have been corrected. - * The ping-plugin now adds hosts during initialization, not during - startup. This speeds up startup when no network connectivity is - available. Also, the hosts are being added later when the network is - available. - * Improved BSD-support for the df-plugin. - * Fixed syntax errors in the swap-plugin for Mac OS X. - * Fix a wrong structure being passed to `getnameinfo' in the ntpd- - plugin. - * Don't disable the mysql-plugin if connecting to the database fails - during initialization. Instead, try again in increasing intervals. - -2006-07-19, Version 3.10.1 - * A bug in the apcups plugin was fixed: Is the plugin is loaded, but - the apcups cannot be reached, unconnected sockets will pile up and - eventually lead to `Too many open files' errors. - -2006-07-09, Version 3.10.0 - * The `disk' plugin has been ported to Darwin. - * The `battery' plugin should work on many Apple computers now. - * The `traffic' plugin can now ignore certain interfaces. Also, - statistics for sent/received packets and errors have been added. - * A plugin to monitor APC UPSes using `apcupsd' has been added. Thanks - to Anthony Gialluca for contributing this plugin and providing me - with a test environment :) - * A plugin for monitoring an NTP instance and the local clock drift - has been added. - -2006-06-25, Version 3.9.4 - * The Solaris code in the `swap' plugin has been changed to reflect - the numbers returned by `swap -s'. Thanks to Christophe Kalt for - working this out. - * The debugging system has been fixed to work with the Sun libc. - * When built without librrd the variable `operating_mode' could be - uninitialized. Thanks to David Elliot for reporting the bug. - -2006-06-01, Version 3.9.3 - * Fixed the ping-plugin under FreeBSD and Mac OS X. Potentially other - operating systems also profit from the changes, but I wasn't able to - check that. - * Changed the build system to find the netinet-includes under FreeBSD - and therefore successfully build the `liboping' library there. - -2006-05-09, Version 3.9.2 - * Applied a patch to the `liboping' library. Due to a bug in the - sequence checking the `ping' plugin stopped working after - approximately 7.6 days. - -2006-05-09, Version 3.8.5 - * Applied a patch to the `liboping' library. Due to a bug in the - sequence checking the `ping' plugin stopped working after - approximately 7.6 days. - -2006-04-21, Version 3.9.1 - * Build issues with Solaris and possible other architectures have been - resolved. - * Problems when building the `apache'-plugin without `libcurl' have - been resolved. - * A bug in the `ping' plugin has been fixed. Sorry folks. - -2006-04-02, Version 3.9.0 - * A plugin to monitor the Apache webserver has been added. - - * A plugin to collect statistics about virtual servers using VServer. - Thanks to Sebastian Harl for writing - this plugin :) - * A plugin for wireless LAN cards has been added. It monitors signal - strength, link quality and noise ratio.. - * A plugin for Apple hardware sensors has been added. - * An option to compile collectd with different `step' and `heartbeat' - settings has been added. The size of RRAs is no longer static but - calculated based on the settings for `step' and `width'. - * The `ping' plugin can now be configured to use a certain TTL. - * A plugin to monitor the hardware sensors of Apple computers has been - added. - * The plugins `cpu', `memory', `processes' and `traffic' have been - ported to Mach/Darwin (Mac OS X). - * The `log mode' has been contributed by Christophe Kalt. It writes - the data into text files rather than RRD files. - -2006-04-09, Version 3.8.4 - * Applied patch by Vincent Stehlé which improves the disk-name - resolution in the `hddtemp' plugin for Linux systems. - -2006-04-02, Version 3.8.3 - * Applied a patch by James Byers: The MySQL plugin was not working - with MySQL 5.0.2 or later. - -2006-03-14, Version 3.8.2 - * `utils_mount.c' has been changed to not use the `MNTTAB' defined by - the GNU libc, because it points to `/etc/fstab' rather than - `/etc/mtab'. - -2006-03-13, Version 3.8.1 - * Fixes for building collectd under FreeBSD, Mac OS X and Solaris. - * Fixes in the debian `postinst' and `init.d' scripts. - -2006-03-09, Version 3.8.0 - * The `ping' plugin no longer uses `libping' but a self written - library named `liboping'. With this library it's possible to ping - multiple IPv4 and IPv6 addresses and hostnames - in parallel. - -2006-02-18, Version 3.7.2 - * A simple bug in the `battery' plugin has been fixed. It should now - work with ACPI based batteries as well. Thanks to Sebastian for - fixing this. - * Fixing a bug that prevented collectd to be built without librrd. - Thanks to Werner Heuser for reporting it. - -2006-02-04, Version 3.7.1 - * The new network code has been improved to build with older versions - of glibc. - * Fix in `libping' sets the ICMP sequence on outgoing packets. Thanks - to Tommie Gannert for this patch. - -2006-01-30, Version 3.7.0 - * The `battery' plugin has been added. It collects information about - laptop batteries.. - * The MySQL plugin has been improved: It now writes two more RRD - files, `mysql_qcache.rrd' and `mysql_threads.rrd'. - * The `cpufreq' plugin now reads another file since the file it did - read so far causes much overhead in the kernel. Also, you need root - to read the old file, but not to read the new one. - * The `hddtemp' plugin can now be configured to connect to another - address and/or port than localhost. - * The `df' plugin now prefers `statvfs' over `statfs'. - * The network code has been rewritten. collectd now supports unicast - and multicast, and IPv4 and IPv6. Also, the TTL of sent packages can - be set in the configfile. - -2006-01-24, Version 3.6.2 - * Due to a bug in the configfile handling collectd wouldn't start in - client mode. This released fixes this. - -2006-01-20, Version 3.6.1 - * Due to a bug in `configure.in' all modules and the binary were - linked against `libmysqlclient'. This issue is solved by this - release. - -2006-01-17, Version 3.6.0 - * A config file has been added. This allows for loading only specific - plugins. - * A `df' plugin has been added. - * A `mysql' plugin has been added. - * The `ping' plugin doesn't entirely give up hope when a socket error - occurred, but will back of and increase the intervals between tries. - -2006-01-21, Version 3.5.2 - * Fixed yet another bug in the signal handling.. Stupid typo.. - * Improved the ping plugin to not give up on socket errors (backport - from 3.6.0). - -2005-12-18, Version 3.5.1 - * The PID-file is now deleted correctly when shutting down the daemon. - * SIGINT and SIGTERM are now handled correctly. - -2005-12-16, Version 3.5.0 (Revision 326) - * A bug in the `load' module under Solaris has been fixed. - * The `users' module has been contributed by Sebastian Harl. It counts - currently logged in users. - * The CPU module now works under FreeBSD without the use of - `libstatgrab', however SMP support is missing. - * The default directories for the RRD files and the PID file now - depend on the compile time setting of `localstatedir'. - -2005-11-15, Version 3.4.0 (Revision 236) - * A PID-file is written to /var/run upon startup. Thanks to `Tommie' - from gentoo's bugzilla for writing the patch. - * The build dependency for librrd has been removed. Binaries built - without librrd are client-only and will multicast their value as - with the `-c' argument. - * A patch by Peter Holik adds a module for monitoring CPU frequencies. - * The newly introduced `-f' switch prevents daemon initialization - (forking, closing standard filehandles, etc.) Thanks to Alvaro - Barcellos for this patch. - -2005-11-04, Version 3.3.0 (Revision 216) - * New modules have been added: - - `serial', for monitoring traffic on the serial interfaces - - `nfs', for graphing NFS procedure calls - - `tape', traffic from/to tape devices - * The memory.rrd now accepts more than 4Gig of memory. - -2005-10-26, Version 3.2.0 (Revision 200) - * Support for graphing the processes has been added (thanks to Lyonel - Vincent) - * If reading from hddtemp fails collectd will increase the time - between polls up to one day. - * The init.d files have been improved. - * Problems with the spec file have been fixed. - -2005-10-16, Version 3.1.0 (Revision 194) - * Added the `setsid' syscall to the startup code. - * Support for hddtemp has been added (thanks to Vincent Stehlé) - -2005-09-30, Version 3.0.0 (Revision 184) - * The ability to send/receive data to/from the network (think - multicast) has been added. - * Modules have been split up into shared libraries can be loaded at - runtime. The biggest advantage is that the core program doesn't need - to be linked against an external library. - * A patch by George Kargiotakis has been applied: It fixes the sensors - behaviour then more than one sensor is being queried. - -2005-09-16, Version 2.1.0 (Revision 172) - * A module for swap statistics has been added. - -2005-09-09, Version 2.0.0 (Revision 135) - * Filenames can no longer be configured at program startup. The only - options as of this version are the directory and ping hosts. - * CPU statistics now include Wait-IO. If provided under Linux IRQ and - Soft-IRQ statistics are added to `System'. - * Diskstats now collect read and write bytes, not sectors. - * Ping statistics can now be collected for more than one host. There - is no default any more: If no host is given no host will be pinged. - * A self-written patch for libping has been applied so it builds - cleanly. - -2005-09-01, Version 1.8.1 (Revision 123) - * Much improved configure-script: libraries and features may now be - disabled. - * More detailed warnings/error messages when RRD update fails. - -2005-08-29, Version 1.8.0: - * Support for collecting disk statistics under Solaris. - -2005-08-25, Version 1.7.0: - * Support for libstatgrab[1] for load, memory usage and network - traffic. CPU- and disk-usage are not (yet) supported, since - libstatgrab returns insufficient information. I will contact the - authors. - * Improved the CPU-initialization code for Solaris. Apparently CPUs - aren't necessarily counted linear which is now handled correctly. - [1]: http://www.i-scream.org/libstatgrab/ - -2005-08-21, Version 1.6.0: - * Basic support for Solaris: System load and cpu-usage can be - collected under Solaris, too. Other stats will follow later. - * Many fixes in the autoconf-script - * Collection/Museum scripts have been added under contrib/museum - * collectd may now be started in unprivileged mode, though ping - statistics will not work. - -2005-07-17, Version 1.5.1: - * Diskstats-RRDs now use major/minor for naming. Some systems have - weird strings as disk-names.. - -2005-07-17, Version 1.5: - * A new module, diskstats, has been added. It collects information - about the disks and partitions. - -2005-07-11, Version 1.4.2: - * The meminfo module has been changed to work with more platforms - and/or kernel versions. - -2005-07-10, Version 1.4.1: Correct traffic stats - * The traffic rrd-file is now created with DS-type `COUNTER' which I - forgot to correct when I changed that module. - -2005-07-09, Version 1.4: More traffic stats - * Traffic is now collected for all interfaces that can be found - * Temperature-statistics are read from lm-sensors if available - -2005-07-08, Version 1.3: CPU stats - * Collecting CPU statistics now - -2005-07-12, Version 1.2: Using syslog - * collectd is now using the syslog facility to report errors, warnings - and the like.. - * The default directory is now /var/db/collectd - -2005-07-10, Version 1.1: Minor changes - * Nothing really useful to say ;) - -2005-07-09, Version 1.0: Initial Version - * The following modules are provided: - * Load average - * Ping time - * Traffic - * Memory info diff --git a/INSTALL b/INSTALL deleted file mode 100644 index a1e89e1..0000000 --- a/INSTALL +++ /dev/null @@ -1,370 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, -Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - HP-UX `make' updates targets which have the same time stamps as -their prerequisites, which makes it generally unusable when shipped -generated files such as `configure' are involved. Use GNU `make' -instead. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 35f24cb..0000000 --- a/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -ACLOCAL_AMFLAGS = -I libltdl/m4 - -SUBDIRS = libltdl src bindings . - -AM_CPPFLAGS = $(LTDLINCL) - -EXTRA_DIST = contrib version-gen.sh - -install-exec-hook: - $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run - $(mkinstalldirs) $(DESTDIR)$(localstatedir)/lib/$(PACKAGE_NAME) - $(mkinstalldirs) $(DESTDIR)$(localstatedir)/log - -maintainer-clean-local: - -rm -f -r libltdl - -rm -f INSTALL - -rm -f aclocal.m4 diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index dea870a..0000000 --- a/Makefile.in +++ /dev/null @@ -1,960 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 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 = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -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 = . -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(top_srcdir)/src/libcollectdclient/collectd/lcc_features.h.in \ - AUTHORS COPYING ChangeLog INSTALL NEWS README TODO compile \ - libltdl/config/compile config.guess \ - libltdl/config/config.guess config.sub \ - libltdl/config/config.sub depcomp libltdl/config/depcomp \ - install-sh libltdl/config/install-sh missing \ - libltdl/config/missing ylwrap libltdl/config/ylwrap ltmain.sh \ - libltdl/config/ltmain.sh $(top_srcdir)/libltdl/config/compile \ - $(top_srcdir)/libltdl/config/config.guess \ - $(top_srcdir)/libltdl/config/config.sub \ - $(top_srcdir)/libltdl/config/install-sh \ - $(top_srcdir)/libltdl/config/ltmain.sh \ - $(top_srcdir)/libltdl/config/missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config.h -CONFIG_CLEAN_FILES = src/libcollectdclient/collectd/lcc_features.h -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 dist dist-all distcheck -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 -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -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" -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 -GZIP_ENV = --best -DIST_TARGETS = dist-bzip2 dist-gzip -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@ -AR = @AR@ -ARGZ_H = @ARGZ_H@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_WITH_LIBAQUAERO5_CFLAGS = @BUILD_WITH_LIBAQUAERO5_CFLAGS@ -BUILD_WITH_LIBAQUAERO5_LDFLAGS = @BUILD_WITH_LIBAQUAERO5_LDFLAGS@ -BUILD_WITH_LIBATASMART_CPPFLAGS = @BUILD_WITH_LIBATASMART_CPPFLAGS@ -BUILD_WITH_LIBATASMART_LDFLAGS = @BUILD_WITH_LIBATASMART_LDFLAGS@ -BUILD_WITH_LIBATASMART_LIBS = @BUILD_WITH_LIBATASMART_LIBS@ -BUILD_WITH_LIBCURL_CFLAGS = @BUILD_WITH_LIBCURL_CFLAGS@ -BUILD_WITH_LIBCURL_LIBS = @BUILD_WITH_LIBCURL_LIBS@ -BUILD_WITH_LIBDBI_CPPFLAGS = @BUILD_WITH_LIBDBI_CPPFLAGS@ -BUILD_WITH_LIBDBI_LDFLAGS = @BUILD_WITH_LIBDBI_LDFLAGS@ -BUILD_WITH_LIBDBI_LIBS = @BUILD_WITH_LIBDBI_LIBS@ -BUILD_WITH_LIBHAL_CFLAGS = @BUILD_WITH_LIBHAL_CFLAGS@ -BUILD_WITH_LIBHAL_LIBS = @BUILD_WITH_LIBHAL_LIBS@ -BUILD_WITH_LIBHIREDIS_CPPFLAGS = @BUILD_WITH_LIBHIREDIS_CPPFLAGS@ -BUILD_WITH_LIBHIREDIS_LDFLAGS = @BUILD_WITH_LIBHIREDIS_LDFLAGS@ -BUILD_WITH_LIBIPTC_CPPFLAGS = @BUILD_WITH_LIBIPTC_CPPFLAGS@ -BUILD_WITH_LIBIPTC_LDFLAGS = @BUILD_WITH_LIBIPTC_LDFLAGS@ -BUILD_WITH_LIBLDAP_CPPFLAGS = @BUILD_WITH_LIBLDAP_CPPFLAGS@ -BUILD_WITH_LIBLDAP_LDFLAGS = @BUILD_WITH_LIBLDAP_LDFLAGS@ -BUILD_WITH_LIBLVM2APP_CPPFLAGS = @BUILD_WITH_LIBLVM2APP_CPPFLAGS@ -BUILD_WITH_LIBLVM2APP_LDFLAGS = @BUILD_WITH_LIBLVM2APP_LDFLAGS@ -BUILD_WITH_LIBLVM2APP_LIBS = @BUILD_WITH_LIBLVM2APP_LIBS@ -BUILD_WITH_LIBMEMCACHED_CPPFLAGS = @BUILD_WITH_LIBMEMCACHED_CPPFLAGS@ -BUILD_WITH_LIBMEMCACHED_LDFLAGS = @BUILD_WITH_LIBMEMCACHED_LDFLAGS@ -BUILD_WITH_LIBMEMCACHED_LIBS = @BUILD_WITH_LIBMEMCACHED_LIBS@ -BUILD_WITH_LIBMNL_CFLAGS = @BUILD_WITH_LIBMNL_CFLAGS@ -BUILD_WITH_LIBMNL_LIBS = @BUILD_WITH_LIBMNL_LIBS@ -BUILD_WITH_LIBMODBUS_CFLAGS = @BUILD_WITH_LIBMODBUS_CFLAGS@ -BUILD_WITH_LIBMODBUS_LIBS = @BUILD_WITH_LIBMODBUS_LIBS@ -BUILD_WITH_LIBMONGOC_CPPFLAGS = @BUILD_WITH_LIBMONGOC_CPPFLAGS@ -BUILD_WITH_LIBMONGOC_LDFLAGS = @BUILD_WITH_LIBMONGOC_LDFLAGS@ -BUILD_WITH_LIBMYSQL_CFLAGS = @BUILD_WITH_LIBMYSQL_CFLAGS@ -BUILD_WITH_LIBMYSQL_LIBS = @BUILD_WITH_LIBMYSQL_LIBS@ -BUILD_WITH_LIBOPING_CPPFLAGS = @BUILD_WITH_LIBOPING_CPPFLAGS@ -BUILD_WITH_LIBOPING_LDFLAGS = @BUILD_WITH_LIBOPING_LDFLAGS@ -BUILD_WITH_LIBOWCAPI_CPPFLAGS = @BUILD_WITH_LIBOWCAPI_CPPFLAGS@ -BUILD_WITH_LIBOWCAPI_LIBS = @BUILD_WITH_LIBOWCAPI_LIBS@ -BUILD_WITH_LIBPQ_CPPFLAGS = @BUILD_WITH_LIBPQ_CPPFLAGS@ -BUILD_WITH_LIBPQ_LDFLAGS = @BUILD_WITH_LIBPQ_LDFLAGS@ -BUILD_WITH_LIBRABBITMQ_CPPFLAGS = @BUILD_WITH_LIBRABBITMQ_CPPFLAGS@ -BUILD_WITH_LIBRABBITMQ_LDFLAGS = @BUILD_WITH_LIBRABBITMQ_LDFLAGS@ -BUILD_WITH_LIBRABBITMQ_LIBS = @BUILD_WITH_LIBRABBITMQ_LIBS@ -BUILD_WITH_LIBRDKAFKA_CPPFLAGS = @BUILD_WITH_LIBRDKAFKA_CPPFLAGS@ -BUILD_WITH_LIBRDKAFKA_LDFLAGS = @BUILD_WITH_LIBRDKAFKA_LDFLAGS@ -BUILD_WITH_LIBRDKAFKA_LIBS = @BUILD_WITH_LIBRDKAFKA_LIBS@ -BUILD_WITH_LIBROUTEROS_CPPFLAGS = @BUILD_WITH_LIBROUTEROS_CPPFLAGS@ -BUILD_WITH_LIBROUTEROS_LDFLAGS = @BUILD_WITH_LIBROUTEROS_LDFLAGS@ -BUILD_WITH_LIBRRD_CFLAGS = @BUILD_WITH_LIBRRD_CFLAGS@ -BUILD_WITH_LIBRRD_LDFLAGS = @BUILD_WITH_LIBRRD_LDFLAGS@ -BUILD_WITH_LIBSENSORS_CFLAGS = @BUILD_WITH_LIBSENSORS_CFLAGS@ -BUILD_WITH_LIBSENSORS_LDFLAGS = @BUILD_WITH_LIBSENSORS_LDFLAGS@ -BUILD_WITH_LIBSIGROK_CFLAGS = @BUILD_WITH_LIBSIGROK_CFLAGS@ -BUILD_WITH_LIBSIGROK_LDFLAGS = @BUILD_WITH_LIBSIGROK_LDFLAGS@ -BUILD_WITH_LIBSNMP_CFLAGS = @BUILD_WITH_LIBSNMP_CFLAGS@ -BUILD_WITH_LIBSNMP_LIBS = @BUILD_WITH_LIBSNMP_LIBS@ -BUILD_WITH_LIBSTATGRAB_CFLAGS = @BUILD_WITH_LIBSTATGRAB_CFLAGS@ -BUILD_WITH_LIBSTATGRAB_LDFLAGS = @BUILD_WITH_LIBSTATGRAB_LDFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS = @BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS = @BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_LIBS = @BUILD_WITH_LIBTOKYOTYRANT_LIBS@ -BUILD_WITH_LIBUDEV_CFLAGS = @BUILD_WITH_LIBUDEV_CFLAGS@ -BUILD_WITH_LIBUDEV_LDFLAGS = @BUILD_WITH_LIBUDEV_LDFLAGS@ -BUILD_WITH_LIBUPSCLIENT_CFLAGS = @BUILD_WITH_LIBUPSCLIENT_CFLAGS@ -BUILD_WITH_LIBUPSCLIENT_LIBS = @BUILD_WITH_LIBUPSCLIENT_LIBS@ -BUILD_WITH_LIBVARNISH_CFLAGS = @BUILD_WITH_LIBVARNISH_CFLAGS@ -BUILD_WITH_LIBVARNISH_LIBS = @BUILD_WITH_LIBVARNISH_LIBS@ -BUILD_WITH_LIBVIRT_CFLAGS = @BUILD_WITH_LIBVIRT_CFLAGS@ -BUILD_WITH_LIBVIRT_LIBS = @BUILD_WITH_LIBVIRT_LIBS@ -BUILD_WITH_LIBXML2_CFLAGS = @BUILD_WITH_LIBXML2_CFLAGS@ -BUILD_WITH_LIBXML2_LIBS = @BUILD_WITH_LIBXML2_LIBS@ -BUILD_WITH_LIBXMMS_CFLAGS = @BUILD_WITH_LIBXMMS_CFLAGS@ -BUILD_WITH_LIBXMMS_LIBS = @BUILD_WITH_LIBXMMS_LIBS@ -BUILD_WITH_LIBYAJL_CPPFLAGS = @BUILD_WITH_LIBYAJL_CPPFLAGS@ -BUILD_WITH_LIBYAJL_LDFLAGS = @BUILD_WITH_LIBYAJL_LDFLAGS@ -BUILD_WITH_LIBYAJL_LIBS = @BUILD_WITH_LIBYAJL_LIBS@ -BUILD_WITH_MIC_CPPFLAGS = @BUILD_WITH_MIC_CPPFLAGS@ -BUILD_WITH_MIC_LDADD = @BUILD_WITH_MIC_LDADD@ -BUILD_WITH_MIC_LIBPATH = @BUILD_WITH_MIC_LIBPATH@ -BUILD_WITH_OPENIPMI_CFLAGS = @BUILD_WITH_OPENIPMI_CFLAGS@ -BUILD_WITH_OPENIPMI_LIBS = @BUILD_WITH_OPENIPMI_LIBS@ -BUILD_WITH_ORACLE_CFLAGS = @BUILD_WITH_ORACLE_CFLAGS@ -BUILD_WITH_ORACLE_LIBS = @BUILD_WITH_ORACLE_LIBS@ -BUILD_WITH_PYTHON_CPPFLAGS = @BUILD_WITH_PYTHON_CPPFLAGS@ -BUILD_WITH_PYTHON_LDFLAGS = @BUILD_WITH_PYTHON_LDFLAGS@ -BUILD_WITH_PYTHON_LIBS = @BUILD_WITH_PYTHON_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_LOG_LEVEL = @DEFAULT_LOG_LEVEL@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GANGLIA_CPPFLAGS = @GANGLIA_CPPFLAGS@ -GANGLIA_LDFLAGS = @GANGLIA_LDFLAGS@ -GANGLIA_LIBS = @GANGLIA_LIBS@ -GCRYPT_CPPFLAGS = @GCRYPT_CPPFLAGS@ -GCRYPT_LDFLAGS = @GCRYPT_LDFLAGS@ -GCRYPT_LIBS = @GCRYPT_LIBS@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ -GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ -GLIB_LIBS = @GLIB_LIBS@ -GLIB_MKENUMS = @GLIB_MKENUMS@ -GOBJECT_QUERY = @GOBJECT_QUERY@ -GREP = @GREP@ -INCLTDL = @INCLTDL@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JAR = @JAR@ -JAVAC = @JAVAC@ -JAVA_CFLAGS = @JAVA_CFLAGS@ -JAVA_CPPFLAGS = @JAVA_CPPFLAGS@ -JAVA_LDFLAGS = @JAVA_LDFLAGS@ -JAVA_LIBS = @JAVA_LIBS@ -KERNEL_CFLAGS = @KERNEL_CFLAGS@ -KERNEL_DIR = @KERNEL_DIR@ -LCC_VERSION_EXTRA = @LCC_VERSION_EXTRA@ -LCC_VERSION_MAJOR = @LCC_VERSION_MAJOR@ -LCC_VERSION_MINOR = @LCC_VERSION_MINOR@ -LCC_VERSION_PATCH = @LCC_VERSION_PATCH@ -LCC_VERSION_STRING = @LCC_VERSION_STRING@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ -LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ -LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ -LIBLTDL = @LIBLTDL@ -LIBNETAPP_CPPFLAGS = @LIBNETAPP_CPPFLAGS@ -LIBNETAPP_LDFLAGS = @LIBNETAPP_LDFLAGS@ -LIBNETAPP_LIBS = @LIBNETAPP_LIBS@ -LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ -LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOAD_PLUGIN_CSV = @LOAD_PLUGIN_CSV@ -LOAD_PLUGIN_LOGFILE = @LOAD_PLUGIN_LOGFILE@ -LOAD_PLUGIN_LOG_LOGSTASH = @LOAD_PLUGIN_LOG_LOGSTASH@ -LOAD_PLUGIN_NETWORK = @LOAD_PLUGIN_NETWORK@ -LOAD_PLUGIN_RRDTOOL = @LOAD_PLUGIN_RRDTOOL@ -LOAD_PLUGIN_SYSLOG = @LOAD_PLUGIN_SYSLOG@ -LTDLDEPS = @LTDLDEPS@ -LTDLINCL = @LTDLINCL@ -LTDLOPEN = @LTDLOPEN@ -LTLIBOBJS = @LTLIBOBJS@ -LT_CONFIG_H = @LT_CONFIG_H@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -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@ -PERL = @PERL@ -PERL_BINDINGS = @PERL_BINDINGS@ -PERL_BINDINGS_OPTIONS = @PERL_BINDINGS_OPTIONS@ -PERL_CFLAGS = @PERL_CFLAGS@ -PERL_LIBS = @PERL_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -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@ -have_protoc_c = @have_protoc_c@ -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@ -ltdl_LIBOBJS = @ltdl_LIBOBJS@ -ltdl_LTLIBOBJS = @ltdl_LTLIBOBJS@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgconfigdir = @pkgconfigdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs = @subdirs@ -sys_symbol_underscore = @sys_symbol_underscore@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -ACLOCAL_AMFLAGS = -I libltdl/m4 -SUBDIRS = libltdl src bindings . -AM_CPPFLAGS = $(LTDLINCL) -EXTRA_DIST = contrib version-gen.sh -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): -src/libcollectdclient/collectd/lcc_features.h: $(top_builddir)/config.status $(top_srcdir)/src/libcollectdclient/collectd/lcc_features.h.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# 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: $(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 - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__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-tarZ: distdir - @echo WARNING: "Support for shar distribution archives 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 distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -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*) \ - GZIP=$(GZIP_ENV) gzip -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*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__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 -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 clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - 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: - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-exec-hook -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 \ - maintainer-clean-local - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-exec-am \ - install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ - dist-xz dist-zip distcheck distclean distclean-generic \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-hook \ - 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 maintainer-clean-local mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - - -install-exec-hook: - $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run - $(mkinstalldirs) $(DESTDIR)$(localstatedir)/lib/$(PACKAGE_NAME) - $(mkinstalldirs) $(DESTDIR)$(localstatedir)/log - -maintainer-clean-local: - -rm -f -r libltdl - -rm -f INSTALL - -rm -f aclocal.m4 - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/NEWS b/NEWS deleted file mode 100644 index e69de29..0000000 diff --git a/README b/README deleted file mode 100644 index 9604fda..0000000 --- a/README +++ /dev/null @@ -1,974 +0,0 @@ - collectd - System information collection daemon -================================================= -http://collectd.org/ - -About ------ - - collectd is a small daemon which collects system information periodically - and provides mechanisms to store and monitor the values in a variety of - ways. - - -Features --------- - - * collectd is able to collect the following data: - - - apache - Apache server utilization: Number of bytes transferred, number of - requests handled and detailed scoreboard statistics - - - apcups - APC UPS Daemon: UPS charge, load, input/output/battery voltage, etc. - - - apple_sensors - Sensors in Macs running Mac OS X / Darwin: Temperature, fan speed and - voltage sensors. - - - aquaero - Various sensors in the Aquaero 5 water cooling board made by Aquacomputer. - - - ascent - Statistics about Ascent, a free server for the game `World of Warcraft'. - - - barometer - Reads absolute barometric pressure, air pressure reduced to sea level and - temperature. Supported sensors are MPL115A2 and MPL3115 from Freescale - and BMP085 from Bosch. - - - battery - Batterycharge, -current and voltage of ACPI and PMU based laptop - batteries. - - - bind - Name server and resolver statistics from the `statistics-channel' - interface of BIND 9.5, 9,6 and later. - - - ceph - Statistics from the Ceph distributed storage system. - - - cgroups - CPU accounting information for process groups under Linux. - - - conntrack - Number of nf_conntrack entries. - - - contextswitch - Number of context switches done by the operating system. - - - cpu - CPU utilization: Time spent in the system, user, nice, idle, and related - states. - - - cpufreq - CPU frequency (For laptops with speed step or a similar technology) - - - curl - Parse statistics from websites using regular expressions. - - - curl_json - Retrieves JSON data via cURL and parses it according to user - configuration. - - - curl_xml - Retrieves XML data via cURL and parses it according to user - configuration. - - - dbi - Executes SQL statements on various databases and interprets the returned - data. - - - df - Mountpoint usage (Basically the values `df(1)' delivers) - - - disk - Disk utilization: Sectors read/written, number of read/write actions, - average time an IO-operation took to complete. - - - dns - DNS traffic: Query types, response codes, opcodes and traffic/octets - transferred. - - - drbd - Collect individual drbd resource statistics. - - - email - Email statistics: Count, traffic, spam scores and checks. - See collectd-email(5). - - - entropy - Amount of entropy available to the system. - - - ethstat - Network interface card statistics. - - - exec - Values gathered by a custom program or script. - See collectd-exec(5). - - - fhcount - File handles statistics. - - - filecount - Count the number of files in directories. - - - fscache - Linux file-system based caching framework statistics. - - - gmond - Receive multicast traffic from Ganglia instances. - - - hddtemp - Hard disk temperatures using hddtempd. - - - interface - Interface traffic: Number of octets, packets and errors for each - interface. - - - ipc - IPC counters: semaphores used, number of allocated segments in shared - memory and more. - - - ipmi - IPMI (Intelligent Platform Management Interface) sensors information. - - - iptables - Iptables' counters: Number of bytes that were matched by a certain - iptables rule. - - - ipvs - IPVS connection statistics (number of connections, octets and packets - for each service and destination). - See http://www.linuxvirtualserver.org/software/index.html. - - - irq - IRQ counters: Frequency in which certain interrupts occur. - - - java - Integrates a `Java Virtual Machine' (JVM) to execute plugins in Java - bytecode. See “Configuring with libjvm” below. - - - load - System load average over the last 1, 5 and 15 minutes. - - - lpar - Detailed CPU statistics of the “Logical Partitions” virtualization - technique built into IBM's POWER processors. - - - lvm - Size of “Logical Volumes” (LV) and “Volume Groups” (VG) of Linux' - “Logical Volume Manager” (LVM). - - - madwifi - Queries very detailed usage statistics from wireless LAN adapters and - interfaces that use the Atheros chipset and the MadWifi driver. - - - mbmon - Motherboard sensors: temperature, fan speed and voltage information, - using mbmon(1). - - - md - Linux software-RAID device information (number of active, failed, spare - and missing disks). - - - memcachec - Query and parse data from a memcache daemon (memcached). - - - memcached - Statistics of the memcached distributed caching system. - - - - memory - Memory utilization: Memory occupied by running processes, page cache, - buffer cache and free. - - - mic - Collects CPU usage, memory usage, temperatures and power consumption from - Intel Many Integrated Core (MIC) CPUs. - - - modbus - Reads values from Modbus/TCP enabled devices. Supports reading values - from multiple "slaves" so gateway devices can be used. - - - multimeter - Information provided by serial multimeters, such as the `Metex - M-4650CR'. - - - mysql - MySQL server statistics: Commands issued, handlers triggered, thread - usage, query cache utilization and traffic/octets sent and received. - - - netapp - Plugin to query performance values from a NetApp storage system using the - “Manage ONTAP” SDK provided by NetApp. - - - netlink - Very detailed Linux network interface and routing statistics. You can get - (detailed) information on interfaces, qdiscs, classes, and, if you can - make use of it, filters. - - - network - Receive values that were collected by other hosts. Large setups will - want to collect the data on one dedicated machine, and this is the - plugin of choice for that. - - - nfs - NFS Procedures: Which NFS command were called how often. Only NFSv2 and - NFSv3 right now. - - - nginx - Collects statistics from `nginx' (speak: engine X), a HTTP and mail - server/proxy. - - - ntpd - NTP daemon statistics: Local clock drift, offset to peers, etc. - - - numa - Information about Non-Uniform Memory Access (NUMA). - - - nut - Network UPS tools: UPS current, voltage, power, charge, utilisation, - temperature, etc. See upsd(8). - - - olsrd - Queries routing information from the “Optimized Link State Routing” - daemon. - - - onewire (EXPERIMENTAL!) - Read onewire sensors using the owcapu library of the owfs project. - Please read in collectd.conf(5) why this plugin is experimental. - - - openldap - Read monitoring information from OpenLDAP's cn=Monitor subtree. - - - openvpn - RX and TX of each client in openvpn-status.log (status-version 2). - - - - oracle - Query data from an Oracle database. - - - perl - The perl plugin implements a Perl-interpreter into collectd. You can - write your own plugins in Perl and return arbitrary values using this - API. See collectd-perl(5). - - - pf - Query statistics from BSD's packet filter "pf". - - - pinba - Receive and dispatch timing values from Pinba, a profiling extension for - PHP. - - - ping - Network latency: Time to reach the default gateway or another given - host. - - - postgresql - PostgreSQL database statistics: active server connections, transaction - numbers, block IO, table row manipulations. - - - powerdns - PowerDNS name server statistics. - - - processes - Process counts: Number of running, sleeping, zombie, ... processes. - - - protocols - Counts various aspects of network protocols such as IP, TCP, UDP, etc. - - - python - The python plugin implements a Python interpreter into collectd. This - makes it possible to write plugins in Python which are executed by - collectd without the need to start a heavy interpreter every interval. - See collectd-python(5) for details. - - - redis - The redis plugin gathers information from a Redis server, including: - uptime, used memory, total connections etc. - - - routeros - Query interface and wireless registration statistics from RouterOS. - - - rrdcached - RRDtool caching daemon (RRDcacheD) statistics. - - - sensors - System sensors, accessed using lm_sensors: Voltages, temperatures and - fan rotation speeds. - - - serial - RX and TX of serial interfaces. Linux only; needs root privileges. - - - sigrok - Uses libsigrok as a backend, allowing any sigrok-supported device - to have its measurements fed to collectd. This includes multimeters, - sound level meters, thermometers, and much more. - - - smart - Collect SMART statistics, notably load cycle count, temperature - and bad sectors. - - - snmp - Read values from SNMP (Simple Network Management Protocol) enabled - network devices such as switches, routers, thermometers, rack monitoring - servers, etc. See collectd-snmp(5). - - - statsd - Acts as a StatsD server, reading values sent over the network from StatsD - clients and calculating rates and other aggregates out of these values. - - - swap - Pages swapped out onto hard disk or whatever is called `swap' by the OS.. - - - table - Parse table-like structured files. - - - tail - Follows (tails) log files, parses them by lines and submits matched - values. - - - tail_csv - Follows (tails) files in CSV format, parses each line and submits - extracted values. - - - tape - Bytes and operations read and written on tape devices. Solaris only. - - - tcpconns - Number of TCP connections to specific local and remote ports. - - - teamspeak2 - TeamSpeak2 server statistics. - - - ted - Plugin to read values from `The Energy Detective' (TED). - - - thermal - Linux ACPI thermal zone information. - - - tokyotyrant - Reads the number of records and file size from a running Tokyo Tyrant - server. - - - turbostat - Reads CPU frequency and C-state residency on modern Intel - turbo-capable processors. - - - uptime - System uptime statistics. - - - users - Users currently logged in. - - - varnish - Various statistics from Varnish, an HTTP accelerator. - - - virt - CPU, memory, disk and network I/O statistics from virtual machines. - - - vmem - Virtual memory statistics, e. g. the number of page-ins/-outs or the - number of pagefaults. - - - vserver - System resources used by Linux VServers. - See . - - - wireless - Link quality of wireless cards. Linux only. - - - xmms - Bitrate and frequency of music played with XMMS. - - - zfs_arc - Statistics for ZFS' “Adaptive Replacement Cache” (ARC). - - - zookeeper - Read data from Zookeeper's MNTR command. - - * Output can be written or sent to various destinations by the following - plugins: - - - amqp - Sends JSON-encoded data to an Advanced Message Queuing Protocol (AMQP) - server, such as RabbitMQ. - - - csv - Write to comma separated values (CSV) files. This needs lots of - diskspace but is extremely portable and can be analysed with almost - every program that can analyse anything. Even Microsoft's Excel.. - - - network - Send the data to a remote host to save the data somehow. This is useful - for large setups where the data should be saved by a dedicated machine. - - - perl - Of course the values are propagated to plugins written in Perl, too, so - you can easily do weird stuff with the plugins we didn't dare think of - ;) See collectd-perl(5). - - - python - It's possible to implement write plugins in Python using the python - plugin. See collectd-python(5) for details. - - - rrdcached - Output to round-robin-database (RRD) files using the RRDtool caching - daemon (RRDcacheD) - see rrdcached(1). That daemon provides a general - implementation of the caching done by the `rrdtool' plugin. - - - rrdtool - Output to round-robin-database (RRD) files using librrd. See rrdtool(1). - This is likely the most popular destination for such values. Since - updates to RRD-files are somewhat expensive this plugin can cache - updates to the files and write a bunch of updates at once, which lessens - system load a lot. - - - unixsock - One can query the values from the unixsock plugin whenever they're - needed. Please read collectd-unixsock(5) for a description on how that's - done. - - - write_graphite - Sends data to Carbon, the storage layer of Graphite using TCP or UDP. It - can be configured to avoid logging send errors (especially useful when - using UDP). - - - write_http - Sends the values collected by collectd to a web-server using HTTP POST - requests. The transmitted data is either in a form understood by the - Exec plugin or formatted in JSON. - - - write_kafka - Sends data to Apache Kafka, a distributed queue. - - - write_log - Writes data to the log - - - write_mongodb - Sends data to MongoDB, a NoSQL database. - - - write_redis - Sends the values to a Redis key-value database server. - - - write_riemann - Sends data to Riemann, a stream processing and monitoring system. - - - write_sensu - Sends data to Sensu, a stream processing and monitoring system, via the - Sensu client local TCP socket. - - - write_tsdb - Sends data OpenTSDB, a scalable no master, no shared state time series - database. - - * Logging is, as everything in collectd, provided by plugins. The following - plugins keep up informed about what's going on: - - - logfile - Writes log messages to a file or STDOUT/STDERR. - - - perl - Log messages are propagated to plugins written in Perl as well. - See collectd-perl(5). - - - python - It's possible to implement log plugins in Python using the python plugin. - See collectd-python(5) for details. - - - syslog - Logs to the standard UNIX logging mechanism, syslog. - - - log_logstash - Writes log messages formatted as logstash JSON events. - - * Notifications can be handled by the following plugins: - - - notify_desktop - Send a desktop notification to a notification daemon, as defined in - the Desktop Notification Specification. To actually display the - notifications, notification-daemon is required. - See http://www.galago-project.org/specs/notification/. - - - notify_email - Send an E-mail with the notification message to the configured - recipients. - - - exec - Execute a program or script to handle the notification. - See collectd-exec(5). - - - logfile - Writes the notification message to a file or STDOUT/STDERR. - - - network - Send the notification to a remote host to handle it somehow. - - - perl - Notifications are propagated to plugins written in Perl as well. - See collectd-perl(5). - - - python - It's possible to implement notification plugins in Python using the - python plugin. See collectd-python(5) for details. - - * Value processing can be controlled using the "filter chain" infrastructure - and "matches" and "targets". The following plugins are available: - - - match_empty_counter - Match counter values which are currently zero. - - - match_hashed - Match values using a hash function of the hostname. - - - match_regex - Match values by their identifier based on regular expressions. - - - match_timediff - Match values with an invalid timestamp. - - - match_value - Select values by their data sources' values. - - - target_notification - Create and dispatch a notification. - - - target_replace - Replace parts of an identifier using regular expressions. - - - target_scale - Scale (multiply) values by an arbitrary value. - - - target_set - Set (overwrite) entire parts of an identifier. - - * Miscellaneous plugins: - - - aggregation - Selects multiple value lists based on patterns or regular expressions - and creates new aggregated values lists from those. - - - threshold - Checks values against configured thresholds and creates notifications if - values are out of bounds. See collectd-threshold(5) for details. - - - uuid - Sets the hostname to a unique identifier. This is meant for setups - where each client may migrate to another physical host, possibly going - through one or more name changes in the process. - - * Performance: Since collectd is running as a daemon it doesn't spend much - time starting up again and again. With the exception of the exec plugin no - processes are forked. Caching in output plugins, such as the rrdtool and - network plugins, makes sure your resources are used efficiently. Also, - since collectd is programmed multithreaded it benefits from hyper-threading - and multicore processors and makes sure that the daemon isn't idle if only - one plugin waits for an IO-operation to complete. - - * Once set up, hardly any maintenance is necessary. Setup is kept as easy - as possible and the default values should be okay for most users. - - -Operation ---------- - - * collectd's configuration file can be found at `sysconfdir'/collectd.conf. - Run `collectd -h' for a list of built-in defaults. See `collectd.conf(5)' - for a list of options and a syntax description. - - * When the `csv' or `rrdtool' plugins are loaded they'll write the values to - files. The usual place for these files is beneath `/var/lib/collectd'. - - * When using some of the plugins, collectd needs to run as user root, since - only root can do certain things, such as craft ICMP packages needed to ping - other hosts. collectd should NOT be installed setuid root since it can be - used to overwrite valuable files! - - * Sample scripts to generate graphs reside in `contrib/' in the source - package or somewhere near `/usr/share/doc/collectd' in most distributions. - Please be aware that those script are meant as a starting point for your - own experiments.. Some of them require the `RRDs' Perl module. - (`librrds-perl' on Debian) If you have written a more sophisticated - solution please share it with us. - - * The RRAs of the automatically created RRD files depend on the `step' - and `heartbeat' settings given. If change these settings you may need to - re-create the files, losing all data. Please be aware of that when changing - the values and read the rrdtool(1) manpage thoroughly. - - -collectd and chkrootkit ------------------------ - - If you are using the `dns' plugin chkrootkit(1) will report collectd as a - packet sniffer (": PACKET SNIFFER(/usr/sbin/collectd[])"). The - plugin captures all UDP packets on port 53 to analyze the DNS traffic. In - this case, collectd is a legitimate sniffer and the report should be - considered to be a false positive. However, you might want to check that - this really is collectd and not some other, illegitimate sniffer. - - -Prerequisites -------------- - - To compile collectd from source you will need: - - * Usual suspects: C compiler, linker, preprocessor, make, ... - - * A POSIX-threads (pthread) implementation. - Since gathering some statistics is slow (network connections, slow devices, - etc) collectd is parallelized. The POSIX threads interface is being - used and should be found in various implementations for hopefully all - platforms. - - * aerotools-ng (optional) - Used by the `aquaero' plugin. Currently, the `libaquaero5' library, which - is used by the `aerotools-ng' toolkit, is not compiled as a shared object - nor does it feature an installation routine. Therefore, you need to point - collectd's configure script at the source directory of the `aerotools-ng' - project. - - - * CoreFoundation.framework and IOKit.framework (optional) - For compiling on Darwin in general and the `apple_sensors' plugin in - particular. - - - * libatasmart (optional) - Used by the `smart' plugin. - - - * libcap (optional) - The `turbostat' plugin can optionally build Linux Capabilities support, - which avoids full privileges requirement (aka. running as root) to read - values. - - - * libclntsh (optional) - Used by the `oracle' plugin. - - * libhiredis (optional) - Used by the redis plugin. Please note that you require a 0.10.0 version - or higher. - - * libcurl (optional) - If you want to use the `apache', `ascent', `bind', `curl', `curl_json', - `curl_xml', `nginx', or `write_http' plugin. - - - * libdbi (optional) - Used by the `dbi' plugin to connect to various databases. - - - * libesmtp (optional) - For the `notify_email' plugin. - - - * libganglia (optional) - Used by the `gmond' plugin to process data received from Ganglia. - - - * libgcrypt (optional) - Used by the `network' plugin for encryption and authentication. - - - * libhal (optional) - If present, the `uuid' plugin will check for UUID from HAL. - - - * libi2c-dev (optional) - Used for the plugin `barometer', provides just the i2c-dev.h header file - for user space i2c development. - - * libiptc (optional) - For querying iptables counters. - - - * libjvm (optional) - Library that encapsulates the `Java Virtual Machine' (JVM). This library is - used by the `java' plugin to execute Java bytecode. See “Configuring with - libjvm” below. - (and others) - - * libldap (optional) - Used by the `openldap' plugin. - - - * liblvm2 (optional) - Used by the `lvm' plugin. - - - * libmemcached (optional) - Used by the `memcachec' plugin to connect to a memcache daemon. - - - * libmnl (optional) - Used by the `netlink' plugin. - - - * libmodbus (optional) - Used by the `modbus' plugin to communicate with Modbus/TCP devices. The - `modbus' plugin works with version 2.0.3 of the library – due to frequent - API changes other versions may or may not compile cleanly. - - - * libmysqlclient (optional) - Unsurprisingly used by the `mysql' plugin. - - - * libnetapp (optional) - Required for the `netapp' plugin. - This library is part of the “Manage ONTAP SDK” published by NetApp. - - * libnetsnmp (optional) - For the `snmp' plugin. - - - * libnotify (optional) - For the `notify_desktop' plugin. - - - * libopenipmi (optional) - Used by the `ipmi' plugin to prove IPMI devices. - - - * liboping (optional) - Used by the `ping' plugin to send and receive ICMP packets. - - - * libowcapi (optional) - Used by the `onewire' plugin to read values from onewire sensors (or the - owserver(1) daemon). - - - * libpcap (optional) - Used to capture packets by the `dns' plugin. - - - * libperfstat (optional) - Used by various plugins to gather statistics under AIX. - - * libperl (optional) - Obviously used by the `perl' plugin. The library has to be compiled with - ithread support (introduced in Perl 5.6.0). - - - * libpq (optional) - The PostgreSQL C client library used by the `postgresql' plugin. - - - * libprotobuf-c, protoc-c (optional) - Used by the `pinba' plugin to generate a parser for the network packets - sent by the Pinba PHP extension, and by the `write_riemann' plugin to - generate events to be sent to a Riemann server. - - - * libpython (optional) - Used by the `python' plugin. Currently, Python 2.3 and later and Python 3 - are supported. - - - * librabbitmq (optional; also called “rabbitmq-c”) - Used by the `amqp' plugin for AMQP connections, for example to RabbitMQ. - - - * librdkafka (optional; also called “rdkafka”) - Used by the `write_kafka' plugin for producing messages and sending them - to a Kafka broker. - - - * librouteros (optional) - Used by the `routeros' plugin to connect to a device running `RouterOS'. - - - * librrd (optional) - Used by the `rrdtool' and `rrdcached' plugins. The latter requires RRDtool - client support which was added after version 1.3 of RRDtool. Versions 1.0, - 1.2 and 1.3 are known to work with the `rrdtool' plugin. - - - * librt, libsocket, libkstat, libdevinfo (optional) - Various standard Solaris libraries which provide system functions. - - - * libsensors (optional) - To read from `lm_sensors', see the `sensors' plugin. - - - * libsigrok (optional) - Used by the `sigrok' plugin. In addition, libsigrok depends on glib, - libzip, and optionally (depending on which drivers are enabled) on - libusb, libftdi and libudev. - - * libstatgrab (optional) - Used by various plugins to collect statistics on systems other than Linux - and/or Solaris. - - - * libtokyotyrant (optional) - Used by the `tokyotyrant' plugin. - - - * libupsclient/nut (optional) - For the `nut' plugin which queries nut's `upsd'. - - - * libvirt (optional) - Collect statistics from virtual machines. - - - * libxml2 (optional) - Parse XML data. This is needed for the `ascent', `bind', `curl_xml' and - `virt' plugins. - - - * libxmms (optional) - - - * libyajl (optional) - Parse JSON data. This is needed for the `ceph', `curl_json' and - `log_logstash' plugins. - - - * libvarnish (optional) - Fetches statistics from a Varnish instance. This is needed for the - `varnish' plugin. - - -Configuring / Compiling / Installing ------------------------------------- - - To configure, build and install collectd with the default settings, run - `./configure && make && make install'. For detailed, generic instructions - see INSTALL. For a complete list of configure options and their description, - run `./configure --help'. - - By default, the configure script will check for all build dependencies and - disable all plugins whose requirements cannot be fulfilled (any other plugin - will be enabled). To enable a plugin, install missing dependencies (see - section `Prerequisites' above) and rerun `configure'. If you specify the - `--enable-' configure option, the script will fail if the depen- - dencies for the specified plugin are not met. In that case you can force the - plugin to be built using the `--enable-=force' configure option. - This will most likely fail though unless you're working in a very unusual - setup and you really know what you're doing. If you specify the - `--disable-' configure option, the plugin will not be built. If you - specify the `--enable-all-plugins' or `--disable-all-plugins' configure - options, all plugins will be enabled or disabled respectively by default. - Explicitly enabling or disabling a plugin overwrites the default for the - specified plugin. These options are meant for package maintainers and should - not be used in everyday situations. - - By default, collectd will be installed into `/opt/collectd'. You can adjust - this setting by specifying the `--prefix' configure option - see INSTALL for - details. If you pass DESTDIR= to `make install', will be - prefixed to all installation directories. This might be useful when creating - packages for collectd. - -Configuring with libjvm ------------------------ - - To determine the location of the required files of a Java installation is not - an easy task, because the locations vary with your kernel (Linux, SunOS, …) - and with your architecture (x86, SPARC, …) and there is no ‘java-config’ - script we could use. Configuration of the JVM library is therefore a bit - tricky. - - The easiest way to use the `--with-java=$JAVA_HOME' option, where - `$JAVA_HOME' is usually something like: - /usr/lib/jvm/java-1.5.0-sun-1.5.0.14 - - The configure script will then use find(1) to look for the following files: - - - jni.h - - jni_md.h - - libjvm.so - - If found, appropriate CPP-flags and LD-flags are set and the following - library checks succeed. - - If this doesn't work for you, you have the possibility to specify CPP-flags, - C-flags and LD-flags for the ‘Java’ plugin by hand, using the following three - (environment) variables: - - - JAVA_CPPFLAGS - - JAVA_CFLAGS - - JAVA_LDFLAGS - - For example (shortened for demonstration purposes): - - ./configure JAVA_CPPFLAGS="-I$JAVA_HOME/include -I$JAVA_HOME/include/linux" - - Adding "-ljvm" to the JAVA_LDFLAGS is done automatically, you don't have to - do that. - -Generating the configure script -------------------------------- - -Collectd ships with a `build.sh' script to generate the `configure' -script shipped with releases. - -To generate the `configure` script, you'll need the following dependencies: - -- autoconf -- automake -- flex -- bison -- libtool -- libtool-ltdl - -The `build.sh' script takes no arguments. - -Crosscompiling --------------- - - To compile correctly collectd needs to be able to initialize static - variables to NAN (Not A Number). Some C libraries, especially the GNU - libc, have a problem with that. - - Luckily, with GCC it's possible to work around that problem: One can define - NAN as being (0.0 / 0.0) and `isnan' as `f != f'. However, to test this - ``implementation'' the configure script needs to compile and run a short - test program. Obviously running a test program when doing a cross- - compilation is, well, challenging. - - If you run into this problem, you can use the `--with-nan-emulation' - configure option to force the use of this implementation. We can't promise - that the compiled binary actually behaves as it should, but since NANs - are likely never passed to the libm you have a good chance to be lucky. - - Likewise, collectd needs to know the layout of doubles in memory, in order - to craft uniform network packets over different architectures. For this, it - needs to know how to convert doubles into the memory layout used by x86. The - configure script tries to figure this out by compiling and running a few - small test programs. This is of course not possible when cross-compiling. - You can use the `--with-fp-layout' option to tell the configure script which - conversion method to assume. Valid arguments are: - - * `nothing' (12345678 -> 12345678) - * `endianflip' (12345678 -> 87654321) - * `intswap' (12345678 -> 56781234) - - -Contact -------- - - For questions, bug reports, development information and basically all other - concerns please send an email to collectd's mailing list at - . - - For live discussion and more personal contact visit us in IRC, we're in - channel #collectd on freenode. - - -Author ------- - - Florian octo Forster , - Sebastian tokkee Harl , - and many contributors (see `AUTHORS'). - - Please send bug reports and patches to the mailing list, see `Contact' - above. - diff --git a/TODO b/TODO deleted file mode 100644 index 009eb7f..0000000 --- a/TODO +++ /dev/null @@ -1,21 +0,0 @@ -* Finalize the onewire plugin. -* Custom notification messages? -* Implement moving-average calculation for the threshold stuff. - -src/battery.c: commend not working code. - -Wishlist: -* Port nfs module to solaris -* Port tape module to Linux -* Port the apple_sensors plugin to Linux/PPC. -* Maybe look into porting the serial module -* Build Darwin package -* Maybe let the network plugin configure whether or not notifications should be - sent/received. -* Maybe find a way for processes connected to the unixsock plugin to receive - notifications, too. - -http://developer.apple.com/documentation/DeviceDrivers/Conceptual/AccessingHardware/AH_IOKitLib_API/chapter_5_section_1.html -http://developer.apple.com/documentation/DeviceDrivers/Conceptual/IOKitFundamentals/index.html#//apple_ref/doc/uid/TP0000011 -http://www.gauchosoft.com/Software/X%20Resource%20Graph/ -http://johannes.sipsolutions.net/PowerBook/Apple_Motion_Sensor_Specification/ diff --git a/aclocal.m4 b/aclocal.m4 deleted file mode 100644 index 040412e..0000000 --- a/aclocal.m4 +++ /dev/null @@ -1,11145 +0,0 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- - -# Copyright (C) 1996-2013 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'.])]) - -# Portability macros for glibc argz. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -# Written by Gary V. Vaughan -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 argz.m4 - -AC_DEFUN([gl_FUNC_ARGZ], -[gl_PREREQ_ARGZ - -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for `error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test "$cross_compiling" != no; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test "$lt_os_major" -gt 1 \ - || { test "$lt_os_major" -eq 1 \ - && { test "$lt_os_minor" -gt 5 \ - || { test "$lt_os_minor" -eq 5 \ - && test "$lt_os_micro" -gt 24; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test "$lt_cv_sys_argz_works" = yes], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [ARGZ_H=argz.h - AC_LIBOBJ([argz])])]) - -AC_SUBST([ARGZ_H]) -]) - -# Prerequisites of lib/argz.c. -AC_DEFUN([gl_PREREQ_ARGZ], [:]) - -# Configure paths for GLIB -# Owen Taylor 1997-2001 - -dnl AM_PATH_GLIB_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) -dnl Test for GLIB, and define GLIB_CFLAGS and GLIB_LIBS, if gmodule, gobject, -dnl gthread, or gio is specified in MODULES, pass to pkg-config -dnl -AC_DEFUN([AM_PATH_GLIB_2_0], -[dnl -dnl Get the cflags and libraries from pkg-config -dnl -AC_ARG_ENABLE(glibtest, [ --disable-glibtest do not try to compile and run a test GLIB program], - , enable_glibtest=yes) - - pkg_config_args=glib-2.0 - for module in . $4 - do - case "$module" in - gmodule) - pkg_config_args="$pkg_config_args gmodule-2.0" - ;; - gmodule-no-export) - pkg_config_args="$pkg_config_args gmodule-no-export-2.0" - ;; - gobject) - pkg_config_args="$pkg_config_args gobject-2.0" - ;; - gthread) - pkg_config_args="$pkg_config_args gthread-2.0" - ;; - gio*) - pkg_config_args="$pkg_config_args $module-2.0" - ;; - esac - done - - PKG_PROG_PKG_CONFIG([0.16]) - - no_glib="" - - if test "x$PKG_CONFIG" = x ; then - no_glib=yes - PKG_CONFIG=no - fi - - min_glib_version=ifelse([$1], ,2.0.0,$1) - AC_MSG_CHECKING(for GLIB - version >= $min_glib_version) - - if test x$PKG_CONFIG != xno ; then - ## don't try to run the test against uninstalled libtool libs - if $PKG_CONFIG --uninstalled $pkg_config_args; then - echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH" - enable_glibtest=no - fi - - if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then - : - else - no_glib=yes - fi - fi - - if test x"$no_glib" = x ; then - GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0` - GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0` - GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0` - GLIB_COMPILE_RESOURCES=`$PKG_CONFIG --variable=glib_compile_resources gio-2.0` - - GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args` - GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args` - glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \ - sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \ - 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 pkg-config to some extent) -dnl - rm -f conf.glibtest - AC_TRY_RUN([ -#include -#include -#include - -int -main () -{ - unsigned int major, minor, micro; - - fclose (fopen ("conf.glibtest", "w")); - - if (sscanf("$min_glib_version", "%u.%u.%u", &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*** 'pkg-config --modversion glib-2.0' 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 pkg-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 enviroment 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 pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n"); - printf("*** to point to the correct configuration files\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 (%u.%u.%u) was found.\n", - glib_major_version, glib_minor_version, glib_micro_version); - printf("*** You need a version of GLIB newer than %u.%u.%u. 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 pkg-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 PKG_CONFIG environment to point to the\n"); - printf("*** correct copy of pkg-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment 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 (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)) - ifelse([$2], , :, [$2]) - else - AC_MSG_RESULT(no) - if test "$PKG_CONFIG" = "no" ; then - echo "*** A new enough version of pkg-config was not found." - echo "*** See http://www.freedesktop.org/software/pkgconfig/" - else - if test -f conf.glibtest ; then - : - else - echo "*** Could not run GLIB test program, checking why..." - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GLIB_CFLAGS" - LIBS="$LIBS $GLIB_LIBS" - AC_TRY_LINK([ -#include -#include -], [ 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 "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GLIB is incorrectly installed."]) - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GLIB_CFLAGS="" - GLIB_LIBS="" - GLIB_GENMARSHAL="" - GOBJECT_QUERY="" - GLIB_MKENUMS="" - GLIB_COMPILE_RESOURCES="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GLIB_CFLAGS) - AC_SUBST(GLIB_LIBS) - AC_SUBST(GLIB_GENMARSHAL) - AC_SUBST(GOBJECT_QUERY) - AC_SUBST(GLIB_MKENUMS) - AC_SUBST(GLIB_COMPILE_RESOURCES) - rm -f conf.glibtest -]) - -dnl Autoconf macros for libgcrypt -dnl Copyright (C) 2002, 2004 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 AM_PATH_LIBGCRYPT([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl Test for libgcrypt and define LIBGCRYPT_CFLAGS and LIBGCRYPT_LIBS. -dnl MINIMUN-VERSION is a string with the version number optionalliy prefixed -dnl with the API version to also check the API compatibility. Example: -dnl a MINIMUN-VERSION of 1:1.2.5 won't pass the test unless the installed -dnl version of libgcrypt is at least 1.2.5 *and* the API number is 1. Using -dnl this features allows to prevent build against newer versions of libgcrypt -dnl with a changed API. -dnl -AC_DEFUN([AM_PATH_LIBGCRYPT], -[ AC_ARG_WITH(libgcrypt-prefix, - AC_HELP_STRING([--with-libgcrypt-prefix=PFX], - [prefix where LIBGCRYPT is installed (optional)]), - libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") - if test x$libgcrypt_config_prefix != x ; then - if test x${LIBGCRYPT_CONFIG+set} != xset ; then - LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config - fi - fi - - AC_PATH_TOOL(LIBGCRYPT_CONFIG, libgcrypt-config, no) - tmp=ifelse([$1], ,1:1.2.0,$1) - if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then - req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` - min_libgcrypt_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'` - else - req_libgcrypt_api=0 - min_libgcrypt_version="$tmp" - fi - - AC_MSG_CHECKING(for LIBGCRYPT - version >= $min_libgcrypt_version) - ok=no - if test "$LIBGCRYPT_CONFIG" != "no" ; then - req_major=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - req_micro=`echo $min_libgcrypt_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` - major=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $libgcrypt_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - micro=`echo $libgcrypt_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 ($libgcrypt_config_version)]) - else - AC_MSG_RESULT(no) - fi - if test $ok = yes; then - # If we have a recent libgcrypt, we should also check that the - # API is compatible - if test "$req_libgcrypt_api" -gt 0 ; then - tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` - if test "$tmp" -gt 0 ; then - AC_MSG_CHECKING([LIBGCRYPT API version]) - if test "$req_libgcrypt_api" -eq "$tmp" ; then - AC_MSG_RESULT([okay]) - else - ok=no - AC_MSG_RESULT([does not match. want=$req_libgcrypt_api got=$tmp]) - fi - fi - fi - fi - if test $ok = yes; then - LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` - LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` - ifelse([$2], , :, [$2]) - if test x"$host" != x ; then - libgcrypt_config_host=`$LIBGCRYPT_CONFIG --host 2>/dev/null || echo none` - if test x"$libgcrypt_config_host" != xnone ; then - if test x"$libgcrypt_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script $LIBGCRYPT_CONFIG was -*** built for $libgcrypt_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-libgcrypt-prefix -*** to specify a matching config script. -***]]) - fi - fi - fi - else - LIBGCRYPT_CFLAGS="" - LIBGCRYPT_LIBS="" - ifelse([$3], , :, [$3]) - fi - AC_SUBST(LIBGCRYPT_CFLAGS) - AC_SUBST(LIBGCRYPT_LIBS) -]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - case `/usr/bin/file conftest.o` in - *x86-64*) - LD="${LD-ld} -m elf32_x86_64" - ;; - *) - LD="${LD-ld} -m elf_i386" - ;; - esac - ;; - powerpc64le-*) - LD="${LD-ld} -m elf32lppclinux" - ;; - powerpc64-*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - powerpcle-*) - LD="${LD-ld} -m elf64lppc" - ;; - powerpc-*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len" && \ - test undefined != "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsdelf*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='NetBSD ld.elf_so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])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 - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd* | netbsdelf*-gnu) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - 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 - ;; - linux* | k*bsd*-gnu | gnu*) - _LT_TAGVAR(link_all_deplibs, $1)=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=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 - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|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 - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - _LT_TAGVAR(link_all_deplibs, $1)=no - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - 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. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd* | netbsdelf*-gnu) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS - -# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- -# -# Copyright (C) 1999-2006, 2007, 2008, 2011 Free Software Foundation, Inc. -# Written by Thomas Tanner, 1999 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 18 LTDL_INIT - -# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) -# ------------------------------------------ -# DIRECTORY contains the libltdl sources. It is okay to call this -# function multiple times, as long as the same DIRECTORY is always given. -AC_DEFUN([LT_CONFIG_LTDL_DIR], -[AC_BEFORE([$0], [LTDL_INIT]) -_$0($*) -])# LT_CONFIG_LTDL_DIR - -# We break this out into a separate macro, so that we can call it safely -# internally without being caught accidentally by the sed scan in libtoolize. -m4_defun([_LT_CONFIG_LTDL_DIR], -[dnl remove trailing slashes -m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) -m4_case(_LTDL_DIR, - [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.' - m4_if(_ARG_DIR, [.], - [], - [m4_define([_LTDL_DIR], _ARG_DIR) - _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])], - [m4_if(_ARG_DIR, _LTDL_DIR, - [], - [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])]) -m4_popdef([_ARG_DIR]) -])# _LT_CONFIG_LTDL_DIR - -# Initialise: -m4_define([_LTDL_DIR], []) - - -# _LT_BUILD_PREFIX -# ---------------- -# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise -# to `${top_builddir}/'. -m4_define([_LT_BUILD_PREFIX], -[m4_ifdef([AC_AUTOCONF_VERSION], - [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]), - [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX], - [${top_build_prefix}], - [${top_builddir}/])], - [${top_build_prefix}])], - [${top_builddir}/])[]dnl -]) - - -# LTDL_CONVENIENCE -# ---------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with -# '${top_build_prefix}' if available, otherwise with '${top_builddir}/', -# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single -# quotes!). If your package is not flat and you're not using automake, -# define top_build_prefix, top_builddir, and top_srcdir appropriately -# in your Makefiles. -AC_DEFUN([LTDL_CONVENIENCE], -[AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -])# LTDL_CONVENIENCE - -# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools, -# now we have LT_CONFIG_LTDL_DIR: -AU_DEFUN([AC_LIBLTDL_CONVENIENCE], -[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], []) - - -# _LTDL_CONVENIENCE -# ----------------- -# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]). -m4_defun([_LTDL_CONVENIENCE], -[case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; -esac -LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" -LTDLDEPS=$LIBLTDL -LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" - -AC_SUBST([LIBLTDL]) -AC_SUBST([LTDLDEPS]) -AC_SUBST([LTDLINCL]) - -# For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" -AC_SUBST([INCLTDL]) -])# _LTDL_CONVENIENCE - - -# LTDL_INSTALLABLE -# ---------------- -# sets LIBLTDL to the link flags for the libltdl installable library -# and LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl -# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if -# available, otherwise with '${top_builddir}/', and LTDLINCL will be -# prefixed with '${top_srcdir}/' (note the single quotes!). If your -# package is not flat and you're not using automake, define top_build_prefix, -# top_builddir, and top_srcdir appropriately in your Makefiles. -# In the future, this macro may have to be called after LT_INIT. -AC_DEFUN([LTDL_INSTALLABLE], -[AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -])# LTDL_INSTALLABLE - -# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools, -# now we have LT_CONFIG_LTDL_DIR: -AU_DEFUN([AC_LIBLTDL_INSTALLABLE], -[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], []) - - -# _LTDL_INSTALLABLE -# ----------------- -# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]). -m4_defun([_LTDL_INSTALLABLE], -[if test -f $prefix/lib/libltdl.la; then - lt_save_LDFLAGS="$LDFLAGS" - LDFLAGS="-L$prefix/lib $LDFLAGS" - AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes]) - LDFLAGS="$lt_save_LDFLAGS" - if test x"${lt_lib_ltdl-no}" = xyes; then - if test x"$enable_ltdl_install" != xyes; then - # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install - AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install']) - enable_ltdl_install=no - fi - elif test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - fi -fi - -# If configure.ac declared an installable ltdl, and the user didn't override -# with --disable-ltdl-install, we will install the shipped libltdl. -case $enable_ltdl_install in - no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLDEPS= - LTDLINCL= - ;; - *) enable_ltdl_install=yes - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la" - LTDLDEPS=$LIBLTDL - LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" - ;; -esac - -AC_SUBST([LIBLTDL]) -AC_SUBST([LTDLDEPS]) -AC_SUBST([LTDLINCL]) - -# For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" -AC_SUBST([INCLTDL]) -])# LTDL_INSTALLABLE - - -# _LTDL_MODE_DISPATCH -# ------------------- -m4_define([_LTDL_MODE_DISPATCH], -[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself: -m4_if(_LTDL_DIR, [], - [], - dnl if _LTDL_MODE was not set already, the default value is `subproject': - [m4_case(m4_default(_LTDL_MODE, [subproject]), - [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) - _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])], - [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])], - [recursive], [], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl -dnl Be careful not to expand twice: -m4_define([$0], []) -])# _LTDL_MODE_DISPATCH - - -# _LT_LIBOBJ(MODULE_NAME) -# ----------------------- -# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead -# of into LIBOBJS. -AC_DEFUN([_LT_LIBOBJ], [ - m4_pattern_allow([^_LT_LIBOBJS$]) - _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" -])# _LT_LIBOBJS - - -# LTDL_INIT([OPTIONS]) -# -------------------- -# Clients of libltdl can use this macro to allow the installer to -# choose between a shipped copy of the ltdl sources or a preinstalled -# version of the library. If the shipped ltdl sources are not in a -# subdirectory named libltdl, the directory name must be given by -# LT_CONFIG_LTDL_DIR. -AC_DEFUN([LTDL_INIT], -[dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -dnl We need to keep our own list of libobjs separate from our parent project, -dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while -dnl we look for our own LIBOBJs. -m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) -m4_pushdef([AC_LIBSOURCES]) - -dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: -m4_if(_LTDL_MODE, [], - [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) - m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) - -AC_ARG_WITH([included_ltdl], - [AS_HELP_STRING([--with-included-ltdl], - [use the GNU ltdl sources included here])]) - -if test "x$with_included_ltdl" != xyes; then - # We are not being forced to use the included libltdl sources, so - # decide whether there is a useful installed version we can use. - AC_CHECK_HEADER([ltdl.h], - [AC_CHECK_DECL([lt_dlinterface_register], - [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], - [with_included_ltdl=no], - [with_included_ltdl=yes])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT - #include ])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT] - ) -fi - -dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE -dnl was called yet, then for old times' sake, we assume libltdl is in an -dnl eponymous directory: -AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) - -AC_ARG_WITH([ltdl_include], - [AS_HELP_STRING([--with-ltdl-include=DIR], - [use the ltdl headers installed in DIR])]) - -if test -n "$with_ltdl_include"; then - if test -f "$with_ltdl_include/ltdl.h"; then : - else - AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include']) - fi -else - with_ltdl_include=no -fi - -AC_ARG_WITH([ltdl_lib], - [AS_HELP_STRING([--with-ltdl-lib=DIR], - [use the libltdl.la installed in DIR])]) - -if test -n "$with_ltdl_lib"; then - if test -f "$with_ltdl_lib/libltdl.la"; then : - else - AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib']) - fi -else - with_ltdl_lib=no -fi - -case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in - ,yes,no,no,) - m4_case(m4_default(_LTDL_TYPE, [convenience]), - [convenience], [_LTDL_CONVENIENCE], - [installable], [_LTDL_INSTALLABLE], - [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) - ;; - ,no,no,no,) - # If the included ltdl is not to be used, then use the - # preinstalled libltdl we found. - AC_DEFINE([HAVE_LTDL], [1], - [Define this if a modern libltdl is already installed]) - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - ,no*,no,*) - AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together]) - ;; - *) with_included_ltdl=no - LIBLTDL="-L$with_ltdl_lib -lltdl" - LTDLDEPS= - LTDLINCL="-I$with_ltdl_include" - ;; -esac -INCLTDL="$LTDLINCL" - -# Report our decision... -AC_MSG_CHECKING([where to find libltdl headers]) -AC_MSG_RESULT([$LTDLINCL]) -AC_MSG_CHECKING([where to find libltdl library]) -AC_MSG_RESULT([$LIBLTDL]) - -_LTDL_SETUP - -dnl restore autoconf definition. -m4_popdef([AC_LIBOBJ]) -m4_popdef([AC_LIBSOURCES]) - -AC_CONFIG_COMMANDS_PRE([ - _ltdl_libobjs= - _ltdl_ltlibobjs= - if test -n "$_LT_LIBOBJS"; then - # Remove the extension. - _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do - _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" - _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" - done - fi - AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) - AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) -]) - -# Only expand once: -m4_define([LTDL_INIT]) -])# LTDL_INIT - -# Old names: -AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) -AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) -AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIB_LTDL], []) -dnl AC_DEFUN([AC_WITH_LTDL], []) -dnl AC_DEFUN([LT_WITH_LTDL], []) - - -# _LTDL_SETUP -# ----------- -# Perform all the checks necessary for compilation of the ltdl objects -# -- including compiler checks and header checks. This is a public -# interface mainly for the benefit of libltdl's own configure.ac, most -# other users should call LTDL_INIT instead. -AC_DEFUN([_LTDL_SETUP], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl -AC_REQUIRE([LT_SYS_MODULE_PATH])dnl -AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl -AC_REQUIRE([LT_LIB_DLLOAD])dnl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl -AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([gl_FUNC_ARGZ])dnl - -m4_require([_LT_CHECK_OBJDIR])dnl -m4_require([_LT_HEADER_DLFCN])dnl -m4_require([_LT_CHECK_DLPREOPEN])dnl -m4_require([_LT_DECL_SED])dnl - -dnl Don't require this, or it will be expanded earlier than the code -dnl that sets the variables it relies on: -_LT_ENABLE_INSTALL - -dnl _LTDL_MODE specific code must be called at least once: -_LTDL_MODE_DISPATCH - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). -AC_CONFIG_COMMANDS_PRE([dnl -m4_pattern_allow([^LT_CONFIG_H$])dnl -m4_ifset([AH_HEADER], - [LT_CONFIG_H=AH_HEADER], - [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`], - [])])]) -AC_SUBST([LT_CONFIG_H]) - -AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], - [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) -AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) - -m4_pattern_allow([LT_LIBEXT])dnl -AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) - -name= -eval "lt_libprefix=\"$libname_spec\"" -m4_pattern_allow([LT_LIBPREFIX])dnl -AC_DEFINE_UNQUOTED([LT_LIBPREFIX],["$lt_libprefix"],[The archive prefix]) - -name=ltdl -eval "LTDLOPEN=\"$libname_spec\"" -AC_SUBST([LTDLOPEN]) -])# _LTDL_SETUP - - -# _LT_ENABLE_INSTALL -# ------------------ -m4_define([_LT_ENABLE_INSTALL], -[AC_ARG_ENABLE([ltdl-install], - [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])]) - -case ,${enable_ltdl_install},${enable_ltdl_convenience} in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - -m4_ifdef([AM_CONDITIONAL], -[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) - AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)]) -])# _LT_ENABLE_INSTALL - - -# LT_SYS_DLOPEN_DEPLIBS -# --------------------- -AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - [lt_cv_sys_dlopen_deplibs], - [# PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this `case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[[4-9]]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu | kopensolaris*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[[12345]]*|irix6.[[01]]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd* | netbsdelf*-gnu) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[[1234]]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say `no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to `yes'. Without it, it would be `no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say `yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - ]) -if test "$lt_cv_sys_dlopen_deplibs" != yes; then - AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], - [Define if the OS needs help to load dependent libraries for dlopen().]) -fi -])# LT_SYS_DLOPEN_DEPLIBS - -# Old name: -AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], []) - - -# LT_SYS_MODULE_EXT -# ----------------- -AC_DEFUN([LT_SYS_MODULE_EXT], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([which extension is used for runtime loadable modules], - [libltdl_cv_shlibext], -[ -module=yes -eval libltdl_cv_shlibext=$shrext_cmds -module=no -eval libltdl_cv_shrext=$shrext_cmds - ]) -if test -n "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_MODULE_EXT])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], - [Define to the extension used for runtime loadable modules, say, ".so".]) -fi -if test "$libltdl_cv_shrext" != "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_SHARED_EXT])dnl - AC_DEFINE_UNQUOTED([LT_SHARED_EXT], ["$libltdl_cv_shrext"], - [Define to the shared library suffix, say, ".dylib".]) -fi -])# LT_SYS_MODULE_EXT - -# Old name: -AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SHLIBEXT], []) - - -# LT_SYS_MODULE_PATH -# ------------------ -AC_DEFUN([LT_SYS_MODULE_PATH], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([which variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"]) -if test -n "$lt_cv_module_path_var"; then - m4_pattern_allow([LT_MODULE_PATH_VAR])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], - [Define to the name of the environment variable that determines the run-time module search path.]) -fi -])# LT_SYS_MODULE_PATH - -# Old name: -AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SHLIBPATH], []) - - -# LT_SYS_DLSEARCH_PATH -# -------------------- -AC_DEFUN([LT_SYS_DLSEARCH_PATH], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([for the default library search path], - [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"]) -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path="$dir" - else - sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir" - fi - done - m4_pattern_allow([LT_DLSEARCH_PATH])dnl - AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], - [Define to the system default library search path.]) -fi -])# LT_SYS_DLSEARCH_PATH - -# Old name: -AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], []) - - -# _LT_CHECK_DLPREOPEN -# ------------------- -m4_defun([_LT_CHECK_DLPREOPEN], -[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], - [libltdl_cv_preloaded_symbols], - [if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - ]) -if test x"$libltdl_cv_preloaded_symbols" = xyes; then - AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], - [Define if libtool can extract symbol lists from object files.]) -fi -])# _LT_CHECK_DLPREOPEN - - -# LT_LIB_DLLOAD -# ------------- -AC_DEFUN([LT_LIB_DLLOAD], -[m4_pattern_allow([^LT_DLLOADERS$]) -LT_DLLOADERS= -AC_SUBST([LT_DLLOADERS]) - -AC_LANG_PUSH([C]) - -LIBADD_DLOPEN= -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required" ; then - LIBADD_DLOPEN="-ldl" - fi - libltdl_cv_lib_dl_dlopen="yes" - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H -# include -#endif - ]], [[dlopen(0, 0);]])], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen="yes" - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_CHECK_LIB([svld], [dlopen], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes" - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes -then - lt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBADD_DLOPEN" - AC_CHECK_FUNCS([dlerror]) - LIBS="$lt_save_LIBS" -fi -AC_SUBST([LIBADD_DLOPEN]) - -LIBADD_SHL_LOAD= -AC_CHECK_FUNC([shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], - [AC_CHECK_LIB([dld], [shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD="-ldld"])]) -AC_SUBST([LIBADD_SHL_LOAD]) - -case $host_os in -darwin[[1567]].*) -# We only want this for pre-Mac OS X 10.4. - AC_CHECK_FUNC([_dyld_func_lookup], - [AC_DEFINE([HAVE_DYLD], [1], - [Define if you have the _dyld_func_lookup function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | os2* | pw32*) - AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -AC_CHECK_LIB([dld], [dld_link], - [AC_DEFINE([HAVE_DLD], [1], - [Define if you have the GNU dld library.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) -AC_SUBST([LIBADD_DLD_LINK]) - -m4_pattern_allow([^LT_DLPREOPEN$]) -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - AC_DEFINE([HAVE_LIBDLLOADER], [1], - [Define if libdlloader will be built on this platform]) -fi -AC_SUBST([LT_DLPREOPEN]) - -dnl This isn't used anymore, but set it for backwards compatibility -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" -AC_SUBST([LIBADD_DL]) - -AC_LANG_POP -])# LT_LIB_DLLOAD - -# Old name: -AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_DLLIB], []) - - -# LT_SYS_SYMBOL_USCORE -# -------------------- -# does the compiler prefix global symbols with an underscore? -AC_DEFUN([LT_SYS_SYMBOL_USCORE], -[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([for _ prefix in compiled symbols], - [lt_cv_sys_symbol_underscore], - [lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.c >&AS_MESSAGE_LOG_FD - fi - rm -rf conftest* - ]) - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - AC_SUBST([sys_symbol_underscore]) -])# LT_SYS_SYMBOL_USCORE - -# Old name: -AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], []) - - -# LT_FUNC_DLSYM_USCORE -# -------------------- -AC_DEFUN([LT_FUNC_DLSYM_USCORE], -[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -if test x"$lt_cv_sys_symbol_underscore" = xyes; then - if test x"$libltdl_cv_func_dlopen" = xyes || - test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - save_LIBS="$LIBS" - LIBS="$LIBS $LIBADD_DLOPEN" - _LT_TRY_DLOPEN_SELF( - [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], - [], [libltdl_cv_need_uscore=cross]) - LIBS="$save_LIBS" - ]) - fi -fi - -if test x"$libltdl_cv_need_uscore" = xyes; then - AC_DEFINE([NEED_USCORE], [1], - [Define if dlsym() requires a leading underscore in symbol names.]) -fi -])# LT_FUNC_DLSYM_USCORE - -# Old name: -AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# 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. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 1 (pkg-config-0.24) -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) -m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) -AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) -AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -# only at the first occurence in configure.ac, so if the first place -# it's called might be skipped (such as if it is within an "if", you -# have to call PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_default([$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$$1"; then - pkg_cv_[]$1="$$1" - elif test -n "$PKG_CONFIG"; then - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes ], - [pkg_failed=yes]) - else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - m4_default([$4], [AC_MSG_ERROR( -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT])[]dnl - ]) -elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])[]dnl - ]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - $3 -fi[]dnl -])# PKG_CHECK_MODULES - -# Copyright (C) 2002-2013 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.14' -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.14.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2013 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-2013 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-2013 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. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2013 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: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [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: - -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: . - -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 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-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2013 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])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2013 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 to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2013 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 - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --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-2013 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-2013 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-2013 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-2013 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-2013 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-2013 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-2013 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-2013 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 /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - diff --git a/bindings/Makefile.am b/bindings/Makefile.am deleted file mode 100644 index 07373e8..0000000 --- a/bindings/Makefile.am +++ /dev/null @@ -1,69 +0,0 @@ -SUBDIRS = - -if BUILD_WITH_JAVA -SUBDIRS += java -endif - -EXTRA_DIST = perl/Makefile.PL \ - perl/uninstall_mod.pl \ - perl/lib/Collectd.pm \ - perl/lib/Collectd/Unixsock.pm \ - perl/lib/Collectd/Plugins/Monitorus.pm \ - perl/lib/Collectd/Plugins/OpenVZ.pm - -CLEANFILES = \ - buildperl/Collectd.pm \ - buildperl/Collectd/Plugins/OpenVZ.pm \ - buildperl/Collectd/Unixsock.pm \ - buildperl/Makefile.PL \ - .perl-directory-stamp - -DISTCLEANFILES = \ - buildperl/Collectd.pm \ - buildperl/Collectd/Plugins/OpenVZ.pm \ - buildperl/Collectd/Unixsock.pm \ - buildperl/Makefile.PL \ - .perl-directory-stamp - -all-local: @PERL_BINDINGS@ - - -install-exec-local: - [ ! -f buildperl/Makefile ] || ( cd buildperl && $(MAKE) install ) - -# Perl 'make uninstall' does not work as well as wanted. -# So we do the work here. -uninstall-local: - @PERL@ -I$(DESTDIR)$(prefix) $(srcdir)/perl/uninstall_mod.pl Collectd - find $(DESTDIR)$(prefix) -name "perllocal.pod" -exec rm {} \; - -clean-local: - rm -rf buildperl - -perl: buildperl/Makefile - cd buildperl && $(MAKE) - -buildperl/Makefile: .perl-directory-stamp buildperl/Makefile.PL \ - $(top_builddir)/config.status - @# beautify the output a bit - @echo 'cd buildperl && @PERL@ Makefile.PL @PERL_BINDINGS_OPTIONS@' - @cd buildperl && ( if ! @PERL@ Makefile.PL @PERL_BINDINGS_OPTIONS@; then \ - echo ""; \ - echo 'Check whether you have set $$PERL_MM_OPT in your environment and try using ./configure --with-perl-bindings=""'; \ - echo ""; \ - fi ) - -buildperl/Makefile.PL: .perl-directory-stamp $(top_builddir)/config.status - -.perl-directory-stamp: - if test ! -d buildperl; then \ - mkdir -p buildperl/Collectd/Plugins; \ - cp $(srcdir)/perl/lib/Collectd.pm buildperl/; \ - cp $(srcdir)/perl/Makefile.PL buildperl/; \ - cp $(srcdir)/perl/lib/Collectd/Unixsock.pm buildperl/Collectd/; \ - cp $(srcdir)/perl/lib/Collectd/Plugins/OpenVZ.pm buildperl/Collectd/Plugins/; \ - fi - touch $@ - -.PHONY: perl - diff --git a/bindings/Makefile.in b/bindings/Makefile.in deleted file mode 100644 index 4e4265d..0000000 --- a/bindings/Makefile.in +++ /dev/null @@ -1,821 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 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 = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -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@ -@BUILD_WITH_JAVA_TRUE@am__append_1 = java -subdir = bindings -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/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 \ - distdir -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 = java -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@ -AR = @AR@ -ARGZ_H = @ARGZ_H@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_WITH_LIBAQUAERO5_CFLAGS = @BUILD_WITH_LIBAQUAERO5_CFLAGS@ -BUILD_WITH_LIBAQUAERO5_LDFLAGS = @BUILD_WITH_LIBAQUAERO5_LDFLAGS@ -BUILD_WITH_LIBATASMART_CPPFLAGS = @BUILD_WITH_LIBATASMART_CPPFLAGS@ -BUILD_WITH_LIBATASMART_LDFLAGS = @BUILD_WITH_LIBATASMART_LDFLAGS@ -BUILD_WITH_LIBATASMART_LIBS = @BUILD_WITH_LIBATASMART_LIBS@ -BUILD_WITH_LIBCURL_CFLAGS = @BUILD_WITH_LIBCURL_CFLAGS@ -BUILD_WITH_LIBCURL_LIBS = @BUILD_WITH_LIBCURL_LIBS@ -BUILD_WITH_LIBDBI_CPPFLAGS = @BUILD_WITH_LIBDBI_CPPFLAGS@ -BUILD_WITH_LIBDBI_LDFLAGS = @BUILD_WITH_LIBDBI_LDFLAGS@ -BUILD_WITH_LIBDBI_LIBS = @BUILD_WITH_LIBDBI_LIBS@ -BUILD_WITH_LIBHAL_CFLAGS = @BUILD_WITH_LIBHAL_CFLAGS@ -BUILD_WITH_LIBHAL_LIBS = @BUILD_WITH_LIBHAL_LIBS@ -BUILD_WITH_LIBHIREDIS_CPPFLAGS = @BUILD_WITH_LIBHIREDIS_CPPFLAGS@ -BUILD_WITH_LIBHIREDIS_LDFLAGS = @BUILD_WITH_LIBHIREDIS_LDFLAGS@ -BUILD_WITH_LIBIPTC_CPPFLAGS = @BUILD_WITH_LIBIPTC_CPPFLAGS@ -BUILD_WITH_LIBIPTC_LDFLAGS = @BUILD_WITH_LIBIPTC_LDFLAGS@ -BUILD_WITH_LIBLDAP_CPPFLAGS = @BUILD_WITH_LIBLDAP_CPPFLAGS@ -BUILD_WITH_LIBLDAP_LDFLAGS = @BUILD_WITH_LIBLDAP_LDFLAGS@ -BUILD_WITH_LIBLVM2APP_CPPFLAGS = @BUILD_WITH_LIBLVM2APP_CPPFLAGS@ -BUILD_WITH_LIBLVM2APP_LDFLAGS = @BUILD_WITH_LIBLVM2APP_LDFLAGS@ -BUILD_WITH_LIBLVM2APP_LIBS = @BUILD_WITH_LIBLVM2APP_LIBS@ -BUILD_WITH_LIBMEMCACHED_CPPFLAGS = @BUILD_WITH_LIBMEMCACHED_CPPFLAGS@ -BUILD_WITH_LIBMEMCACHED_LDFLAGS = @BUILD_WITH_LIBMEMCACHED_LDFLAGS@ -BUILD_WITH_LIBMEMCACHED_LIBS = @BUILD_WITH_LIBMEMCACHED_LIBS@ -BUILD_WITH_LIBMNL_CFLAGS = @BUILD_WITH_LIBMNL_CFLAGS@ -BUILD_WITH_LIBMNL_LIBS = @BUILD_WITH_LIBMNL_LIBS@ -BUILD_WITH_LIBMODBUS_CFLAGS = @BUILD_WITH_LIBMODBUS_CFLAGS@ -BUILD_WITH_LIBMODBUS_LIBS = @BUILD_WITH_LIBMODBUS_LIBS@ -BUILD_WITH_LIBMONGOC_CPPFLAGS = @BUILD_WITH_LIBMONGOC_CPPFLAGS@ -BUILD_WITH_LIBMONGOC_LDFLAGS = @BUILD_WITH_LIBMONGOC_LDFLAGS@ -BUILD_WITH_LIBMYSQL_CFLAGS = @BUILD_WITH_LIBMYSQL_CFLAGS@ -BUILD_WITH_LIBMYSQL_LIBS = @BUILD_WITH_LIBMYSQL_LIBS@ -BUILD_WITH_LIBOPING_CPPFLAGS = @BUILD_WITH_LIBOPING_CPPFLAGS@ -BUILD_WITH_LIBOPING_LDFLAGS = @BUILD_WITH_LIBOPING_LDFLAGS@ -BUILD_WITH_LIBOWCAPI_CPPFLAGS = @BUILD_WITH_LIBOWCAPI_CPPFLAGS@ -BUILD_WITH_LIBOWCAPI_LIBS = @BUILD_WITH_LIBOWCAPI_LIBS@ -BUILD_WITH_LIBPQ_CPPFLAGS = @BUILD_WITH_LIBPQ_CPPFLAGS@ -BUILD_WITH_LIBPQ_LDFLAGS = @BUILD_WITH_LIBPQ_LDFLAGS@ -BUILD_WITH_LIBRABBITMQ_CPPFLAGS = @BUILD_WITH_LIBRABBITMQ_CPPFLAGS@ -BUILD_WITH_LIBRABBITMQ_LDFLAGS = @BUILD_WITH_LIBRABBITMQ_LDFLAGS@ -BUILD_WITH_LIBRABBITMQ_LIBS = @BUILD_WITH_LIBRABBITMQ_LIBS@ -BUILD_WITH_LIBRDKAFKA_CPPFLAGS = @BUILD_WITH_LIBRDKAFKA_CPPFLAGS@ -BUILD_WITH_LIBRDKAFKA_LDFLAGS = @BUILD_WITH_LIBRDKAFKA_LDFLAGS@ -BUILD_WITH_LIBRDKAFKA_LIBS = @BUILD_WITH_LIBRDKAFKA_LIBS@ -BUILD_WITH_LIBROUTEROS_CPPFLAGS = @BUILD_WITH_LIBROUTEROS_CPPFLAGS@ -BUILD_WITH_LIBROUTEROS_LDFLAGS = @BUILD_WITH_LIBROUTEROS_LDFLAGS@ -BUILD_WITH_LIBRRD_CFLAGS = @BUILD_WITH_LIBRRD_CFLAGS@ -BUILD_WITH_LIBRRD_LDFLAGS = @BUILD_WITH_LIBRRD_LDFLAGS@ -BUILD_WITH_LIBSENSORS_CFLAGS = @BUILD_WITH_LIBSENSORS_CFLAGS@ -BUILD_WITH_LIBSENSORS_LDFLAGS = @BUILD_WITH_LIBSENSORS_LDFLAGS@ -BUILD_WITH_LIBSIGROK_CFLAGS = @BUILD_WITH_LIBSIGROK_CFLAGS@ -BUILD_WITH_LIBSIGROK_LDFLAGS = @BUILD_WITH_LIBSIGROK_LDFLAGS@ -BUILD_WITH_LIBSNMP_CFLAGS = @BUILD_WITH_LIBSNMP_CFLAGS@ -BUILD_WITH_LIBSNMP_LIBS = @BUILD_WITH_LIBSNMP_LIBS@ -BUILD_WITH_LIBSTATGRAB_CFLAGS = @BUILD_WITH_LIBSTATGRAB_CFLAGS@ -BUILD_WITH_LIBSTATGRAB_LDFLAGS = @BUILD_WITH_LIBSTATGRAB_LDFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS = @BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS = @BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_LIBS = @BUILD_WITH_LIBTOKYOTYRANT_LIBS@ -BUILD_WITH_LIBUDEV_CFLAGS = @BUILD_WITH_LIBUDEV_CFLAGS@ -BUILD_WITH_LIBUDEV_LDFLAGS = @BUILD_WITH_LIBUDEV_LDFLAGS@ -BUILD_WITH_LIBUPSCLIENT_CFLAGS = @BUILD_WITH_LIBUPSCLIENT_CFLAGS@ -BUILD_WITH_LIBUPSCLIENT_LIBS = @BUILD_WITH_LIBUPSCLIENT_LIBS@ -BUILD_WITH_LIBVARNISH_CFLAGS = @BUILD_WITH_LIBVARNISH_CFLAGS@ -BUILD_WITH_LIBVARNISH_LIBS = @BUILD_WITH_LIBVARNISH_LIBS@ -BUILD_WITH_LIBVIRT_CFLAGS = @BUILD_WITH_LIBVIRT_CFLAGS@ -BUILD_WITH_LIBVIRT_LIBS = @BUILD_WITH_LIBVIRT_LIBS@ -BUILD_WITH_LIBXML2_CFLAGS = @BUILD_WITH_LIBXML2_CFLAGS@ -BUILD_WITH_LIBXML2_LIBS = @BUILD_WITH_LIBXML2_LIBS@ -BUILD_WITH_LIBXMMS_CFLAGS = @BUILD_WITH_LIBXMMS_CFLAGS@ -BUILD_WITH_LIBXMMS_LIBS = @BUILD_WITH_LIBXMMS_LIBS@ -BUILD_WITH_LIBYAJL_CPPFLAGS = @BUILD_WITH_LIBYAJL_CPPFLAGS@ -BUILD_WITH_LIBYAJL_LDFLAGS = @BUILD_WITH_LIBYAJL_LDFLAGS@ -BUILD_WITH_LIBYAJL_LIBS = @BUILD_WITH_LIBYAJL_LIBS@ -BUILD_WITH_MIC_CPPFLAGS = @BUILD_WITH_MIC_CPPFLAGS@ -BUILD_WITH_MIC_LDADD = @BUILD_WITH_MIC_LDADD@ -BUILD_WITH_MIC_LIBPATH = @BUILD_WITH_MIC_LIBPATH@ -BUILD_WITH_OPENIPMI_CFLAGS = @BUILD_WITH_OPENIPMI_CFLAGS@ -BUILD_WITH_OPENIPMI_LIBS = @BUILD_WITH_OPENIPMI_LIBS@ -BUILD_WITH_ORACLE_CFLAGS = @BUILD_WITH_ORACLE_CFLAGS@ -BUILD_WITH_ORACLE_LIBS = @BUILD_WITH_ORACLE_LIBS@ -BUILD_WITH_PYTHON_CPPFLAGS = @BUILD_WITH_PYTHON_CPPFLAGS@ -BUILD_WITH_PYTHON_LDFLAGS = @BUILD_WITH_PYTHON_LDFLAGS@ -BUILD_WITH_PYTHON_LIBS = @BUILD_WITH_PYTHON_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_LOG_LEVEL = @DEFAULT_LOG_LEVEL@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GANGLIA_CPPFLAGS = @GANGLIA_CPPFLAGS@ -GANGLIA_LDFLAGS = @GANGLIA_LDFLAGS@ -GANGLIA_LIBS = @GANGLIA_LIBS@ -GCRYPT_CPPFLAGS = @GCRYPT_CPPFLAGS@ -GCRYPT_LDFLAGS = @GCRYPT_LDFLAGS@ -GCRYPT_LIBS = @GCRYPT_LIBS@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ -GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ -GLIB_LIBS = @GLIB_LIBS@ -GLIB_MKENUMS = @GLIB_MKENUMS@ -GOBJECT_QUERY = @GOBJECT_QUERY@ -GREP = @GREP@ -INCLTDL = @INCLTDL@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JAR = @JAR@ -JAVAC = @JAVAC@ -JAVA_CFLAGS = @JAVA_CFLAGS@ -JAVA_CPPFLAGS = @JAVA_CPPFLAGS@ -JAVA_LDFLAGS = @JAVA_LDFLAGS@ -JAVA_LIBS = @JAVA_LIBS@ -KERNEL_CFLAGS = @KERNEL_CFLAGS@ -KERNEL_DIR = @KERNEL_DIR@ -LCC_VERSION_EXTRA = @LCC_VERSION_EXTRA@ -LCC_VERSION_MAJOR = @LCC_VERSION_MAJOR@ -LCC_VERSION_MINOR = @LCC_VERSION_MINOR@ -LCC_VERSION_PATCH = @LCC_VERSION_PATCH@ -LCC_VERSION_STRING = @LCC_VERSION_STRING@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ -LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ -LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ -LIBLTDL = @LIBLTDL@ -LIBNETAPP_CPPFLAGS = @LIBNETAPP_CPPFLAGS@ -LIBNETAPP_LDFLAGS = @LIBNETAPP_LDFLAGS@ -LIBNETAPP_LIBS = @LIBNETAPP_LIBS@ -LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ -LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOAD_PLUGIN_CSV = @LOAD_PLUGIN_CSV@ -LOAD_PLUGIN_LOGFILE = @LOAD_PLUGIN_LOGFILE@ -LOAD_PLUGIN_LOG_LOGSTASH = @LOAD_PLUGIN_LOG_LOGSTASH@ -LOAD_PLUGIN_NETWORK = @LOAD_PLUGIN_NETWORK@ -LOAD_PLUGIN_RRDTOOL = @LOAD_PLUGIN_RRDTOOL@ -LOAD_PLUGIN_SYSLOG = @LOAD_PLUGIN_SYSLOG@ -LTDLDEPS = @LTDLDEPS@ -LTDLINCL = @LTDLINCL@ -LTDLOPEN = @LTDLOPEN@ -LTLIBOBJS = @LTLIBOBJS@ -LT_CONFIG_H = @LT_CONFIG_H@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -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@ -PERL = @PERL@ -PERL_BINDINGS = @PERL_BINDINGS@ -PERL_BINDINGS_OPTIONS = @PERL_BINDINGS_OPTIONS@ -PERL_CFLAGS = @PERL_CFLAGS@ -PERL_LIBS = @PERL_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -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@ -have_protoc_c = @have_protoc_c@ -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@ -ltdl_LIBOBJS = @ltdl_LIBOBJS@ -ltdl_LTLIBOBJS = @ltdl_LTLIBOBJS@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgconfigdir = @pkgconfigdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs = @subdirs@ -sys_symbol_underscore = @sys_symbol_underscore@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -SUBDIRS = $(am__append_1) -EXTRA_DIST = perl/Makefile.PL \ - perl/uninstall_mod.pl \ - perl/lib/Collectd.pm \ - perl/lib/Collectd/Unixsock.pm \ - perl/lib/Collectd/Plugins/Monitorus.pm \ - perl/lib/Collectd/Plugins/OpenVZ.pm - -CLEANFILES = \ - buildperl/Collectd.pm \ - buildperl/Collectd/Plugins/OpenVZ.pm \ - buildperl/Collectd/Unixsock.pm \ - buildperl/Makefile.PL \ - .perl-directory-stamp - -DISTCLEANFILES = \ - buildperl/Collectd.pm \ - buildperl/Collectd/Plugins/OpenVZ.pm \ - buildperl/Collectd/Unixsock.pm \ - buildperl/Makefile.PL \ - .perl-directory-stamp - -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bindings/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign bindings/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# 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: $(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: check-recursive -all-am: Makefile all-local -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: - -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) - -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-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am 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-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 Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \ - check check-am clean clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-generic \ - distclean-libtool 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-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 mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am uninstall-local - - -all-local: @PERL_BINDINGS@ - -install-exec-local: - [ ! -f buildperl/Makefile ] || ( cd buildperl && $(MAKE) install ) - -# Perl 'make uninstall' does not work as well as wanted. -# So we do the work here. -uninstall-local: - @PERL@ -I$(DESTDIR)$(prefix) $(srcdir)/perl/uninstall_mod.pl Collectd - find $(DESTDIR)$(prefix) -name "perllocal.pod" -exec rm {} \; - -clean-local: - rm -rf buildperl - -perl: buildperl/Makefile - cd buildperl && $(MAKE) - -buildperl/Makefile: .perl-directory-stamp buildperl/Makefile.PL \ - $(top_builddir)/config.status - @# beautify the output a bit - @echo 'cd buildperl && @PERL@ Makefile.PL @PERL_BINDINGS_OPTIONS@' - @cd buildperl && ( if ! @PERL@ Makefile.PL @PERL_BINDINGS_OPTIONS@; then \ - echo ""; \ - echo 'Check whether you have set $$PERL_MM_OPT in your environment and try using ./configure --with-perl-bindings=""'; \ - echo ""; \ - fi ) - -buildperl/Makefile.PL: .perl-directory-stamp $(top_builddir)/config.status - -.perl-directory-stamp: - if test ! -d buildperl; then \ - mkdir -p buildperl/Collectd/Plugins; \ - cp $(srcdir)/perl/lib/Collectd.pm buildperl/; \ - cp $(srcdir)/perl/Makefile.PL buildperl/; \ - cp $(srcdir)/perl/lib/Collectd/Unixsock.pm buildperl/Collectd/; \ - cp $(srcdir)/perl/lib/Collectd/Plugins/OpenVZ.pm buildperl/Collectd/Plugins/; \ - fi - touch $@ - -.PHONY: perl - -# 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/bindings/java/Makefile.am b/bindings/java/Makefile.am deleted file mode 100644 index 8d2e49d..0000000 --- a/bindings/java/Makefile.am +++ /dev/null @@ -1,53 +0,0 @@ -EXTRA_DIST = org/collectd/api/CollectdConfigInterface.java \ - org/collectd/api/CollectdFlushInterface.java \ - org/collectd/api/CollectdInitInterface.java \ - org/collectd/api/Collectd.java \ - org/collectd/api/CollectdLogInterface.java \ - org/collectd/api/CollectdMatchFactoryInterface.java \ - org/collectd/api/CollectdMatchInterface.java \ - org/collectd/api/CollectdNotificationInterface.java \ - org/collectd/api/CollectdReadInterface.java \ - org/collectd/api/CollectdShutdownInterface.java \ - org/collectd/api/CollectdTargetFactoryInterface.java \ - org/collectd/api/CollectdTargetInterface.java \ - org/collectd/api/CollectdWriteInterface.java \ - org/collectd/api/DataSet.java \ - org/collectd/api/DataSource.java \ - org/collectd/api/Notification.java \ - org/collectd/api/OConfigItem.java \ - org/collectd/api/OConfigValue.java \ - org/collectd/api/PluginData.java \ - org/collectd/api/ValueList.java \ - org/collectd/java/GenericJMXConfConnection.java \ - org/collectd/java/GenericJMXConfMBean.java \ - org/collectd/java/GenericJMXConfValue.java \ - org/collectd/java/GenericJMX.java \ - org/collectd/java/JMXMemory.java - -java-build-stamp: $(srcdir)/org/collectd/api/*.java $(srcdir)/org/collectd/java/*.java - $(JAVAC) -d "." "$(srcdir)/org/collectd/api"/*.java - $(JAVAC) -d "." "$(srcdir)/org/collectd/java"/*.java - mkdir -p .libs - $(JAR) cf .libs/collectd-api.jar "org/collectd/api"/*.class - $(JAR) cf .libs/generic-jmx.jar "org/collectd/java"/*.class - touch "$@" - -all-local: java-build-stamp - -install-exec-local: java-build-stamp - mkdir -p "$(DESTDIR)$(pkgdatadir)/java" - $(INSTALL) -m 644 .libs/collectd-api.jar \ - "$(DESTDIR)$(pkgdatadir)/java" - $(INSTALL) -m 644 .libs/generic-jmx.jar \ - "$(DESTDIR)$(pkgdatadir)/java" - -uninstall-local: - rm -f "$(DESTDIR)$(pkgdatadir)/java/collectd-api.jar" - rm -f "$(DESTDIR)$(pkgdatadir)/java/generic-jmx.jar" - rmdir "$(DESTDIR)$(pkgdatadir)/java" || true - -clean-local: - rm -f "org/collectd/api"/*.class - rm -f "org/collectd/java"/*.class - rm -f .libs - rm -f "java-build-stamp" diff --git a/bindings/java/Makefile.in b/bindings/java/Makefile.in deleted file mode 100644 index 1c57558..0000000 --- a/bindings/java/Makefile.in +++ /dev/null @@ -1,629 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 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 = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -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 = bindings/java -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/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) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -ARGZ_H = @ARGZ_H@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BUILD_WITH_LIBAQUAERO5_CFLAGS = @BUILD_WITH_LIBAQUAERO5_CFLAGS@ -BUILD_WITH_LIBAQUAERO5_LDFLAGS = @BUILD_WITH_LIBAQUAERO5_LDFLAGS@ -BUILD_WITH_LIBATASMART_CPPFLAGS = @BUILD_WITH_LIBATASMART_CPPFLAGS@ -BUILD_WITH_LIBATASMART_LDFLAGS = @BUILD_WITH_LIBATASMART_LDFLAGS@ -BUILD_WITH_LIBATASMART_LIBS = @BUILD_WITH_LIBATASMART_LIBS@ -BUILD_WITH_LIBCURL_CFLAGS = @BUILD_WITH_LIBCURL_CFLAGS@ -BUILD_WITH_LIBCURL_LIBS = @BUILD_WITH_LIBCURL_LIBS@ -BUILD_WITH_LIBDBI_CPPFLAGS = @BUILD_WITH_LIBDBI_CPPFLAGS@ -BUILD_WITH_LIBDBI_LDFLAGS = @BUILD_WITH_LIBDBI_LDFLAGS@ -BUILD_WITH_LIBDBI_LIBS = @BUILD_WITH_LIBDBI_LIBS@ -BUILD_WITH_LIBHAL_CFLAGS = @BUILD_WITH_LIBHAL_CFLAGS@ -BUILD_WITH_LIBHAL_LIBS = @BUILD_WITH_LIBHAL_LIBS@ -BUILD_WITH_LIBHIREDIS_CPPFLAGS = @BUILD_WITH_LIBHIREDIS_CPPFLAGS@ -BUILD_WITH_LIBHIREDIS_LDFLAGS = @BUILD_WITH_LIBHIREDIS_LDFLAGS@ -BUILD_WITH_LIBIPTC_CPPFLAGS = @BUILD_WITH_LIBIPTC_CPPFLAGS@ -BUILD_WITH_LIBIPTC_LDFLAGS = @BUILD_WITH_LIBIPTC_LDFLAGS@ -BUILD_WITH_LIBLDAP_CPPFLAGS = @BUILD_WITH_LIBLDAP_CPPFLAGS@ -BUILD_WITH_LIBLDAP_LDFLAGS = @BUILD_WITH_LIBLDAP_LDFLAGS@ -BUILD_WITH_LIBLVM2APP_CPPFLAGS = @BUILD_WITH_LIBLVM2APP_CPPFLAGS@ -BUILD_WITH_LIBLVM2APP_LDFLAGS = @BUILD_WITH_LIBLVM2APP_LDFLAGS@ -BUILD_WITH_LIBLVM2APP_LIBS = @BUILD_WITH_LIBLVM2APP_LIBS@ -BUILD_WITH_LIBMEMCACHED_CPPFLAGS = @BUILD_WITH_LIBMEMCACHED_CPPFLAGS@ -BUILD_WITH_LIBMEMCACHED_LDFLAGS = @BUILD_WITH_LIBMEMCACHED_LDFLAGS@ -BUILD_WITH_LIBMEMCACHED_LIBS = @BUILD_WITH_LIBMEMCACHED_LIBS@ -BUILD_WITH_LIBMNL_CFLAGS = @BUILD_WITH_LIBMNL_CFLAGS@ -BUILD_WITH_LIBMNL_LIBS = @BUILD_WITH_LIBMNL_LIBS@ -BUILD_WITH_LIBMODBUS_CFLAGS = @BUILD_WITH_LIBMODBUS_CFLAGS@ -BUILD_WITH_LIBMODBUS_LIBS = @BUILD_WITH_LIBMODBUS_LIBS@ -BUILD_WITH_LIBMONGOC_CPPFLAGS = @BUILD_WITH_LIBMONGOC_CPPFLAGS@ -BUILD_WITH_LIBMONGOC_LDFLAGS = @BUILD_WITH_LIBMONGOC_LDFLAGS@ -BUILD_WITH_LIBMYSQL_CFLAGS = @BUILD_WITH_LIBMYSQL_CFLAGS@ -BUILD_WITH_LIBMYSQL_LIBS = @BUILD_WITH_LIBMYSQL_LIBS@ -BUILD_WITH_LIBOPING_CPPFLAGS = @BUILD_WITH_LIBOPING_CPPFLAGS@ -BUILD_WITH_LIBOPING_LDFLAGS = @BUILD_WITH_LIBOPING_LDFLAGS@ -BUILD_WITH_LIBOWCAPI_CPPFLAGS = @BUILD_WITH_LIBOWCAPI_CPPFLAGS@ -BUILD_WITH_LIBOWCAPI_LIBS = @BUILD_WITH_LIBOWCAPI_LIBS@ -BUILD_WITH_LIBPQ_CPPFLAGS = @BUILD_WITH_LIBPQ_CPPFLAGS@ -BUILD_WITH_LIBPQ_LDFLAGS = @BUILD_WITH_LIBPQ_LDFLAGS@ -BUILD_WITH_LIBRABBITMQ_CPPFLAGS = @BUILD_WITH_LIBRABBITMQ_CPPFLAGS@ -BUILD_WITH_LIBRABBITMQ_LDFLAGS = @BUILD_WITH_LIBRABBITMQ_LDFLAGS@ -BUILD_WITH_LIBRABBITMQ_LIBS = @BUILD_WITH_LIBRABBITMQ_LIBS@ -BUILD_WITH_LIBRDKAFKA_CPPFLAGS = @BUILD_WITH_LIBRDKAFKA_CPPFLAGS@ -BUILD_WITH_LIBRDKAFKA_LDFLAGS = @BUILD_WITH_LIBRDKAFKA_LDFLAGS@ -BUILD_WITH_LIBRDKAFKA_LIBS = @BUILD_WITH_LIBRDKAFKA_LIBS@ -BUILD_WITH_LIBROUTEROS_CPPFLAGS = @BUILD_WITH_LIBROUTEROS_CPPFLAGS@ -BUILD_WITH_LIBROUTEROS_LDFLAGS = @BUILD_WITH_LIBROUTEROS_LDFLAGS@ -BUILD_WITH_LIBRRD_CFLAGS = @BUILD_WITH_LIBRRD_CFLAGS@ -BUILD_WITH_LIBRRD_LDFLAGS = @BUILD_WITH_LIBRRD_LDFLAGS@ -BUILD_WITH_LIBSENSORS_CFLAGS = @BUILD_WITH_LIBSENSORS_CFLAGS@ -BUILD_WITH_LIBSENSORS_LDFLAGS = @BUILD_WITH_LIBSENSORS_LDFLAGS@ -BUILD_WITH_LIBSIGROK_CFLAGS = @BUILD_WITH_LIBSIGROK_CFLAGS@ -BUILD_WITH_LIBSIGROK_LDFLAGS = @BUILD_WITH_LIBSIGROK_LDFLAGS@ -BUILD_WITH_LIBSNMP_CFLAGS = @BUILD_WITH_LIBSNMP_CFLAGS@ -BUILD_WITH_LIBSNMP_LIBS = @BUILD_WITH_LIBSNMP_LIBS@ -BUILD_WITH_LIBSTATGRAB_CFLAGS = @BUILD_WITH_LIBSTATGRAB_CFLAGS@ -BUILD_WITH_LIBSTATGRAB_LDFLAGS = @BUILD_WITH_LIBSTATGRAB_LDFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS = @BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS = @BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS@ -BUILD_WITH_LIBTOKYOTYRANT_LIBS = @BUILD_WITH_LIBTOKYOTYRANT_LIBS@ -BUILD_WITH_LIBUDEV_CFLAGS = @BUILD_WITH_LIBUDEV_CFLAGS@ -BUILD_WITH_LIBUDEV_LDFLAGS = @BUILD_WITH_LIBUDEV_LDFLAGS@ -BUILD_WITH_LIBUPSCLIENT_CFLAGS = @BUILD_WITH_LIBUPSCLIENT_CFLAGS@ -BUILD_WITH_LIBUPSCLIENT_LIBS = @BUILD_WITH_LIBUPSCLIENT_LIBS@ -BUILD_WITH_LIBVARNISH_CFLAGS = @BUILD_WITH_LIBVARNISH_CFLAGS@ -BUILD_WITH_LIBVARNISH_LIBS = @BUILD_WITH_LIBVARNISH_LIBS@ -BUILD_WITH_LIBVIRT_CFLAGS = @BUILD_WITH_LIBVIRT_CFLAGS@ -BUILD_WITH_LIBVIRT_LIBS = @BUILD_WITH_LIBVIRT_LIBS@ -BUILD_WITH_LIBXML2_CFLAGS = @BUILD_WITH_LIBXML2_CFLAGS@ -BUILD_WITH_LIBXML2_LIBS = @BUILD_WITH_LIBXML2_LIBS@ -BUILD_WITH_LIBXMMS_CFLAGS = @BUILD_WITH_LIBXMMS_CFLAGS@ -BUILD_WITH_LIBXMMS_LIBS = @BUILD_WITH_LIBXMMS_LIBS@ -BUILD_WITH_LIBYAJL_CPPFLAGS = @BUILD_WITH_LIBYAJL_CPPFLAGS@ -BUILD_WITH_LIBYAJL_LDFLAGS = @BUILD_WITH_LIBYAJL_LDFLAGS@ -BUILD_WITH_LIBYAJL_LIBS = @BUILD_WITH_LIBYAJL_LIBS@ -BUILD_WITH_MIC_CPPFLAGS = @BUILD_WITH_MIC_CPPFLAGS@ -BUILD_WITH_MIC_LDADD = @BUILD_WITH_MIC_LDADD@ -BUILD_WITH_MIC_LIBPATH = @BUILD_WITH_MIC_LIBPATH@ -BUILD_WITH_OPENIPMI_CFLAGS = @BUILD_WITH_OPENIPMI_CFLAGS@ -BUILD_WITH_OPENIPMI_LIBS = @BUILD_WITH_OPENIPMI_LIBS@ -BUILD_WITH_ORACLE_CFLAGS = @BUILD_WITH_ORACLE_CFLAGS@ -BUILD_WITH_ORACLE_LIBS = @BUILD_WITH_ORACLE_LIBS@ -BUILD_WITH_PYTHON_CPPFLAGS = @BUILD_WITH_PYTHON_CPPFLAGS@ -BUILD_WITH_PYTHON_LDFLAGS = @BUILD_WITH_PYTHON_LDFLAGS@ -BUILD_WITH_PYTHON_LIBS = @BUILD_WITH_PYTHON_LIBS@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFAULT_LOG_LEVEL = @DEFAULT_LOG_LEVEL@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GANGLIA_CPPFLAGS = @GANGLIA_CPPFLAGS@ -GANGLIA_LDFLAGS = @GANGLIA_LDFLAGS@ -GANGLIA_LIBS = @GANGLIA_LIBS@ -GCRYPT_CPPFLAGS = @GCRYPT_CPPFLAGS@ -GCRYPT_LDFLAGS = @GCRYPT_LDFLAGS@ -GCRYPT_LIBS = @GCRYPT_LIBS@ -GLIB_CFLAGS = @GLIB_CFLAGS@ -GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@ -GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ -GLIB_LIBS = @GLIB_LIBS@ -GLIB_MKENUMS = @GLIB_MKENUMS@ -GOBJECT_QUERY = @GOBJECT_QUERY@ -GREP = @GREP@ -INCLTDL = @INCLTDL@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -JAR = @JAR@ -JAVAC = @JAVAC@ -JAVA_CFLAGS = @JAVA_CFLAGS@ -JAVA_CPPFLAGS = @JAVA_CPPFLAGS@ -JAVA_LDFLAGS = @JAVA_LDFLAGS@ -JAVA_LIBS = @JAVA_LIBS@ -KERNEL_CFLAGS = @KERNEL_CFLAGS@ -KERNEL_DIR = @KERNEL_DIR@ -LCC_VERSION_EXTRA = @LCC_VERSION_EXTRA@ -LCC_VERSION_MAJOR = @LCC_VERSION_MAJOR@ -LCC_VERSION_MINOR = @LCC_VERSION_MINOR@ -LCC_VERSION_PATCH = @LCC_VERSION_PATCH@ -LCC_VERSION_STRING = @LCC_VERSION_STRING@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBADD_DL = @LIBADD_DL@ -LIBADD_DLD_LINK = @LIBADD_DLD_LINK@ -LIBADD_DLOPEN = @LIBADD_DLOPEN@ -LIBADD_SHL_LOAD = @LIBADD_SHL_LOAD@ -LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@ -LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@ -LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@ -LIBLTDL = @LIBLTDL@ -LIBNETAPP_CPPFLAGS = @LIBNETAPP_CPPFLAGS@ -LIBNETAPP_LDFLAGS = @LIBNETAPP_LDFLAGS@ -LIBNETAPP_LIBS = @LIBNETAPP_LIBS@ -LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@ -LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LOAD_PLUGIN_CSV = @LOAD_PLUGIN_CSV@ -LOAD_PLUGIN_LOGFILE = @LOAD_PLUGIN_LOGFILE@ -LOAD_PLUGIN_LOG_LOGSTASH = @LOAD_PLUGIN_LOG_LOGSTASH@ -LOAD_PLUGIN_NETWORK = @LOAD_PLUGIN_NETWORK@ -LOAD_PLUGIN_RRDTOOL = @LOAD_PLUGIN_RRDTOOL@ -LOAD_PLUGIN_SYSLOG = @LOAD_PLUGIN_SYSLOG@ -LTDLDEPS = @LTDLDEPS@ -LTDLINCL = @LTDLINCL@ -LTDLOPEN = @LTDLOPEN@ -LTLIBOBJS = @LTLIBOBJS@ -LT_CONFIG_H = @LT_CONFIG_H@ -LT_DLLOADERS = @LT_DLLOADERS@ -LT_DLPREOPEN = @LT_DLPREOPEN@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -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@ -PERL = @PERL@ -PERL_BINDINGS = @PERL_BINDINGS@ -PERL_BINDINGS_OPTIONS = @PERL_BINDINGS_OPTIONS@ -PERL_CFLAGS = @PERL_CFLAGS@ -PERL_LIBS = @PERL_LIBS@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -YACC = @YACC@ -YFLAGS = @YFLAGS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -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@ -have_protoc_c = @have_protoc_c@ -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@ -ltdl_LIBOBJS = @ltdl_LIBOBJS@ -ltdl_LTLIBOBJS = @ltdl_LTLIBOBJS@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -pkgconfigdir = @pkgconfigdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -subdirs = @subdirs@ -sys_symbol_underscore = @sys_symbol_underscore@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = org/collectd/api/CollectdConfigInterface.java \ - org/collectd/api/CollectdFlushInterface.java \ - org/collectd/api/CollectdInitInterface.java \ - org/collectd/api/Collectd.java \ - org/collectd/api/CollectdLogInterface.java \ - org/collectd/api/CollectdMatchFactoryInterface.java \ - org/collectd/api/CollectdMatchInterface.java \ - org/collectd/api/CollectdNotificationInterface.java \ - org/collectd/api/CollectdReadInterface.java \ - org/collectd/api/CollectdShutdownInterface.java \ - org/collectd/api/CollectdTargetFactoryInterface.java \ - org/collectd/api/CollectdTargetInterface.java \ - org/collectd/api/CollectdWriteInterface.java \ - org/collectd/api/DataSet.java \ - org/collectd/api/DataSource.java \ - org/collectd/api/Notification.java \ - org/collectd/api/OConfigItem.java \ - org/collectd/api/OConfigValue.java \ - org/collectd/api/PluginData.java \ - org/collectd/api/ValueList.java \ - org/collectd/java/GenericJMXConfConnection.java \ - org/collectd/java/GenericJMXConfMBean.java \ - org/collectd/java/GenericJMXConfValue.java \ - org/collectd/java/GenericJMX.java \ - org/collectd/java/JMXMemory.java - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign bindings/java/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign bindings/java/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile all-local -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-libtool clean-local 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-exec-local - -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 mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-local - -.MAKE: install-am install-strip - -.PHONY: all all-am all-local check check-am clean clean-generic \ - clean-libtool clean-local cscopelist-am ctags-am distclean \ - distclean-generic distclean-libtool 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-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 \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am uninstall-local - - -java-build-stamp: $(srcdir)/org/collectd/api/*.java $(srcdir)/org/collectd/java/*.java - $(JAVAC) -d "." "$(srcdir)/org/collectd/api"/*.java - $(JAVAC) -d "." "$(srcdir)/org/collectd/java"/*.java - mkdir -p .libs - $(JAR) cf .libs/collectd-api.jar "org/collectd/api"/*.class - $(JAR) cf .libs/generic-jmx.jar "org/collectd/java"/*.class - touch "$@" - -all-local: java-build-stamp - -install-exec-local: java-build-stamp - mkdir -p "$(DESTDIR)$(pkgdatadir)/java" - $(INSTALL) -m 644 .libs/collectd-api.jar \ - "$(DESTDIR)$(pkgdatadir)/java" - $(INSTALL) -m 644 .libs/generic-jmx.jar \ - "$(DESTDIR)$(pkgdatadir)/java" - -uninstall-local: - rm -f "$(DESTDIR)$(pkgdatadir)/java/collectd-api.jar" - rm -f "$(DESTDIR)$(pkgdatadir)/java/generic-jmx.jar" - rmdir "$(DESTDIR)$(pkgdatadir)/java" || true - -clean-local: - rm -f "org/collectd/api"/*.class - rm -f "org/collectd/java"/*.class - rm -f .libs - rm -f "java-build-stamp" - -# 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/bindings/java/org/collectd/api/Collectd.java b/bindings/java/org/collectd/api/Collectd.java deleted file mode 100644 index 450f87a..0000000 --- a/bindings/java/org/collectd/api/Collectd.java +++ /dev/null @@ -1,307 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/Collectd.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Java API to internal functions of collectd. - * - * All functions in this class are {@code static}. You don't need to create an - * object of this class (in fact, you can't). Just call these functions - * directly. - * - * @author Florian Forster <octo at collectd.org> - */ -public class Collectd -{ - - /** - * Constant for severity (log level) "error". - * - * @see CollectdLogInterface - */ - public static final int LOG_ERR = 3; - - /** - * Constant for severity (log level) "warning". - * - * @see CollectdLogInterface - */ - public static final int LOG_WARNING = 4; - - /** - * Constant for severity (log level) "notice". - * - * @see CollectdLogInterface - */ - public static final int LOG_NOTICE = 5; - - /** - * Constant for severity (log level) "info". - * - * @see CollectdLogInterface - */ - public static final int LOG_INFO = 6; - - /** - * Constant for severity (log level) "debug". - * - * @see CollectdLogInterface - */ - public static final int LOG_DEBUG = 7; - - /** - * Return value of match methods: No match. - * - * This is one of two valid return values from match callbacks, indicating - * that the passed {@link DataSet} and {@link ValueList} did not match. - * - * Do not use the numeric value directly, it is subject to change without - * notice! - * - * @see CollectdMatchInterface - */ - public static final int FC_MATCH_NO_MATCH = 0; - - /** - * Return value of match methods: Match. - * - * This is one of two valid return values from match callbacks, indicating - * that the passed {@link DataSet} and {@link ValueList} did match. - * - * Do not use the numeric value directly, it is subject to change without - * notice! - * - * @see CollectdMatchInterface - */ - public static final int FC_MATCH_MATCHES = 1; - - /** - * Return value of target methods: Continue. - * - * This is one of three valid return values from target callbacks, indicating - * that processing of the {@link ValueList} should continue. - * - * Do not use the numeric value directly, it is subject to change without - * notice! - * - * @see CollectdTargetInterface - */ - public static final int FC_TARGET_CONTINUE = 0; - - /** - * Return value of target methods: Stop. - * - * This is one of three valid return values from target callbacks, indicating - * that processing of the {@link ValueList} should stop immediately. - * - * Do not use the numeric value directly, it is subject to change without - * notice! - * - * @see CollectdTargetInterface - */ - public static final int FC_TARGET_STOP = 1; - - /** - * Return value of target methods: Return. - * - * This is one of three valid return values from target callbacks, indicating - * that processing of the current chain should be stopped and processing of - * the {@link ValueList} should continue in the calling chain. - * - * Do not use the numeric value directly, it is subject to change without - * notice! - * - * @see CollectdTargetInterface - */ - public static final int FC_TARGET_RETURN = 2; - - /** - * Java representation of collectd/src/plugin.h:plugin_register_config - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdConfigInterface - */ - native public static int registerConfig (String name, - CollectdConfigInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_init - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdInitInterface - */ - native public static int registerInit (String name, - CollectdInitInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_read - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdReadInterface - */ - native public static int registerRead (String name, - CollectdReadInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_write - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdWriteInterface - */ - native public static int registerWrite (String name, - CollectdWriteInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_flush - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdFlushInterface - */ - native public static int registerFlush (String name, - CollectdFlushInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_shutdown - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdShutdownInterface - */ - native public static int registerShutdown (String name, - CollectdShutdownInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_log - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdLogInterface - */ - native public static int registerLog (String name, - CollectdLogInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_register_notification - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdNotificationInterface - */ - native public static int registerNotification (String name, - CollectdNotificationInterface object); - - /** - * Java representation of collectd/src/filter_chain.h:fc_register_match - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdMatchFactoryInterface - */ - native public static int registerMatch (String name, - CollectdMatchFactoryInterface object); - - /** - * Java representation of collectd/src/filter_chain.h:fc_register_target - * - * @return Zero when successful, non-zero otherwise. - * @see CollectdTargetFactoryInterface - */ - native public static int registerTarget (String name, - CollectdTargetFactoryInterface object); - - /** - * Java representation of collectd/src/plugin.h:plugin_dispatch_values - * - * @return Zero when successful, non-zero otherwise. - */ - native public static int dispatchValues (ValueList vl); - - /** - * Java representation of collectd/src/plugin.h:plugin_dispatch_notification - * - * @return Zero when successful, non-zero otherwise. - */ - native public static int dispatchNotification (Notification n); - - /** - * Java representation of collectd/src/plugin.h:plugin_get_ds - * - * @return The appropriate {@link DataSet} object or {@code null} if no such - * type is registered. - */ - native public static DataSet getDS (String type); - - /** - * Java representation of collectd/src/plugin.h:plugin_log - */ - native private static void log (int severity, String message); - - /** - * Yield contents of collectd/src/collectd.h:hostname_g - * - * @return The hostname as set in the collectd configuration. - */ - native public static java.lang.String getHostname (); - - /** - * Prints an error message. - */ - public static void logError (String message) - { - log (LOG_ERR, message); - } /* void logError */ - - /** - * Prints a warning message. - */ - public static void logWarning (String message) - { - log (LOG_WARNING, message); - } /* void logWarning */ - - /** - * Prints a notice. - */ - public static void logNotice (String message) - { - log (LOG_NOTICE, message); - } /* void logNotice */ - - /** - * Prints an info message. - */ - public static void logInfo (String message) - { - log (LOG_INFO, message); - } /* void logInfo */ - - /** - * Prints a debug message. - */ - public static void logDebug (String message) - { - log (LOG_DEBUG, message); - } /* void logDebug */ -} /* class Collectd */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/api/CollectdConfigInterface.java b/bindings/java/org/collectd/api/CollectdConfigInterface.java deleted file mode 100644 index 4b66097..0000000 --- a/bindings/java/org/collectd/api/CollectdConfigInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdConfigInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a config method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerConfig(String, CollectdConfigInterface) - */ -public interface CollectdConfigInterface -{ - public int config (OConfigItem ci); -} diff --git a/bindings/java/org/collectd/api/CollectdFlushInterface.java b/bindings/java/org/collectd/api/CollectdFlushInterface.java deleted file mode 100644 index ea7bd64..0000000 --- a/bindings/java/org/collectd/api/CollectdFlushInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdFlushInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a flush method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerFlush - */ -public interface CollectdFlushInterface -{ - public int flush (Number timeout, String identifier); -} diff --git a/bindings/java/org/collectd/api/CollectdInitInterface.java b/bindings/java/org/collectd/api/CollectdInitInterface.java deleted file mode 100644 index 545f41e..0000000 --- a/bindings/java/org/collectd/api/CollectdInitInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdInitInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing an init method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerInit - */ -public interface CollectdInitInterface -{ - public int init (); -} diff --git a/bindings/java/org/collectd/api/CollectdLogInterface.java b/bindings/java/org/collectd/api/CollectdLogInterface.java deleted file mode 100644 index a516df5..0000000 --- a/bindings/java/org/collectd/api/CollectdLogInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdLogInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a log method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerLog - */ -public interface CollectdLogInterface -{ - public void log (int severity, String message); -} diff --git a/bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java b/bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java deleted file mode 100644 index b19c779..0000000 --- a/bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a "match factory". - * - * Objects implementing this interface are used to create objects implementing - * the CollectdMatchInterface interface. - * - * @author Florian Forster <octo at collectd.org> - * @see CollectdMatchInterface - * @see Collectd#registerMatch - */ -public interface CollectdMatchFactoryInterface -{ - /** - * Create a new "match" object. - * - * This method uses the configuration provided as argument to create a - * new object which must implement the {@link CollectdMatchInterface} - * interface. - * - * This function corresponds to the create member of the - * src/filter_chain.h:match_proc_t struct. - * - * @return New {@link CollectdMatchInterface} object. - */ - public CollectdMatchInterface createMatch (OConfigItem ci); -} diff --git a/bindings/java/org/collectd/api/CollectdMatchInterface.java b/bindings/java/org/collectd/api/CollectdMatchInterface.java deleted file mode 100644 index 20a03d2..0000000 --- a/bindings/java/org/collectd/api/CollectdMatchInterface.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdMatchInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a match method. - * - * These objects are instantiated using objects which implement the - * CollectdMatchFactoryInterface interface. They are not instantiated by the - * daemon directly! - * - * @author Florian Forster <octo at collectd.org> - * @see CollectdMatchFactoryInterface - * @see Collectd#registerMatch - */ -public interface CollectdMatchInterface -{ - /** - * Callback method for matches. - * - * This method is called to decide whether or not a given ValueList - * matches or not. How this is determined is the is the main part of - * this function. - * - * @return One of {@link Collectd#FC_MATCH_NO_MATCH} and {@link Collectd#FC_MATCH_MATCHES}. - * @see CollectdMatchFactoryInterface - */ - public int match (DataSet ds, ValueList vl); -} /* public interface CollectdMatchInterface */ diff --git a/bindings/java/org/collectd/api/CollectdNotificationInterface.java b/bindings/java/org/collectd/api/CollectdNotificationInterface.java deleted file mode 100644 index ddff6cd..0000000 --- a/bindings/java/org/collectd/api/CollectdNotificationInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdNotificationInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a notification method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerNotification - */ -public interface CollectdNotificationInterface -{ - public int notification (Notification n); -} diff --git a/bindings/java/org/collectd/api/CollectdReadInterface.java b/bindings/java/org/collectd/api/CollectdReadInterface.java deleted file mode 100644 index 996841a..0000000 --- a/bindings/java/org/collectd/api/CollectdReadInterface.java +++ /dev/null @@ -1,52 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdReadInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a read method. - * - * Objects implementing this interface can be registered with the daemon. Their - * read method is then called periodically to acquire and submit values. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerRead - */ -public interface CollectdReadInterface -{ - /** - * Callback method for read plugins. - * - * This method is called once every few seconds (depends on the - * configuration of the daemon). It is supposed to gather values in - * some way and submit them to the daemon using - * {@link Collectd#dispatchValues}. - * - * @return zero when successful, non-zero when an error occurred. - * @see Collectd#dispatchValues - */ - public int read (); -} diff --git a/bindings/java/org/collectd/api/CollectdShutdownInterface.java b/bindings/java/org/collectd/api/CollectdShutdownInterface.java deleted file mode 100644 index e496d3c..0000000 --- a/bindings/java/org/collectd/api/CollectdShutdownInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdShutdownInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a shutdown method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerShutdown - */ -public interface CollectdShutdownInterface -{ - public int shutdown (); -} diff --git a/bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java b/bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java deleted file mode 100644 index b4c2321..0000000 --- a/bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a "target factory". - * - * Objects implementing this interface are used to create objects implementing - * the CollectdTargetInterface interface. - * - * @author Florian Forster <octo at collectd.org> - * @see CollectdTargetInterface - * @see Collectd#registerTarget - */ -public interface CollectdTargetFactoryInterface -{ - /** - * Create a new "target" object. - * - * This method uses the configuration provided as argument to create a - * new object which must implement the {@link CollectdTargetInterface} - * interface. - * - * This function corresponds to the {@code create} member of the - * {@code src/filter_chain.h:target_proc_t} struct. - * - * @return New {@link CollectdTargetInterface} object. - */ - public CollectdTargetInterface createTarget (OConfigItem ci); -} diff --git a/bindings/java/org/collectd/api/CollectdTargetInterface.java b/bindings/java/org/collectd/api/CollectdTargetInterface.java deleted file mode 100644 index 1f5ece1..0000000 --- a/bindings/java/org/collectd/api/CollectdTargetInterface.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdTargetInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a target method. - * - * These objects are instantiated using objects which implement the - * CollectdTargetFactoryInterface interface. They are not instantiated by the - * daemon directly! - * - * @author Florian Forster <octo at collectd.org> - * @see CollectdTargetFactoryInterface - * @see Collectd#registerTarget - */ -public interface CollectdTargetInterface -{ - /** - * Callback method for targets. - * - * This method is called to perform some action on the given ValueList. - * What precisely is done depends entirely on the implementing class. - * - * @return One of: {@link Collectd#FC_TARGET_CONTINUE}, - * {@link Collectd#FC_TARGET_STOP}, {@link Collectd#FC_TARGET_RETURN} - * @see CollectdTargetFactoryInterface - */ - public int invoke (DataSet ds, ValueList vl); -} /* public interface CollectdTargetInterface */ diff --git a/bindings/java/org/collectd/api/CollectdWriteInterface.java b/bindings/java/org/collectd/api/CollectdWriteInterface.java deleted file mode 100644 index f95169a..0000000 --- a/bindings/java/org/collectd/api/CollectdWriteInterface.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/CollectdWriteInterface.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Interface for objects implementing a write method. - * - * @author Florian Forster <octo at collectd.org> - * @see Collectd#registerWrite - */ -public interface CollectdWriteInterface -{ - public int write (ValueList vl); -} diff --git a/bindings/java/org/collectd/api/DataSet.java b/bindings/java/org/collectd/api/DataSet.java deleted file mode 100644 index 3cba5eb..0000000 --- a/bindings/java/org/collectd/api/DataSet.java +++ /dev/null @@ -1,142 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/DataSet.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -import java.util.List; -import java.util.ArrayList; - -/** - * Java representation of collectd/src/plugin.h:data_set_t structure. - * - * @author Florian Forster <octo at collectd.org> - */ -public class DataSet -{ - private String _type; - private List _ds; - - private DataSet () - { - this._type = null; - this._ds = new ArrayList (); - } - - public DataSet (String type) - { - this._type = type; - this._ds = new ArrayList (); - } - - public DataSet (String type, DataSource dsrc) - { - this._type = type; - this._ds = new ArrayList (); - this._ds.add (dsrc); - } - - public DataSet (String type, List ds) - { - this._type = type; - this._ds = ds; - } - - public void setType (String type) - { - this._type = type; - } - - public String getType () - { - return (this._type); - } - - public void addDataSource (DataSource dsrc) - { - this._ds.add (dsrc); - } - - public List getDataSources () - { - return (this._ds); - } - - public String toString () - { - StringBuffer sb = new StringBuffer (); - int i; - - sb.append (this._type); - for (i = 0; i < this._ds.size (); i++) - { - if (i == 0) - sb.append ("\t"); - else - sb.append (", "); - sb.append (this._ds.get (i).toString ()); - } - - return (sb.toString ()); - } - - static public DataSet parseDataSet (String str) - { - DataSet ds = new DataSet (); - String[] fields; - int i; - - str = str.trim(); - if (str.length() == 0) { - return (null); - } - if (str.charAt(0) == '#') { - return (null); - } - - fields = str.split ("\\s+"); - if (fields.length < 2) - return (null); - - ds._type = fields[0]; - - for (i = 1; i < fields.length; i++) { - DataSource dsrc; - - dsrc = DataSource.parseDataSource (fields[i]); - if (dsrc == null) - break; - - ds._ds.add (dsrc); - } - - if (i < fields.length) - return (null); - - return (ds); - } /* DataSet parseDataSet */ -} /* class DataSet */ - -/* vim: set sw=4 sts=4 et : */ diff --git a/bindings/java/org/collectd/api/DataSource.java b/bindings/java/org/collectd/api/DataSource.java deleted file mode 100644 index ba132d3..0000000 --- a/bindings/java/org/collectd/api/DataSource.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * jcollectd - * Copyright (C) 2009 Hyperic, 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; only version 2 of the License is applicable. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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 St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -package org.collectd.api; - -/** - * Java representation of collectd/src/plugin.h:data_source_t structure. - */ -public class DataSource { - public static final int TYPE_COUNTER = 0; - public static final int TYPE_GAUGE = 1; - public static final int TYPE_DERIVE = 2; - public static final int TYPE_ABSOLUTE = 3; - - static final String COUNTER = "COUNTER"; - static final String GAUGE = "GAUGE"; - static final String DERIVE = "DERIVE"; - static final String ABSOLUTE = "ABSOLUTE"; - - static final String NAN = "U"; - private static final String[] TYPES = { COUNTER, GAUGE, DERIVE, ABSOLUTE }; - - String _name; - int _type; - double _min; - double _max; - - public DataSource (String name, int type, double min, double max) { - this._name = name; - this._type = TYPE_GAUGE; - if (type == TYPE_COUNTER) - this._type = TYPE_COUNTER; - else if (type == TYPE_DERIVE) - this._type = TYPE_DERIVE; - else if (type == TYPE_ABSOLUTE) - this._type = TYPE_ABSOLUTE; - this._min = min; - this._max = max; - } - - /* Needed in parseDataSource below. Other code should use the above - * constructor or `parseDataSource'. */ - private DataSource () { - this._type = TYPE_GAUGE; - } - - public String getName() { - return _name; - } - - public void setName(String name) { - _name = name; - } - - public int getType() { - return _type; - } - - public void setType(int type) { - _type = type; - } - - public double getMin() { - return _min; - } - - public void setMin(double min) { - _min = min; - } - - public double getMax() { - return _max; - } - - public void setMax(double max) { - _max = max; - } - - static double toDouble(String val) { - if (val.equals(NAN)) { - return Double.NaN; - } - else { - return Double.parseDouble(val); - } - } - - private String asString(double val) { - if (Double.isNaN(val)) { - return NAN; - } - else { - return String.valueOf(val); - } - } - - public String toString() { - StringBuffer sb = new StringBuffer(); - final char DLM = ':'; - sb.append(_name).append(DLM); - sb.append(TYPES[_type]).append(DLM); - sb.append(asString(_min)).append(DLM); - sb.append(asString(_max)); - return sb.toString(); - } - - static public DataSource parseDataSource (String str) - { - String[] fields; - int str_len = str.length (); - DataSource dsrc = new DataSource (); - - /* Ignore trailing commas. This makes it easier for parsing code. */ - if (str.charAt (str_len - 1) == ',') { - str = str.substring (0, str_len - 1); - } - - fields = str.split(":"); - if (fields.length != 4) - return (null); - - dsrc._name = fields[0]; - - if (fields[1].equals (DataSource.GAUGE)) { - dsrc._type = TYPE_GAUGE; - } - else { - dsrc._type = TYPE_COUNTER; - } - - dsrc._min = toDouble (fields[2]); - dsrc._max = toDouble (fields[3]); - - return (dsrc); - } /* DataSource parseDataSource */ -} - -/* vim: set sw=4 sts=4 et : */ diff --git a/bindings/java/org/collectd/api/Notification.java b/bindings/java/org/collectd/api/Notification.java deleted file mode 100644 index cfc2186..0000000 --- a/bindings/java/org/collectd/api/Notification.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * jcollectd - * Copyright (C) 2009 Hyperic, 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; only version 2 of the License is applicable. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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 St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -package org.collectd.api; - -/** - * Java representation of collectd/src/plugin.h:notfication_t structure. - */ -public class Notification extends PluginData { - public static final int FAILURE = 1; - public static final int WARNING = 2; - public static final int OKAY = 4; - - public static String[] SEVERITY = { - "FAILURE", - "WARNING", - "OKAY", - "UNKNOWN" - }; - - private int _severity; - private String _message; - - public Notification () { - _severity = 0; - _message = "Initial notification message"; - } - - public Notification (PluginData pd) { - super (pd); - _severity = 0; - _message = "Initial notification message"; - } - - public void setSeverity (int severity) { - if ((severity == FAILURE) - || (severity == WARNING) - || (severity == OKAY)) - this._severity = severity; - } - - public int getSeverity() { - return _severity; - } - - public String getSeverityString() { - switch (_severity) { - case FAILURE: - return SEVERITY[0]; - case WARNING: - return SEVERITY[1]; - case OKAY: - return SEVERITY[2]; - default: - return SEVERITY[3]; - } - } - - public void setMessage (String message) { - this._message = message; - } - - public String getMessage() { - return _message; - } - - public String toString() { - StringBuffer sb = new StringBuffer(super.toString()); - sb.append(" [").append(getSeverityString()).append("] "); - sb.append(_message); - return sb.toString(); - } -} diff --git a/bindings/java/org/collectd/api/OConfigItem.java b/bindings/java/org/collectd/api/OConfigItem.java deleted file mode 100644 index 08d8b70..0000000 --- a/bindings/java/org/collectd/api/OConfigItem.java +++ /dev/null @@ -1,96 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/OConfigItem.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -import java.util.List; -import java.util.ArrayList; - -/** - * Java representation of collectd/src/liboconfig/oconfig.h:oconfig_item_t structure. - * - * @author Florian Forster <octo at collectd.org> - */ -public class OConfigItem -{ - private String _key = null; - private List _values = new ArrayList (); - private List _children = new ArrayList (); - - public OConfigItem (String key) - { - _key = key; - } /* OConfigItem (String key) */ - - public String getKey () - { - return (_key); - } /* String getKey () */ - - public void addValue (OConfigValue cv) - { - _values.add (cv); - } /* void addValue (OConfigValue cv) */ - - public void addValue (String s) - { - _values.add (new OConfigValue (s)); - } /* void addValue (String s) */ - - public void addValue (Number n) - { - _values.add (new OConfigValue (n)); - } /* void addValue (String s) */ - - public void addValue (boolean b) - { - _values.add (new OConfigValue (b)); - } /* void addValue (String s) */ - - public List getValues () - { - return (_values); - } /* List getValues () */ - - public void addChild (OConfigItem ci) - { - _children.add (ci); - } /* void addChild (OConfigItem ci) */ - - public List getChildren () - { - return (_children); - } /* List getChildren () */ - - public String toString () - { - return (new String ("{ key: " + _key + "; " - + "values: " + _values.toString () + "; " - + "children: " + _children.toString () + "; }")); - } /* String toString () */ -} /* class OConfigItem */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/api/OConfigValue.java b/bindings/java/org/collectd/api/OConfigValue.java deleted file mode 100644 index 0a33773..0000000 --- a/bindings/java/org/collectd/api/OConfigValue.java +++ /dev/null @@ -1,101 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/api/OConfigValue.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.api; - -/** - * Java representation of collectd/src/liboconfig/oconfig.h:oconfig_value_t structure. - * - * @author Florian Forster <octo at collectd.org> - */ -public class OConfigValue -{ - public static final int OCONFIG_TYPE_STRING = 0; - public static final int OCONFIG_TYPE_NUMBER = 1; - public static final int OCONFIG_TYPE_BOOLEAN = 2; - - private int _type; - private String _value_string; - private Number _value_number; - private boolean _value_boolean; - - public OConfigValue (String s) - { - _type = OCONFIG_TYPE_STRING; - _value_string = s; - _value_number = null; - _value_boolean = false; - } /* OConfigValue (String s) */ - - public OConfigValue (Number n) - { - _type = OCONFIG_TYPE_NUMBER; - _value_string = null; - _value_number = n; - _value_boolean = false; - } /* OConfigValue (String s) */ - - public OConfigValue (boolean b) - { - _type = OCONFIG_TYPE_BOOLEAN; - _value_string = null; - _value_number = null; - _value_boolean = b; - } /* OConfigValue (String s) */ - - public int getType () - { - return (_type); - } /* int getType */ - - public String getString () - { - return (_value_string); - } /* String getString */ - - public Number getNumber () - { - return (_value_number); - } /* String getString */ - - public boolean getBoolean () - { - return (_value_boolean); - } /* String getString */ - - public String toString () - { - if (_type == OCONFIG_TYPE_STRING) - return (_value_string); - else if (_type == OCONFIG_TYPE_NUMBER) - return (_value_number.toString ()); - else if (_type == OCONFIG_TYPE_BOOLEAN) - return (Boolean.toString (_value_boolean)); - return (null); - } /* String toString () */ -} /* class OConfigValue */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/api/PluginData.java b/bindings/java/org/collectd/api/PluginData.java deleted file mode 100644 index 26b0206..0000000 --- a/bindings/java/org/collectd/api/PluginData.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * jcollectd - * Copyright (C) 2009 Hyperic, 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; only version 2 of the License is applicable. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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 St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -package org.collectd.api; - -import java.util.Date; - -/** - * Shared members of value_list_t and notification_t structures. - */ -public class PluginData { - - protected long _time = 0; - protected String _host; - protected String _plugin; - protected String _pluginInstance = ""; - protected String _type = ""; - protected String _typeInstance = ""; - - public PluginData() { - - } - - public PluginData(PluginData pd) { - _time = pd._time; - _host = pd._host; - _plugin = pd._plugin; - _pluginInstance = pd._pluginInstance; - _type = pd._type; - _typeInstance = pd._typeInstance; - } - - public long getTime() { - return _time; - } - - public void setTime(long time) { - _time = time; - } - - public String getHost() { - return _host; - } - - public void setHost(String host) { - _host = host; - } - - public String getPlugin() { - return _plugin; - } - - public void setPlugin(String plugin) { - _plugin = plugin; - } - - public String getPluginInstance() { - return _pluginInstance; - } - - public void setPluginInstance(String pluginInstance) { - _pluginInstance = pluginInstance; - } - - public String getType() { - return _type; - } - - public void setType(String type) { - _type = type; - } - - public String getTypeInstance() { - return _typeInstance; - } - - public void setTypeInstance(String typeInstance) { - _typeInstance = typeInstance; - } - - public boolean defined(String val) { - return (val != null) && (val.length() > 0); - } - - public String getSource() { - final char DLM = '/'; - StringBuffer sb = new StringBuffer(); - if (defined(_host)) { - sb.append(_host); - } - if (defined(_plugin)) { - sb.append(DLM).append(_plugin); - } - if (defined(_pluginInstance)) { - sb.append(DLM).append(_pluginInstance); - } - if (defined(_type)) { - sb.append(DLM).append(_type); - } - if (defined(_typeInstance)) { - sb.append(DLM).append(_typeInstance); - } - return sb.toString(); - } - - public String toString() { - StringBuffer sb = new StringBuffer(); - sb.append('[').append(new Date(_time)).append("] "); - sb.append(getSource()); - return sb.toString(); - } -} diff --git a/bindings/java/org/collectd/api/ValueList.java b/bindings/java/org/collectd/api/ValueList.java deleted file mode 100644 index b8d6f40..0000000 --- a/bindings/java/org/collectd/api/ValueList.java +++ /dev/null @@ -1,128 +0,0 @@ -/* - * jcollectd - * Copyright (C) 2009 Hyperic, 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; only version 2 of the License is applicable. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * 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 St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -package org.collectd.api; - -import java.util.ArrayList; -import java.util.List; - -/** - * Java representation of collectd/src/plugin.h:value_list_t structure. - */ -public class ValueList extends PluginData { - - private List _values = new ArrayList(); - private DataSet _ds; - - private long _interval = 0; - - public ValueList() { - - } - - public ValueList(PluginData pd) { - super(pd); - } - - public ValueList(ValueList vl) { - this((PluginData)vl); - _interval = vl._interval; - _values.addAll(vl.getValues()); - _ds = vl._ds; - } - - public List getValues() { - return _values; - } - - public void setValues(List values) { - _values = values; - } - - public void addValue(Number value) { - _values.add(value); - } - - /* Used by the network parsing code */ - public void clearValues () { - _values.clear (); - } - - /** - * @deprecated Use {@link #getDataSet()} instead. - */ - public List getDataSource() { - if (_ds == null) - return null; - return _ds.getDataSources (); - } - - public DataSet getDataSet () { - return _ds; - } - - public void setDataSet (DataSet ds) { - _ds = ds; - } - - /** - * @deprecated Use {@link #setDataSet(DataSet)} instead. - */ - public void setDataSource(List dsrc) { - _ds = new DataSet (_type, dsrc); - } - - /** - * Returns the interval (in milliseconds) of the value list. - */ - public long getInterval() { - return _interval; - } - - /** - * Sets the interval (in milliseconds) of the value list. - */ - public void setInterval(long interval) { - _interval = interval; - } - - public String toString() { - StringBuffer sb = new StringBuffer(super.toString()); - sb.append("=["); - List ds = getDataSource(); - int size = _values.size(); - for (int i=0; i - */ - -package org.collectd.java; - -import java.util.List; -import java.util.ArrayList; -import java.util.Map; -import java.util.TreeMap; - -import org.collectd.api.Collectd; -import org.collectd.api.CollectdConfigInterface; -import org.collectd.api.CollectdInitInterface; -import org.collectd.api.CollectdReadInterface; -import org.collectd.api.CollectdShutdownInterface; -import org.collectd.api.OConfigValue; -import org.collectd.api.OConfigItem; - -public class GenericJMX implements CollectdConfigInterface, - CollectdReadInterface, - CollectdShutdownInterface -{ - static private Map _mbeans - = new TreeMap (); - - private List _connections = null; - - public GenericJMX () - { - Collectd.registerConfig ("GenericJMX", this); - Collectd.registerRead ("GenericJMX", this); - Collectd.registerShutdown ("GenericJMX", this); - - this._connections = new ArrayList (); - } - - public int config (OConfigItem ci) /* {{{ */ - { - List children; - int i; - - Collectd.logDebug ("GenericJMX plugin: config: ci = " + ci + ";"); - - children = ci.getChildren (); - for (i = 0; i < children.size (); i++) - { - OConfigItem child; - String key; - - child = children.get (i); - key = child.getKey (); - if (key.equalsIgnoreCase ("MBean")) - { - try - { - GenericJMXConfMBean mbean = new GenericJMXConfMBean (child); - putMBean (mbean); - } - catch (IllegalArgumentException e) - { - Collectd.logError ("GenericJMX plugin: " - + "Evaluating `MBean' block failed: " + e); - } - } - else if (key.equalsIgnoreCase ("Connection")) - { - try - { - GenericJMXConfConnection conn = new GenericJMXConfConnection (child); - this._connections.add (conn); - } - catch (IllegalArgumentException e) - { - Collectd.logError ("GenericJMX plugin: " - + "Evaluating `Connection' block failed: " + e); - } - } - else - { - Collectd.logError ("GenericJMX plugin: Unknown config option: " + key); - } - } /* for (i = 0; i < children.size (); i++) */ - - return (0); - } /* }}} int config */ - - public int read () /* {{{ */ - { - for (int i = 0; i < this._connections.size (); i++) - { - try - { - this._connections.get (i).query (); - } - catch (Exception e) - { - Collectd.logError ("GenericJMX: Caught unexpected exception: " + e); - e.printStackTrace (); - } - } - - return (0); - } /* }}} int read */ - - public int shutdown () /* {{{ */ - { - System.out.print ("org.collectd.java.GenericJMX.Shutdown ();\n"); - this._connections = null; - return (0); - } /* }}} int shutdown */ - - /* - * static functions - */ - static public GenericJMXConfMBean getMBean (String alias) - { - return (_mbeans.get (alias)); - } - - static private void putMBean (GenericJMXConfMBean mbean) - { - Collectd.logDebug ("GenericJMX.putMBean: Adding " + mbean.getName ()); - _mbeans.put (mbean.getName (), mbean); - } -} /* class GenericJMX */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/GenericJMXConfConnection.java b/bindings/java/org/collectd/java/GenericJMXConfConnection.java deleted file mode 100644 index ea0f2fa..0000000 --- a/bindings/java/org/collectd/java/GenericJMXConfConnection.java +++ /dev/null @@ -1,254 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/java/GenericJMXConfConnection.java - * Copyright (C) 2009-2012 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.java; - -import java.util.List; -import java.util.Map; -import java.util.Iterator; -import java.util.ArrayList; -import java.util.HashMap; -import java.net.InetAddress; -import java.net.UnknownHostException; - -import javax.management.MBeanServerConnection; - -import javax.management.remote.JMXServiceURL; -import javax.management.remote.JMXConnector; -import javax.management.remote.JMXConnectorFactory; - -import org.collectd.api.Collectd; -import org.collectd.api.PluginData; -import org.collectd.api.OConfigValue; -import org.collectd.api.OConfigItem; - -class GenericJMXConfConnection -{ - private String _username = null; - private String _password = null; - private String _host = null; - private String _instance_prefix = null; - private String _service_url = null; - private MBeanServerConnection _jmx_connection = null; - private List _mbeans = null; - - /* - * private methods - */ - private String getConfigString (OConfigItem ci) /* {{{ */ - { - List values; - OConfigValue v; - - values = ci.getValues (); - if (values.size () != 1) - { - Collectd.logError ("GenericJMXConfConnection: The " + ci.getKey () - + " configuration option needs exactly one string argument."); - return (null); - } - - v = values.get (0); - if (v.getType () != OConfigValue.OCONFIG_TYPE_STRING) - { - Collectd.logError ("GenericJMXConfConnection: The " + ci.getKey () - + " configuration option needs exactly one string argument."); - return (null); - } - - return (v.getString ()); - } /* }}} String getConfigString */ - - private String getHost () /* {{{ */ - { - if (this._host != null) - { - return (this._host); - } - - return Collectd.getHostname(); - } /* }}} String getHost */ - -private void connect () /* {{{ */ -{ - JMXServiceURL service_url; - JMXConnector connector; - Map environment; - - if (_jmx_connection != null) - return; - - environment = null; - if (this._password != null) - { - String[] credentials; - - if (this._username == null) - this._username = new String ("monitorRole"); - - credentials = new String[] { this._username, this._password }; - - environment = new HashMap (); - environment.put (JMXConnector.CREDENTIALS, credentials); - environment.put(JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER, this.getClass().getClassLoader()); - } - - try - { - service_url = new JMXServiceURL (this._service_url); - connector = JMXConnectorFactory.connect (service_url, environment); - _jmx_connection = connector.getMBeanServerConnection (); - } - catch (Exception e) - { - Collectd.logError ("GenericJMXConfConnection: " - + "Creating MBean server connection failed: " + e); - return; - } -} /* }}} void connect */ - -/* - * public methods - * - * - * Host "tomcat0.mycompany" - * ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi" - * Collect "java.lang:type=GarbageCollector,name=Copy" - * Collect "java.lang:type=Memory" - * - * - */ - public GenericJMXConfConnection (OConfigItem ci) /* {{{ */ - throws IllegalArgumentException - { - List children; - Iterator iter; - - this._mbeans = new ArrayList (); - - children = ci.getChildren (); - iter = children.iterator (); - while (iter.hasNext ()) - { - OConfigItem child = iter.next (); - - if (child.getKey ().equalsIgnoreCase ("Host")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._host = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("User")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._username = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("Password")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._password = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("ServiceURL")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._service_url = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("InstancePrefix")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._instance_prefix = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("Collect")) - { - String tmp = getConfigString (child); - if (tmp != null) - { - GenericJMXConfMBean mbean; - - mbean = GenericJMX.getMBean (tmp); - if (mbean == null) - throw (new IllegalArgumentException ("No such MBean defined: " - + tmp + ". Please make sure all `MBean' blocks appear " - + "before (above) all `Connection' blocks.")); - Collectd.logDebug ("GenericJMXConfConnection: " + this._host + ": Add " + tmp); - this._mbeans.add (mbean); - } - } - else - throw (new IllegalArgumentException ("Unknown option: " - + child.getKey ())); - } - - if (this._service_url == null) - throw (new IllegalArgumentException ("No service URL was defined.")); - if (this._mbeans.size () == 0) - throw (new IllegalArgumentException ("No valid collect statement " - + "present.")); - } /* }}} GenericJMXConfConnection (OConfigItem ci) */ - - public void query () /* {{{ */ - { - PluginData pd; - - connect (); - - if (this._jmx_connection == null) - return; - - Collectd.logDebug ("GenericJMXConfConnection.query: " - + "Reading " + this._mbeans.size () + " mbeans from " - + ((this._host != null) ? this._host : "(null)")); - - pd = new PluginData (); - pd.setHost (this.getHost ()); - pd.setPlugin ("GenericJMX"); - - for (int i = 0; i < this._mbeans.size (); i++) - { - int status; - - status = this._mbeans.get (i).query (this._jmx_connection, pd, - this._instance_prefix); - if (status != 0) - { - this._jmx_connection = null; - return; - } - } /* for */ - } /* }}} void query */ - - public String toString () - { - return (new String ("host = " + this._host + "; " - + "url = " + this._service_url)); - } -} - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/GenericJMXConfMBean.java b/bindings/java/org/collectd/java/GenericJMXConfMBean.java deleted file mode 100644 index 64a53ac..0000000 --- a/bindings/java/org/collectd/java/GenericJMXConfMBean.java +++ /dev/null @@ -1,243 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/java/GenericJMXConfMBean.java - * Copyright (C) 2009,2010 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.java; - -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.ArrayList; - -import javax.management.MBeanServerConnection; -import javax.management.ObjectName; -import javax.management.MalformedObjectNameException; - -import org.collectd.api.Collectd; -import org.collectd.api.PluginData; -import org.collectd.api.OConfigValue; -import org.collectd.api.OConfigItem; - -class GenericJMXConfMBean -{ - private String _name; /* name by which this mapping is referenced */ - private ObjectName _obj_name; - private String _instance_prefix; - private List _instance_from; - private List _values; - - private String getConfigString (OConfigItem ci) /* {{{ */ - { - List values; - OConfigValue v; - - values = ci.getValues (); - if (values.size () != 1) - { - Collectd.logError ("GenericJMXConfMBean: The " + ci.getKey () - + " configuration option needs exactly one string argument."); - return (null); - } - - v = values.get (0); - if (v.getType () != OConfigValue.OCONFIG_TYPE_STRING) - { - Collectd.logError ("GenericJMXConfMBean: The " + ci.getKey () - + " configuration option needs exactly one string argument."); - return (null); - } - - return (v.getString ()); - } /* }}} String getConfigString */ - -/* - * - * ObjectName "object name" - * InstancePrefix "foobar" - * InstanceFrom "name" - * - * - * : - * - */ - public GenericJMXConfMBean (OConfigItem ci) /* {{{ */ - throws IllegalArgumentException - { - List children; - Iterator iter; - - this._name = getConfigString (ci); - if (this._name == null) - throw (new IllegalArgumentException ("No alias name was defined. " - + "MBean blocks need exactly one string argument.")); - - this._obj_name = null; - this._instance_prefix = null; - this._instance_from = new ArrayList (); - this._values = new ArrayList (); - - children = ci.getChildren (); - iter = children.iterator (); - while (iter.hasNext ()) - { - OConfigItem child = iter.next (); - - Collectd.logDebug ("GenericJMXConfMBean: child.getKey () = " - + child.getKey ()); - if (child.getKey ().equalsIgnoreCase ("ObjectName")) - { - String tmp = getConfigString (child); - if (tmp == null) - continue; - - try - { - this._obj_name = new ObjectName (tmp); - } - catch (MalformedObjectNameException e) - { - throw (new IllegalArgumentException ("Not a valid object name: " - + tmp, e)); - } - } - else if (child.getKey ().equalsIgnoreCase ("InstancePrefix")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._instance_prefix = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("InstanceFrom")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._instance_from.add (tmp); - } - else if (child.getKey ().equalsIgnoreCase ("Value")) - { - GenericJMXConfValue cv; - - cv = new GenericJMXConfValue (child); - this._values.add (cv); - } - else - throw (new IllegalArgumentException ("Unknown option: " - + child.getKey ())); - } - - if (this._obj_name == null) - throw (new IllegalArgumentException ("No object name was defined.")); - - if (this._values.size () == 0) - throw (new IllegalArgumentException ("No value block was defined.")); - - } /* }}} GenericJMXConfMBean (OConfigItem ci) */ - - public String getName () /* {{{ */ - { - return (this._name); - } /* }}} */ - - public int query (MBeanServerConnection conn, PluginData pd, /* {{{ */ - String instance_prefix) - { - Set names; - Iterator iter; - - try - { - names = conn.queryNames (this._obj_name, /* query = */ null); - } - catch (Exception e) - { - Collectd.logError ("GenericJMXConfMBean: queryNames failed: " + e); - return (-1); - } - - if (names.size () == 0) - { - Collectd.logWarning ("GenericJMXConfMBean: No MBean matched " - + "the ObjectName " + this._obj_name); - } - - iter = names.iterator (); - while (iter.hasNext ()) - { - ObjectName objName; - PluginData pd_tmp; - List instanceList; - StringBuffer instance; - - objName = iter.next (); - pd_tmp = new PluginData (pd); - instanceList = new ArrayList (); - instance = new StringBuffer (); - - Collectd.logDebug ("GenericJMXConfMBean: objName = " - + objName.toString ()); - - for (int i = 0; i < this._instance_from.size (); i++) - { - String propertyName; - String propertyValue; - - propertyName = this._instance_from.get (i); - propertyValue = objName.getKeyProperty (propertyName); - if (propertyValue == null) - { - Collectd.logError ("GenericJMXConfMBean: " - + "No such property in object name: " + propertyName); - } - else - { - instanceList.add (propertyValue); - } - } - - if (instance_prefix != null) - instance.append (instance_prefix); - - if (this._instance_prefix != null) - instance.append (this._instance_prefix); - - for (int i = 0; i < instanceList.size (); i++) - { - if (i > 0) - instance.append ("-"); - instance.append (instanceList.get (i)); - } - - pd_tmp.setPluginInstance (instance.toString ()); - - Collectd.logDebug ("GenericJMXConfMBean: instance = " + instance.toString ()); - - for (int i = 0; i < this._values.size (); i++) - this._values.get (i).query (conn, objName, pd_tmp); - } - - return (0); - } /* }}} void query */ -} - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/GenericJMXConfValue.java b/bindings/java/org/collectd/java/GenericJMXConfValue.java deleted file mode 100644 index 4b42c91..0000000 --- a/bindings/java/org/collectd/java/GenericJMXConfValue.java +++ /dev/null @@ -1,599 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/java/GenericJMXConfValue.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.java; - -import java.util.Arrays; -import java.util.List; -import java.util.Set; -import java.util.Iterator; -import java.util.ArrayList; - -import java.math.BigDecimal; -import java.math.BigInteger; - -import javax.management.MBeanServerConnection; -import javax.management.ObjectName; -import javax.management.openmbean.OpenType; -import javax.management.openmbean.CompositeData; -import javax.management.openmbean.InvalidKeyException; - -import org.collectd.api.Collectd; -import org.collectd.api.DataSet; -import org.collectd.api.DataSource; -import org.collectd.api.ValueList; -import org.collectd.api.PluginData; -import org.collectd.api.OConfigValue; -import org.collectd.api.OConfigItem; - -/** - * Representation of a <value /> block and query functionality. - * - * This class represents a <value /> block in the configuration. As - * such, the constructor takes an {@link org.collectd.api.OConfigValue} to - * construct an object of this class. - * - * The object can then be asked to query data from JMX and dispatch it to - * collectd. - * - * @see GenericJMXConfMBean - */ -class GenericJMXConfValue -{ - private String _ds_name; - private DataSet _ds; - private List _attributes; - private String _instance_prefix; - private List _instance_from; - private boolean _is_table; - - /** - * Converts a generic (OpenType) object to a number. - * - * Returns null if a conversion is not possible or not implemented. - */ - private Number genericObjectToNumber (Object obj, int ds_type) /* {{{ */ - { - if (obj instanceof String) - { - String str = (String) obj; - - try - { - if (ds_type == DataSource.TYPE_GAUGE) - return (new Double (str)); - else - return (new Long (str)); - } - catch (NumberFormatException e) - { - return (null); - } - } - else if (obj instanceof Byte) - { - return (new Byte ((Byte) obj)); - } - else if (obj instanceof Short) - { - return (new Short ((Short) obj)); - } - else if (obj instanceof Integer) - { - return (new Integer ((Integer) obj)); - } - else if (obj instanceof Long) - { - return (new Long ((Long) obj)); - } - else if (obj instanceof Float) - { - return (new Float ((Float) obj)); - } - else if (obj instanceof Double) - { - return (new Double ((Double) obj)); - } - else if (obj instanceof BigDecimal) - { - return (BigDecimal.ZERO.add ((BigDecimal) obj)); - } - else if (obj instanceof BigInteger) - { - return (BigInteger.ZERO.add ((BigInteger) obj)); - } - - return (null); - } /* }}} Number genericObjectToNumber */ - - /** - * Converts a generic list to a list of numbers. - * - * Returns null if one or more objects could not be converted. - */ - private List genericListToNumber (List objects) /* {{{ */ - { - List ret = new ArrayList (); - List dsrc = this._ds.getDataSources (); - - assert (objects.size () == dsrc.size ()); - - for (int i = 0; i < objects.size (); i++) - { - Number n; - - n = genericObjectToNumber (objects.get (i), dsrc.get (i).getType ()); - if (n == null) - return (null); - ret.add (n); - } - - return (ret); - } /* }}} List genericListToNumber */ - - /** - * Converts a list of CompositeData to a list of numbers. - * - * From each CompositeData the key key is received and all - * those values are converted to a number. If one of the - * CompositeData doesn't have the specified key or one returned - * object cannot converted to a number then the function will return null. - */ - private List genericCompositeToNumber (List cdlist, /* {{{ */ - String key) - { - List objects = new ArrayList (); - - for (int i = 0; i < cdlist.size (); i++) - { - CompositeData cd; - Object value; - - cd = cdlist.get (i); - try - { - value = cd.get (key); - } - catch (InvalidKeyException e) - { - return (null); - } - objects.add (value); - } - - return (genericListToNumber (objects)); - } /* }}} List genericCompositeToNumber */ - - private void submitTable (List objects, ValueList vl, /* {{{ */ - String instancePrefix) - { - List cdlist; - Set keySet = null; - Iterator keyIter; - - cdlist = new ArrayList (); - for (int i = 0; i < objects.size (); i++) - { - Object obj; - - obj = objects.get (i); - if (obj instanceof CompositeData) - { - CompositeData cd; - - cd = (CompositeData) obj; - - if (i == 0) - keySet = cd.getCompositeType ().keySet (); - - cdlist.add (cd); - } - else - { - Collectd.logError ("GenericJMXConfValue: At least one of the " - + "attributes was not of type `CompositeData', as required " - + "when table is set to `true'."); - return; - } - } - - assert (keySet != null); - - keyIter = keySet.iterator (); - while (keyIter.hasNext ()) - { - String key; - List values; - - key = keyIter.next (); - values = genericCompositeToNumber (cdlist, key); - if (values == null) - { - Collectd.logError ("GenericJMXConfValue: Cannot build a list of " - + "numbers for key " + key + ". Most likely not all attributes " - + "have this key."); - continue; - } - - if (instancePrefix == null) - vl.setTypeInstance (key); - else - vl.setTypeInstance (instancePrefix + key); - vl.setValues (values); - - Collectd.dispatchValues (vl); - } - } /* }}} void submitTable */ - - private void submitScalar (List objects, ValueList vl, /* {{{ */ - String instancePrefix) - { - List values; - - values = genericListToNumber (objects); - if (values == null) - { - Collectd.logError ("GenericJMXConfValue: Cannot convert list of " - + "objects to numbers."); - return; - } - - if (instancePrefix == null) - vl.setTypeInstance (""); - else - vl.setTypeInstance (instancePrefix); - vl.setValues (values); - - Collectd.dispatchValues (vl); - } /* }}} void submitScalar */ - - private Object queryAttributeRecursive (CompositeData parent, /* {{{ */ - List attrName) - { - String key; - Object value; - - key = attrName.remove (0); - - try - { - value = parent.get (key); - } - catch (InvalidKeyException e) - { - return (null); - } - - if (attrName.size () == 0) - { - return (value); - } - else - { - if (value instanceof CompositeData) - return (queryAttributeRecursive ((CompositeData) value, attrName)); - else - return (null); - } - } /* }}} queryAttributeRecursive */ - - private Object queryAttribute (MBeanServerConnection conn, /* {{{ */ - ObjectName objName, String attrName) - { - List attrNameList; - String key; - Object value; - String[] attrNameArray; - - attrNameList = new ArrayList (); - - attrNameArray = attrName.split ("\\."); - key = attrNameArray[0]; - for (int i = 1; i < attrNameArray.length; i++) - attrNameList.add (attrNameArray[i]); - - try - { - try - { - value = conn.getAttribute (objName, key); - } - catch (javax.management.AttributeNotFoundException e) - { - value = conn.invoke (objName, key, /* args = */ null, /* types = */ null); - } - } - catch (Exception e) - { - Collectd.logError ("GenericJMXConfValue.query: getAttribute failed: " - + e); - return (null); - } - - if (attrNameList.size () == 0) - { - return (value); - } - else - { - if (value instanceof CompositeData) - return (queryAttributeRecursive((CompositeData) value, attrNameList)); - else if (value instanceof OpenType) - { - OpenType ot = (OpenType) value; - Collectd.logNotice ("GenericJMXConfValue: Handling of OpenType \"" - + ot.getTypeName () + "\" is not yet implemented."); - return (null); - } - else - { - Collectd.logError ("GenericJMXConfValue: Received object of " - + "unknown class."); - return (null); - } - } - } /* }}} Object queryAttribute */ - - private String join (String separator, List list) /* {{{ */ - { - StringBuffer sb; - - sb = new StringBuffer (); - - for (int i = 0; i < list.size (); i++) - { - if (i > 0) - sb.append ("-"); - sb.append (list.get (i)); - } - - return (sb.toString ()); - } /* }}} String join */ - - private String getConfigString (OConfigItem ci) /* {{{ */ - { - List values; - OConfigValue v; - - values = ci.getValues (); - if (values.size () != 1) - { - Collectd.logError ("GenericJMXConfValue: The " + ci.getKey () - + " configuration option needs exactly one string argument."); - return (null); - } - - v = values.get (0); - if (v.getType () != OConfigValue.OCONFIG_TYPE_STRING) - { - Collectd.logError ("GenericJMXConfValue: The " + ci.getKey () - + " configuration option needs exactly one string argument."); - return (null); - } - - return (v.getString ()); - } /* }}} String getConfigString */ - - private Boolean getConfigBoolean (OConfigItem ci) /* {{{ */ - { - List values; - OConfigValue v; - Boolean b; - - values = ci.getValues (); - if (values.size () != 1) - { - Collectd.logError ("GenericJMXConfValue: The " + ci.getKey () - + " configuration option needs exactly one boolean argument."); - return (null); - } - - v = values.get (0); - if (v.getType () != OConfigValue.OCONFIG_TYPE_BOOLEAN) - { - Collectd.logError ("GenericJMXConfValue: The " + ci.getKey () - + " configuration option needs exactly one boolean argument."); - return (null); - } - - return (new Boolean (v.getBoolean ())); - } /* }}} String getConfigBoolean */ - - /** - * Constructs a new value with the configured properties. - */ - public GenericJMXConfValue (OConfigItem ci) /* {{{ */ - throws IllegalArgumentException - { - List children; - Iterator iter; - - this._ds_name = null; - this._ds = null; - this._attributes = new ArrayList (); - this._instance_prefix = null; - this._instance_from = new ArrayList (); - this._is_table = false; - - /* - * - * Type "memory" - * Table true|false - * Attribute "HeapMemoryUsage" - * Attribute "..." - * : - * # Type instance: - * InstancePrefix "heap-" - * - */ - children = ci.getChildren (); - iter = children.iterator (); - while (iter.hasNext ()) - { - OConfigItem child = iter.next (); - - if (child.getKey ().equalsIgnoreCase ("Type")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._ds_name = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("Table")) - { - Boolean tmp = getConfigBoolean (child); - if (tmp != null) - this._is_table = tmp.booleanValue (); - } - else if (child.getKey ().equalsIgnoreCase ("Attribute")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._attributes.add (tmp); - } - else if (child.getKey ().equalsIgnoreCase ("InstancePrefix")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._instance_prefix = tmp; - } - else if (child.getKey ().equalsIgnoreCase ("InstanceFrom")) - { - String tmp = getConfigString (child); - if (tmp != null) - this._instance_from.add (tmp); - } - else - throw (new IllegalArgumentException ("Unknown option: " - + child.getKey ())); - } - - if (this._ds_name == null) - throw (new IllegalArgumentException ("No data set was defined.")); - else if (this._attributes.size () == 0) - throw (new IllegalArgumentException ("No attribute was defined.")); - } /* }}} GenericJMXConfValue (OConfigItem ci) */ - - /** - * Query values via JMX according to the object's configuration and dispatch - * them to collectd. - * - * @param conn Connection to the MBeanServer. - * @param objName Object name of the MBean to query. - * @param pd Preset naming components. The members host, plugin and - * plugin instance will be used. - */ - public void query (MBeanServerConnection conn, ObjectName objName, /* {{{ */ - PluginData pd) - { - ValueList vl; - List dsrc; - List values; - List instanceList; - String instancePrefix; - - if (this._ds == null) - { - this._ds = Collectd.getDS (this._ds_name); - if (this._ds == null) - { - Collectd.logError ("GenericJMXConfValue: Unknown type: " - + this._ds_name); - return; - } - } - - dsrc = this._ds.getDataSources (); - if (dsrc.size () != this._attributes.size ()) - { - Collectd.logError ("GenericJMXConfValue.query: The data set " - + this._ds_name + " has " + this._ds.getDataSources ().size () - + " data sources, but there were " + this._attributes.size () - + " attributes configured. This doesn't match!"); - this._ds = null; - return; - } - - vl = new ValueList (pd); - vl.setType (this._ds_name); - - /* - * Build the instnace prefix from the fixed string prefix and the - * properties of the objName. - */ - instanceList = new ArrayList (); - for (int i = 0; i < this._instance_from.size (); i++) - { - String propertyName; - String propertyValue; - - propertyName = this._instance_from.get (i); - propertyValue = objName.getKeyProperty (propertyName); - if (propertyValue == null) - { - Collectd.logError ("GenericJMXConfMBean: " - + "No such property in object name: " + propertyName); - } - else - { - instanceList.add (propertyValue); - } - } - - if (this._instance_prefix != null) - instancePrefix = new String (this._instance_prefix - + join ("-", instanceList)); - else - instancePrefix = join ("-", instanceList); - - /* - * Build a list of `Object's which is then passed to `submitTable' and - * `submitScalar'. - */ - values = new ArrayList (); - assert (dsrc.size () == this._attributes.size ()); - for (int i = 0; i < this._attributes.size (); i++) - { - Object v; - - v = queryAttribute (conn, objName, this._attributes.get (i)); - if (v == null) - { - Collectd.logError ("GenericJMXConfValue.query: " - + "Querying attribute " + this._attributes.get (i) + " failed."); - return; - } - - values.add (v); - } - - if (this._is_table) - submitTable (values, vl, instancePrefix); - else - submitScalar (values, vl, instancePrefix); - } /* }}} void query */ -} /* class GenericJMXConfValue */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/JMXMemory.java b/bindings/java/org/collectd/java/JMXMemory.java deleted file mode 100644 index 050d893..0000000 --- a/bindings/java/org/collectd/java/JMXMemory.java +++ /dev/null @@ -1,237 +0,0 @@ -/** - * collectd - bindings/java/org/collectd/java/JMXMemory.java - * Copyright (C) 2009 Florian octo Forster - * - * 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 - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Authors: - * Florian octo Forster - */ - -package org.collectd.java; - -import java.util.List; -import java.util.Date; - -import java.lang.management.ManagementFactory; -import java.lang.management.MemoryUsage; -import java.lang.management.MemoryMXBean; - -import javax.management.MBeanServerConnection; -import javax.management.remote.JMXConnector; -import javax.management.remote.JMXConnectorFactory; -import javax.management.remote.JMXServiceURL; - -import org.collectd.api.Collectd; -import org.collectd.api.DataSet; -import org.collectd.api.ValueList; -import org.collectd.api.Notification; -import org.collectd.api.OConfigItem; - -import org.collectd.api.CollectdConfigInterface; -import org.collectd.api.CollectdInitInterface; -import org.collectd.api.CollectdReadInterface; -import org.collectd.api.CollectdShutdownInterface; - -import org.collectd.api.OConfigValue; -import org.collectd.api.OConfigItem; - -public class JMXMemory implements CollectdConfigInterface, - CollectdInitInterface, - CollectdReadInterface, - CollectdShutdownInterface -{ - private String _jmx_service_url = null; - private MemoryMXBean _mbean = null; - - public JMXMemory () - { - Collectd.registerConfig ("JMXMemory", this); - Collectd.registerInit ("JMXMemory", this); - Collectd.registerRead ("JMXMemory", this); - Collectd.registerShutdown ("JMXMemory", this); - } - - private void submit (String plugin_instance, MemoryUsage usage) /* {{{ */ - { - ValueList vl; - - long mem_init; - long mem_used; - long mem_committed; - long mem_max; - - mem_init = usage.getInit (); - mem_used = usage.getUsed (); - mem_committed = usage.getCommitted (); - mem_max = usage.getMax (); - - Collectd.logDebug ("JMXMemory plugin: plugin_instance = " + plugin_instance + "; " - + "mem_init = " + mem_init + "; " - + "mem_used = " + mem_used + "; " - + "mem_committed = " + mem_committed + "; " - + "mem_max = " + mem_max + ";"); - - vl = new ValueList (); - - vl.setHost ("localhost"); - vl.setPlugin ("JMXMemory"); - vl.setPluginInstance (plugin_instance); - vl.setType ("memory"); - - if (mem_init >= 0) - { - vl.addValue (mem_init); - vl.setTypeInstance ("init"); - Collectd.dispatchValues (vl); - vl.clearValues (); - } - - if (mem_used >= 0) - { - vl.addValue (mem_used); - vl.setTypeInstance ("used"); - Collectd.dispatchValues (vl); - vl.clearValues (); - } - - if (mem_committed >= 0) - { - vl.addValue (mem_committed); - vl.setTypeInstance ("committed"); - Collectd.dispatchValues (vl); - vl.clearValues (); - } - - if (mem_max >= 0) - { - vl.addValue (mem_max); - vl.setTypeInstance ("max"); - Collectd.dispatchValues (vl); - vl.clearValues (); - } - } /* }}} void submit */ - - private int configServiceURL (OConfigItem ci) /* {{{ */ - { - List values; - OConfigValue cv; - - values = ci.getValues (); - if (values.size () != 1) - { - Collectd.logError ("JMXMemory plugin: The JMXServiceURL option needs " - + "exactly one string argument."); - return (-1); - } - - cv = values.get (0); - if (cv.getType () != OConfigValue.OCONFIG_TYPE_STRING) - { - Collectd.logError ("JMXMemory plugin: The JMXServiceURL option needs " - + "exactly one string argument."); - return (-1); - } - - _jmx_service_url = cv.getString (); - return (0); - } /* }}} int configServiceURL */ - - public int config (OConfigItem ci) /* {{{ */ - { - List children; - int i; - - Collectd.logDebug ("JMXMemory plugin: config: ci = " + ci + ";"); - - children = ci.getChildren (); - for (i = 0; i < children.size (); i++) - { - OConfigItem child; - String key; - - child = children.get (i); - key = child.getKey (); - if (key.equalsIgnoreCase ("JMXServiceURL")) - { - configServiceURL (child); - } - else - { - Collectd.logError ("JMXMemory plugin: Unknown config option: " + key); - } - } - - return (0); - } /* }}} int config */ - - public int init () /* {{{ */ - { - JMXServiceURL service_url; - JMXConnector connector; - MBeanServerConnection connection; - - if (_jmx_service_url == null) - { - Collectd.logError ("JMXMemory: _jmx_service_url == null"); - return (-1); - } - - try - { - service_url = new JMXServiceURL (_jmx_service_url); - connector = JMXConnectorFactory.connect (service_url); - connection = connector.getMBeanServerConnection (); - _mbean = ManagementFactory.newPlatformMXBeanProxy (connection, - ManagementFactory.MEMORY_MXBEAN_NAME, - MemoryMXBean.class); - } - catch (Exception e) - { - Collectd.logError ("JMXMemory: Creating MBean failed: " + e); - return (-1); - } - - return (0); - } /* }}} int init */ - - public int read () /* {{{ */ - { - if (_mbean == null) - { - Collectd.logError ("JMXMemory: _mbean == null"); - return (-1); - } - - submit ("heap", _mbean.getHeapMemoryUsage ()); - submit ("non_heap", _mbean.getNonHeapMemoryUsage ()); - - return (0); - } /* }}} int read */ - - public int shutdown () /* {{{ */ - { - System.out.print ("org.collectd.java.JMXMemory.Shutdown ();\n"); - _jmx_service_url = null; - _mbean = null; - return (0); - } /* }}} int shutdown */ -} /* class JMXMemory */ - -/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/perl/Makefile.PL b/bindings/perl/Makefile.PL deleted file mode 100644 index 68fb260..0000000 --- a/bindings/perl/Makefile.PL +++ /dev/null @@ -1,9 +0,0 @@ -use ExtUtils::MakeMaker; - -WriteMakefile( - NAME => 'Collectd', - AUTHOR => 'Sebastian Harl ', - TEST_REQUIRES => { 'YAML::Any' => 0 }, -); - -# vim: set sw=4 ts=4 tw=78 noexpandtab : diff --git a/bindings/perl/lib/Collectd.pm b/bindings/perl/lib/Collectd.pm deleted file mode 100644 index c1adf44..0000000 --- a/bindings/perl/lib/Collectd.pm +++ /dev/null @@ -1,637 +0,0 @@ -# collectd - Collectd.pm -# Copyright (C) 2007-2009 Sebastian Harl -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; only version 2 of the License is applicable. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# 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 St, Fifth Floor, Boston, MA 02110-1301 USA -# -# Author: -# Sebastian Harl - -package Collectd; - -use strict; -use warnings; - -use Config; - -use threads; -use threads::shared; - -BEGIN { - if (! $Config{'useithreads'}) { - die "Perl does not support ithreads!"; - } -} - -require Exporter; - -our @ISA = qw( Exporter ); - -our %EXPORT_TAGS = ( - 'plugin' => [ qw( - plugin_register - plugin_unregister - plugin_dispatch_values - plugin_get_interval - plugin_write - plugin_flush - plugin_flush_one - plugin_flush_all - plugin_dispatch_notification - plugin_log - ) ], - 'types' => [ qw( - TYPE_INIT - TYPE_READ - TYPE_WRITE - TYPE_SHUTDOWN - TYPE_LOG - TYPE_NOTIF - TYPE_FLUSH - TYPE_CONFIG - TYPE_DATASET - ) ], - 'ds_types' => [ qw( - DS_TYPE_COUNTER - DS_TYPE_GAUGE - ) ], - 'log' => [ qw( - ERROR - WARNING - NOTICE - INFO - DEBUG - LOG_ERR - LOG_WARNING - LOG_NOTICE - LOG_INFO - LOG_DEBUG - ) ], - 'filter_chain' => [ qw( - fc_register - FC_MATCH_NO_MATCH - FC_MATCH_MATCHES - FC_TARGET_CONTINUE - FC_TARGET_STOP - FC_TARGET_RETURN - ) ], - 'fc_types' => [ qw( - FC_MATCH - FC_TARGET - ) ], - 'notif' => [ qw( - NOTIF_FAILURE - NOTIF_WARNING - NOTIF_OKAY - ) ], - 'globals' => [ qw( - $hostname_g - $interval_g - ) ], -); - -{ - my %seen; - push @{$EXPORT_TAGS{'all'}}, grep {! $seen{$_}++ } @{$EXPORT_TAGS{$_}} - foreach keys %EXPORT_TAGS; -} - -# global variables -our $hostname_g; -our $interval_g; - -Exporter::export_ok_tags ('all'); - -my @plugins : shared = (); -my @fc_plugins : shared = (); -my %cf_callbacks : shared = (); - -my %types = ( - TYPE_CONFIG, "config", - TYPE_INIT, "init", - TYPE_READ, "read", - TYPE_WRITE, "write", - TYPE_SHUTDOWN, "shutdown", - TYPE_LOG, "log", - TYPE_NOTIF, "notify", - TYPE_FLUSH, "flush" -); - -my %fc_types = ( - FC_MATCH, "match", - FC_TARGET, "target" -); - -my %fc_exec_names = ( - FC_MATCH, "match", - FC_TARGET, "invoke" -); - -my %fc_cb_types = ( - FC_CB_EXEC, "exec", - FC_CB_CREATE, "create", - FC_CB_DESTROY, "destroy" -); - -foreach my $type (keys %types) { - $plugins[$type] = &share ({}); -} - -foreach my $type (keys %fc_types) { - $fc_plugins[$type] = &share ({}); -} - -sub _log { - my $caller = shift; - my $lvl = shift; - my $msg = shift; - - if ("Collectd" eq $caller) { - $msg = "perl: $msg"; - } - return plugin_log ($lvl, $msg); -} - -sub ERROR { _log (scalar caller, LOG_ERR, shift); } -sub WARNING { _log (scalar caller, LOG_WARNING, shift); } -sub NOTICE { _log (scalar caller, LOG_NOTICE, shift); } -sub INFO { _log (scalar caller, LOG_INFO, shift); } -sub DEBUG { _log (scalar caller, LOG_DEBUG, shift); } - -sub plugin_call_all { - my $type = shift; - - my %plugins; - my $interval; - - our $cb_name = undef; - - if (! defined $type) { - return; - } - - if (TYPE_LOG != $type) { - DEBUG ("Collectd::plugin_call: type = \"$type\" (" - . $types{$type} . "), args=\"" - . join(', ', map { defined($_) ? $_ : '' } @_) . "\""); - } - - if (! defined $plugins[$type]) { - ERROR ("Collectd::plugin_call: unknown type \"$type\""); - return; - } - - { - lock %{$plugins[$type]}; - %plugins = %{$plugins[$type]}; - } - - $interval = plugin_get_interval (); - - foreach my $plugin (keys %plugins) { - my $p = $plugins{$plugin}; - - my $status = 0; - - if ($p->{'wait_left'} > 0) { - $p->{'wait_left'} -= $interval; - } - - next if ($p->{'wait_left'} > 0); - - $cb_name = $p->{'cb_name'}; - $status = call_by_name (@_); - - if (! $status) { - my $err = undef; - - if ($@) { - $err = $@; - } - else { - $err = "callback returned false"; - } - - if (TYPE_LOG != $type) { - ERROR ("Execution of callback \"$cb_name\" failed: $err"); - } - - $status = 0; - } - - if ($status) { - $p->{'wait_left'} = 0; - $p->{'wait_time'} = $interval; - } - elsif (TYPE_READ == $type) { - if ($p->{'wait_time'} < $interval) { - $p->{'wait_time'} = $interval; - } - - $p->{'wait_left'} = $p->{'wait_time'}; - $p->{'wait_time'} *= 2; - - if ($p->{'wait_time'} > 86400) { - $p->{'wait_time'} = 86400; - } - - WARNING ("${plugin}->read() failed with status $status. " - . "Will suspend it for $p->{'wait_left'} seconds."); - } - elsif (TYPE_INIT == $type) { - ERROR ("${plugin}->init() failed with status $status. " - . "Plugin will be disabled."); - - foreach my $type (keys %types) { - plugin_unregister ($type, $plugin); - } - } - elsif (TYPE_LOG != $type) { - WARNING ("${plugin}->$types{$type}() failed with status $status."); - } - } - return 1; -} - -# Collectd::plugin_register (type, name, data). -# -# type: -# init, read, write, shutdown, data set -# -# name: -# name of the plugin -# -# data: -# reference to the plugin's subroutine that does the work or the data set -# definition -sub plugin_register { - my $type = shift; - my $name = shift; - my $data = shift; - - DEBUG ("Collectd::plugin_register: " - . "type = \"$type\" (" . $types{$type} - . "), name = \"$name\", data = \"$data\""); - - if (! ((defined $type) && (defined $name) && (defined $data))) { - ERROR ("Usage: Collectd::plugin_register (type, name, data)"); - return; - } - - if ((! defined $plugins[$type]) && (TYPE_DATASET != $type) - && (TYPE_CONFIG != $type)) { - ERROR ("Collectd::plugin_register: Invalid type \"$type\""); - return; - } - - if ((TYPE_DATASET == $type) && ("ARRAY" eq ref $data)) { - return plugin_register_data_set ($name, $data); - } - elsif ((TYPE_CONFIG == $type) && (! ref $data)) { - my $pkg = scalar caller; - - if ($data !~ m/^$pkg\:\:/) { - $data = $pkg . "::" . $data; - } - - lock %cf_callbacks; - $cf_callbacks{$name} = $data; - } - elsif ((TYPE_DATASET != $type) && (! ref $data)) { - my $pkg = scalar caller; - - my %p : shared; - - if ($data !~ m/^$pkg\:\:/) { - $data = $pkg . "::" . $data; - } - - %p = ( - wait_time => plugin_get_interval (), - wait_left => 0, - cb_name => $data, - ); - - lock %{$plugins[$type]}; - $plugins[$type]->{$name} = \%p; - } - else { - ERROR ("Collectd::plugin_register: Invalid data."); - return; - } - return 1; -} - -sub plugin_unregister { - my $type = shift; - my $name = shift; - - DEBUG ("Collectd::plugin_unregister: type = \"$type\" (" - . $types{$type} . "), name = \"$name\""); - - if (! ((defined $type) && (defined $name))) { - ERROR ("Usage: Collectd::plugin_unregister (type, name)"); - return; - } - - if (TYPE_DATASET == $type) { - return plugin_unregister_data_set ($name); - } - elsif (TYPE_CONFIG == $type) { - lock %cf_callbacks; - delete $cf_callbacks{$name}; - } - elsif (defined $plugins[$type]) { - lock %{$plugins[$type]}; - delete $plugins[$type]->{$name}; - } - else { - ERROR ("Collectd::plugin_unregister: Invalid type."); - return; - } -} - -sub plugin_write { - my %args = @_; - - my @plugins = (); - my @datasets = (); - my @valuelists = (); - - if (! defined $args{'valuelists'}) { - ERROR ("Collectd::plugin_write: Missing 'valuelists' argument."); - return; - } - - DEBUG ("Collectd::plugin_write:" - . (defined ($args{'plugins'}) ? " plugins = $args{'plugins'}" : "") - . (defined ($args{'datasets'}) ? " datasets = $args{'datasets'}" : "") - . " valueslists = $args{'valuelists'}"); - - if (defined ($args{'plugins'})) { - if ("ARRAY" eq ref ($args{'plugins'})) { - @plugins = @{$args{'plugins'}}; - } - else { - @plugins = ($args{'plugins'}); - } - } - else { - @plugins = (undef); - } - - if ("ARRAY" eq ref ($args{'valuelists'})) { - @valuelists = @{$args{'valuelists'}}; - } - else { - @valuelists = ($args{'valuelists'}); - } - - if (defined ($args{'datasets'})) { - if ("ARRAY" eq ref ($args{'datasets'})) { - @datasets = @{$args{'datasets'}}; - } - else { - @datasets = ($args{'datasets'}); - } - } - else { - @datasets = (undef) x scalar (@valuelists); - } - - if ($#datasets != $#valuelists) { - ERROR ("Collectd::plugin_write: Invalid number of datasets."); - return; - } - - foreach my $plugin (@plugins) { - for (my $i = 0; $i < scalar (@valuelists); ++$i) { - _plugin_write ($plugin, $datasets[$i], $valuelists[$i]); - } - } -} - -sub plugin_flush { - my %args = @_; - - my $timeout = -1; - my @plugins = (); - my @ids = (); - - DEBUG ("Collectd::plugin_flush:" - . (defined ($args{'timeout'}) ? " timeout = $args{'timeout'}" : "") - . (defined ($args{'plugins'}) ? " plugins = $args{'plugins'}" : "") - . (defined ($args{'identifiers'}) - ? " identifiers = $args{'identifiers'}" : "")); - - if (defined ($args{'timeout'}) && ($args{'timeout'} > 0)) { - $timeout = $args{'timeout'}; - } - - if (defined ($args{'plugins'})) { - if ("ARRAY" eq ref ($args{'plugins'})) { - @plugins = @{$args{'plugins'}}; - } - else { - @plugins = ($args{'plugins'}); - } - } - else { - @plugins = (undef); - } - - if (defined ($args{'identifiers'})) { - if ("ARRAY" eq ref ($args{'identifiers'})) { - @ids = @{$args{'identifiers'}}; - } - else { - @ids = ($args{'identifiers'}); - } - } - else { - @ids = (undef); - } - - foreach my $plugin (@plugins) { - foreach my $id (@ids) { - _plugin_flush($plugin, $timeout, $id); - } - } -} - -sub fc_call { - my $type = shift; - my $name = shift; - my $cb_type = shift; - - my %proc; - - our $cb_name = undef; - my $status; - - if (! ((defined $type) && (defined $name) && (defined $cb_type))) { - ERROR ("Usage: Collectd::fc_call(type, name, cb_type, ...)"); - return; - } - - if (! defined $fc_plugins[$type]) { - ERROR ("Collectd::fc_call: Invalid type \"$type\""); - return; - } - - if (! defined $fc_plugins[$type]->{$name}) { - ERROR ("Collectd::fc_call: Unknown " - . ($type == FC_MATCH ? "match" : "target") - . " \"$name\""); - return; - } - - DEBUG ("Collectd::fc_call: " - . "type = \"$type\" (" . $fc_types{$type} - . "), name = \"$name\", cb_type = \"$cb_type\" (" - . $fc_cb_types{$cb_type} . ")"); - - { - lock %{$fc_plugins[$type]}; - %proc = %{$fc_plugins[$type]->{$name}}; - } - - if (FC_CB_EXEC == $cb_type) { - $cb_name = $proc{$fc_exec_names{$type}}; - } - elsif (FC_CB_CREATE == $cb_type) { - if (defined $proc{'create'}) { - $cb_name = $proc{'create'}; - } - else { - return 1; - } - } - elsif (FC_CB_DESTROY == $cb_type) { - if (defined $proc{'destroy'}) { - $cb_name = $proc{'destroy'}; - } - else { - return 1; - } - } - - $status = call_by_name (@_); - - if ($status < 0) { - my $err = undef; - - if ($@) { - $err = $@; - } - else { - $err = "callback returned false"; - } - - ERROR ("Execution of fc callback \"$cb_name\" failed: $err"); - return; - } - return $status; -} - -sub fc_register { - my $type = shift; - my $name = shift; - my $proc = shift; - - my %fc : shared; - - DEBUG ("Collectd::fc_register: " - . "type = \"$type\" (" . $fc_types{$type} - . "), name = \"$name\", proc = \"$proc\""); - - if (! ((defined $type) && (defined $name) && (defined $proc))) { - ERROR ("Usage: Collectd::fc_register(type, name, proc)"); - return; - } - - if (! defined $fc_plugins[$type]) { - ERROR ("Collectd::fc_register: Invalid type \"$type\""); - return; - } - - if (("HASH" ne ref ($proc)) || (! defined $proc->{$fc_exec_names{$type}}) - || ("" ne ref ($proc->{$fc_exec_names{$type}}))) { - ERROR ("Collectd::fc_register: Invalid proc."); - return; - } - - for my $p (qw( create destroy )) { - if ((defined $proc->{$p}) && ("" ne ref ($proc->{$p}))) { - ERROR ("Collectd::fc_register: Invalid proc."); - return; - } - } - - %fc = %$proc; - - foreach my $p (keys %fc) { - my $pkg = scalar caller; - - if ($p !~ m/^(create|destroy|$fc_exec_names{$type})$/) { - next; - } - - if ($fc{$p} !~ m/^$pkg\:\:/) { - $fc{$p} = $pkg . "::" . $fc{$p}; - } - } - - lock %{$fc_plugins[$type]}; - if (defined $fc_plugins[$type]->{$name}) { - WARNING ("Collectd::fc_register: Overwriting previous " - . "definition of match \"$name\"."); - } - - if (! _fc_register ($type, $name)) { - ERROR ("Collectd::fc_register: Failed to register \"$name\"."); - return; - } - - $fc_plugins[$type]->{$name} = \%fc; - return 1; -} - -sub _plugin_dispatch_config { - my $plugin = shift; - my $config = shift; - - our $cb_name = undef; - - if (! (defined ($plugin) && defined ($config))) { - return; - } - - if (! defined $cf_callbacks{$plugin}) { - WARNING ("Found a configuration for the \"$plugin\" plugin, but " - . "the plugin isn't loaded or didn't register " - . "a configuration callback."); - return; - } - - { - lock %cf_callbacks; - $cb_name = $cf_callbacks{$plugin}; - } - call_by_name ($config); -} - -1; - -# vim: set sw=4 ts=4 tw=78 noexpandtab : - diff --git a/bindings/perl/lib/Collectd/Plugins/Monitorus.pm b/bindings/perl/lib/Collectd/Plugins/Monitorus.pm deleted file mode 100644 index 7054fbf..0000000 --- a/bindings/perl/lib/Collectd/Plugins/Monitorus.pm +++ /dev/null @@ -1,104 +0,0 @@ -# -# collectd - mon.itor.us collectd plugin -# Copyright (C) 2009 Jeff Green -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation; only version 2 of the License is applicable. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# 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 St, Fifth Floor, Boston, MA 02110-1301 USA -# -# Authors: -# Jeff Green -# - -package Collectd::Plugins::Monitorus; - -use strict; -use warnings; - -use Collectd qw( :all ); -use LWP; -use threads::shared; - -use constant NUM_OF_INTERVALS => 90; - -my $intervalcnt :shared; -$intervalcnt=NUM_OF_INTERVALS; -my $prev_value :shared; -$prev_value=0; - -plugin_register (TYPE_READ, "monitorus", "monitorus_read"); - -sub monitorus_read -{ - my $vl = { plugin => 'monitorus', type => 'gauge' }; - - # Only retrieve a value occasionally in order to not overload mon.itor.us - if (++$intervalcnt{'values'} = [ $prev_value ]; - plugin_dispatch_values ($vl); - return 1; - } - - $intervalcnt=0; - - my $site = 'http://mon.itor.us'; - my $username = 'me@example.org'; - my $target = $site.'/user/api/'.$username.'/secretpassword'; - - my $ua = LWP::UserAgent->new; - my $req = HTTP::Request->new(GET => "$target"); - $req->header('Accept' => 'text/html'); #Accept HTML Page - - my $key; - my $res = $ua->get($target); - if ($res->is_success) {# Success....all content of page has been received - $res->content() =~ m/\[CDATA\[(.*)\]\]/; - $key = $1; - } else { - INFO("monitorus: Error in retrieving login page."); - } - - $target = $site.'/test/api/'.$key.'/testNames'; - my $testid; - $res = $ua->get($target); - if ($res->is_success) {# Success....all content of page has been received - $res->content() =~ m/get($target); - if ($res->is_success) {# Success....all content of page has been received - $res->content() =~ m/\<\/row\>\s*(\.*?sitetest_http.*?\<\/row\>)/s; - $result = $1; - $result =~ s/\.*?CDATA.*?\<\/cell\>//g; - $result =~ m|\([0-9]*)\<\/cell\>|; - $value = $1; - } else { - INFO("monitorus: Error in retrieving testsLastValues page."); - } - - $prev_value = $value; - $vl->{'values'} = [ $value ]; - plugin_dispatch_values ($vl); - - return 1; -} - -1; diff --git a/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm b/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm deleted file mode 100644 index 4c7c3fe..0000000 --- a/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm +++ /dev/null @@ -1,247 +0,0 @@ -# -# collectd - OpenVZ collectd plugin -# Copyright (C) 2009 Jonathan Kolb -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the 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 St, Fifth Floor, Boston, MA 02110-1301 USA -# -# Author: -# Jonathan Kolb -# - -package Collectd::Plugins::OpenVZ; - -use strict; -use warnings; - -use Collectd qw( :all ); - -my $vzctl = '/usr/sbin/vzctl'; -my $vzlist = '/usr/sbin/vzlist'; - -# Since OpenVZ is container based, all guests see all the host's CPUs, -# and would report the same data. So we disable CPU by default. -my $enable_interface = 1; -my $enable_cpu = 0; -my $enable_df = 1; -my $enable_load = 1; -my $enable_processes = 1; -my $enable_users = 1; - -# We probably don't care about loopback transfer -my @ignored_interfaces = ( "lo" ); - -sub interface_read { - my ($veid, $name) = @_; - my @rx_fields = qw(if_octets if_packets if_errors drop fifo frame compressed multicast); - my @tx_fields = qw(if_octets if_packets if_errors drop fifo frame compressed); - my %v = _build_report_hash($name); - - my @lines = `$vzctl exec $veid cat /proc/net/dev`; - - for my $line (@lines) { - # skip explanatory text - next if $line !~ /:/; - - $line =~ s/^\s+|\s+$//g; - - my ($iface, %rx, %tx); - - # read /proc/net/dev fields - ($iface, @rx{@rx_fields}, @tx{@tx_fields}) = split /[: ]+/, $line; - - # Skip this interface if it is in the ignored list - next if grep { $iface eq $_ } @ignored_interfaces; - - for my $instance (qw(if_octets if_packets if_errors)) { - plugin_dispatch_values({ - 'plugin' => 'interface', - 'plugin_instance' => $iface, - 'type' => $instance, - 'values' => [ $rx{$instance}, $tx{$instance} ], - %v, - }); - } - } -} - -sub cpu_read { - my $veid = shift; - my $name = shift; - my ($key, $val, $i, @lines, @counters); - my @cpu_instances = ('user', 'nice', 'system', 'idle', 'wait', 'interrupt', 'softirq', 'steal'); - my $last_stat = {}; - my %v = _build_report_hash($name); - - $v{'plugin'} = 'cpu'; - $v{'type'} = 'cpu'; - - $i = 0; - @lines = split(/\n/, `$vzctl exec $veid cat /proc/stat`); - foreach (@lines) { - next if (!/^cpu[0-9]/); - - @counters = split(/ +/); - shift(@counters); - - # Remove once OpenVZ bug 1376 is resolved - if (48485 == $counters[3]) { - $counters[3] = $last_stat->{"$veid-$i-idle"}; - $counters[4] = $last_stat->{"$veid-$i-wait"}; - } - else { - $last_stat->{"$veid-$i-idle"} = $counters[3]; - $last_stat->{"$veid-$i-wait"} = $counters[4]; - } - - $v{'plugin_instance'} = $i++; - for ($key = 0; $key <= $#counters; ++$key) { - $v{'type_instance'} = $cpu_instances[$key]; - $v{'values'} = [ $counters[$key] ]; - plugin_dispatch_values(\%v); - } -} -} - -sub df_read { - my $veid = shift; - my $name = shift; - my ($key, $val, @lines, @parts); - my %v = _build_report_hash($name); - - $v{'plugin'} = 'df'; - delete $v{'plugin_instance'}; - $v{'type'} = 'df'; - - $val = join(' ', map { (split)[1] } split(/\n/, `$vzctl exec $veid cat /proc/mounts`)); - @lines = split(/\n/, `$vzctl exec $veid stat -tf $val`); - foreach (@lines) { - @parts = split(/ /); - next if (0 == $parts[7]); - - $val = substr($parts[0], 1); - $val = 'root' if ($val =~ /^$/); - $val =~ s#/#-#g; - - $v{'type_instance'} = $val; - $v{'values'} = [ $parts[5] * ($parts[6] - $parts[7]), $parts[5] * $parts[7] ]; - plugin_dispatch_values(\%v); -} -} - -sub load_read { - my $veid = shift; - my $name = shift; - my ($key, $val, @lines, @parts); - my %v = _build_report_hash($name); - - $v{'plugin'} = 'load'; - delete $v{'plugin_instance'}; - $v{'type'} = 'load'; - delete $v{'type_instance'}; - - @parts = split(/ +/, `$vzctl exec $veid cat /proc/loadavg`); - $v{'values'} = [ $parts[0], $parts[1], $parts[2] ]; - plugin_dispatch_values(\%v); -} - -sub processes_read { - my $veid = shift; - my $name = shift; - my ($key, $val, @lines); - my %v = _build_report_hash($name); - - my $ps_states = { 'paging' => 0, 'blocked' => 0, 'zombies' => 0, 'stopped' => 0, - 'running' => 0, 'sleeping' => 0 }; - my $state_map = { 'R' => 'running', 'S' => 'sleeping', 'D' => 'blocked', - 'Z' => 'zombies', 'T' => 'stopped', 'W' => 'paging' }; - - $v{'plugin'} = 'processes'; - delete $v{'plugin_instance'}; - $v{'type'} = 'ps_state'; - - @lines = map { (split)[2] } split(/\n/, `$vzctl exec $veid cat '/proc/[0-9]*/stat'`); - foreach $key (@lines) { - ++$ps_states->{$state_map->{$key}}; - } - - foreach $key (keys %{$ps_states}) { - $v{'type_instance'} = $key; - $v{'values'} = [ $ps_states->{$key} ]; - plugin_dispatch_values(\%v); -} -} - -sub users_read { - my $veid = shift; - my $name = shift; - my ($key, $val, @lines); - my %v = _build_report_hash($name); - - $v{'plugin'} = 'users'; - delete $v{'plugin_instance'}; - $v{'type'} = 'users'; - delete $v{'type_instance'}; - - @lines = split(/\n/, `$vzctl exec $veid w -h`); - $v{'values'} = [ scalar(@lines) ]; - plugin_dispatch_values(\%v); -} - -sub _build_report_hash { - my $name = shift; - return (time => time(), interval => plugin_get_interval(), host => $name); -} - -sub openvz_read { - my (@veids, $veid, $name); - - @veids = map { s/ //g; $_; } split(/\n/, `$vzlist -Ho veid`); - - foreach $veid (@veids) { - ($name = `$vzlist -Ho name $veid`) =~ s/^\s*(.*?)\s*$/$1/; - ($name = `$vzlist -Ho hostname $veid`) =~ s/^\s*(.*?)\s*$/$1/ if($name =~ /^-$/); - $name = $veid if ($name =~ /^-$/); - - if($enable_interface) { - interface_read($veid, $name); - } - - if($enable_cpu) { - cpu_read($veid, $name); - } - - if($enable_df) { - df_read($veid, $name); - } - - if($enable_load) { - load_read($veid, $name); - } - - if($enable_processes) { - processes_read($veid, $name); - } - - if($enable_users) { - users_read($veid, $name); - } - - return 1; - } -} - -plugin_register(TYPE_READ, 'OpenVZ', 'openvz_read'); - -return 1; diff --git a/bindings/perl/lib/Collectd/Unixsock.pm b/bindings/perl/lib/Collectd/Unixsock.pm deleted file mode 100644 index 5c6a5f9..0000000 --- a/bindings/perl/lib/Collectd/Unixsock.pm +++ /dev/null @@ -1,640 +0,0 @@ -# -# collectd - bindings/buildperl/Collectd/Unixsock.pm -# Copyright (C) 2007,2008 Florian octo Forster -# -# 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 -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -# DEALINGS IN THE SOFTWARE. -# -# Authors: -# Florian Forster -# - -package Collectd::Unixsock; - -=head1 NAME - -Collectd::Unixsock - Abstraction layer for accessing the functionality by -collectd's unixsock plugin. - -=head1 SYNOPSIS - - use Collectd::Unixsock; - - my $sock = Collectd::Unixsock->new ($path); - - my $value = $sock->getval (%identifier); - $sock->putval (%identifier, - time => time (), - values => [123, 234, 345]); - - $sock->destroy (); - -=head1 DESCRIPTION - -collectd's unixsock plugin allows external programs to access the values it has -collected or received and to submit own values. This Perl-module is simply a -little abstraction layer over this interface to make it even easier for -programmers to interact with the daemon. - -=cut - -use strict; -use warnings; - -use Carp qw(cluck confess carp croak); -use IO::Socket::UNIX; -use Scalar::Util qw( looks_like_number ); - -our $Debug = 0; - -sub _debug -{ - print @_ if $Debug; -} - -sub _create_socket -{ - my $path = shift; - my $sock = IO::Socket::UNIX->new (Type => SOCK_STREAM, Peer => $path); - if (!$sock) - { - cluck ("Cannot open UNIX-socket $path: $!"); - return; - } - return ($sock); -} # _create_socket - -=head1 VALUE IDENTIFIERS - -The values in the collectd are identified using a five-tuple (host, plugin, -plugin-instance, type, type-instance) where only plugin instance and type -instance may be undef. Many functions expect an I<%identifier> hash that has at -least the members B, B, and B, possibly completed by -B and B. - -Usually you can pass this hash as follows: - - $self->method (host => $host, plugin => $plugin, type => $type, %other_args); - -=cut - -sub _create_identifier -{ - my $args = shift; - my ($host, $plugin, $type); - - if (!$args->{host} || !$args->{plugin} || !$args->{type}) - { - cluck ("Need `host', `plugin' and `type'"); - return; - } - - $host = $args->{host}; - $plugin = $args->{plugin}; - $plugin .= '-' . $args->{plugin_instance} if defined $args->{plugin_instance}; - $type = $args->{type}; - $type .= '-' . $args->{type_instance} if defined $args->{type_instance}; - - return "$host/$plugin/$type"; -} # _create_identifier - -sub _parse_identifier -{ - my $string = shift; - my ($plugin_instance, $type_instance); - - my ($host, $plugin, $type) = split /\//, $string; - - ($plugin, $plugin_instance) = split /-/, $plugin, 2; - ($type, $type_instance) = split /-/, $type, 2; - - my $ident = - { - host => $host, - plugin => $plugin, - type => $type - }; - $ident->{plugin_instance} = $plugin_instance if defined $plugin_instance; - $ident->{type_instance} = $type_instance if defined $type_instance; - - return $ident; -} # _parse_identifier - -sub _escape_argument -{ - local $_ = shift; - - return $_ if /^\w+$/; - - s#\\#\\\\#g; - s#"#\\"#g; - return "\"$_\""; -} - -# Send a command on a socket, including any required argument escaping. -# Return a single line of result. -sub _socket_command { - my ($self, $command, $args) = @_; - - my $fh = $self->{sock} or confess ('object has no filehandle'); - - if($args) { - my $identifier = _create_identifier ($args) or return; - $command .= ' ' . _escape_argument ($identifier) . "\n"; - } else { - $command .= "\n"; - } - _debug "-> $command"; - $fh->print($command); - - my $response = $fh->getline; - chomp $response; - _debug "<- $response\n"; - return $response; -} - -# Read any remaining results from a socket and pass them to -# a callback for caller-defined mangling. -sub _socket_chat -{ - my ($self, $msg, $callback, $cbdata) = @_; - my ($nresults, $ret); - my $fh = $self->{sock} or confess ('object has no filehandle'); - - ($nresults, $msg) = split / /, $msg, 2; - if ($nresults <= 0) - { - $self->{error} = $msg; - return; - } - - for (1 .. $nresults) - { - my $entry = $fh->getline; - chomp $entry; - _debug "<- $entry\n"; - $callback->($entry, $cbdata); - } - return $cbdata; -} - - -=head1 PUBLIC METHODS - -=over 4 - -=item I<$self> = Collectd::Unixsock->B ([I<$path>]); - -Creates a new connection to the daemon. The optional I<$path> argument gives -the path to the UNIX socket of the C and defaults to -F. Returns the newly created object on success and -false on error. - -=cut - -sub new -{ - my $class = shift; - my $path = shift || '/var/run/collectd-unixsock'; - my $sock = _create_socket ($path) or return; - return bless - { - path => $path, - sock => $sock, - error => 'No error' - }, $class; -} # new - -=item I<$res> = I<$self>-EB (I<%identifier>); - -Requests a value-list from the daemon. On success a hash-ref is returned with -the name of each data-source as the key and the according value as, well, the -value. On error false is returned. - -=cut - -sub getval # {{{ -{ - my $self = shift; - my %args = @_; - my $ret = {}; - - my $msg = $self->_socket_command('GETVAL', \%args) or return; - $self->_socket_chat($msg, sub { - local $_ = shift; - my $ret = shift; - /^(\w+)=NaN$/ and $ret->{$1} = undef, return; - /^(\w+)=(.*)$/ and looks_like_number($2) and $ret->{$1} = 0 + $2, return; - }, $ret - ); - return $ret; -} # }}} sub getval - -=item I<$res> = I<$self>-EB (I<%identifier>); - -Requests a threshold from the daemon. On success a hash-ref is returned with -the threshold data. On error false is returned. - -=cut - -sub getthreshold # {{{ -{ - my $self = shift; - my %args = @_; - my $ret = {}; - - my $msg = $self->_socket_command('GETTHRESHOLD', \%args) or return; - $self->_socket_chat($msg, sub { - local $_ = shift; - my $ret = shift; - /^\s*([^:]+):\s*(.*)/ and do { - $1 =~ s/\s*$//; - $ret->{$1} = $2; - }; - }, $ret - ); - return $ret; -} # }}} sub getthreshold - -=item I<$self>-EB (I<%identifier>, B