pax_global_header 0000666 0000000 0000000 00000000064 14441542472 0014521 g ustar 00root root 0000000 0000000 52 comment=d811f73c02a1cc8df7bf96e9e123e3b3e7ddfff4
ipv6calc-4.1.0/ 0000775 0000000 0000000 00000000000 14441542472 0013232 5 ustar 00root root 0000000 0000000 ipv6calc-4.1.0/.gitattributes 0000664 0000000 0000000 00000000317 14441542472 0016126 0 ustar 00root root 0000000 0000000 README* ident
ChangeLog ident
CHANGES ident
COPYING ident
CREDITS ident
INSTALLING ident
TODO ident
USAGE ident
VERSION* ident
Makefile ident
*.c ident
*.h ident
*.lyx ident
*.sh ident
*.in ident
*.pl ident
ipv6calc-4.1.0/.github/ 0000775 0000000 0000000 00000000000 14441542472 0014572 5 ustar 00root root 0000000 0000000 ipv6calc-4.1.0/.github/FUNDING.yml 0000664 0000000 0000000 00000000075 14441542472 0016411 0 ustar 00root root 0000000 0000000 custom: https://paypal.me/PeterBieringer
liberapay: ~1780160
ipv6calc-4.1.0/.github/workflows/ 0000775 0000000 0000000 00000000000 14441542472 0016627 5 ustar 00root root 0000000 0000000 ipv6calc-4.1.0/.github/workflows/codeql-analysis.yml 0000664 0000000 0000000 00000004436 14441542472 0022451 0 ustar 00root root 0000000 0000000 # For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '32 9 * * 4'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'cpp' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
ipv6calc-4.1.0/.gitignore 0000664 0000000 0000000 00000001606 14441542472 0015225 0 ustar 00root root 0000000 0000000 *.o
*.so
*.so.*
*.a
*.la
*.lo
*.slo
*~
Makefile
autogen-all-variants.status
autom4te.cache/
config.h
config.log
config.status
databases/lib/Makefile
getopt/Makefile
ipv6calc/Makefile
ipv6calcweb/Makefile
ipv6loganon/Makefile
ipv6logconv/Makefile
ipv6logstats/Makefile
lib/Makefile
man/Makefile
md5/Makefile
mod_ipv6calc/Makefile
tools/DBIP-update.sh
tools/GeoIP-update.sh
tools/IP2Location-update.sh
tools/Makefile
tools/ipv6calc-db-update.sh
ipv6calc/ipv6calc
ipv6calcweb/ipv6calcweb.cgi
ipv6loganon/ipv6loganon
ipv6logconv/ipv6logconv
ipv6logstats/ipv6logstats
databases/*/*.db
*/.libs/*
databases/ieee-iab/iab.csv
databases/ieee-oui/oui.csv
databases/ieee-oui28/mam.csv
databases/ieee-oui36/oui36.csv
databases/registries/afrinic/
databases/registries/apnic/
databases/registries/arin/
databases/registries/iana/
databases/registries/lacnic/
databases/registries/lisp/
databases/registries/ripencc/
ipv6calc-4.1.0/CHANGES 0000664 0000000 0000000 00000005300 14441542472 0014223 0 ustar 00root root 0000000 0000000 Major Changes/Enhancements of ipv6calc
1.xx -> 2.xx
============
- add support for MaxMindDB based database files like GeoIP version 2 or db-ip.com
- drop IP2Location library support < 7.0.0
0.94 -> 0.95
============
- full IPv6 address (prefix + IID) anonymization added by selecting method "kp"
e.g. 2001:0a60:11e1:9501:e876:aee4:0721:e8ac => a909:16fa:9092:23ff:a909:4941::7
- type string "iid-privacy" is replaced with "iid-random"
- add support for options to specify database directories
db-ip2location-dir
db-geoip-dir
- add support for options to specify library files (in case of dynamic linking is configured)
db-ip2location-lib
db-geoip-lib
- add support for options to disable GeoIP and IP2Location on runtime
db-ip2location-disable
db-geoip-disable
- ignore options for specifying files for GeoIP & IP2Location
db-ip2location-ipv4
db-ip2location-ipv6
db-ip2location-default
db-ip2location-ipv4-default
db-ip2location-ipv6-default
db-geoip-ipv4
db-geoip-ipv6
db-geoip-default
db-geoip-ipv4-default
db-geoip-ipv6-default
- add configure options
--with-ip2location-db
--with-geoip-db
--with-ip2location-dyn-lib
--with-geoip-dyn-lib
- remove configure options
--with-ip2location-ipv4-default-file=file
--with-ip2location-ipv6-default-file=file
--with-geoip-ipv4-default-file=file
--with-geoip-ipv6-default-file=file
- add support for anonymization of EUI-64 addresses
option --mask-iid is now deprecated and replaced by new option --mask-eui64
- anonymization/zeroize: add option to autoadjust mask to keep some type or OUI/IAB values
universal/local bit will be always kept on zeroizing EUI-48/EUI-64
ipv6calc
- '-A filter' is autoselected if '-E ' is given
ipv6calcweb.cgi
- remove support for environment values
HTTP_IPV6CALCWEB_DB_IP2LOCATION_IPV4
HTTP_IPV6CALCWEB_DB_IP2LOCATION_IPV6
HTTP_IPV6CALCWEB_DB_GEOPIP_IPV4
HTTP_IPV6CALCWEB_DB_GEOPIP_IPV6
- add support for environment values
HTTP_IPV6CALCWEB_DB_IP2LOCATION_DIR
HTTP_IPV6CALCWEB_DB_IP2LOCATION_LIB
HTTP_IPV6CALCWEB_DB_GEOPIP_DIR
HTTP_IPV6CALCWEB_DB_GEOPIP_LIB
- ipv6logstats is now able to create additional statistics by
CountryCode & AS Number (in case of related database support)
DateTime and Unixtime is now displayed on generated statistics
- ipv6calc/showinfo
IP2LOCATION_DATABASE_INFO_IPV4 (replaced)
IP2LOCATION_DATABASE_INFO_IPV6 (replaced)
IP2LOCATION_DATABASE_INFO (reintroduced)
GEOIP_DATABASE_INFO_IPV4 (replaced)
GEOIP_DATABASE_INFO_IPV6 (replaced)
GEOIP_DATABASE_INFO (reintroduced)
IPV6CALC_OUTPUT_VERSION=7
0.93 -> 0.94
============
- add OUI-36 database support
ipv6calc-4.1.0/COPYING 0000664 0000000 0000000 00000043132 14441542472 0014270 0 ustar 00root root 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 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 Library General
Public License instead of this License.
ipv6calc-4.1.0/CREDITS 0000664 0000000 0000000 00000004301 14441542472 0014250 0 ustar 00root root 0000000 0000000 Credits to
* Ville Skyttä
for various spelling and grammar fixes
* Paul Streander
for testing db-ip.com "full" database support
* Nikoli
for supplying compilation compatibility patches
* Luca Bruno
for supplying security patches
* Raphaël Assénat
for contributing the 6rd extension
* Evan Hunt & Dave Täht
for bug hunting on MIPS platform
* Pedro LaWwrench
for bug reporting
* JC Janos
for bug reporting
* Niko Tyni
- clean reimplementation of RFC 1924 conversion code
- some help on configure.in
- contribution of patches and man files
* Eric S. Raymond
- contribution of patches for man page
* Authors of ircd
for RFC 1884 decompress algorithms
* Authors of net-tools
(recycling of some code)
* Authors of Linux kernel
(recycling of some code)
* Arkadiusz Miskiewicz
- for previously used RFC 1884 compress example code
- for hints how to use AC_CHECK_* in configure.in
* Jun-ichiro itojun Hagino
for previously used RFC 1884 compress example code
* Horacio J. Peña
for previously used RFC 1884 compress example code
* Hubert Feyrer
for BSD enabling patches, NetBSD testbed and several help
* Pekka Savola
for bug reporting
* YOSHIFUJI Hideaki
for MD5 hints
* Vladimir Kotal
for getopt patch for compiling on OpenBSD
* Peter Poeml
for bug reporting
* Rolf Holtsmark
for bug reporting
*
for contributing man pages
* Radek Vokal
some fixes
* Simon Arlott
patch to extend IPv6 TLA assignment
* Brad Allen/sonic.net
for bug reporting
* VMware, in which my OpenBSD and FreeBSD installation is running
* Peter A. Darnell and Philip E. Margolis
C - A software engineering approach
[one of the best books about programming language C around the world,
forget Kerningham/Ritchie, use this book instead like me for over
17 years ]
Peter Bieringer, 2022-01-27
ipv6calc-4.1.0/ChangeLog 0000664 0000000 0000000 00000234643 14441542472 0015020 0 ustar 00root root 0000000 0000000 /*
* $Id: c8ef94cd4ca07441a5454e5b08fa5c23ee80a63c $
*/
Info:
PB = Peter Bieringer
NT = Niko Tyni
ESR = Eric S. Raymond
PV = Peter Volkov
AGP = Anthony G. Basile
VZ = Vadim Zhukow https://github.com/grayedhttps://github.com/grayed
--------------------------------------------------------------------
20230612/PB:
tag version 4.1.0
20230609/PB:
databases/lib/libipv6calc_db_wrapper_IP2Location.c: adjustments depending on IP2Location version
databases/lib/libipv6calc_db_wrapper.c: adjustments depending on IP2Location version
20230608/PB:
databases/lib/libipv6calc_db_wrapper_IP2Location.[h|c]: add support for DB-26
databases/lib/libipv6calc_db_wrapper.c: extension for ASN from IP2Location (DB-26)
databases/lib/libipv6calc_db_wrapper.h: minor bugfix
configure[.in]: add support for -Wno-deprecated-declarations (openssl/md5 workaround)
autogen-all-variants.sh: disable static build for --enable-openssl-md5
autogen.sh: remove -Wl,--as-needed from LDFLAGS as causing issues with -S
internal databases: update
20230606/PB:
tools/IP2Location-update.sh.in: add option -S to download a specific sample file
20230112/PB:
ipv6calc/ipv6calc.c: bugfix related to ACTION_addr_to_countrycode and pipe mode
20221204/PB:
internal databases: update
tag version 4.0.2
20220730/PB:
databases/tools/create_ieee_headerfile.pl: extend hints in case of entries have to be extended in lib/libieee.h
internal databases: update
20220127/PB:
tag version 4.0.1
20220125/PB:
databases/lib/libipv6calc_db_wrapper_External.c: bugfix related to db_ptr_cache
internal databases: update
20211114/PB:
various spelling and grammar fixes (credits to Ville Skyttä)
20211020/PB:
ipv6calcweb/ipv6calcweb.cgi.in: change geonames URL to https
20211019/PB:
ipv6calcweb/ipv6calcweb.cgi.in: several cosmetic updates and fixes
databases/ieee*/Makefile: alignments related to libieee.[ch] changes
internal databases: update
tag version 4.0.0
20211003/PB:
tools/ipv6calc-create-update-ipset.sh: (add)
20210930/PB:
configure[.in]: add support for OpenSSL EVP MD5 legacy (OpenSSL 1.0.x)
lib/librfc3041.c: add support for OpenSSL EVP MD5 legacy (OpenSSL 1.0.x)
configure[.in]: try to resolve BerkeleyDB library version required for static builds
20210927/PB:
ipv6calc/ipv6calc.c(+dependent files): add option '--print-ipset ' to be honored by action "dbdump"
20210924/PB:
ipv6calc/ipv6calc.c: improve error message in case input and output type is given but no action autodetected
ipv6calc/ipv6calc.c: new output format ip6to4 for IPv4 addresses (also supported on action "dbdump")
20210921/PB:
*.c/*.h: complete reorg of static includes in *.h to avoid private copies where possible
20210919/PB:
internal databases: update
lib/libipaddr.c: copy also flags/prefixlengths
lib/ipv6calctypes.h ipv6calc/ipv6calc.c databases/lib/libipv6calc_db_wrapper_External.[h,c] databases/lib/libipv6calc_db_wrapper.[h,c] ipv6calc/test_ipv6calc.sh lib/ipv6calchelp.c: add new action -A dbdump
20210918/PB:
lib/libipv6addr.c: ipv6addrstruct_to_uncompaddrprefix: print prefix length if given and not suppressed by option
lib/librfc3056.c,lib/ipv6calchelp.c,ipv6calc/test_ipv6calc.sh: action conv6to4 keeps (and mask) prefix length if not suppressed by option
20210916/PB:
configure[.in]: add support for OpenSSL EVP MD5 (with precedence), add additional MD5 implementation selection options
lib/librfc3041.c: add support for OpenSSL EVP MD5
lib/ipv6calchelp.c: display linked MD5 implementation
*/Makefile[.in]: fixes related to static builds
autogen-all-variants.sh: add additional variants for OpenSSL legacy and EVP MD5
configure[.in]: define CFLAG_EXTRAS=-fPIC to fix linker issues since use of regex was introduced
20210809/PB:
ipv6calc/ipv6calc.c ipv6calc/ipv6calcoptions_local.h ipv6calc/test_ipv6calc.sh lib/ipv6calchelp.c lib/ipv6calctypes.h lib/libipv4addr.c:
add support for output of IPv4 in dot separated octal and also autodetect/parse such input
20210801/PB:
tools/DBIP-update.sh.in: add support for deleting older files (-C )
20210714/PB:
tag version 3.2.0
20210712/PB:
internal databases: update
20210708/PB:
lib/librfc1884.c ipv6calc/test_ipv6calc.sh ipv6calc/test_scenarios.sh ipv6loganon/test_ipv6loganon.sh: output format fix for compressed IPv6 addresses (https://github.com/pbiering/ipv6calc/issues/28)
20210529/PB:
databases/lib/libipv6calc_db_wrapper_IP2Location.c|h: add support for blacklisting IP2Location DB25 files < 8.4.0
databases/lib/libipv6calc_db_wrapper_IP2Location.c: fix broken dedicated db selection option
Bugfixes related to "pull/20" (https://github.com/pbiering/ipv6calc/issues/25)
20210528/PB:
replace NI_MAXHOST with IPV6CALC_STRING_MAX or PATH_MAX where applicable (https://github.com/pbiering/ipv6calc/issues/24)
tools/IP2Location-update.sh[.in]: add support for 'token' authentication
databases/lib/libipv6calc_db_wrapper_IP2Location.h: add initial support for IP2Location DB25 files
autogen-support.sh: add IP2Location 8.3.0 8.3.1 8.4.0
Bugfixes related to "pull/20" (https://github.com/pbiering/ipv6calc/issues/25)
20210522/PB:
Bugfixes related to "pull/20" (https://github.com/pbiering/ipv6calc/issues/25)
tag version 3.1.1
20210518/PB:
Improve revnibble handling (TLD+NLD given given -> prefix, missing -> suffix), add related online help
tag version 3.1.0
20210516/VZ:
Fix tests on OpenBSD (https://github.com/pbiering/ipv6calc/pull/21)
20210516/PB:
Improve autodetection of nibble strings, add additional test cases, triggered by "pull/19"
Bugfixes related to "pull/20"
internal databases: update
20210515/VZ:
Shell scripts refinement (https://github.com/pbiering/ipv6calc/pull/20)
add support for compressed IPv4 addresses, like 10/8 (https://github.com/pbiering/ipv6calc/pull/19)
20210116/PB:
all */test_*.sh: enforce use of "bash" (FreeBSD regression test result)
ipv6loganon/test_ipv6loganon.sh: fix for "sed" which is not supporting \W (FreeBSD regression test result)
databases/lib/libipv6calc_db_wrapper.c databases/lib/libipv6calc_db_wrapper_MMDB.c: use different way to access union members in in6_addr (FreeBSD regression test result)
ipv6calcweb/test_ipv6calcweb_form.sh ipv6calcweb/test_ipv6calcweb.sh:
use different way of calling cgi with optional -T where not causing issues (FreeBSD regression test result)
ipv6calcweb/create_ipv6calcweb-cgi.sh: remove -T on FreeBSD (FreeBSD regression test result)
ipv6calcweb/test_ipv6calcweb.sh: skip AntiDDoS test on FreeBSD (FreeBSD regression test result)
ipv6calcweb/Makefile.in: remove explicit make of ipv6calc (FreeBSD regression test result)
autogen.sh-support.sh: autodetect GNU make if available (FreeBSD regression test result)
autogen.sh: add additional 'hint' regarding includes/libs in case of "clang" is used (FreeBSD regression test result)
autogen-all-variants.sh: skip bundled getopt/md5 + 32-bit tests (FreeBSD regression test result)
tag version 3.0.2
20210115/PB:
configure[.in]: add missing predefine ENABLE_BUNDLED_GETOPT=0 ENABLE_BUNDLED_MD5=0
20210113/PB:
ipv6calc/showinfo.c: fix for compilers < C99
20210113/PB:
internal databases: update
lib/libieee.h: add 6 new OUI28 prefixes
configure[.in]: remove obsolete and incomplete function checks
tag version 3.0.1
20210110/PB:
ipv6calc/showinfo.c: add support for wildcard in select token
ipv6loganon/ipv6loganon.c ipv6calc/ipv6calc.c: autodetect support for ANON_ANONYMIZE
ipv6calc/ipv6calc.c: do not enforce output type for revnibbles and ipv6literal in case of showinfo
ipv6calc/test_scenarios.sh: add test cases for wildcard support in select token
ipv6calc/test_ipv6calc_anonymization.sh: take use of wildcard support in select token
config.h.in databases/lib/libipv6calc_db_wrapper.c configure: don't check/use 'memcmp'
lib/libipv6addr.c: fix missing settype for extracted IPv4 address
20210109/PB:
databases/lib/libipv6calc_db_wrapper_BuiltIn.c databases/lib/libipv6calc_db_wrapper.c: fixes for case of all internal databases are disabled
configure configure.in: fix typo and builtin default, add disable-builtin option (catch-all)
autogen.sh: add test case for disabling all internal databases
ipv6calc/test_ipv6calc_anonymization.sh: skip standard anonymization tests if not supported
ipv6calc/ipv6calc.c: disable standard anonymization feature if builtin database is not enabled
autogen-all-variants.sh: add additional variants
20210108/PB:
autogen.sh: add test case for gcc -Os
lib/ipv6calctypes.h lib/libipv4addr.c lib/libipv6addr.c: fix 'maybe-uninitialized' issue found by gcc -Os
20201108/PB:
tag version 3.0.0
20201107/PB:
internal databases: update
20201019/PB:
Drop support of GeoIP(legacy) and db-ip.com(BerkeleyDB):
README README.DBIP README.GeoIP autogen.sh config.h.in configure
databases/lib/Makefile.in
databases/lib/libipv6calc_db_wrapper.c
doc/ipv6calc.[lyx|sgml|xml|html]
ipv6calc/Makefile.in ipv6calc/ipv6calc.c ipv6calc/showinfo.c
ipv6loganon/Makefile.in
ipv6logconv/Makefile.in
ipv6logstats/Makefile.in ipv6logstats/ipv6logstats.c
lib/Makefile.in lib/ipv6calccommands.h lib/ipv6calchelp.c lib/ipv6calcoptions.c lib/ipv6calcoptions_common.h
ipv6calcweb/ipv6calcweb.cgi.in
mod_ipv6calc/Makefile.in mod_ipv6calc/ipv6calc.conf mod_ipv6calc/test_mod_ipv6calc.sh
autogen-all-variants.sh: drop also support of EOL IP2Location library version
contrib/ipv6calc.spec[.in]: sync also with FedoraProject version
databases/lib/libipv6calc_db_wrapper_DBIP.[c|h]: deleted
databases/lib/libipv6calc_db_wrapper_GeoIP.[c|h]: deleted
external-fallback/GeoIP/*: deleted
external-fallback/IP2Location/*: deleted
tools/DBIP-update.sh.in: fix database directory
tools/GeoIP-update.sh.in: fix database directory
databases/lib/libipv6calc_db_wrapper_IP2Location.c: remove support of EOL IP2Location library version, adjust for 8.2.0
README.DBIP2: add additional hints
internal databases: update
20200910/PB:
mod_ipv6calc/test_mod_ipv6calc.sh: add additional test cases for new config/environment options
mod_ipv6calc/ipv6calc.conf: add info about new config/environment/debug options
mod_ipv6calc/Makefile[.in]: add additional test cases for new config/environment options
mod_ipv6calc/mod_ipv6calc.c: add new debug option IPV6CALC_DEBUG_SHOW_ENVIRONMENT, add support for new config/environment options
20200908/PB:
ipv6calcweb/ipv6calcweb.conf: unset all possible headers related to supported environment variables to avoid unexpected preset via extra headers in request
mod_ipv6calc/ipv6calc.conf: disable legacy databases GeoIP(v1) and DBIP(Berkeley) by default
databases/lib/libipv6calc_db_wrapper_External.c: stdout->stderr bugfixes, remove redundant #ifdef
mod_ipv6calc/mod_ipv6calc.c: add new debug option IPV6CALC_DEBUG_SHOW_CLIENT_IP
20200905/PB:
databases/lib/libipv6calc_db_wrapper_External.c: remove unused function, do not close database in case an error is found, log extended information instead, fix variable handling for strtok
ipv6calc/test_scenarios.sh: some fixes related to database updates
20200904/PB:
lib/libipv6addr.c: extract ASN from anonymized included IPv4 address in IID
ipv6calcweb/ipv6calcweb.cgi[.in]: HTTP_IPV6CALCWEB_ANTIDOS_PROCMAX: activate test only if proc_max != 0 (solve "make test" issue)
20200825/PB:
ipv6calcweb/ipv6calcweb.cgi[.in]: HTTP_IPV6CALCWEB_ANTIDOS_PROCMAX default 0 and activate test only if proc_max > 0 to avoid SELinux issues (until a better solution is found)
20200824/PB:
tools/DBIP-update.sh[.in]: honor also IPV6CALC_DB_DBIP2_DIR
tools/GeoIP-update.sh[.in]: honor also IPV6CALC_DB_GEOIP2_DIR, remove legacy no-longer-working download mode, improve verbose mode
tools/IP2Location-update.sh[.in]: honor also IPV6CALC_DB_IP2LOCATION_DIR, add verbose option, mask password in verbose mode
tools/ipv6calc-db-update.sh[.in]: honor also IPV6CALC_DB_EXTERNAL_DIR
lib/ipv6calchelp.c: add hint about predefined long options from environment, fix missing catch for db-prio regarding DBIP2 and GEOIP2
20200822/PB:
spec: add requirement "unzip" (for IP2Location-update.sh)
tools/IP2Location-update.sh: check for existing "unzip"
tools/ipv6calc-db-update.sh[.in]: fix broken options -D|h|?
20200720/PB:
databases: update
lib/libipv4addr.h lib/libipv4addr.c: fix not working --no-prefixlength, add support maskprefix/suffix
lib/ipv6calctypes.h: add support maskprefix/suffix, forceprefix length
ipv6calc/ipv6calc.c: add support maskprefix/suffix
20200718/PB:
ipv6calc/ipv6calc.c,ipv6calc/ipv6calcoptions_local.h,lib/librfc1884.c: fix not working --forceprefix / --no-prefixlength
20200621/PB:
databases: update
databases/tools/create_ieee_headerfile.pl: minor improvement
contrib/ipv6calc.spec[.in]: cover 2 potential ldconfig locations
20200512/PB:
tools/ipv6calc-update-registries.sh: adjust LISP URL (website moved)
20200124/PB:
ipv6logconv/ipv6logconv.{h,c}: fix multiple definition of 'cache_lru_limit'
20191209/PB:
ipv6calcweb/ipv6calcweb.cgi[.in]: fix missing description for GeoName ID, remove unexpected GenName links
20191012/PB:
tag version 2.2.0
20191011/PB:
external-fallback/IP2Location: update to 8.0.9
20191008/PB:
ipv6calc/showinfo.c: fix bug regarding decoding anonymized EUI-48/64
ipv6calc/test_scenarios.sh: add additional test cases for OUI-24/28/36
20191007/PB:
databases/ieee*: update, switch to CSV mode
databases/tools/create_ieee_headerfile.pl: remove TXT parser, add CSV parser
databases/ieee-oui/create_ieee_oui_headerfile.pl: removed, EOL
lib/libeui64.c,lib/libieee.c,lib/libieee.h,lib/libmac.c: add support for oui28
20191006/PB:
autogen-all-variants.sh: add permutations for --clang and --m32
{getopt,md5}/Makefile.in: remove unnecessary -s option (make clang happy), fix --m32 support
lib/Makefile.in: fix --m32 support
databases/lib/Makefile.in: fix --m32 support
autogen.sh/configure.in: improve --m32 support
configure.in: fix LDFLAGS issue (ldb)
databases/lib/libipv6calc_db_wrapper_MMDB.h: add workaround for libmaxminddb header file pinning to m32 or m64
{ipv6calc,ipv6logconv,ipv6loganon,ipv6logstats}/Makefile.in: fix LDFLAGS usage
Makefile.in: catch error during single update, add support for oui28
databases/tools/create_ieee_headerfile.pl: add support for oui28
databases/ieee-{iab,oui,oui36}/{Makefile,README}: fix URLs
databases/ieee-oui28: new
databases/lib/libipv6calc_db_wrapper_BuiltIn.{c,h}: add support for oui28
20191005/PB:
databases/lib/libipv6calc_db_wrapper_{GeoIP2,DBIP2}.c: remove not necessary dependencies to db.h
update documentation
internal databases: update
20190923/PB:
tools/DBIP-update.sh[.in]: drop CSV database support
tools/DBIP-generate-db.pl: removed, no longer needed
20190908/PB:
autogen.sh: small bugfix
databases/lib/libipv6calc_db_wrapper_MMDB.c: make clang happy by initialization of "result_MMDB_lookup_sockaddr"
configure[.in]: adjust fix --disable-mod_ipv6calc to support also EL6
databases/lib/libipv6calc_db_wrapper.c: fix for 32 bit systems
ipv6calc/test_ipv6calc.sh: adjust IP to test
tag version 2.1.1
20190907/PB:
databases/lib/libipv6calc_db_wrapper_MMDB.c: add support for registered_country (fallback)
contrib/ipv6calc.spec[.in]: add build requirement: automake make
databases/lib/libipv6calc_db_wrapper.c: fix format token
lib/libipv6addr.c: make clang happy by initialization of "flags"
20190607/PB:
configure[.in]: fix broken logic in case of --disable-mod_ipv6calc is given
20190428/PB:
databases/lib/libipv6calc_db_wrapper_IP2Location.c: cosmetic fixes + reorg
20190405/PB
databases: update
tag version 2.1.0
20190308/PB
some files: add IP address anonymization support "keep-type-geonameid"
ipv6calcweb: disable GeoIP/DBIP legacy databases by default
databases: update
ipv6calc: add action "address to countrycode" and for machine readable "match token suffix"
20190128/PB
many files: add MaxMindDB support, internal improvements and fixes
databases: update
ipv6calc/showinfo: add tokensuffix filter option
tag version 2.0.0
20190120/PB
ipv6calc/ipv6calc.c: Merge pull request #10 from packetloop/segment-fault-when-pipe
20190109/PB
tools/DBIP-update.sh[.in]: fix buggy download error handling
20181010/PB
tools/DBIP-update.sh[.in]: switch to 'lite' database files
tools/DBIP-generate-db.pl: accept also format of 'lite' databases without quotes
20181003/PB
databases: update
tag version 1.1.0
20180902/PB
lib/{ipv6calccommands.h,ipv6calcoptions.c,ipv6calcoptions_common.h}: catch DB disable options even if support is not compiled in
ipv6calcweb/ipv6calcweb.cgi[.in],ipv6calcweb/test_ipv6calcweb.sh: implement test for Anti-DoS protection, minor adjustments
lib/libeui64.c: fix syntax checker
ipv6calc/ipv6calc.c,lib/ipv6calctypes.h: add support for new extract actions of MAC/EUI64 from IPv6 address
20180901/PB
databases: update
20180827/PB
ipv6calcweb/ipv6calcweb.cgi[.in]: implement lightweight Anti-DoS protection
20180502/PB
tools/DBIP-update.sh[.in]: keep downloaded file in case of error
tools/DBIP-generate-db.pl: remove special escaping, no longer necessary
20180203/PB
ipv6calc/ipv6calc.c: replace sprintf with snprintf
configure[.in]: disable errors related to format-truncation
databases/lib/libipv6calc_db_wrapper_DBIP.c: replace strncpy with snprintf
20170701/PB
minor update regarding database update information, pack database infos into RPM
20171002/PB
tools/DBIP-update.sh[.in]: add option for URL to download "full" database
20170918/PB
extend configure to add extra library link flags also to mod_ipv6calc build
20170701/PB
minor update regarding database update information, pack database infos into RPM
20170625/PB
mod_ipv6calc/test_mod_ipv6calc.sh: add fallback path for ps binary
databases: update
tag version 1.0.0
20170622/PB
various: cosmetics and fix help/version option handling
20170621/PB
doc/*: update
ipv6calc/ipv6calc.c, ipv6loganon/ipv6loganon.c, ipv6logconv/ipv6logconv.c, ipv6logstats/ipv6logstats.c: improve option handling
20170618/PB
databases/lib/libipv6calc_db_wrapper_IP2Location.c: add fallback for library version display < 8.0.4
20170617/PB
external-fallback/IP2Location: update to version 8.0.4
databases/lib/libipv6calc_db_wrapper.c: improve the limiter of a binary search
autogen-support.sh: add GeoIP 1.6.10 1.6.11, IP2Location 8.0.4
20170616/PB
databases/lib/libipv6calc_db_wrapper.c: detect loops in binary search earlier then reaching the limit
20170614/PB
databases/lib/libipv6calc_db_wrapper_External.c: fix caching wrong pointers of subdbs
20170613/PB
databases/lib/libipv6calc_db_wrapper.c: fix potential endless lookups in binary search in case database has holes
20170607/PB
databases: update
20170228/PB
ipv6calc/showinfo.h: increase output version to 11
20170227/PB
various files: bugfixes
tools/DBIP-generate-db.pl: add support for isp/location version of DBIP.com
20170226/PB
various files: add LISP support in External database
IP2Location: add enhancements for upcoming 8.0.4
20170225/PB
various files: add LISP support in BuiltIn database
ipv6calcweb/ipv6calcweb.cgi[.in]: add URL support for LISP and Longitude/Latitude (Openstreetmap)
20170219/PB
tools/DBIP-generate-db.pl: add support for full version of DBIP.com
databases/lib/libipv6calc_db_wrapper_DBIP.[ch]: add support for full version of DBIP.com
databases/lib/libipv6calc_db_wrapper.c, lib/ipv6calchelp.c, lib/ipv6calccommands.h, lib/ipv6calcoptions_common.h: add support for DBIP.com DB selection options
20170205/PB
databases/lib/libipv6calc_db_wrapper.c: add support for LISP
internal: rename 'scope' to 'typeinfo'
internal: switch from ipv*addr_gettype ipv*addr_settype
test scripts: various cosmetics and add LISP tests
lib/libipv6addr.[ch]: add support for anonymization of LISP addresses
lib/libipv6calc.h: add LISP registry
20170127/PB
lib/libipv4addr.[ch]: implement support for LISP-IPv4
lib/libipv6addr.[ch]: extend filter structure for typeinfo2
20170124/PB
lib/libipv6addr.[ch]: implement support for LISP-IPv6
ipv6calc/showinfo.c: add typeinfo2 also on human readable output
20161231/PB
lib/Makefile.in,databases/lib/Makefile.in: skip build of shared library if not selected by configure option (https://github.com/pbiering/ipv6calc/issues/3)
20161228/PB
configure[.in]: add conditional support for -Wextra (clang)
various *.c/*.h: fixes regarding -Wextra
TODO: update
contrib/ipv6calc.spec[.in]: add support for git commit hash
tag version 0.99.2
20161224/PB
databases: update
databases/cc-assignment/create-cc-to-registry-list.pl: perl syntax fix
databases/registries/Makefile: fix distclean
20161218/PB
ipv6calc/ipv6calc.c: remove unnecessary parenthesis to fulfill -Wparentheses-equality
configure[.in]: add conditional support for -Wparentheses-equality (seen on FreeBSD 12)
README.BUILDING-IP2LOCATION: updates
databases: update
autogen.sh: add option '--clang'
autogen-support.sh: add additional versions of GeoIP and IP2Location
databases/lib/libipv6calc_db_wrapper_IP2Location.c: remove unnecessary parenthesis to fulfill -Wparentheses-equality
20160907/PB
README,doc/ipv6calc.*: replace CVS with GitHub URL
doc/ldp.dsl: original copy from TLDP
databases/lib/libipv6calc_db_wrapper_IP2Location.c: add support for version 8
lib/ipv6calchelp.c: add support for IP2Location API version feature (new in version 8)
TODO: update
README: updates
contrib/ipv6calc.spec: fix typos
20161004/PB
ipv6calc: support (<|<=|>=|>) option in address filter strings
ipv6calc: support =(lt|le|ge|gt)= as an alternative option in address filter strings
20161003/PB
ipv6calc: add option --test_lt|gt|le|ge
20160929/PB
ipv6calc: add option --test_prefix
20160902/PB
databases/lib/libipv6calc_db_wrapper_IP2Location.c, lib/ipv6calchelp.c: display IP2Location library version if provided by library
20160309/ESR
tools/ipv6calc-update-registries.sh: be more quiet in case called by cron
20160307/ESR
man/*.8: cleaned-up, lift cleanly to XML-DocBook and HTML
20160204/PB
man/ipv6logstats.8: cosmetic fixes
contrib/ipv6calc.spec[.in]: add post/postun, minor fixes
20160203/PB
use -Wno-unused-const-variable if available
20150905/PB
databases: update, fix ieee parser ignoring "
tag version 0.99.1
20150823/PB
ipv6calc: autoselect IPv4 output on action 'conv6to4' if undefined
ipv6calc: add new action 'convnat64'
20150818/PB
databases: update
20150802/PB
databases: update
20150712/PB
databases/lib/libipv6calc_db_wrapper.c: implement last use cache for cc_index, as_num32, registry
20150614/PB
databases/lib/libipv6calc_db_wrapper_IP2Location.c: some bugfixes regarding commercial DB file handling
20150527/PB
ipv6calc: add action --6rd_extract_ipv4
20150526/PB
ipv6calc: add option --6rd_prefixlength to specify a length of the 6RD prefix
ipv6calc: --6rd_relay_prefix is now optional
201505xx/PB
databases/lib/libipv6calc_db_wrapper.c: implementation of database priority selector
20150513/PB
mod_ipv6calc: new
20150508/PB
add internal library version checks for future usage
lib/libipv6calc.c: fix bug in IPv4 address autodetection (e.g. 253.134.12.143/0)
introduce new defines regarding program and API versions major/minor/bugfix
20150505/PB
add support for IPv4/IPv6 address/mask filtering for option -E
20150504/PB
display on -vv whether MD5 or GETOPT are bundled
20150503/PB
fix missing prefix informational DB output on ipv6logstats
add used DB info in row mode on ipv6logstats
20150502/PB
add option: --db-ip2location-lite-to-sample-autoswitch-max-delta-months
add option: --db-ip2location-comm-to-lite-switch-min-delta-months
add option: --db-ip2location-only-type
add option: --db-ip2location-allow-softlinks
internal databases: updates
tag version 0.99.0
20150429/PB
add filter for token match and empty value on machine readable output
20150423/PB
add extension for IP2Location LITE disclaimer
improve quoting of machine readable ipv6calc output
add additional options for controlling quoting and filter machine readable output
add all database fields to non-machinereadable output
20150417/PB
internal databases: updates
20150416/PB
external-fallback/IP2Location: update to 7.0.1
20150415/PB
autogen-support.sh: add IP2Location 7.0.1
IP2Location: add support for 7.0.1
20150414/PB
autogen-support.sh: add GeoIP 1.6.2 1.6.3 1.6.4 1.6.5
20150409/PB
fallback compatibility for EOL IP2Location 4.x/6.x libraries (incompatible database layout for IPv6)
ipv6calcweb.cgi: add additional IP2Location output (version 10)
20150406/PB
IP2Location: add support for LITE databases and improve db autodetection
ipv6calc action filter: add support for CountryCode and ASN filter
20150301/PB
spec file: rebase with fedora-scm spec
fix VERSION (still containing rc4)
retag version 0.98.0
20150220/PB
doc/*: update
databases: update
tag version 0.98.0
20150218/PB
spec file: align with fedora-scm spec
tools/*: remove now by autoconf generated scripts
20150215/PB
tools/ipv6calc-db-update.sh: new for dedicated database update capability
tools/ipv6calc-create-registry-list-ipv4.pl: migration from database dir
tools/ipv6calc-create-registry-list-ipv6.pl: migration from database dir
tools/ipv6calc-registries-check-run-create.sh: migration from database dir
tools/ipv6calc-update-registries.sh: migration from database dir
databases: update
20150213/PB
ipv6calcweb/ipv6calcweb.cgi[.in]: add support for EXTERNAL db directory
ipv6calcweb/ipv6calcweb.conf: add default ACL restriction to localhost
20150211/PB
databases: update
20150123/PB
databases/lib/libipv6calc_db_wrapper_GeoIP|IP2Location.c: add some missing dlerror calls
20141209/PB
databases: update
databases/registries/update-registries.sh: add dst directory option, some review
databases/ipv4-assignment/create-registry-list.pl: add src/dst directory option, some review
databases/ipv6-assignment/create-registry-list.pl: add src/dst directory option, some review
databases/tools/ipv6calc-db-update.sh: new
20141127/PB
lib/ipv6calcoptions.c: replace improper use of the MAXINTARRAY macro
configure[.in]: add -Wsizeof-array-argument to CFLAGS if supported
20141024/PB
recognize RFC6666 addresses
databases: update
ipv6calc/showinfo.c: add EXTERNAL db information
ipv6calcweb/ipv6calcweb.cgi[.in]: support EXTERNAL db information
20141011/PB
switch in DBIP and External db info from hash to btree (improves db compatibility)
20141008/PB
some fixes
20141007/PB
adjust DBIP generation tool for new db format: DBIP-generate-db.p
20141005/PB
lib/libipaddr.[ch]: new generic library introduced to simplify code
20141003/PB
autogen-support.sh: add GeoIP 1.6.1 1.6.2, IP2Location 6.0.3
20140927/PB
ipv6calcweb/ipv6calcweb.cgi[.in]: minor bugfix, use background colors for optional database subcolumn mode
20140926/PB
ipv6calcweb/ipv6calcweb.conf: extend with
ipv6calcweb/ipv6calcweb.cgi[.in]: implement optional database subcolumn mode
20140924/PB
databases: update
implement "External" database lookups (superseeding BuiltIn databases for IP->Registry lookups)
20140913/PB
libipv6addr.c: suppress ASN / country code lookup for IPV6_NEW_ADDR_6BONE
showinfo.c: add IPV6_COUNTRYCODE_SOURCE, IPV4_COUNTRYCODE_SOURCE
databases: update
20140909/PB
more abstract implementation of BerkeleyDB and BuiltIn db lookups
20140901/PB
[databases/]lib/Makefile[.in]: support different options for so library on OSX
20140831/PB
add DBIP update tools: DBIP-generate-db.pl, DBIP-update.sh
implement also output of DBIP_REGION
add support for DBIP to ipv6calcweb.cgi
20140830/PB
implement IPv6 city code lookup for DBIP, add DBIP output to DBIP_COUNTRY_SHORT, DBIP_CITY, DBIP_DATABASE_INFO
20140829/PB
implement IPv6 country code lookup for DBIP
20140828/PB
further DBIP support
proper detection of options with missing arguments
implement IPv4 country code lookup for DBIP
20140827/PB
start implementation of db-ip.com (DBIP) support
20140826/PB
implement for output type 'hex' prefix/suffix/uppercase print
improve online help
20140802/PB
tag version 0.97.4
20140731/PB
add new output item on showinfo -i: IPV6CALC_CAPABILITIES
databases: update
20140729/PB
add external-fallback headers for GeoIP (1.4.8) and IP2Location (6.0.2) and add following config options:
--with-ip2location-headers-fallback, --with-geoip-headers-fallback (only usable with dynamic load option)
20140723/PB
man/*: major review of man pages
20140722/PB
harmonize online help of binaries
20140721/PB
lib/libipv6addr.c: extend countrycode retrievement for included client IPv4 addresses
ipv6calc/ipv6logconv/ipv6logstats/ipv6loganon: extend online help for -v
20140720/PB
ipv6calc/ipv6calchelp_local.c
databases/lib/libipv6calc_db_wrapper_IP2Location.h
databases/lib/libipv6calc_db_wrapper_GeoIP.c
databases/lib/libipv6calc_db_wrapper.h
databases/lib/libipv6calc_db_wrapper.c
reorg feature string handling
rename feature string DB_IPV{4,6} to DB_IPV{4,6}_REG
20140719/PB
configure[.in]: fix broken IP2Location dynamic library support
autogen.sh: add ldd check for dynamic library support
20140718/PB
lib/libeui64.c,lib/libipv4addr.c,lib/libipv6addr.c,lib/libmac.c,lib/librfc1924.c,lib/librfc2874.c: align parser error messages
ipv6calc/test_ipv6calc.sh: check for proper exit code on invalid input tests
20140716/PB
ipv6calc/showinfo: display CC/ASN only for global unicast addresses
lib/librfc2874.c: bugfix in snprintf
lib/libipv6addr.c: bugfix in libipv6addr_cc_index_by_addr
20140714/PB
databases: update
tag version 0.97.3
20140705/PB
configure[.in]: add option --disable-compiler-warning-to-error
20140704/PB
several Makefile[.in]: add support for @CFLAGS_EXTRA@ defined by configure
configure[.in]: add check for compiler supporting -Werror=format-security
autogen.sh: remove support of -W (now handled automatically by configure)
20140625/PB
autogen-support.sh: add support for GeoIP 1.5.2/1.6.0
20140624/PB
autogen-all-variants.sh: improve disabling GeoIP/IP2Location if system wide no libraries are available
20140623/PB
autogen-support.sh/autogen-all-variants.sh: skip default 'make test' on GeoIP/IP2Location cross version checks
20140622/PB
databases/lib/libipv6calc_db_wrapper_GeoIP.c: improve detection of maximum database types
autogen-support.sh/autogen-all-variants.sh: add support for GeoIP/IP2Location cross version checks
20140621/PB
autogen-support.sh/autogen-all-variants.sh: minor adjustments
20140620/PB
autogen-support.sh: add download and extract feature for GeoIP/IP2Location
20140619/PB
autogen-support.sh: new, centralize support for autogen.sh and autogen-all-variants.sh
autogen-all-variants.sh/autogen.sh: improvements for regression tests
20140617/PB
configure[.in]: improve IP2Location include/library definition support
several Makefile[.in]: fixes regarding include/library definition support
autogen-all-variants.sh: extend for GeoIP/IP2Location version based regression tests
20140616/PB
configure[.in]: improve GeoIP include/library definition support
20140611/PB
configure[.in]: apply suggested changes from AGB to fix improper use of AC_ARG_ENABLE
20140523/PB
ipv6logstats/ipv6logstats.c: skip cc/asn retrievement in case of simple and column mode (major speed up)
ipv6logstats/ipv6logstats.c: fix missing ALL in column mode (column 1), add option -N|--column-numbers
ipv6logstats/example_gnuplot.cmd: fix to run with newer gnuplot versions, extend with registries and IID pictures
tag version 0.97.2
20140520/PB
databases/lib/libipv6calc_db_wrapper_GeoIP.c: fix 2x improper GeoIP_delete call which causes trouble inside GeoIP library in case of a huge amount of calls
ipv6logstats,ipv6loganon,ipv6logconv: add new test for processing huge amount of addresses
tag version 0.97.1
20140518/PB
databases: update
tag version 0.97.0
20140511/PB
(many files): replace NI_MAXHOST used in various functions by size_t option
20140503/PB
libipv4addr.c: improve registry retrievement for anonymized IPv4 addresses
20140426/PB
Add missing support for machinereadable output for IPv6 addresses (format flag allowed, but was not supported)
ipv6logstats: add support for AFRINIC, change major output version to 4
ipv6logconv: add support of anonymized addresses
ipv6logstats: improve support of anonymized addresses
ipv6logstats: add output version column in column format
20140425/PB
Introduce new functions for countrycode,AS and registry lookup covering also anonymized addresses
20140423/PB
Add dedicated support for 6bone address anonymization
20140422/PB
Small bugfix in ipv6calc test scripts
20140331/PB
RFC1886 printout (reverse nibbles): mask prefix only in case of no printsuffix,printstart,printend
20140225/PB
databases/ipv4-assignment: change from aggregated ip/networt to first-last structure, saving some space & getting rid of use of 'aggregate'
20140223/PB
apply patch from gentoo regading order of LIBS in Makefile[.in]
20140213/PB
prepend /sbin to ldconfig call
tag version 0.96.0
20140211/PB
databases: update
20140209/PB
add tool for checking database lookup code against raw database information
databases: update and fix of IPv4 data prep step before aggregation (found during db lookup tests)
ipv6calc: add input type "asn" for testing ASN database lookups
20140205/PB
change lookup code for IPv4 registry assignment to binary sort, fix bug in binary sort for AS lookup
20140204/PB
builtin IPv4/IPv6 databases: replace registry string by define, change related lookup code (saves space)
databases: update
20140203/PB
minor improvements in Makefiles, configure checks now for openssl/md5.h
replace old debug code with macros in lib
20140202/PB
move IEEE database from libieee to databases/BuiltIn
apply some compilation compatibility fixes submitted by Nikoli
move IPv4/IPv6 registriy database from libipv4addr.c/libipv6addr.c to databases/BuiltIn
improve error catching in Makefiles
add options to force bundled md5 or getopt (otherwise it depends on autodetection)
configure: --enable-bundled-md5 --enable-bundled-getopt
20140201/PB
add support for building with shared libraries:
configure: --enable-shared
autogen.sh: -S
20140115/PB
databases: update
ipv6calcweb/ipv6calcweb.cgi.in: add new outputformat "textkeyvalue"
20131201/PB
databases/lib/libipv6calc_db_wrapper.c: fix snprintf usage (missing format string)
20131117/PB
databases: update
tag version 0.95.0
major changes were applied, but not listed here in detail, for overview see file: CHANGES
20131015/PB
databases: update and add support for changed ARIN format
20130920/PB
review and enhance option handling
20130903/PB
databases/lib: finish implementation of IP2Location wrapper incl. dynamic load support
20130828/PB
databases/lib: start implementation of IP2Location wrapper (dynamic load still missing)
20130820/PB
further review
20130815/PB
further improvements and review
20130811/PB
commit IPv6 prefix and IPv4 address anonymization
20130708/PB
recognize RFC 6598 addresses, extend test cases
20130707/PB
ipv6logstats: further enhance output by country code / AS Number / proto statistics
20130702/PB
migrate displaying verbose features into lib
20130701/PB
ipv6logstats: enhance output by country code / AS Number / proto statistics
databases/lib: major extensions of wrapper
20130622/PB
databases/lib: start implementation of dynamic load of GeoIP library by adding a wrapper layer
20130513/PB
ipv6calcweb/ipv6calcweb.cgi.in: improve colored output for some fields
tag version 0.94.1
20130512/PB
several *.c: replace strncpy/strcpy by snprintf (implicit fix of some improper/missing \0 termination)
several *.c: fixes according to splint
20130510/PB
ipv6calc/test_ipv6calc.sh: fix 2 typos (issue reported by PV)
20130413/PB
fix code or add pragmas to avoid warnings
tag version 0.94.0
20130412/PB
lib/libmac.c/lib/libipv6calc.c: support Cisco format xxxx.xxxx.xxxx
lib/libipv6calc.c: support Check Point IPsec debug log format of IPv4 addresses if first octet is < 16: xxxxxx (7 hex chars)
ipv6calc/test_scenarios.sh: add related test scenarios
20130410/PB
databases: update
lib/libipv6addr.[hc]: add support for reliable anonymization of IAB/OUI36 based EUI-48/64 based IPv6 addresses
lib/libieee.[hc]: add support for mapping of IAB/OUI36
ipv6calc/showinfo.c, ipv6calc/test_scenarios.sh: changes related to anonymized of IAB/OUI36
20130409/PB
databases/ieee-oui36/*, lib/libieee.h, lib/libieee.c: add support for OUI36
databases/tools/create_ieee_headerfile.pl: replace databases/ieee-iab/create_ieee_iab_headerfile.pl
Makefile[.in]: add support for databases/ieee-oui36
lib/libipv6calc.c: add detection for EUI-64
lib/libeui64.h, lib/libeui64.c: add support for parsing EUI-64
ipv6calc/showinfo.[hc], ipv6calc/ipv6calc.c: add support for EUI-64
ipv6calc/test_showinfo.sh, ipv6calc/test_scenarios.sh: add support for EUI-64 tests
20130408/PB
databases: update
databases/ieee-iab/create_ieee_iab_headerfile.pl: fixed for current supplied txt format
databases/ieee-oui/create_ieee_oui_headerfile.pl: fixed for current supplied txt format
20130407/PB
lib/libipv6addr.[hc]: support Microsoft 6to4 IID (includes IPv4 address) anonymization
ipv6calc/showinfo.c: minor bugfix + support of printing Microsoft 6to4 IID information
20130330/PB
lib/libipv6calc.h, lib/ipv6calctypes.h: minor reorg
lib/libipv6calc.c, lib/ipv6calcoptions.h, lib/ipv6calccommands.h: add support for anonymization sets
lib/libipv6addr.[ch]: switch anonymization to use sets instead of dedicated values
lib/ipv6calchelp.[ch]: add help for anonymization
ipv6loganon/test_ipv6loganon.sh: add anonymization options test cases
ipv6loganon/ipv6loganon.c, ipv6loganon/ipv6loganonoptions.h: add additional anonymization options
ipv6loganon/ipv6loganonhelp.c: update help for anonymization
lib/libmac.[ch]: add compatible function names (alignment)
ipv6calc/test_scenarios.sh, ipv6calc/test_ipv6calc.sh: test additional anonymization cases
20130326/PB
lib/libipv6addr.[ch]: store/retrieve global/local flag for anonymized EUI & ISATAP
lib/libmac.[ch], ipv6calc/ipv6calc.c: implement MAC address anonymization
ipv6calc/ipv6calc.c: improve anonymization depending on various formats
lib/libipv6addr.[ch]: fix reliable anonymization
ipv6loganon/test_ipv6loganon.sh: fix testcases
ipv6calc/ipv6calc.c: don't normalize input in filter mode
20130324/PB
lib/libipv6addr.[ch]: add support for ORCHID anonymization, fix OUI storage in anonymized IID
ipv6calc/showinfo.c: restructure display of anonymized information
ipv6loganon/test_ipv6loganon.sh: add some testcases
lib/librfc1884.c: fix for anonmized IIDs
20130319/PB
lib/libipv6addr.h: fix duplicate merge
lib/libipv6addr.c: proper handling of prefix anonymization/masking
lib/ipv6calchelp.[ch]: implement online help for actions
ipv6loganon/ipv6loganonhelp.c: fix online help
ipv6calc/ipv6calc.c: fix online help and debug option value parser
20130317/PB
bin/ipv6logconv.c: dedicated token for privacy & Teredo IID
ipv6calcweb/ipv6calcweb.cgi[.in]: show date/time of generated output
lib/libipv6addr.[ch]: support reliable prefix anonymization
20130226/PB
lib/libipv6addr.[ch]: switch ISATAP anonymization to new method, extend ISATAP recognition
ipv6calc/showinfo.c: improve ISATAP information
lib/librfc1884.c: print included IPv4 address in proper notation
ipv6loganon/test_ipv6loganon.sh,ipv6calc/test_scenarios.sh: adjust test scenarios
20130225/PB
lib/libipv6addr.[ch]: simplified checksum verification for anonymized IID, skip anonymization for already anonymized addresses
ipv6calc/ipv6calc.c: change forgotten default for mask_iid to 0
20130224/PB
lib/libipv6addr.[ch]: introduce new format for anonymized IID
ipv6calc/showinfo.c: extend display for anonymized IIDs
ipv6loganon/ipv6loganon.c, ipv6calc/ipv6calc.c: change default of
anonymization presets: mask_iid is now disabled by default and
replaced by new anoymized IID
ipv6loganon/test_ipv6loganon.sh, ipv6calc/test_ipv6calc.sh, ipv6calc/test_scenarios.sh: adjusted for new anonymization
ipv6calc/ipv6calc.c, ipv6loganon/ipv6loganon.c, lib/ipv6calcoptions.h,
lib/ipv6calccommands.h: replace --no-mask-iid by --mask-iid option
20130224/PB
ipv6calcweb/ipv6calcweb.cgi[.in]: improved display of proxy information
20130223/PB
ipv6calcweb/ipv6calcweb.cgi[.in]: display now information of all passed proxies
20121221/PB
ipv6calcweb/ipv6calcweb.cgi: display X-Via header, if given, display also address information of first proxy, if given
lib/libipv6addr.c: fix type info for teredo address
ipv6calc/showinfo.c: improve debug output
20121216/PB
ipv6calc/ipv6calc.c: accept also debug value in hexadecimal notation
ipv6calc/test_scenarios.sh: extend with testscenarios for detection of already anonymized addresses
lib/libipv6addr.c lib/libipv6addr.h lib/librfc3041.h: use special value for anonymization also of static defined IID, introduce new type flag 'anonymized'
ipv6calcweb/ipv6calcweb.cgi[.in]: display also X-Forward-For header, if given
lib/librfc1884.c ipv6calc/test_ipv6calc.sh: fix a long outstanding bug not compressing only one block of '0'
ipv6loganon/test_ipv6loganon.sh: fix examples according to special value for static defined IID
20121215/PB
databases: update
20121105/PB
databases: update
databases/ipv4-assignment/create-registry-list.pl: fix long undetected bug regarding calculation of IP mask (not easy detectable on 32-bit systems)
20121014/PB
ipv6calc/showinfo: add anonymized IPv4/IPv6 addresses on machinereadable output
lib/libipv4addr: add ipv4_copy function
ipv6calcweb.cgi: support anoymized IPv4/IPv6 addresses
20121012/PB
databases: update
README.BUILDING-GeoIP: new
README.BUILDING-IP2LOCATION: minor update
lib/libipv6addr.c: minor fix to avoid compiler warning
man/ipv6loganon.8: update
spec: - change requirements for ip2location to Mandrake Linux compatible names
- change location of "ipv6calc" from bin to %{_bindir}
tools/GeoIP-update.sh: new
tools/IP2Location-update.sh: new
20120509/PB
lib/libipv6addr.c lib/librfc3041.h: anoymize a privacy extension IID to a special value and recognize this also
ipv6logstats: add output related to IID type
20120505/PB
databases: update
20120424/PB
lib/libieee.c: remove QEMU prefix handling
databases/ieee-oui/create_ieee_oui_headerfile.pl: extend with information about MAC prefixes used by Virtual Machines
20120423/PB
ipv6calcweb.cgi: allow spaces around input in form mode
20120422/PB
lib/libieee.c: detect standard QEMU MAC prefix
lib/libipv6addr.c: blacklist expanded EUI-48 from privacy extension
ipv6calcweb.cgi: cell background for OUI is now yellow, for EUI64_TYPE=local-privacy green
20120419/PB
lib/*: extend filter handling, implement address token, improve privacy detection
databases: update
20120401/PB
ipv6calc/showinfo: finalze autodetection for privacy IIDs
20120325/PB
ipv6calc: improve autodetection (for IID), improve genprivacyiid
20120322/PB
ipv6calc/ipv6calc: add suppport for --print-iid-var
lib/*: some improvements
20120321/PB
lib/*: extend filter handling, implement address token, improve privacy detection
20120320/PB
lib/*: extend filter handling, implement negate
20120319/PB
databases/*: cosmetic fix for suppressing unused-variable during compilation
lib/*: review filter tokens
databases: update
20120318/PB
lib/*: extend for action 'filter'
ipv6calc/ipv6calc.c: implement action (-A) 'filter' with expression '-E', currently only supporting IPv6 addresses
lib/libipv4addr.*: implement gettype with proper values
20120306/PB
lib/libipv6addr.*: adjust calc of IID privacy detection
ipv6logstats/*: add option -w FILE to write IID privacy statistics, fix gnuplot example
20120304/PB
lib/libipv6addr.[ch]: extend IID privacy detection
ipv6logstats/*: extend for IID privacy detection
20120303/PB
lib/libipv6addr.[ch]: add IID privacy detection, fix productive IPv6 address detection
*/Makefile.in: add -lm for linking math (req. for IID privacy detection)
20120205/PB
lib/libipv6addr.c lib/libipv4addr.c: extend RFC info with section
ipv6calcweb.cgi: add support for RFC URLs
COPYING: update FSF address
databases: update
tag version 0.93.1
20120204/PB
ipv6loganon/ipv6loganon.c: don't cache unmodified lines
lib/libipv6addr.c: extend detection for reserved addresses
ipv6calc/showinfo.c: use function from lib/libipv6addr.c for retrieving IPv6 registry string
lib/libipv4addr.c: minor review
20120121/PB
ipv6calcweb.cgi: some improvements
databases: update
lib/libipv4addr.c: extend detection for reserved addresses (RFC5735)
ipv6calc/test_showinfo.sh,test_scenarios.sh: extend for testing reserved IPv4 addresses
tag version 0.93.0
20120120/PB
ipv6calcweb.cgi: fix taint problem for external environment
20120110/PB
ipv6calc/test_ipv6calc.sh: split good testscenarios into dedicated file test_scenarios.sh
ipv6calcweb/test_ipv6calcweb_form.sh: new for testing form mode
ipv6calcweb/test_ipv6calcweb.sh: improve error handling by output check
lib/ipv6calctypes.h: support machinereadable for FORMAT_ipv6literal
lib/libipv6calc.c: minor bugfix
ipv6calc/test_showinfo.sh: add FORMAT_ipv6literal tests
ipv6calc/test_ipv6calc.sh: split some test scenarios
ipv6calc/test_scenarios: new file
ipv6calcweb.cgi: minor improvements
20120102/PB
ipv6calcweb.cgi: additional check on unescaped input
20120101/PB
ipv6calcweb.cgi: minor review
ipv6calc.spec: create subpackage for ipv6calcweb
VERSION[.in]: new for improve scripting of build process
databases
- update
20111231/PB
ipv6calc/showinfo.c: fix show show_types output
ipv6calcweb.cgi: improve form mode, implement some Anti-DoS code, some review
20111219/PB
ipv6calcweb.cgi: add support for form mode and configuration via SetEnv
20111127/PB
lib/*: support scope IDs on IPv6 addresses (also on literal format)
20111126/PB
lib/* ipv6calc/ipv6calc.c: support input/output format "ipv6literal"
lib/libmac.c, lib/libipv6calc.c: support MAC format xxxxxxxxxxxx (seen on some network devices)
20111105/PB
lib/libmac.c, lib/libipv6calc.c: support MAC format xxxxxx-xxxxxx (seen on HP switches)
20111104/PB
ipv6calc/ipv6calc.c: autodetect -A geneui64 in case of -O eui64 and autodetected -I mac (only in non-pipe mode)
20111103/PB
ipv6loganon/ipv6loganon.c, ipv6logconv/ipv6logconv.c:
- using sprintf for LRU cache in more secure way (credits to Luca Bruno)
20111102/PB
ipv6calc/ipv6calc.c: force -O eui64 to request either -I mac or -A geneui64
20111029/PB
update doc, add ldp.dsl and adjust generate script
20111026/PB
update documentation and INSTALLING
20111009/PB
configure.in
- Exclude use of GeoIP_lib_version also for GeoIP 1.4.5 IPv6 support
ipv6calc/ipv6calc.c
- display GeoIP IPv6 compat mode, if enabled
20111008/PB
configure.in, ipv6calc/showinfo.c
- Extend for GeoIP 1.4.5 IPv6 support (which has reduced function set)
Makefile.in (all)
- introduce "make test-minimal" to skip GeoIP/IP2Location tests on RPM build systems
ipv6calc.spec.in
- replace 'make test' by 'make test-minimal'
ipv6calc/showinfo
- increase output version to 5, adding IPV6CALC_FEATURES in machine readable output
ipv6calcweb/ipv6calcweb.cgi.in
- fix broken ARIN whois URL
- show information from IPV6CALC_FEATURES
- claim about missing IP2Location or GeoIP database files, if feature is enabled
tag version 0.92.0
20111008/PB
databases
- update
ipv6calc
- support option "-v -v" to show extended version information
database generation programs
- retrieve and store database status (last update) into related header file
tag version 0.91.0
20111006/PB
configure.in
- checking GeoIP library for IPv6 support
ipv6calc/ipv6calc.c, ipv6calc/showinfo.c, lib/ipv6calchelp.c, ipv6calc/test_showinfo.sh
- skip IPv6 related GeoIP parts, if support is missing in GeoIP library
20110916/PB
6rd extension: change options to support stdin for IPv4 addresses
minor code review
extend online help for action types
20110915/PB
Makefile: catch exit code on sub tests
syntax fix "octett" -> "octet"
ipv6calc, ipv6calccommands.h, ipv6calcoptions.h, ipv6calctypes.h,
librfc5569.c, librfc5569.h, Makefile.in
- add 6rd extension from Raphaël Assénat and add test case
database
- update
20110610/PB
database
- update
tag version 0.90.1
20110601/PB
add configure options for disabling compiled-in databases:
--disable-db-ieee
--disable-db-ipv4
--disable-db-ipv6
20110526/PB
database
-update
minor fixes
tag version 0.90.0
20110515/PB
ipv6calc
- disable accept of 'printstart' & 'printend' option for output type 'ipv6addr' (not suppported at all at the moment)
- add option 'forceprefix '
- add option 'f|flush' for pipe mode
- implement pipe mode (autodetected)
- GeoIP option '--db-geoip-default|-G' enables now IPv4 and IPv6 default database, if file locations are compiled in
- new options for specifying GeoIP file locations: '--db-geoip-ipv4' and '--db-geoip-ipv6'
- new option '--db-ip2location-default|-L' for enabling IPv4 or IPv6 default database, if file locations are compiled in
- extend test cases
BUILD
--with-geoip-default-file is replaced by --with-geoip-ipv4-default-file
- new options for specifying IP2Location default file locations
--with-ip2location-ipv4-default-file
--with-ip2location-ipv6-default-file
registry databases
- update
20110512/PB
ipv6loganon:
- add support for option -f (flush)
- some bugfixes
ipv6calc, ipv6calcweb.cgi
- implement support for GeoIP IPv6 database
ipv6calcweb.cgi
- skip not-useful entries for IP2LOCATION in case of unsupported by database
update information for IP2Location 4.0.2
20110511/PB
ipv6loganon:
- add support for option -w (write) and -a (append) output to a given file
- IPv6 address output is now in compressed format
20110505/PB
lib/librfc1884.c
- cosmetic improvement of debug information
lib/ipv6calchelp.c
- add space between token and ":"
- fix --out -h not showing explanation
update-registries.sh
- add workaround for buggy encoding information in XML
databases
- update
tag version 0.82.1
20110504/PB
ipv6calc/ipv6calc.c
- add some debug code
- improve selection of format switch for revipv4
lib/libipv4addr.c lib/libmac.c
- clear 'valid' flag also if structure is cleared
20110329/PB
ipv6calc/test_ipv6calc.sh, ipv6calc/showinfo.c, lib/libipv6addr.[h,c]
- add support for RFC 6052 (NAT64)
databases:
- update
tag version 0.82.0
20110305/PB
ipv6calc/test_ipv6calc.sh:
- add test cases for RFC 5952
doc
- add URL to openSUSE, minor cleanup
20110227/PB
databases:
- change from txt to xml for IANA data
- update
ipv6calc/test_ipv6calc.sh:
-add good/bad testcases for explicit and autodetection input
- improve catch of errors
ipv6calc/showinfo.c:
- fix buggy fprintf output devices
ipv6calc/ipv6calc.c:
- add support for output format FORMAT_mac
- extend auto-output detection for input format FORMAT_mac, FORMAT_bitstring, FORMAT_base85
- add dedicated error message if auto-input detection doesn't work
lib/librfc1886.c:
- fix librfc1886_formatcheck for proper work with autodetection
lib/librfc1884.c:
- fix debug messages
lib/libmac.[ch]:
- add function macaddrstruct_to_string
lib/libipv6calc.c:
- improve autodetection
lib/libipv6addr.c, lib/libipv4addr.c:
- improve format check
lib/ipv6calctypes.h:
- add new format type for non-working autodetection
20100921/PB
update databases
lib/librfc1886.c: take care of prefix length before printing nibbles
(bugfix, but breaking old behavior, if prefix length is used)
tag version 0.80.0
20100520/PB
configure.in: add value for copyright year, update version number
some header files: replace hardcoded copyright year with value
lib/librfc1884.c: minor bugfix
From http://patch-tracker.debian.org/package/ipv6calc/0.73.0-3
ipv6calc/showinfo.c: fix typo regarding Teredo addresses (not affecting -m)
lib/ipv6calchelp.c: fix segfault
*/Makefile.in: fixes
20100427/PB
lib/librfc1884.c: bugfix regarding uncompressing an address
ipv6calc/test_ipv6calc.c: add some testcases
20090808/PB
ipv6calc/ipv6calc.c
- add auto-output format detection for revnibble
- do not print resultstring, if empty
ipv6calc/test_ipv6calc.sh
- add input validation tests
lib/ipv6calchelp.[ch]
- support machine readable output for input types
lib/libifinet6.c
lib/librfc2874.c
- cosmetic fixes of error messages
lib/libipv4addr.c
lib/libipv6addr.c
lib/librfc1886.c
- improve input validation
- cosmetic fixes of error messages
20090811/PB
update databases
ipv6calc/ipv6calc.c
- add support for '-m' for '--out|action -?'
lib/ipv6calchelp.[ch]
- support machine readable output for output/action types
tag version 0.73.0
20090808/PB
ipv6calc/ipv6calc.c
- add auto-output format detection for revnibble
- do not print resultstring, if empty
- add support for '-m' for '--in -?'
ipv6calc/test_ipv6calc.sh
- add input validation tests
lib/ipv6calchelp.[ch]
- support machine readable output for input types
lib/libifinet6.c
lib/librfc2874.c
- cosmetic fixes of error messages
lib/libipv4addr.c
lib/libipv6addr.c
lib/librfc1886.c
- improve input validation
- cosmetic fixes of error messages
20090620/PB
databases/registries/update-registries.sh
- fix IANA ipv6-unicast-address-assignments weblink problem
20090611/PB
update databases
add /usr/bin/ipv6calc to binary list of ipv6calcweb.cgi
tag version 0.72.2
20090111/PB
update databases
tag version 0.72.1
20090106/PV
various Makefile.in and Makefile
- rename $(root) into $(DESTDIR) to respect GNU coding standards
- fixed datarootdir warning
20081231/PB
ipv6calc/ipv6calc.c
- print token GeoIP, IP2Location, if supported
update databases
20081231/PV
configure.in
- apply fix for GeoIP option
various Makefile.in and Makefile
- adjust/switch to Makefile.in and improvements (use of @CC@,
remove CFLAGS, LDFLAGS, fix @ENABLE_BUNDLED_GETOPT@)
20081119/PB
databases/registries/update-registries.sh
- create registry subdir if not existing
- fix IANA ipv4-address-space weblink problem
databases/ieee-iab/create_ieee_iab_headerfile.pl
- remove '"' from names to avoid problems in generated header file
databases/ieee-oui/Makefile
- adjust remote filename on webserver
ipv6calc/ipv6calc.c
- do not show warning messages for missing GeoIP/IP2Location support
if option "-q" is used (good for ipv6calcweb.cgi)
Makefile[.in]
- move "make test" from "make install" to dedicated "make ..."
- remove "make installonly"
Several files
- minor cleanup
tag version 0.72.0
20070811/PB
lib/libipv6addr.{c,h}
- detect link-local-teredo addresses
20070705/PB
ipv6loganon/test_ipv6loganon.sh
- add ORCHID test scenario
lib/libipv6addr.{c,h}
- fix octal printout
- add hex printout
- support ORCHID in anonymize
lib/libipv4addr.{c,h}
- add octal & hex printout
ipv6calc/showinfo.c
- print warning message in IP2Location longitude/latitude if 0
- do not print GeoIP/IP2Location information on non-global IPv6 addresses
- fix output on ISATAP addresses (stderr->stdout)
ipv6calc/ipv6calc.c
- support octal output for IPv4 and hex output for IPv4 and IPv6
20070704/PB
lib/libipv6addr.{c,h}
ipv6calc/showinfo.c
- add support for ORCHID address type
20070605/PB
ipv6calcweb/ipv6calcweb.cgi.in
- fix built-in list for GeoCityLite
ipv6calc/showinfo.c
- do not show "GeoIP|IP2Location returned no record" in quiet mode
20070601/PB
update databases
update doc files
minor fixes in test scripts
tag version 0.71.0
20070426/PB
lib/libipv6addr.{c,h} lib/ipv6calcoptions.h lib/ipv6calccommands.h
ipv6loganon/ipv6loganon*
ipv6calc/ipv6calc.c
- add support for anonymizing IPv6 prefix flexible (mask-ipv6)
- add new preset options for anonmiyzing (careful,paranoid)
20070402/PB
ipv6calc/showinfo.c
- skip displaying of IPV4_SOURCE if no data is given
- fix month of IP2Location database
- separate IP2Location information for IPv4 and IPv6 (increase output version to 4)
ipv6calcweb/ipv6calcweb.cgi.in
- fix database options according to changes before releasing 0.70.0
- if server address is skipped, do not retrieve information at all
- use built-in list for detecting binary and database files on various locations
20070401/PB
update databases
tag version 0.70.0
20070303/PB
autogen.sh
- add support for more options, see -? for more
ipv6calc/showinfo.[h,c]
- revert to pre 20070215 release, IP2Location (2.1.3) was fixed now
ipv6calc/ipv6calc.h
- adjust copyright year
databases/registries/update-registries.sh
- remove unconditional exit code 0
databases/registries/update-registries.sh databases/ipv{4,6}-assignment/create-registry-list.pl
- change from %Y%m%d to -latest
databases/ipv6-assignment/create-registry-list.pl
- reenable all registries
databases/registries/Makefile
- support "lacnic" on distclean
databases/ipv4-assignment/Makefile
- cleanup
20070215/PB
ipv6calc/showinfo.[h,c]
- move prototypes in case of use of IP2Location (2.1.2) because of a strange compilation warning
ipv6calc/Makefile.in
- reorder CFLAGS according to patch from NT
20070214/PB
contrib/ipv6calc.spec[.in] ipv6calc/Makefile[.in]
- adjustments according to remove of static GeoIP/IP2Location support
20070214/NT
databases/GeoIP databases/IP2Location
- remove support of static (built-in) support
20070207/PB
ipv6calc/ipv6calc.c lib/ipv6calctypes.h
- add support for action anonymize
20070205/PB
lib/libipv{4,6}addr.{c,h}
- migrate IPv4/IPv6 address anonymization code into
ipv6loganon to libraries
20070202/NT
ipv6loganon/ipv6loganonhelp.c
- spelling fixes
man/ipv6loganon.8
- contribution
20070201/PB
database update
ipv6loganon/*
- minor improvements, add README
20070131/PB
ipv6calc/showinfo.c
- fix bug by exchange TEREDO SERVER<->CLIENT tokens
- code improvements (triggered by splint)
ipv6loganon/*
- improve ipv6loganon
lib/*.c
- code improvements (triggered by splint)
20070130/PB
ipv6loganon/*
- initial creation
20070116/ESR
man/ipv6calc.8
- code fixes
20061028/NT+PB
GeoIP support
- add new configure options
--enable-geoip-system: use system GeoIP library
--enable-geoip-default-file: specify default database file
Getopts support
- configure detects now the presence of system getopts library
20061021/PB
IP2Location support
- update to API 2.1.0 (which supports IPv6 now)
GeoIP support
- update to API 1.4.0
configure.in Makefile.in
- add support for global version numbers of APIs
ipv6calc/showinfo.c ipv6calc/ipv6calc.c
- add support for 2 different database files for IP2Location
- change options
-p => --db-ip2location-ipv4
-g => --db-geoip
- new option
--db-ip2location-ipv6
update databases
20060828/PB
ipv6calcweb/ipv6calcweb.cgi.in
- remove non-ascii chars on GEOIP_DATABASE_INFO
update databases
tag version 0.61.0
20060807/PB
ipv6calc/showinfo.c
- make code for printing GeoIP and IP2Location universal for IPv4 and IPv6
- fix missing printout of footer in case of IPv6 address is given
ipv6calcweb/ipv6calcweb.cgi.in
- toggle background for lines with embedded IPv4 address
20060806/PB
- add support for GeoIP (GeoIP-1.3.17)
LICENSE
- updates according to changes
update databases
20060710/PB
- change internal version number handling from dedicated file(s) to configure.in
update databases
tag version 0.60.1
20060707/NT
ipv6calc/test_ipv6calc.sh
- catch result proper
configure.in
- define AC_C_BIGENDIAN for proper support of big-endian arch
- improve version definition, remove acconfig.h (no longer needed)
config.h.in
- regenerated during autoheader
md5/Makefile
md5/md5.c
- fix code for proper support of big-endian arch
autogen.sh
- add call to autoheader
20060625/PB
update databases
tag version 0.60.0
Makefile[.in]
- remove autom4te.cache also in subdirectories
20060612/PB
databases/IP2Location/C-IP2Location-1.1.0/libIP2Location/IP2Location.c
- fix bug in original code according to retrieve date from database
config.h.in configure.in
- add support for SUPPORT_IP2LOCATION in config.h
lib/ipv6calchelp.c
- add comment for option -p
ipv6calc/ipv6calc.c
- add internal flag for IP2Location support
lib/ipv6calctypes.h ipv6calc/showinfo.c
- print embedded IPv4 addresses explicitly in embedded format []
this solves the issue if more than one IPv4 address is included in IPv6 address
lib/libipv6addr.c
- support new Teredo prefix (RFC 4380)
lib/libipv4addr.c
- exclude some RFC1918/RFC3330 addresses from registry lookup, report reserved(reason)
instead
lib/libipv6addr.h
- lower case "teredo"
lib/ipv6calctypes.h
- add new (internal used) format "printembedded"
lib/Makefile
- fix elements in $(OBJS), minor review
ipv6calcweb/ipv6calcweb.cgi
- add support for variables with embedded IPv4 address
- keep sort order of ipv6calc -m output
- fix whois URL of ARIN,APNIC,LACNIC
- remove whois URL for 6bone addresses, no longer valid
- add IP2Location information in footer (if used)
- add required output version for check
ipv6calc/showinfo.h
- define output version
ipv6calc/showinfo.c
- support embedded IPv4 addresses in machine readable output
ipv6calc/ipv6calc.c
- missing IP2Location database is now only a soft error
- add flag whether IP2Location database is given
man/ipv6logconv.8
- fix small problem with hyphens (thanks to Niko Tyni)
20060610/PB
ipv6calc/showinfo.c/print_ipv4addr
- check for result != of IP2Location before using (prevents segfault)
20060608/PB
ipv6calcweb/ipv6calcweb.cgi
- add support for format= in QUERY_STRING
20060607/PB
ipv6calcweb/ipv6calcweb.cgi
- add support for IP2Location according to showinfo.c
contrib/ipv6calc.spec[.in]
- add support for rebuild option --with-ip2location
LICENSE
- updates according to changes
Makefile.in
configure.in
ipv6calc/Makefile.in
- make IP2Location support switchable (--enable-ip2location)
ipv6calc/ipv6calc.c
lib/ipv6calcoptions.h
- fix wrong named option (-f instead of -p)
lib/librfc1924.c
- replace conversion code with clean reimplementation
created by Niko Tyni because of unknown license issue
of the old piece of code
update databases
20060317/PB
databases/ipv6-assignment/create-registry-list.pl
databases/ipv4-assignment/create-registry-list.pl
databases/ipv6-assignment/dbipv6addr_assignment.h
databases/ipv4-assignment/dbipv4addr_assignment.h
lib/libipv6addr.h
lib/libipv4addr.h
- store also prefix length in lookup table
update databases
20060316/PB
lib/libipv4addr.c
- fix wrong use of () in ipv4addr_setword
20060306/PB
Makefile.in
ipv6calc/Makefile.in
ipv6calc/ipv6calc.c
ipv6calc/showinfo.c
- add support for IP2Location
lib/ipv6calcoptions.h
- add new option: -p
20060213/PB
ipv6calc/Makefile.in
- replace "make" by "${MAKE}" (forgotten in 20051119)
20060212/PB
update databases
databases/ieee-oui/create_ieee_oui_headerfile.pl
- replace " with ' in entries
Makefile.in
- remove also autom4te.cache on distclean
contrib/ipv6calc.spec[.in]
- remove CVS version line to avoid problems
tag version 0.51
20060126/PB
lib/ipv6calchelp.c
lib/ipv6calctypes.h
ipv6calc/ipv6calc.c
ipv6calc/ipv6calc.h
- fix help for {upper|lower}case option inconsistency
- add new shortcut options:
--in|-I --out|-O --action|-A
--printcompressed|-C --printuncompressed|-U --printfulluncompressed|-F
- update copyright range
update databases
20051119/PB
various make files
- replace "make" by "${MAKE}"
- add definitions for prefix and exec_prefix
update databases
20051026/PB
restructure registry database directory
- process now registry files 2 days ago to prevent problems short after local day switches
add support for new registry AFRINIC
extend IPv6 registry data from 32 to 64 bits, adapt related function in lib/libipv6addr
20051021/PB
lib/libipv6addr
- fix bug for unique local unicast detection
ipv6calc/showinfo
- minor review
ipv6calcweb.cgi
- updates according to changes of showinfo.c
20051020/PB
lib/libipv6addr
ipv6calc/showinfo
ipv6logconv
ipv6logstats
- add support for Teredo addresses
20050916/PB
various make files
- add missing entries to fullfil NetBSD's make
20050915/PB
various c files
- fix snprintf size parameter (credits to
Radek Vokál for pointing this out)
lib/libipv6addr.c#ipv6addr_copy
- fix bug which causes stack overflow (credits to
Radek Vokál for finding the bug)
several Makefiles
- add compiler switch -O2, reason for segfault was found
- remove also static on clean
ipv6logconv:
- add support for unique local unicast
update databases
tag version 0.50
20050914/PB
databases/ipv4-assignment
- fix update check script
Update databases
spec file fix
Tag version 0.49
20050725/PB
several Makefiles
- remove compiler switch -O2, this causes segfaults on
Fedora Core 4 using gcc-4.0.0-8
lib/libipv6addr
ipv6calc/showinfo
- add support for Unique Local IPv6 Unicast Addresses
20050719/PB
ipv6logstats, ipv6logconf
- remove not really needed uid check in test step
md5/md5.c
- fix for proper support of big endian machines
ipv6calc/test_ipv6calc.sh
- fix proper error reporting
Further prototyping fixes
lib/libipv6addr
- replace hardcoded IPv6 assignement by dynamic one
Update databases
20050714/PB
Update databases
lib/libipv6addr
- IPv6 TLA update
20050711/PB
lib/librfc2874.c
lib/libipv6calc.c
- Fix prototyping to avoid warnings
md5/Makefile
getopt/Makefile
- Add CC definition
20050628/PB
ipv6calc:
- replace hardcoded $(root)/bin with $(root)@bindir@ (suggested by Andrew Walrond)
20050214/PB
ipv6logconv:
- fix online help
20050212/PB
Update databases
ipv6logconv:
- implement a lookup cache for speed-up (around 20%)
lib/libipv4addr
databases/ipv4-assignment/dbipv4addr_assignment.h
- add a hint table for speed-up IPv4 registry lookups (around 10 times!)
20041121/PB
Update databases
Tag version 0.48
20041101/PB
General:
- add missing directories to Makefile
- fix typo in man page
20041030/PB
General:
- replace md5 function from openssl with a copy of coreutils (licence issue)
- add support for IEEE/iab.txt database
Update databases
- minor fixes in scripting
20040830/PB
ipv6calc:
- add support for recognizing 6to4 addresses generated by
Microsoft OS
ipv6logconv:
- add support for recognizing 6to4 addresses generated by
Microsoft OS
- add support for ISATAP addresses
Update databases
- fix URL of RIPE ARIN, APNIC, LACNIC and add support for compressed files
20031122/PB
ipv6logstats:
- add option "-q|--quiet" for be more quiet
- minor fixes
ipv6calc.spec.in
- review, also install examples now
Some cleanups
tag version 0.47
20031121/PB
IPv4 address database update
Some redesign on Makefile usage, move some Makefile to Makefile.in
- minor redesign in Makefile.in
- take now use of "bindir" and "mandir" in configure run
Update ipv6calc.spec.in
ipv6calcweb.cgi:
- renamed to ipv6calcweb.cgi
- version numbering will now be done using autoconf
ipv6logconv:
- add option "-q|--quiet" for be more quiet
20031026/PB
add contributed man pages
20030907/PB
untag version 0.46
ipv6calcweb.cgi:
- replace deprecated hash reference code with proper one
- add forgotten lacnic support
- allow ":" in SERVER_NAME to allow IPv6 addresses here also
tag version 0.46
20030906/PB
update databases
tag version 0.46
20030815/PB
enable option "printfulluncompressed" on output format octal
add example for output format octal
20030722/PB
enable "printprefix", "printsuffix" for normal IPv6 addresses (autoswitch to uncompressed format)
prefix length of 6to4 addresses changed from 16 to 48 for proper support of format "printprefix"
20030717/PB
add IPv6 LACNIC range
20030628/PB
minor adjustments to "ipv6logstats", add a gri example
20030623/PB
lib/librfc1886.c/librfc1886_addr_to_nibblestring:
don't print trailing "." on middle part end
20030615/PB
add support for new registry LACNIC (in IPv4)
add new program "ipv6logstats" to create historic address distribution statistics of webservers
for use e.g. with gnuplot (add an example cmd script also)
remove autodetection code for EUI-64 (can misinterpret a proper IPv6 address)
fix some bugs in autodection
20030404/PB
add new output format "octal" as requested from Lionel Elie Mamane
to create proper input for tinydns
20030202/PB:
add new input type "ipv4hex" (hexadecimal IPv4 address)
add new input type "ipv4revhex" (reverse hexadecimal IPv4 address)
add support of spaces as delimiter of MAC/EUI-48 addresses
(above support was added to convert information got by 'martian source' logging)
20021112/PB:
fix not proper handling of option "-q|--quiet" in some cases
enhance help options (-h|--help now also valid) on --out|action|in
ipv6logconf: "make test" can be now also executed by root (su to nobody)
tag version 0.45
20021104/PB:
minor cosmetics in IEEE/OUI database
20021104/PB:
update IPv6 address allocation for 2001::/16
update IPv4 databases
remove user/group on "make install" to enable non-root RPM build
update text on ipv6calcweb.cgi
minor reviews
tag version 0.44
20020830/PB:
add support of dashes on MAC/EUI-48 addresses
showinfo prints now type of EUI-48 addresses
20020817/PB:
fix configure.in, learnt now how to proper use AC_CHECK_LIB and AC_CHECK_HEADERS
credits to Arkadiusz Miskiewicz!
20020730/PB:
fix not proper autodetection code for MAC addresses
tag version 0.43
20020717/PB:
update URL to OUI database, cosmetic OUI fixes, update databases
tag version 0.42
20020511/PB:
bugfix not showing OUI on showinfo "-i"
update CIDR and OUI data
20020421/PB:
review inttypes definitions, create new header file
minor fixes to suppress compiler warnings
tag version 0.40rc5
tag version 0.40
20020420/PB:
fix defines for FreeBSD and OpenBSD
minor fixes
20020410/PB:
tag version 0.40rc4
20020410/PB:
new format feature: printmirrored for reverse dot separated format
minor fixes
20020409/PB:
add new feature: printing IPv4 address in reverse PTR/DNS format
minor help extension
20020408/PB:
fix completly broken online help
add some autodetection
printprefix|suffix now works also for fulluncompressed
some cleanups
tag version 0.40rc3
20020407/PB:
minor cosmetic fixes, import forgotten ipv6logconv changes
tag version 0.40rc2
20020405/PB:
fix some database dependencies
fix NetBSD has inttypes.h instead of stdint.h
change back to not splint'ed librfc1924.c because of a self made not easy to find bug :-(
some minor fixes
tag version 0.40rc1
20020403/PB:
more splint'ing, some type review
20020401/PB:
more splint'ing, some type review
20020331/PB:
more splint'ing
extend ipv6logconv
20020325/PB:
ipv6calcweg.cgi: extension for new showinfo extension
20020324/PB:
fix alignment bugs in libipv4addr.c for word/dword access
libip4addr.c: add support for registry information
finish IPv4 registry detection code
20020323/PB:
new feature: prefix+mac -> IPv6 address
20020320/PB:
showinfo: add new info: registry, fix a bug in output of non machinereadable
some snprintf fixes
20020318/PB:
move files to dedicated subdirectories
add program information on ipv6calc -m
enhance ipv6calcweb.cgi
begin to replace "sprintf" with "snprintf" (for security reasons)
-> release 0.40pre7
20020317/PB:
ipv6calc: fix not working showtypes
new: ipv6calcweb.cgi: Perl wrapper program for web interface
replace all "strtok" to "strtok_r" because of problems due calls in subfunctions (thanks to manpage...)
remove "-ansi" from compiling options
ipv6logconv: add output format "any", fills address, referer and user with proper information
some code lint
20020316/PB:
new: ipv6logconv is able to convert addresses of webserver logs into special domain names
new: analog example for creating stats from converted logfiles
some fixes and enhancements
20020311/PB:
new: add vendor database for global EUI-64/48 identifiers
new: libieee to display an OUI, if available
showinfo: machinereadable now printout one info per line (switchable later)
minor fixes
tag release 0.40pre5
20020306/PB:
enhance help, adapt format to 80 chars per line
bugfix in showinfo.c relating to display EUI-64 id
began some code audit using splint
20020303/PB:
migrate eui64 to privacy into new style
more cleanup
extend test script
tag release 0.40pre2
implement auto detection for input
showinfo now understands IPv4 address extraction of autoconfigured link local addresses
check format options against matrix
understand now input of revnibble (limited support) and bitstring labels
tag release 0.40pre3
20020302/PB:
major work of redesign is done, test script runs well, unused files removed
tag release 0.40pre1
20020301/PB:
start redesign
20020227/PB:
libipv6addr.c: fixed a bug in ipv6addr_setoctett.c regarding num limit (oops..)
ipv6calc.c: move structure definitions to...
libmac.h: add related structure definition ipv6calc.c
libipv6addr.h: add related structure definition from ipv6calc.c
libipv4addr.*: new for handling IPv4 addresses
ipv4_to_6to4addr.*: new for handling conversion IPv4 -> IPv6to4
librfc3056.*: library for conversion IPv4 -> IPv6to4
libipv6calc.c: fix array index bug of compat[] (oops..)
tag release 0.39
20020226/PB:
add original getopt tarball into samplecode, fill related READMEs
tag release 0.38
20020224/PB:
move nibble string function to librfc1886
minor fixes
restore original samplecode files and remove CVS id to prevent CVS changes
add original getopt code to samplecode
tag release 0.37
20020224/PB:
minor Makefile fixes
fix getopt Makefile
minor cosmetic fix in test script
cosmetic cleanups
some code cleanup and minor redesign, some optimizing
fixes stupid help call bugs
format options can be used now in more functions
add support of "printstart" and "printend" in "ip6int", "bitstring"
extend "showinfo", add "machine_readable" for easier postprocessing
20020223/PB:
complete limited support of bistring labels
change examples to 6bone dummy address (3ffe:ffff:...)
add a trailling dot on ip6.[int|arpa] output
migrate getopt patch for OpenBSD submitted by Vladimir Kotal
minor Makefile fixes
tag release 0.37pre1
20020219/PB:
fix a minor bug
tag release 0.36
20020218/PB:
fix bug relating to ipv6calc.h (changes now in ipv6calc.h.in)
start preparation for implementing bitstring conversions
tag release 0.35
20020218/PB:
add new options: --addr_to_ip6arpa|-a
does the same like --addr_to_ip6int|-r, but ends with "ip6.arpa" instead of "ip6.int"
addr_to_ip6int now understands "--uppercase|--lowercase"
tag release 0.35
20020127/PB:
tag release 0.34
20020124/PB:
use now "-lcrypto" instead of full defined lib name
20020121/PB:
update "COPYING" to current GPLv2, add "LICENSE" with some comments to make Debian people happy
add both in spec file
20020120/PB:
showinfo now understands "solicited-node link-local multicast", "ISATAP", SLA on 6bone addresses
input now understands also "ISATAP" addresses
20011227/PB:
Make tarball ready to use
20011218/PB:
Change version numbering to autoconf/configure
Extend "showinfo" a little bit
20011009/PB: release 0.30
20011009/PB:
Fix missing scope initialization "base85_to_ipv6addr"
bug found by Greg Daley
changed:
libipv6addr.c/ipv6addr_clear
librfc1924.c/base85_to_ipv6addrstruct
20011007/PB:
Push source into local CVS system
0.28: Peter Bieringer
Refixing compiling on BSD
Add a forgotten include in "eui64_to_privacy.c"
0.27: Peter Bieringer
Migrate files used from Linux kernel for address type resolution to libipv6addr.*
add some extended tests (still not catch all)
"--showinfo" now rudimentary works
0.26: Peter Bieringer
Create wrapper functions to be independend of byte order storage in
structure "in6_addr"
"--eui64_to_privacy" now calculate expected results
Begin of splitting "ipv6calc.h" into several smaller header files
Some code cleanup
0.25: Peter Bieringer
Restructure central address structure to use "in6_addr" struct
Some code cleanup
0.24: Peter Bieringer
Add option "--eui64_to_privacy" to calculate pseudo random suffices
(experimental, result is not verified)
Add option "--showinfo"
(experimental, not finnished)
Add option "-d|--debug value"
Partially new debug code
0.23: Peter Bieringer
Fix permissions of doc files in spec file
0.22: Peter Bieringer
ANSI compiling cleanup
Cleanup special types to ANSI types
0.21: Peter Bieringer
Fix typo (strings.h -> string.h) at ifinet6_to_compressed.c
0.20: Peter Bieringer
Activate "--printsuffix" + "--printprefix" for "--addr_to_uncompressed"
Change format of "--mac_to_eui64" to described one (now without prefix)
0.19: Peter Bieringer
Extend "TODO" list
Print also info on "-?"
Fixes in spec file, see changelog at the end of that file
Add "COPYING" and "INSTALLING"
Add "installonly" on "Makefile" to support changes in spec file
0.18: Peter Bieringer
Add "make test" after "make" in spec file to stop build process, if
compiling do not result in working code
Add samplecode directory
0.17: Peter Bieringer
Fix "addr_to_ip6int" (sprintf)
Minor reviews
0.16: Peter Bieringer
Review "Makefile" to make it usable on BSD systems
Minor reviews to enable a clean make on BSD systems
0.15: Peter Bieringer
Create TODO
Some review
New option: mac_to_eui64
0.14: Peter Bieringer
Review CREDITS
0.13: Peter Bieringer
Add base85 support
Add compatv4/mapped support
Split away some RFC depended libaries
Rename internal used functions
Rename options (old ones still work)
Change IPv6 address compression method from getaddrinfo to
native calculation (hopefully bugless)
Some review
0.12: Peter Bieringer
Add some format checks
0.11: Peter Bieringer
Add code for successful compiling under BSD, credits to Hubert Feyrer
Cosmetic cleanups
0.10: Peter Bieringer
redesigned to use a central libary for most of the functions
moved option handling to getopts
add option --maskprefix, --masksuffix for [full]uncompressed format
0.09: Peter Bieringer
fix in 0.07 (addr2uncompaddr) won't work, refix now
0.08: Peter Bieringer
fix Makefile and spec-file for RedHat 7.0.91
0.07: Peter Bieringer
fix addr2uncompaddr, now ::/prefixlength is well converted
0.06: Peter Bieringer
fix glibc-2.2.2 compilation problems, credits to Pekka Savola in
addr2if_inet6.c, ipv6calc.c
0.05: Peter Bieringer
if_inet62addr added, printhelp_function moved into related source file
0.04: Peter Bieringer
addr2if_inet6 will now display scope value in hex
(use some sources of kernel files to get scope rather than writing my own)
cosmetic cleanups
0.03: Peter Bieringer
Splitt away each function in a seperate file
Working: addr2compaddr, addr2uncompaddr, addr2fulluncompaddr, addr2if_inet6
addr2ip6_int
0.02: Peter Bieringer
Never published release, "addr2compaddr" is working
0.01: Peter Bieringer
Initial start
ipv6calc-4.1.0/INSTALLING 0000664 0000000 0000000 00000010535 14441542472 0014625 0 ustar 00root root 0000000 0000000 ipv6calc
INSTALLING
Please read the file `README' before you start with the installation of the
ipv6calc.
USING RPM
---------
This tar-ball provides a spec file for building a source and binary RPM using
rpmbuild -ta ipv6calc-$version.tar.gz
Available build options:
--with ip2location
--with geoip
After successful build you got two packages:
one source RPM ipv6calc-$version-$release.src.rpm
and one binary RPM ipv6calc-$version-$release.$arch.rpm
For installing use
rpm -ihv ipv6calc-$version-$release.$arch.rpm
For updating use
rpm -Fhv ipv6calc-$version-$release.$arch.rpm
For deinstalling use
rpm -e ipv6calc
RPM is currently tested on CentOS 5/6/7 / Fedora 20
HACKERS WAY
-----------
cd /usr/src ; tar xvzf ipv6calc*.tar.gz
./configure --exec_prefix=/usr --mandir=/usr/share/man && make && make test && make -n install exec_prefix=/usr
make install exec_prefix=/usr
If you want to suppress configure's exec_prefix, specify bindir directly, e.g.
./configure --prefix=/usr/local --bindir /usr/local/bin --mandir /usr/local/share/man
For Solaris 8 you need following packages installed:
autoconf
automake
gcc
make
binutils
cvs (optional)
perl
m4
For Gentoo you need following packages installed:
dev-perl/URI
dev-perl/Digest-SHA1
CONFIGURE
---------
There is a configure script available.
Following options are used:
--bindir=/usr/bin (@bindir@)
--mandir=/usr/share/man (@mandir@)
--enable-ip2location (see below for more information)
--enable-geoip (see below for more information)
Execute:
./configure --bindir=/usr/bin --mandir=/usr/share/man
UPDATE OF DATABASES
-------------------
ipv6calc contains several databases, currently
* OUI (24/36) type (IEEE)
* IAB type (IEEE)
* IPv4 address space assignment
* IPv6 address space assignment
* AS
* CC
to update this database before compilation you need:
- install perl, wget
- run "make update"
See also:
./databases/registries/README
./databases/ipv4-assignment/README
./databases/ipv6-assignment/README
./databases/ieee-iab/README
./databases/ieee-oui/README
./databases/ieee-oui36/README
IP2LOCATION LIBRARY
-------------------
You can use the IP2Location library with ipv6calc. The library is available
at , and the currently supported version
is at least 2.1.3 (versions below are NOT supported). The support is
enabled with the --enable-ip2location configure option.
If you have installed the IP2Location library in a non-standard place, you
may find the --with-ip2location-headers=DIR and --with-ip2location-lib=DIR
configure options useful. If you have problems finding the library at
runtime, try linking it statically the --with-ip2location-static configure
option.
If you have problems building the IP2Location library, see the
README.BUILDING-IP2LOCATION file in the ipv6calc distribution.
GEOIP LIBRARY
-------------
You can also use the GeoIP library with ipv6calc. The library is available
at , and the currently supported
version is 1.4.1 (although others may work too). The support is enabled
with the --enable-geoip configure option.
If you have installed the GeoIP library in a non-standard place, you may
find the --with-geoip-headers=DIR and --with-geoip-lib=DIR configure
options useful. If you have problems finding the library at runtime,
try linking it statically the --with-geoip-static configure option.
You can set the path to a default GeoIP database file by using the
--with-geoip-default-file configure option. This file is used
when ipv6calc is invoked with the '-G' (or '--db-geoip-default')
option.
See also README.BUILDING-GeoIP
PREPARATIONS
------------
"make update" updates the databases for static built-in
"make distclean" cleans the source
"make updateclean" also cleans the database header files
COMPILE
-------
To compile simply use "make".
There should be no warnings or errors occur.
TESTING
-------
It's very recommended to test the created binaries using "make test" or at least
"make test-minimal" (this skips external database related tests).
If using a build system, which has not GeoIP or IP2Location databases installed,
but support was was enabled, use at least "make test-minimal"
INSTALLATION
------------
If you want to install the binary use "make install".
Peter Bieringer
$Id: 19d44654331c7500d314d1607f0518a7da64cfa3 $
ipv6calc-4.1.0/LICENSE 0000664 0000000 0000000 00000002003 14441542472 0014232 0 ustar 00root root 0000000 0000000 0. The program "ipv6calc" is produced and copyright 2001-2015 by Peter Bieringer , except
* some codelines regarding address type resolving, which were directly copied from Linux kernel source (also GPL license)
related files are:
- libipv6addr.c
- libipv6addr.h
* code for uncompressing IPv6 addresses, which was copied from "ircd"
related file is
- librfc1884.c
* code for getopt (needed by OpenBSD)
related files are:
- getopt/getopt.c
- getopt/getopt.h
- getopt/getopt1.c
* external databases fallback code (header files only)
IP2Location (7.0.1): LGPL version 3
GeoIP (1.4.8): LGPL version 2.1
-> see directory "samplecode" in the source file for original versions
* source data of databases
IAB/OUI data is taken from IEEE
IPv4/IPv6 assignment data is taken from registries RIPE NCC, APNIC, ARIN, LACNIC, AfriNIC
1. The program "ipv6calc" is distributed under the GNU GPL version 2
(see COPYING file for more)
2015-05-07, Peter Bieringer
ipv6calc-4.1.0/Makefile.in 0000664 0000000 0000000 00000014072 14441542472 0015303 0 ustar 00root root 0000000 0000000 # Project : ipv6calc
# File : Makefile[.in]
# Version : $Id: cb8f99510c18573121b4784ad54f34e0ec93d788 $
# Copyright : 2001-2019 by Peter Bieringer
#
# Information:
# Main Makefile for ipv6calc project
#
# Compiler and Linker Options
export DEFAULT_CFLAGS = -D_GNU_SOURCE -O2 -Wall -g @CFLAGS_EXTRA@
ifeq (@ENABLE_BUNDLED_GETOPT@, 1)
GETOPT_MAKE = getopt-make
GETOPT_DIR = getopt
endif
ifeq (@ENABLE_BUNDLED_MD5@, 1)
MD5_MAKE = md5-make
MD5_DIR = md5
endif
ifeq (@ENABLE_MOD_IPV6CALC@, 1)
MOD_IPV6CALC_MAKE = mod_ipv6calc-make
MOD_IPV6CALC_DIR = mod_ipv6calc
endif
CC = @CC@
all: $(MD5_MAKE) $(GETOPT_MAKE) ipv6calc ipv6logconv ipv6logstats ipv6loganon $(MOD_IPV6CALC_MAKE)
.c.o:
$(CC) -c $< $(DEFAULT_CFLAGS) $(CFLAGS) $(INCLUDES)
ipv6logconv: $(GETOPT_MAKE) lib-make ipv6logconv-make
ipv6loganon: $(GETOPT_MAKE) lib-make ipv6loganon-make ipv6logstats-make
ipv6logstats: $(GETOPT_MAKE) lib-make ipv6logstats-make
ipv6calc: $(GETOPT_MAKE) lib-make ipv6calc-make ipv6calcweb-make
updateclean:
${MAKE} distclean
for dir in databases/ieee-oui databases/ieee-iab databases/ipv4-assignment databases/ipv6-assignment; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
rm -rf autom4te.cache; \
rm -rf autogen-all-variants.status; \
cd $$ocwd; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
distclean:
${MAKE} clean
rm -f config.cache config.status config.log
rm -rf autom4te.cache
for dir in ipv6logconv ipv6loganon ipv6logstats ipv6calcweb ipv6calc mod_ipv6calc man lib md5 getopt databases/lib databases/ieee-oui36 databases/lib databases/ieee-oui28 databases/lib databases/ieee-oui databases/ieee-iab databases/ipv4-assignment databases/ipv6-assignment databases/registries databases/as-assignment databases/cc-assignment tools; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
rm -rf autom4te.cache; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
autoclean:
${MAKE} distclean
rm -f Makefile
rm -f contrib/ipv6calc.spec
rm -f config.h
for dir in ipv6logconv ipv6loganon ipv6logstats ipv6calcweb ipv6calc mod_ipv6calc man lib databases/lib md5 getopt tools; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
clean:
for dir in ipv6logconv ipv6loganon ipv6logstats ipv6calcweb ipv6calc mod_ipv6calc man lib databases/lib md5 getopt tools; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
install:
for dir in ipv6logconv ipv6loganon ipv6logstats ipv6calcweb ipv6calc $(MOD_IPV6CALC_DIR) man lib databases/lib tools; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} install; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
getopt-make:
cd getopt && ${MAKE}
md5-make:
cd md5 && ${MAKE}
lib-make: $(MD5_MAKE) $(GETOPT_MAKE) db-ieee-oui-make db-ieee-iab-make db-ipv4-assignment-make db-ipv6-assignment-make db-wrapper-make db-lib-make
cd lib && ${MAKE} GETOPT_INCLUDE=@GETOPT_INCLUDE@
ipv6logconv-make: lib-make
cd ipv6logconv && ${MAKE}
ipv6loganon-make: lib-make
cd ipv6loganon && ${MAKE}
ipv6logstats-make: lib-make
cd ipv6logstats && ${MAKE}
ipv6calc-make: lib-make
cd ipv6calc && ${MAKE}
ipv6calcweb-make: ipv6calc-make
cd ipv6calcweb && ${MAKE}
mod_ipv6calc-make: lib-make
cd mod_ipv6calc && ${MAKE}
db-wrapper-make:
cd databases/lib && ${MAKE}
db-ieee-oui-make:
cd databases/ieee-oui && ${MAKE}
db-ieee-oui36-make:
cd databases/ieee-oui36 && ${MAKE}
db-ieee-iab-make:
cd databases/ieee-iab && ${MAKE}
db-ipv4-assignment-make:
cd databases/ipv4-assignment && ${MAKE}
db-ipv6-assignment-make:
cd databases/ipv6-assignment && ${MAKE}
db-cc-assignment-make:
cd databases/cc-assignment && ${MAKE}
db-as-assignment-make:
cd databases/as-assignment && ${MAKE}
db-lib-make: db-ieee-oui-make db-ieee-iab-make db-ipv4-assignment-make db-ipv6-assignment-make db-wrapper-make db-lib-make db-cc-assignment-make db-as-assignment-make
cd databases/lib && ${MAKE}
update: update-ieee
for dir in databases/registries; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ || exit 1; \
cd $$ocwd ; \
done || exit 1
update-ieee:
for dir in databases/ieee-oui databases/ieee-oui28 databases/ieee-oui36 databases/ieee-iab; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} update || exit 1; \
cd $$ocwd ; \
done || exit 1
static: ipv6logconv-make ipv6loganon-make ipv6logstats-make ipv6calc-make
for dir in ipv6logconv ipv6logstats ipv6loganon ipv6calc; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
test:
for dir in ipv6calc ipv6logconv ipv6logstats ipv6loganon ipv6calcweb $(MOD_IPV6CALC_DIR); do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
echo "ALL TESTS SUCCESSFUL"
test-minimal:
for dir in ipv6calc ipv6logconv ipv6logstats ipv6loganon ipv6calcweb; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done
test-ldlibpath:
for dir in ipv6calc ipv6logconv ipv6logstats ipv6loganon ipv6calcweb; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done
codecheck:
# catch use of strncpy
LC_ALL=C find . -type f -name '*.c' | xargs -r grep strncpy || exit 0
# catch use of strcpy
LC_ALL=C find . -type f -name '*.c' | xargs -r grep strcpy || exit 0
for dir in ipv6calc ipv6logconv ipv6logstats ipv6loganon; do \
ocwd=`pwd`; \
cd $$dir || exit 1; \
${MAKE} $@ ; r=$$?; \
cd $$ocwd ; if [ $$r -ne 0 ]; then echo "Result: $$r"; exit $$r; fi; \
done || exit 1
ipv6calc-4.1.0/README 0000664 0000000 0000000 00000007702 14441542472 0014120 0 ustar 00root root 0000000 0000000 ipv6calc will do some format changes and calculations for you
(P) & (C) 2001-2023 by Peter Bieringer
published under GNU GPLv2
For suggestions and bug report please contact author
More help is available using 'ipv6calc -?'
Intention:
* This utility can be used by the IPv6 enabled initscripts for better duplicate
address detection on setup of IPv6 addresses
* Also migrate "ip6_int" of Keith Owens into this utility
Known bugs:
* ipv6calc is sure not the securest C program around the world
Contents:
* "ipv6calc": the main utility
* "ipv6calcweb": CGI wrapper for ipv6calc's address information output
* "ipv6logconv": log converter (IPv4/IPv6)
* "ipv6loganon": log anonymizer (IPv4/IPv6)
* "ipv6logstats": log statistic generator (IPv4/IPv6)
* "mod_ipv6calc": Apache module
Included internal databases:
* IEEE IAB, OUI, OUI-36 databases (for decoding vendor part of MAC/EUI-48/EUI-64)
* IPv4 assignment databases from IANA, ARIN, RIPENCC, APNIC, LACNIC, AFRINIC (for selecting proper registry in ipv6calcweb.cgi and IPv4 anonymization)
* IPv6 assignment databases from IANA, ARIN, RIPENCC, APNIC, LACNIC, AFRINIC (for selecting proper registry in ipv6calcweb.cgi and IPv6 anonymization)
* ASN assignment databases from IANA, ARIN, RIPENCC, APNIC, LACNIC, AFRINIC (for IPv4/IPv6 anonymization)
Supported external databases:
* GeoIP(MaxMindDB) - internally handled as GEOIP2
* IP2Location
* DB-IP.com(MaxMindDB) - internally handled as DBIP2
Where to get:
Homepage:
https://www.deepspace6.net/projects/ipv6calc.html
Latest version of sources:
ftp://ftp.bieringer.de/pub/linux/IPv6/ipv6calc/
http://www.bieringer.de/ftp/pub/linux/IPv6/ipv6calc/
https://www.bieringer.de/ftp/pub/linux/IPv6/ipv6calc/
ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/
http://www.deepspace6.net/ftp/pub/ds6/sources/ipv6calc/
https://www.deepspace6.net/ftp/pub/ds6/sources/ipv6calc/
GitHub access:
https://github.com/pbiering/ipv6calc
Available formats:
tar.gz
spec-file is included, so you can build an RPM from source tarball using rpm -ta ipv6calc-version.tar.gz
Ready to use packages for several operating systems:
Linux:
Fedora (https://src.fedoraproject.org/rpms/ipv6calc)
Core 6: initial developing platform, so use given hint above to create a RPM
since 7: package is included
Enterprise Linux (https://src.fedoraproject.org/rpms/ipv6calc / https://koji.fedoraproject.org/koji/packageinfo?packageID=366):
EL3: build from source package potentially still work but not tested anymore, OS is EOSL
EL4: build from source package potentially still work but not tested anymore, OS is EOSL
EL5: build from source package potentially still work but not tested anymore, OS is EOSL
EL6: build from source package potentially still work but not tested anymore, OS is EOSL
EL7: package is available via EPEL
EL8: package is available via EPEL
EL9: package is available via EPEL
Mandrake (EOSL):
similar to Red Hat, rebuild should work, too
Debian:
maintained package at http://packages.debian.org/ipv6calc
Ubuntu:
maintained package at http://packages.ubuntu.com/ipv6calc
or http://packages.ubuntu.com/cgi-bin/search_packages.pl?searchon=names&version=all&exact=1&keywords=ipv6calc
BSD:
NetBSD:
ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/net/ipv6calc/README.html
FreeBSD:
http://www.freshports.org/net-mgmt/ipv6calc/ (http://www.freebsd.org/cgi/query-pr.cgi?pr=34441)
OpenBSD:
http://www.openbsd.org/cgi-bin/cvsweb/ports/net/ipv6calc/
Mailing lists:
ipv6calc-announce
Reason: sending announcements of new versions
Traffic: very low
Postings: only moderators are allowed to post, others are rejected automatically
Subscription: http://lists.deepspace6.net/listinfo/ipv6calc-announce
ipv6calc
Reason: discussions
Traffic: medium
Postings: only subscribers are allowed to post
Subscription: http://lists.deepspace6.net/listinfo/ipv6calc
ipv6calc-4.1.0/README.DBIP 0000664 0000000 0000000 00000000116 14441542472 0014625 0 ustar 00root root 0000000 0000000 GENERAL
-------
db-ip.com(BerkeleyDB) support is dropped since ipv6calc 3.0.0
ipv6calc-4.1.0/README.DBIP2 0000664 0000000 0000000 00000002542 14441542472 0014714 0 ustar 00root root 0000000 0000000 GENERAL
-------
db-ip.com distributes since some time also binary loation file in MaxMindDB format
see also README.MaxMindDB
ENABLING SUPPORT
----------------
Install following RPMs (usually supported by distribution)
maxminddb maxminddb-devel
If you want to use the db-ip.com databases with ipv6calc, you will
have only to enable the support using configure:
--enable-maxminddb
In case, dynamic load of library should be enabled (conditional MaxMindDB support), add
--with-maxmindd-dynamic
In case db-ip.com MaxMindDB support should be explicitly *disabled*, use
--disable-dbip2
DATA UPDATE
-----------
For regular (monthls) updates of the free available databases a download tool is also provided:
DBIP-update.sh
Commercial databases need a subscription and must be downloaded, decompressed and softlinked
$ cd /var/local/share/DBIP
$ wget http://download.db-ip.com/key/.mmdb -O dbip-location-isp-$(date +'%Y-%m').mmdb.gz
$ gunzip dbip-location-isp-$(date +'%Y-%m').mmdb.gz
$ ln -sf dbip-location-isp-$(date +'%Y-%m').mmdb.gz dbip-location-isp.mmdb
the tool can help you here:
$ DBIP-update.sh -U https://download.db-ip.com/key/.mmdb
example ( is NOT working):
$ DBIP-update.sh -U https://download.db-ip.com/key/0123456789abcdef0123456789abcdef01234567.mmdb
$Id: f4c90c34014b897b6b43282136f5a28b9c207ede $
ipv6calc-4.1.0/README.External 0000664 0000000 0000000 00000002115 14441542472 0015672 0 ustar 00root root 0000000 0000000 GENERAL
-------
ipv6calc's internal databases
* IPv4 assignment databases from IANA, ARIN, RIPENCC, APNIC, LACNIC, AFRINIC (for selecting proper registry in ipv6calcweb.cgi and IPv4 anonymization)
* IPv6 assignment databases from IANA, ARIN, RIPENCC, APNIC, LACNIC, AFRINIC (for selecting proper registry in ipv6calcweb.cgi and IPv6 anonymization)
* ASN assignment databases from IANA, ARIN, RIPENCC, APNIC, LACNIC, AFRINIC (for IPv4/IPv6 anonymization)
can be overruled by using updated ones converted into Berkeley DB format.
Therefore ipv6calc package contains the tools
ipv6calc-create-registry-list-ipv4.pl
ipv6calc-create-registry-list-ipv6.pl
ipv6calc-update-registries.sh
ipv6calc-registries-check-run-create.sh
to generate Berkeley DB files from various registry data
ENABLING SUPPORT
----------------
If you want to use the 'external' databases with ipv6calc, you will
have only to enable the support using configure:
--enable-external
DATA UPDATE
-----------
For regular (monthls) updates of the free available databases a download tool is also provided:
ipv6calc-db-update.sh
ipv6calc-4.1.0/README.GeoIP 0000664 0000000 0000000 00000000130 14441542472 0015046 0 ustar 00root root 0000000 0000000 GENERAL
-------
GeoIP(legacy) version 1 support is dropped since ipv6calc version 3.0.0
ipv6calc-4.1.0/README.GeoIP2 0000664 0000000 0000000 00000001615 14441542472 0015141 0 ustar 00root root 0000000 0000000 GENERAL
-------
MaxMind distributes since some time also binary loation file in MaxMindDB format (aka GeoIPv2)
See also README.MaxMindDB
ENABLING SUPPORT
----------------
Install following RPMs (usually supported by distribution)
maxminddb maxminddb-devel
If you want to use the GeoIPv2 databases with ipv6calc, you will
have only to enable the support using configure:
--enable-maxminddb
In case, dynamic load of library should be enabled (conditional MaxMindDB support), add
--with-maxmindd-dynamic
In case GeoIPv2 support should be explicitly *disabled*, use
--disable-geoip2
DATA UPDATE
-----------
For regular (monthls) updates of the free available databases a download tool is also provided:
GeoIP-update.sh
Commercial databases need a subscription and must be downloaded and softlinked
$ cd /var/local/share/GeoIP
$Id: aeb337ebc91f9a9070b4808d2792d1562bd68cbd $
ipv6calc-4.1.0/README.IP2Location 0000664 0000000 0000000 00000007747 14441542472 0016213 0 ustar 00root root 0000000 0000000 GENERAL
-------
IP2Location changed the API layer several times
2.x (no longer in scope)
4.x -> 6.x
6.x -> 7.x
7.x -> 8.x
To avoid issues caused by undetectable incompatibilities (no library version function provided so far),
program will not start in case of dynamic linking an incompatible library.
Supported so far:
compiled with 4.0.2, supported library: 4.0.2 - 6.0.3
compiled with 6.0.x, supported library: 6.0.1 - 6.0.3
compiled with 7.0.0, supported library: 7.0.0
compiled with 8.0.4, supported library: 8.0.0 -
In dynamic load configuration, this will detected and features will be deactivated
Description of the various fields:
http://www.ip2location.com/databases/db24-ip-country-region-city-latitude-longitude-zipcode-timezone-isp-domain-netspeed-areacode-weather-mobile-elevation-usagetype
BUILDING IP2Location
--------------------
If you want to use the IP2Location library with ipv6calc, you will
have to build and install it yourself separately.
Versions below 2.1.3 are NOT supported.
Instructions for version 4.0.2 building as RPM
Check for installed "libtool" package (otherwise, following error message appears: "configure.ac:40: error: possibly undefined macro: AC_PROG_LIBTOOL")
Rebuild available SRPMS (this requires an RPM build environment):
-Download SRPMS from http://rpm.pbone.net/index.php3
e.g. ftp://ftp.icm.edu.pl/vol/rzm2/linux-mandriva/official/2011/SRPMS/contrib/release/ip2location-4.0.2-1.src.rpm
- extend .rpmmacros:
# for Mandrake SRPMS on non Mandrake systems
%mkrel() %1
%mklibname(ds) %{1}%{?2:%{2}}%{?3:_%{3}}%{-s:-static}%{-d:-devel}
%mdkversion 201200
%configure2_5x %configure
%make make
%makeinstall_std %makeinstall
- rebuild by
$ rpmbuild --rebuild ip2location-4.0.2-1.src.rpm
at least on Fedora 17 + RHEL/CentOS 6:
$ QA_RPATHS=$[ 0x0002 ] rpmbuild --rebuild /tmp/ip2location-4.0.2-1.src.rpm
Instructions for version 6.0.1 building as RPM "on-top" of SRPMS for 4.0.2
- download RPM from above, install source rpm
rpm -ihv PATH/TO/ip2location-4.0.2-1.src.rpm
- download newest version: https://www.ip2location.com/downloads/ip2location-c-6.0.1.tar.gz
- store file in rpmbuild/SOURCES
- apply changes to spec file
- change version and source in spec file
Version: 6.0.1
Source0: https://www.ip2location.com/downloads/ip2location-c-%{version}.tar.gz
- remove Patch0 lines
- remove IP2LOCATION_PRODUCTS_CATALOG.PDF from 2 lines
- build binary package
rpm -bb rpmbuild/SPECS/ip2location.spec
From source code:
See also instructions on https://www.ip2location.com/developers/c
Note that sources are now available on GitHub
Extract, configure & compile
$ unzip -l master.zip
$ cd IP2Location-C-Library-master
$ autoreconf -i && ./configure && make
Install as user "root"
# make install
This will install following files:
/usr/local/include/IP2Location.h
/usr/local/include/imath.h
/usr/local/lib/libIP2Location.a
/usr/local/lib/libIP2Location.la
/usr/local/lib/libIP2Location.so
Extend dynamic linking
# echo "/usr/local/lib" >>/etc/ld.so.conf.d/usr-local-lib.conf
# ldconfig
Install databases
# mkdir -p /var/local/share/IP2Location
# cp data/IP* /var/local/share/IP2Location/
# chmod 644 /var/local/share/IP2Location/*
Update databases (requires subscription)
http://www.ip2location.com/IPV6-COUNTRY.aspx
Enable IP2Location support by using following configure options:
--enable-ip2location
In case, dynamic load of library should be enabled (conditional IP2Location support), add
--with-ip2location-dynamic
Having IP2Location databases not stored in /usr/share/IP2Location (or a softlink created), add e.g.
--with-ip2location-db=/var/local/share/IP2Location
For more specifc options see ./configure --help
DATA UPDATE
---------------------
Create as user "root" database custom data directories:
# mkdir -p /var/local/share/IP2Location
For regular (monthls) updates of available free and permitted commercial databases a download tool is also provided:
IP2Location-update.sh
ipv6calc-4.1.0/README.MaxMindDB 0000664 0000000 0000000 00000001021 14441542472 0015646 0 ustar 00root root 0000000 0000000 GENERAL
-------
MaxMindDB support added since version 2.0.0
See also README.GeoIP2, README.DBIP2
ENABLING SUPPORT
----------------
Install following RPMs (usually supported by distribution)
maxminddb maxminddb-devel
In case, dynamic load of library should be enabled (conditional MaxMindDB support), add
--with-maxmindd-dynamic
COMPATIBILITY
-------------
ipv6calc is tested against following MaxMindDB library versions
1.1.1 (EL6)
1.2.0 (EL7, FC29)
$Id: 40a4d12de7538375cb97e459f5a72e10b061a8b4 $
ipv6calc-4.1.0/TODO 0000664 0000000 0000000 00000002300 14441542472 0013715 0 ustar 00root root 0000000 0000000 # Project: ipv6calc
# File : TODO
# Version: $Id: 530b3e6934f5b3f85b9996d3fa9f9d9cc0ff775e $
TODO list
=========
Next
----------
Short term
----------
Middle term
-----------
* replace Berkeley DB with MMDB
Format:
* octal:
should also be understandable by input (currently, only output is supported)
IEEE/OUI library:
* perhaps more filtering of unnecessary information
Code quality:
* review & improvements
Help:
* add more examples in inline help
ipv6calcweb.cgi:
* add alarm wrapper around call of ipv6calc
Documentation:
* add more information to USAGE docs
Features requested from others:
-call no kernel-specific or userland-specific functions, just C.
ipv6calc C library would contain routines to represent the
following forms (and convert between them):
-x:x:x:x:x:x:x:x
-::
-x:x:x:x:x:x:d.d.d.d
-ipv6-address/prefix-length
-scoped_address%scope_id
-base 85 (compact notation)
-URL's
-binary labels
-comparing addresses, v4/v4, v4/v6
-not use malloc or strxxx functions.
External dependencies
---------------------
Use of "splint" once variadic macros are supported http://splint.org/faq.html#quest18b
ipv6calc-4.1.0/USAGE 0000664 0000000 0000000 00000002612 14441542472 0014022 0 ustar 00root root 0000000 0000000 $Id: 5d35ac59733b0e774e5da52acb811c60bb1561c2 $
File: ipv6calc/ipv6calc
see docs/ipv6calc.html for more
Example for IP2Location information:
$ ./ipv6calc/ipv6calc --db-ip2location-ipv4 /path/to/IP-COUNTRY-SAMPLE.BIN -q -m -i 66.1.2.3
IPV4=66.1.2.3
IPV4_REGISTRY=ARIN
IP2LOCATION_COUNTRY_SHORT=US
IP2LOCATION_COUNTRY_LONG=UNITED STATES
IP2LOCATION_REGION=This parameter is unavailable for selected data file. Please upgrade the data file.
IP2LOCATION_CITY=This parameter is unavailable for selected data file. Please upgrade the data file.
IP2LOCATION_ISP=This parameter is unavailable for selected data file. Please upgrade the data file.
IP2LOCATION_LATITUDE=0.000000
IP2LOCATION_LONGITUDE=0.000000
IP2LOCATION_DOMAIN=This parameter is unavailable for selected data file. Please upgrade the data file.
IP2LOCATION_ZIPCODE=This parameter is unavailable for selected data file. Please upgrade the data file.
IPV6CALC_NAME=ipv6calc
IPV6CALC_VERSION=0.52cvs
IPV6CALC_COPYRIGHT="(P) & (C) 2001-2006 by Peter Bieringer "
pipe mode:
$ cat /proc/net/if_inet6 | awk '{ print $1 " " $3 }' | ./ipv6calc --ifinet6_to_compressed
File: ipv6calcweb/ipv6calcweb.cgi
see ipv6calcweb/USAGE for more
File: ipv6logconv/ipv6logconv
see examples/analog/run_analog.sh for more
File: ipv6loganon/ipv6loganon
see ipv6loganon/README for more
File: ipv6logstats/ipv6logstats
see ipv6logstats/example* for more
ipv6calc-4.1.0/VERSION 0000664 0000000 0000000 00000000006 14441542472 0014276 0 ustar 00root root 0000000 0000000 4.1.0
ipv6calc-4.1.0/VERSION.in 0000664 0000000 0000000 00000000022 14441542472 0014701 0 ustar 00root root 0000000 0000000 @PACKAGE_VERSION@
ipv6calc-4.1.0/autogen-all-variants.sh 0000775 0000000 0000000 00000024320 14441542472 0017627 0 ustar 00root root 0000000 0000000 #!/usr/bin/env bash
#
# Project : ipv6calc
# File : autogen-all-variants.sh
# Copyright : 2011-2023 by Peter Bieringer
#
# Information: run autogen.sh with all supported variants
#
# history: can run also through various version of GeoIP (-g) and IP2Location (-i) libraries
# see autogen-support.sh for details
status_file="autogen-all-variants.status"
## Generate configure variants
autogen_variants() {
autogen_variants_list
autogen_variants_list | while IFS="#" read options list; do
echo "${options:+$options }--clang#$list"
done
autogen_variants_list | while IFS="#" read options list; do
echo "${options:+$options }--gcc-Os#$list"
done
case "$OSTYPE" in
freebsd*)
# skip 32-bit builds on freebsd
return
;;
esac
# skip IP2Location and MaxMindDB based
autogen_variants_list | grep -Evw "(IP2LOCATION|GEOIP2|DBIP2)" | while IFS="#" read options list; do
echo "${options:+$options }--m32#$list"
done
autogen_variants_list | grep -Evw "(IP2LOCATION|GEOIP2|DBIP2)" | while IFS="#" read options list; do
echo "${options:+$options }--clang --m32#$list"
done
}
autogen_variants_list() {
if ! $skip_main_test; then
cat <&2
exit 1
;;
esac
done
shift $[ $OPTIND - 1 ]
source ./autogen-support.sh "source"
if [ -n "$options_add" ]; then
echo "INFO : additional options: $options_add"
fi
if [ -f "$status_file" ] && ! $dry_run; then
echo "INFO : status file found: $status_file"
if $force; then
echo "NOTICE: remove status file (force)"
rm $status_file
else
if grep -q ":END:" $status_file; then
if $rerun; then
echo "NOTICE: all runs successful, option -r given, status file removed (re-run)"
rm $status_file
else
echo "NOTICE: all runs successful, nothing more to do (use -r for force a re-run)"
exit 0
fi
else
if $rerun; then
echo "NOTICE: option -r for forcing a re-run is useless, last run was not finished (use -f)"
exit 0
fi
fi
fi
fi
if ! $dry_run; then
if [ ! -f "$status_file" ]; then
echo "INFO : status file missing, create: $status_file"
date "+%s:START:${batch:+BATCHMODE}" >$status_file
fi
fi
IONICE="ionice -c 3"
if ! $IONICE true; then
echo "NOTICE: disable use of ionice, not supported"
IONICE=""
fi
# variants
for liboption in "normal" "shared"; do
if $skip_shared && [ "$liboption" = "shared" ]; then
continue
fi
autogen_variants | while IFS="#" read token buildoptions testlist; do
case "$OSTYPE" in
freebsd*)
case $token in
BUNDLED)
echo "NOTICE: disable on OSTYPE=$OSTYPE: $buildoptions"
continue
;;
esac
esac
buildoptions=$(echo $buildoptions)
if [ -n "$options_add" ]; then
if $no_static_build; then
options="--no-static-build $options_add $buildoptions"
else
options="${options_add:+$options_add }$buildoptions"
fi
else
if $no_static_build; then
options="--no-static-build $buildoptions"
else
options="$buildoptions"
fi
fi
case $liboption in
shared)
options="${options:+$options }-S"
;;
esac
# extend options in fallback case
if [ -n "$ip2location_options_extra" ]; then
if echo "$token" | grep -Fwq "IP2LOCATION"; then
options="${options:+$options }$ip2location_options_extra"
fi
fi
# check for already executed option combination
if [ -f "$status_file" ]; then
if [ -z "$testlist" ]; then
if grep -Eq ":FINISHED:variants:$options:" $status_file; then
echo "NOTICE: skip variant run (already finished) with: $options"
continue
fi
else
echo "NOTICE: testlist not empty, check dedicated build (testlist: $testlist) with: $options"
fi
fi
if echo "$token" | grep -Ewq "$skip_token"; then
echo "NOTICE: skip variant because of token: $token"
if $dry_run; then
date "+%s:FINISHED:variants:$options:SKIPPED" >>$status_file
fi
continue
fi
options_test=""
if [ -n "$testlist" ]; then
options_test="--no-test"
fi
if $dry_run; then
echo "INFO : would call(dry-run): ./autogen.sh $options_test $options"
if [ -z "$testlist" ]; then
continue
fi
else
# run autogen
echo "INFO : call: ./autogen.sh $options_test $options"
nice -n 20 $IONICE ./autogen.sh $options_test $options
if [ $? -ne 0 ]; then
echo "ERROR : autogen.sh reports an error with options: $options_test $options"
if $batch; then
date "+%s:BROKEN:variants:$options" >>$status_file
else
exit 1
fi
else
# add entry in log
date "+%s:FINISHED:variants:$options:OK" >>$status_file
fi
fi
if [ -n "$testlist" ]; then
for entry in $testlist; do
if grep -Eq ":FINISHED:variants:$options:TESTLIST-ENTRY=$entry" $status_file; then
echo "NOTICE: skip variant test (already finished) with: $options and $entry"
continue
fi
if $dry_run; then
echo "INFO : would call(dry-run): ./autogen.sh $options (testlist entry: $entry)"
continue
fi
name=${entry/:*}
version=${entry/*:}
lib=$(options_from_name_version $name $version "only-lib")
libdir=$(options_from_name_version $name $version "only-libdir")
if [ -z "$lib" ]; then
echo "ERROR : something wrong in call of: options_from_name_version $name $version 'only-lib'"
exit 1
fi
if [ -z "$libdir" ]; then
echo "ERROR : something wrong in call of: options_from_name_version $name $version 'only-libdir'"
exit 1
fi
if [ ! -e "$lib" ]; then
echo "ERROR : library missing: $lib (got from: options_from_name_version $name $version 'only-lib')"
exit 1
fi
if [ ! -d "$libdir" ]; then
echo "ERROR : library directory missing: $libdir (got from: options_from_name_version $name $version 'only-libdir')"
exit 1
fi
if $dynamic_load; then
case $name in
I*)
feature_string="IP2Location"
;;
G*)
feature_string="GeoIP"
;;
esac
# check for feature dynamic load
echo "INFO : call: LD_LIBRARY_PATH=$libdir ./ipv6calc/ipv6calc -v"
if ! LD_LIBRARY_PATH="$libdir" ./ipv6calc/ipv6calc -v 2>&1 | grep version | grep -qw $feature_string; then
echo "ERROR : call has not included required feature string '$feature_string': LD_LIBRARY_PATH=$libdir ./ipv6calc/ipv6calc -v"
exit 1
fi
echo "INFO : call: LD_LIBRARY_PATH=$libdir make test-ldlibpath"
LD_LIBRARY_PATH="$libdir" $MAKE test-ldlibpath
result=$?
else
echo "INFO : call: LD_PRELOAD=$lib make test-ldlibpath"
LD_LIBRARY_PATH="$libdir" $MAKE test-ldlibpath
result=$?
fi
if [ $result -ne 0 ]; then
echo "ERROR : autogen.sh reports an error with options: $options during testlist entry: $entry"
if $dynamic_load; then
echo "NOTICE: executed command: LD_LIBRARY_PATH=$libdir make test-ldlibpath"
else
echo "NOTICE: executed command: LD_PRELOAD="$lib" make test-ldlibpath"
fi
if $batch; then
date "+%s:BROKEN:variants:$options:TESTLIST-ENTRY=$entry" >>$status_file
else
exit 1
fi
else
date "+%s:FINISHED:variants:$options:TESTLIST-ENTRY=$entry" >>$status_file
fi
done
fi
done || exit 1
done
if ! $dry_run; then
if grep -q ":BROKEN:" $status_file; then
echo "ERROR : there are BROKEN builds:"
grep ":BROKEN:" $status_file
exit 1
else
echo "INFO : congratulations, all variants built successful!"
fi
date "+%s:END:" >>$status_file
cat $status_file
$MAKE autoclean >/dev/null
if [ $? -ne 0 ]; then
echo "ERROR : 'make autoclean' failed"
exit 1
fi
fi
ipv6calc-4.1.0/autogen-support.sh 0000775 0000000 0000000 00000035204 14441542472 0016751 0 ustar 00root root 0000000 0000000 #!/bin/bash
#
# Project : ipv6calc
# File : autogen-support.sh
# Copyright : 2014-2023 by Peter Bieringer
#
# Information: provide support functions to autogen.sh/autogen-all-variants.sh
#
# $BASE_DEVEL_IP2LCATION/ (default if unset: "..")
# ip2location-c-8.2.0 # 20201011
#### Definitions
# check for proper make
if make -v 2>&1 | grep -wq "GNU"; then
echo "INFO : make is GNU make -> OK"
MAKE="make"
else
echo "WARN : make is NOT GNU make -> check for dedicated 'gmake'"
if gmake -v 2>&1 | grep -wq "GNU"; then
echo "NOTICE: gmake found and is GNU make -> OK"
MAKE="gmake"
else
echo "ERROR : no GNU make found in path"
exit 1
fi
fi
## List of IP2Location versions (append newest one rightmost!)
ip2location_versions="8.2.0 8.3.0 8.3.1 8.4.0 8.5.1 8.6.1"
ip2location_versions_download="8.2.0 8.3.0 8.3.1 8.4.0 8.5.1 8.6.1"
ip2location_url_base="https://www.ip2location.com/downloads/"
ip2location_url_github="https://codeload.github.com/chrislim2888/IP2Location-C-Library/tar.gz/"
ip2location_cross_version_test_blacklist() {
local version_have=$(echo $1 | awk -F. '{ print $3 + $2 * 100 + $1 * 10000}')
local version_test=$(echo $2 | awk -F. '{ print $3 + $2 * 100 + $1 * 10000}')
if [ $version_have -ge 60000 -a $version_test -lt 60000 ]; then
# incompatible API
return 1
fi
if [ $version_have -ge 60003 -a $version_test -lt 60003 ]; then
# incompatible (library name got suffix .1)
return 1
fi
if [ $version_have -ge 70000 -a $version_test -lt 70000 ]; then
# incompatible
return 1
fi
if [ $version_have -lt 70000 -a $version_test -ge 70000 ]; then
# incompatible
return 1
fi
return 0
}
#### NO CHANGES BELOW
### Automatic Definitions
### base directory for GeoIP/IP2Location
BASE_SOURCES=${BASE_SOURCES:-~/Downloads}
BASE_DEVEL_GEOIP=${BASE_DEVEL_GEOIP:-~/tmp}
BASE_DEVEL_IP2LOCATION=${BASE_DEVEL_IP2LOCATION:-~/tmp}
### Functions Definitions
## generate GeoIP/IP2Location source package name from version
# in download mode provide full URL
nameversion_from_name_version() {
local name="$1"
local version="$2"
local mode="$3" # optional (download|extract|outfile)
local nameversion=""
local version_numeric=$(echo "$version" | awk -F. '{ print $3 + $2 * 100 + $1 * 10000}')
case $name in
GeoIP|G)
if [ "$mode" = "download" ]; then
if [ $version_numeric -ge 10502 ]; then
# since 1.5.2 on github
nameversion="${geoip_url_github}v$version"
else
nameversion="${geoip_url_maxmind}GeoIP-$version.tar.gz"
fi
elif [ "$mode" = "outfile" ]; then
if [ $version_numeric -ge 10502 ]; then
# since 1.5.2 on github
nameversion="geoip-api-c-$version.tar.gz"
else
nameversion="GeoIP-$version.tar.gz"
fi
else
if [ $version_numeric -ge 10502 ]; then
nameversion="geoip-api-c-$version"
else
nameversion="GeoIP-$version"
fi
fi
;;
IP2Location|I)
case $version in
4.*)
nameversion="C-IP2Location-$version"
;;
*)
# default
if [ "$mode" = "download" ]; then
if [ $version_numeric -ge 80000 ]; then
# since 8.0.0 on github
nameversion="${ip2location_url_github}$version"
else
nameversion="${ip2location_url_base}ip2location-c-$version.tar.gz"
fi
elif [ "$mode" = "outfile" ]; then
nameversion="ip2location-c-$version.tar.gz"
elif [ "$mode" = "extract" ]; then
case $version in
6.0.1|6.0.2|6.0.3|7.*|8.*)
nameversion="ip2location-c-$version"
;;
*)
# default
nameversion="IP2Location-c-$version"
;;
esac
else
case $version in
8.*)
nameversion="IP2Location-C-Library-$version"
;;
6.0.1|6.0.3|7.*)
nameversion="ip2location-c-$version"
;;
*)
# default
nameversion="IP2Location-c-$version"
;;
esac
fi
esac
;;
*)
echo "ERROR : unsupported: $name" >&2
return 1
;;
esac
echo "$nameversion"
}
## retrieve IP2Location options from version
options_from_name_version() {
local name="$1"
local version="$2"
local output="$3"
local nameversion=$(nameversion_from_name_version $name $version)
case $name in
IP2Location|I)
local dir="$BASE_DEVEL_IP2LOCATION/$nameversion"
libdir="$dir/libIP2Location/.libs"
lib="$libdir/libIP2Location.so"
result="--with-ip2location-headers=$dir/libIP2Location --with-ip2location-lib=$libdir"
;;
*)
echo "ERROR : unsupported: $name" >&2
return 1
;;
esac
case $output in
'only-lib')
echo "$lib"
;;
'only-libdir')
echo "$libdir"
;;
*)
echo "$result"
;;
esac
}
## build IP2Location libraries
build_library() {
local name="$1"
local version_selected="$2"
echo "INFO : build: name=$name version=$version_selected" >&2
local versions=""
local base_devel=""
case $name in
IP2Location|I)
versions="$ip2location_versions"
base_devel="$BASE_DEVEL_IP2LOCATION"
;;
*)
echo "ERROR : unsupported: $name" >&2
return 1
;;
esac
result_all=0
autoreconf_version=$(autoreconf -V |grep autoreconf | awk '{ print $NF }' | awk -F. '{ print $1 * 1000 + $2 }')
for version in $versions; do
if [ ${version:0:1} = "!" ]; then
echo "NOTICE: skip blacklisted version: $version" >&2
continue
fi
if [ -n "$version_selected" -a "$version" != "$version_selected" ]; then
echo "NOTICE: skip not selected version: $version" >&2
continue
fi
local version_numeric=$(echo "$version" | awk -F. '{ print $3 + $2 * 100 + $1 * 10000}')
local nameversion=$(nameversion_from_name_version $name $version)
if [ ! -d "$base_devel/$nameversion" ]; then
echo "ERROR : devel directory missing: $base_devel/$nameversion (forgot to extract?)" >&2
return 1
fi
pushd $base_devel/$nameversion >/dev/null
if [ $? -ne 0 ]; then
echo "ERROR : can't change to directory: $base_devel/$nameversion (skip)" >&2
continue
else
echo "INFO : changed to directory: $base_devel/$nameversion"
fi
if $dry_run; then
echo "INFO : would build library (dry-run): $name-$version ($nameversion)"
continue
else
echo "INFO : build library: $name-$version ($nameversion)"
fi
case $name in
IP2Location)
case $version in
6.0.3)
echo "NOTICE: $name-$version requires patching of Makefile.am"
perl -pi -e 's/data/ /g' Makefile.am
;;
esac
autoreconf -fi && ./configure && make clean && make
result=$?
;;
esac
popd >/dev/null
if [ $result -ne 0 ]; then
echo "ERROR : trouble during build of $name-$version ($nameversion)" >&2
result_all=1
break
else
echo "INFO : successful build of $name-$version ($nameversion)" >&2
build_library_status="$build_library_status $nameversion"
fi
done
return $result_all
}
## clean IP2Location libraries
clean_versions() {
local name="$1"
local version_selected="$2"
echo "INFO : clean: name=$name version=$version_selected" >&2
local versions=""
local base_devel=""
case $name in
IP2Location|I)
versions="$ip2location_versions"
base_devel="$BASE_DEVEL_IP2LOCATION"
;;
*)
echo "ERROR : unsupported: $name" >&2
return 1
;;
esac
result_all=0
for version in $versions; do
if [ ${version:0:1} = "!" ]; then
echo "NOTICE: skip blacklisted version: $version" >&2
continue
fi
if [ -n "$version_selected" -a "$version" != "$version_selected" ]; then
echo "NOTICE: skip not selected version: $version" >&2
continue
fi
local nameversion=$(nameversion_from_name_version $name $version)
if [ ! -d "$base_devel/$nameversion" ]; then
echo "NOTICE: devel directory missing: $base_devel/$nameversion (nothing to clean)" >&2
continue
fi
if $dry_run; then
echo "INFO : would remove: $base_devel/$nameversion" >&2
continue
else
echo "INFO : remove: $base_devel/$nameversion" >&2
fi
rm -rf $base_devel/$nameversion
result=$?
if [ $result -ne 0 ]; then
echo "ERROR : trouble during remove of of $name-$version ($nameversion)" >&2
result_all=1
break
else
echo "INFO : successful remove of $name-$version ($nameversion)" >&2
clean_library_status="$clean_library_status $nameversion"
fi
done
return $result_all
}
## extract IP2Location source packages
extract_versions() {
local name="$1"
local version_selected="$2"
echo "INFO : extract: name=$name version=$version_selected" >&2
case $name in
IP2Location|I)
versions="$ip2location_versions"
base_devel="$BASE_DEVEL_IP2LOCATION"
;;
*)
echo "ERROR : unsupported: $name" >&2
return 1
;;
esac
result_all=0
for version in $versions; do
if [ ${version:0:1} = "!" ]; then
echo "NOTICE: skip blacklisted version: $version" >&2
continue
fi
if [ -n "$version_selected" -a "$version" != "$version_selected" ]; then
echo "NOTICE: skip not selected version: $version" >&2
continue
fi
local nameversion=$(nameversion_from_name_version $name $version extract)
local nameversion_internal=$(nameversion_from_name_version $name $version)
local file="$BASE_SOURCES/$nameversion.tar.gz"
if [ ! -f "$file" ]; then
echo "NOTICE: file not existing, can't extract: $file" >&2
continue
fi
if $dry_run; then
echo "INFO : would extract source package (dry-run): $name-$version ($nameversion) from $file" >&2
continue
else
echo "INFO : extract source package: $name-$version ($nameversion): $file" >&2
fi
if [ ! -d "$base_devel" ]; then
echo "ERROR : base devel directory missing: $base_devel" >&2
return 1
fi
# check contents of tgz
base_dir=$(tar tzf "$file" | head -1 | sed 's/^\.\///g' | awk -F / '{ print $1 }')
if [ -z "$base_dir" ]; then
echo "ERROR : can't extract base_dir from: $file" >&2
return 1
fi
echo "INFO : file contains base_dir: $base_dir" >&2
if [ "$nameversion_internal" != "$base_dir" ]; then
echo "ERROR : nameversion is not matching base_dir: $nameversion_internal <=> $base_dir (download broken or workaround required)"
return 1
fi
tar xzf "$file" -C $base_devel
result=$?
if [ $result -ne 0 ]; then
echo "ERROR : trouble during extract of $name-$version ($nameversion) from $file" >&2
result_all=1
break
else
echo "INFO : successful extract of $name-$version ($nameversion) from $file to $base_devel" >&2
extract_library_status="$extract_library_status $nameversion"
fi
done
return $result_all
}
## retrieve IP2Location source packages
download_versions() {
local name="$1"
local version_selected="$2"
echo "INFO : download: name=$name version=$version_selected" >&2
case $name in
IP2Location|I)
versions="$ip2location_versions_download"
base_devel="$BASE_DEVEL_IP2LOCATION"
;;
*)
echo "ERROR : unsupported: $name" >&2
return 1
;;
esac
result_all=0
for version in $versions; do
if [ ${version:0:1} = "!" ]; then
echo "NOTICE: skip blacklisted version: $version" >&2
continue
fi
if [ -n "$version_selected" -a "$version" != "$version_selected" ]; then
echo "NOTICE: skip not selected version: $version" >&2
continue
fi
local url=$(nameversion_from_name_version $name $version download)
local outfile="$(nameversion_from_name_version $name $version outfile)"
local outfile_option=""
local outfile_option_info=""
if ! echo "$url" | grep -q "$outfile"; then
# URL does not contains outfile
outfile_option="-O $outfile"
outfile_option_info="($outfile_option)"
fi
if [ ! -d "$BASE_SOURCES" ]; then
echo "ERROR : base source directory missing: $BASE_SOURCES (BASE_SOURCES)" >&2
return 1
fi
pushd $BASE_SOURCES >/dev/null
if [ $? -ne 0 ]; then
echo "ERROR : can't change to directory: $BASE_SOURCES (BASE_SOURCES)" >&2
return 1
fi
if $dry_run; then
echo "INFO : would download source package (dry-run): $name-$version from $url $outfile_option_info" >&2
continue
else
echo "INFO : download source package: $name-$version from $url $outfile_option_info" >&2
fi
wget -c -q "$url" $outfile_option
result=$?
popd >/dev/null
if [ $result -ne 0 ]; then
echo "ERROR : trouble during downloading of $name-$version from $url" >&2
result_all=1
break
else
echo "INFO : successful downloaded of $name-$version from $url to $BASE_SOURCES" >&2
download_library_status="$download_library_status $name:$version"
fi
done
return $result_all
}
## help
help() {
cat <]]
$0 [-A] [-n] [GeoIP|IP2Location []]
source: source mode (using functions only in main script)
-D : download IP2Location source packages
-C : clean IP2Location source packages
-X : extract IP2Location source packages
-B : build IP2Location libraries
-A : whole chain: download/extract/build
-n : dry-run
(optionally, type and version can be specified)
IP2Location: $ip2location_versions
Prefix '!' means not supported on this platform
-h|?: this online help
used values from environment (or defaults):
BASE_SOURCES=$BASE_SOURCES
BASE_DEVEL_IP2LOCATION=$BASE_DEVEL_IP2LOCATION
END
}
if [ "$1" != "source" ]; then
# use script not only as source (function-mode)
#### Main
dry_run=false
do_download=false
do_clean=false
do_extract=false
do_build=false
while getopts ":ADCXnB?h" opt; do
case $opt in
'n')
dry_run=true
echo "NOTICE: dry-run selected" >&2
;;
'A')
action="prepare"
do_download=true
do_clean=true
do_extract=true
do_build=true
;;
'C')
action="prepare"
do_clean=true
;;
'D')
action="prepare"
do_download=true
;;
'X')
action="prepare"
do_extract=true
;;
'B')
action="prepare"
do_build=true
;;
\?|h)
help
exit 1
;;
*)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
shift $[ $OPTIND - 1 ]
case $action in
'prepare')
if $do_download; then
if [ -z "$*" ]; then
download_versions GeoIP || exit 1
download_versions IP2Location || exit 1
else
download_versions $* || exit 1
fi
echo "INFO : following libraries were successfully downloaded: $download_library_status" >&2
fi
if $do_clean; then
if [ -z "$*" ]; then
clean_versions GeoIP || exit 1
clean_versions IP2Location || exit 1
else
clean_versions $* || exit 1
fi
echo "INFO : following libraries were successfully cleaned: $clean_library_status" >&2
fi
if $do_extract; then
if [ -z "$*" ]; then
extract_versions GeoIP || exit 1
extract_versions IP2Location || exit 1
else
extract_versions $* || exit 1
fi
echo "INFO : following libraries were successfully extracted: $extract_library_status" >&2
fi
if $do_build; then
if [ -z "$*" ]; then
build_library IP2Location || exit 1
else
build_library $* || exit 1
fi
echo "INFO : following libraries were successfully built: $build_library_status" >&2
fi
;;
*)
help
;;
esac
fi
ipv6calc-4.1.0/autogen.sh 0000775 0000000 0000000 00000016252 14441542472 0015241 0 ustar 00root root 0000000 0000000 #!/usr/bin/env bash
#
# Project : ipv6calc
# File : autogen.sh
# Version : $Id: 04f3269586757e25087f0812cbad4785e3958fbc $
# Copyright : 2003-2021 by Peter Bieringer
#
# Information: autogeneration of projects with optional features
OPTIONS_CONFIGURE=""
flag_no_make=false
use_ip2location=false
use_ip2location_dyn=false
RELAX=false
SKIP_STATIC=false
SKIP_TEST=false
USE_CLANG=false
LAST=""
while [ "$1" != "$LAST" ]; do
LAST="$1"
case $1 in
'--no-make'|'-n')
shift
flag_no_make=true
;;
'--all'|'-a')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-ip2location --enable-mmdb --enable-external --enable-mod_ipv6calc"
SKIP_STATIC=true
use_ip2location=true
;;
'--ALL'|'-A')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-ip2location --enable-mmdb --with-ip2location-dynamic --with-mmdb-dynamic --enable-external --enable-mod_ipv6calc"
SKIP_STATIC=true
use_ip2location=true
;;
'--mmdb'|'-m')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-mmdb"
SKIP_STATIC=true
;;
'--mmdb-dyn'|'-M')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-mmdb --with-mmdb-dynamic"
SKIP_STATIC=true
;;
'--ip2location'|'-i')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-ip2location"
SKIP_STATIC=true
use_ip2location=true
;;
'--ip2location-dyn'|'-I')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-ip2location --with-ip2location-dynamic"
SKIP_STATIC=true
use_ip2location=true
use_ip2location_dyn=true
;;
'--external'|'-e')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-external"
SKIP_STATIC=true
;;
'--disable-db-ieee')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --disable-db-ieee"
;;
'--disable-db-ipv4')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --disable-db-ipv4"
;;
'--disable-db-ipv6')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --disable-db-ipv6"
;;
'--disable-builtin')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --disable-db-ipv6 --disable-db-ipv4 --disable-db-ieee --disable-db-ipv4 --disable-db-ipv6 --disable-db-as-registry --disable-db-cc-registry"
;;
'-S')
shift
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --enable-shared"
SKIP_STATIC=true
;;
'--no-static-build')
shift
SKIP_STATIC=true
;;
'--no-test')
shift
SKIP_TEST=true
;;
'--clang')
shift
USE_CLANG=true
;;
'--gcc-Os')
shift
CFLAGS="$CFLAGS -Os"
;;
'--m32')
shift
OPTIONS_CONFIGURE="${OPTIONS_CONFIGURE:+$OPTIONS_CONFIGURE }--enable-m32"
;;
'--openssl-md5')
shift
OPTIONS_CONFIGURE="${OPTIONS_CONFIGURE:+$OPTIONS_CONFIGURE }--enable-openssl-md5"
;;
'--relax')
shift
RELAX=true
;;
'-?'|'-h'|'--help')
echo "Supported options:"
echo " -?|-h|--help : this help"
echo " -n|--no-make : stop before running 'make'"
echo " -a|--all : enable GeoIP/IP2Location/db-ip.com/External/mod_ipv6calc support"
echo " -A|--ALL : enable GeoIP/IP2Location/db-ip.com/External/mod_ipv6calc support with dynamic library support"
echo " -m|--mmdb : enable MaxMindDB support (GeoIP/db-ip.com)"
echo " --mmdb-dyn|-M : switch to dynamic library loading of MaxMindDB"
echo " --disable-geoip2 : disable MaxMindDB support for GeoIP"
echo " --disable-dbip2 : disable MaxMindDB support for db-ip.com"
echo " -i|--ip2location : enable IP2Location support"
echo " --ip2location-dyn|-I: switch to dynamic library loading of IP2Location"
echo " -e|--external : enable external database support"
echo " --disable-db-ieee : disable built-in IEEE database"
echo " --disable-db-ipv4 : disable built-in IPv4 database"
echo " --disable-db-ipv6 : disable built-in IPv6 database"
echo " --disable-builtin : disable all internal databases"
echo " -S : enable shared library mode"
echo " --no-static-build : skip static build"
echo " --no-test : skip 'make test'"
echo " --clang : use 'clang' instead of default (usually 'gcc')"
echo " --gcc-Os : use 'gcc' option '-Os'"
echo " --m32 : compile for 32-bit"
echo " --enable-openssl-md5: use legacy OpenSSL MD5 implementation"
echo " --relax : don't stop on compiler warnings"
exit 1
;;
*)
if [ -n "$1" ]; then
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE $1"
shift
fi
;;
esac
done
source ./autogen-support.sh "source"
if $use_ip2location; then
if ! echo "$OPTIONS_CONFIGURE" | grep -q 'with-ip2location-headers='; then
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE"
fi
fi
if $RELAX; then
if ! echo "$OPTIONS_CONFIGURE" | grep -q 'disable-compiler-warning-to-error'; then
OPTIONS_CONFIGURE="$OPTIONS_CONFIGURE --disable-compiler-warning-to-error"
fi
fi
if [ -f Makefile ]; then
echo "*** cleanup"
$MAKE autoclean
fi
if $USE_CLANG; then
if [ -x "/usr/bin/clang" ]; then
export CC=/usr/bin/clang
else
echo "ERROR : --clang selected but binary is missing: /usr/bin/clang"
exit 1
fi
case "$OSTYPE" in
freebsd*)
# clang requires hint to /usr/local
LDFLAGS=-L/usr/local/lib CFLAGS=-I/usr/local/include
;;
esac
fi
echo "*** run: autoheader"
autoheader || exit 1
echo "*** run: autoconf"
autoconf || exit 1
echo "*** run: configure, options: $OPTIONS_CONFIGURE $*"
CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" ./configure --bindir=/usr/bin --mandir=/usr/share/man $OPTIONS_CONFIGURE $* || exit 1
if $flag_no_make; then
echo
echo "Stop before running 'make'"
exit
fi
echo "*** run: make clean"
$MAKE clean || exit 1
if $use_ip2location_dyn; then
if ldd ./ipv6calc/ipv6calc | grep -i IPLocation; then
echo "ERROR : dynamic library mode enabled, but ldd of binary still reports reference to IP2Location"
exit 1
fi
fi
if [ "$use_geoip_dyn" = "1" ]; then
if ldd ./ipv6calc/ipv6calc | grep -i GeoIP; then
echo "ERROR : dynamic library mode enabled, but ldd of binary still reports reference to GeoIP"
exit 1
fi
fi
$MAKE
if [ $? -ne 0 ]; then
echo "ERROR : 'make' was not successful with configure options: $OPTIONS_CONFIGURE"
exit 1
fi
if $SKIP_TEST; then
echo "*** skip: make test"
else
echo "*** run: make test"
$MAKE test
if [ $? -ne 0 ]; then
echo "ERROR : 'make test' was not successful with configure options: $OPTIONS_CONFIGURE"
exit 1
fi
fi
if ! $SKIP_STATIC && ! [ -e /etc/redhat-release ]; then
# skip static on non Fedora/RedHat/CentOS systems
SKIP_STATIC=true
echo "NOTICE: 'make static' skipped on non Fedora/RedHat/CentOS systems"
fi
if grep -qF "#define ENABLE_OPENSSL_EVP_MD5 1" config.h; then
# skip static when OpenSSL EVP MD5 is selected (unresolved issue)
SKIP_STATIC=true
echo "NOTICE: 'make static' skipped because OpenSSL EVP MD5 implementation is selected"
fi
if ! $SKIP_STATIC; then
echo "*** run: make static"
$MAKE static
if [ $? -ne 0 ]; then
echo "ERROR : 'make static' reports an error (perhaps glibc-static/openssl-static/zlib-static/libdb-devel-static is missing)"
exit 1
fi
fi
echo "*** run: make -n install (dummy install test)"
$MAKE -n install
if [ $? -ne 0 ]; then
echo "ERROR : 'make -n install' reports an error"
exit 1
fi
echo
echo "For installing the binaries, type: make install"
ipv6calc-4.1.0/config.h.in 0000664 0000000 0000000 00000015702 14441542472 0015262 0 ustar 00root root 0000000 0000000 /* config.h.in. Generated from configure.in by autoheader. */
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
/* Copyright year */
#undef COPYRIGHT_YEAR
/* Define db-ip.com (MaxMindDB) database directory. */
#undef DBIP2_DB
/* Define if bundled GETOPT should be used */
#undef ENABLE_BUNDLED_GETOPT
/* Define if bundled MD5 should be used */
#undef ENABLE_BUNDLED_MD5
/* Define if OpenSSL EVP MD5 should be used */
#undef ENABLE_OPENSSL_EVP_MD5
/* Define if OpenSSL legacy MD5 should be used */
#undef ENABLE_OPENSSL_MD5
/* Define external database directory. */
#undef EXTERNAL_DB
/* Define GeoIP (MaxMindDB) database directory. */
#undef GEOIP2_DB
/* Define if Berkeley DB support is required. */
#undef HAVE_BERKELEY_DB_SUPPORT
/* Define to 1 if you have the declaration of `API_VERSION', and to 0 if you
don't. */
#undef HAVE_DECL_API_VERSION
/* Define to 1 if you have the declaration of
`IP2Location_api_version_string', and to 0 if you don't. */
#undef HAVE_DECL_IP2LOCATION_API_VERSION_STRING
/* Define to 1 if you have the declaration of `IP2Location_close', and to 0 if
you don't. */
#undef HAVE_DECL_IP2LOCATION_CLOSE
/* Define to 1 if you have the declaration of `IP2Location_get_country_long',
and to 0 if you don't. */
#undef HAVE_DECL_IP2LOCATION_GET_COUNTRY_LONG
/* Define to 1 if you have the declaration of `IP2Location_get_country_short',
and to 0 if you don't. */
#undef HAVE_DECL_IP2LOCATION_GET_COUNTRY_SHORT
/* Define to 1 if you have the declaration of `MMDB_lib_version', and to 0 if
you don't. */
#undef HAVE_DECL_MMDB_LIB_VERSION
/* Define to 1 if you have the declaration of `USAGETYPE', and to 0 if you
don't. */
#undef HAVE_DECL_USAGETYPE
/* Define to 1 if you have the `EVP_DigestFinal_ex' function. */
#undef HAVE_EVP_DIGESTFINAL_EX
/* Define to 1 if you have the `EVP_DigestInit_ex' function. */
#undef HAVE_EVP_DIGESTINIT_EX
/* Define to 1 if you have the `EVP_DigestUpdate' function. */
#undef HAVE_EVP_DIGESTUPDATE
/* Define to 1 if you have the `EVP_md5' function. */
#undef HAVE_EVP_MD5
/* Define to 1 if you have the `EVP_MD_CTX_free' function. */
#undef HAVE_EVP_MD_CTX_FREE
/* Define to 1 if you have the `EVP_MD_CTX_init' function. */
#undef HAVE_EVP_MD_CTX_INIT
/* Define to 1 if you have the `EVP_MD_CTX_new' function. */
#undef HAVE_EVP_MD_CTX_NEW
/* Define to 1 if you have the header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `MD5_Final' function. */
#undef HAVE_MD5_FINAL
/* Define to 1 if you have the `MD5_Init' function. */
#undef HAVE_MD5_INIT
/* Define to 1 if you have the `MD5_Update' function. */
#undef HAVE_MD5_UPDATE
/* Define to 1 if you have the header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDIO_H
/* Define to 1 if you have the header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the header file. */
#undef HAVE_UNISTD_H
/* Define IP2Location database directory. */
#undef IP2LOCATION_DB
/* Define IP2Location dynamic library. */
#undef IP2LOCATION_DYN_LIB
/* IP2Location include file version. */
#undef IP2LOCATION_INCLUDE_VERSION
/* "API version Bugfix" */
#undef IPV6CALC_API_VERSION_BUGFIX
/* "API version Major" */
#undef IPV6CALC_API_VERSION_MAJOR
/* "API version Minor" */
#undef IPV6CALC_API_VERSION_MINOR
/* "API version numeric" */
#undef IPV6CALC_API_VERSION_NUMERIC
/* "API version as string" */
#undef IPV6CALC_API_VERSION_STRING
/* "Package version Bugfix" */
#undef IPV6CALC_PACKAGE_VERSION_BUGFIX
/* "Package version Major" */
#undef IPV6CALC_PACKAGE_VERSION_MAJOR
/* "Package version Minor" */
#undef IPV6CALC_PACKAGE_VERSION_MINOR
/* "Package version numeric" */
#undef IPV6CALC_PACKAGE_VERSION_NUMERIC
/* "Package version as string" */
#undef IPV6CALC_PACKAGE_VERSION_STRING
/* Define MaxMindDB database directory. */
#undef MMDB_DB
/* Define MaxMindDB dynamic library. */
#undef MMDB_DYN_LIB
/* MaxMindDB include file version. */
#undef MMDB_INCLUDE_VERSION
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the home page for this package. */
#undef PACKAGE_URL
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define if you want ipv6calc binaries compiled with shared library
libipv6calc */
#undef SHARED_LIBRARY
/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
#undef STDC_HEADERS
/* Define if you want general BuiltIn database included. */
#undef SUPPORT_BUILTIN
/* Define if you want db-ip.com (MaxMindDB) support included. */
#undef SUPPORT_DBIP2
/* Define if you want AS-to-Registry database included. */
#undef SUPPORT_DB_AS_REG
/* Define if you want CC-to-Registry database included. */
#undef SUPPORT_DB_CC_REG
/* Define if you want IEEE database included. */
#undef SUPPORT_DB_IEEE
/* Define if you want IPv4-to-Registry database included. */
#undef SUPPORT_DB_IPV4_REG
/* Define if you want IPv6-to-Registry database included. */
#undef SUPPORT_DB_IPV6_REG
/* Define if you want external support included. */
#undef SUPPORT_EXTERNAL
/* Define if you want GeoIP (MaxMindDB) support. */
#undef SUPPORT_GEOIP2
/* Define if you want IP2Location support. */
#undef SUPPORT_IP2LOCATION
/* Define if you want IP2Location support with dynamic loading support -
requires also additional linker options. */
#undef SUPPORT_IP2LOCATION_DYN
/* Define if you want IP2Location support statically linked - requires also
additional linker options. */
#undef SUPPORT_IP2LOCATION_STATIC
/* Define if you want MaxMindDB support. */
#undef SUPPORT_MMDB
/* Define if you want MaxMindDB support with dynamic loading support -
requires also additional linker options. */
#undef SUPPORT_MMDB_DYN
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_BIGENDIAN
# undef WORDS_BIGENDIAN
# endif
#endif
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `long int' if does not define. */
#undef off_t
/* Define to `unsigned int' if does not define. */
#undef size_t
ipv6calc-4.1.0/configure 0000775 0000000 0000000 00000717144 14441542472 0015157 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for ipv6calc 4.1.0.
#
# Report bugs to .
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="as_nop=:
if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else \$as_nop
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }
exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" )
then :
else \$as_nop
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
blah=\$(echo \$(echo blah))
test x\"\$blah\" = xblah || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
if (eval "$as_required") 2>/dev/null
then :
as_have_required=yes
else $as_nop
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
then :
else $as_nop
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
as_shell=$as_dir$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$as_shell as_have_required=yes
if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
then :
break 2
fi
fi
done;;
esac
as_found=false
done
IFS=$as_save_IFS
if $as_found
then :
else $as_nop
if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi
fi
if test "x$CONFIG_SHELL" != x
then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno
then :
printf "%s\n" "$0: This script requires a shell more modern than all"
printf "%s\n" "$0: the shells that I found on your system."
if test ${ZSH_VERSION+y} ; then
printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
else
printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
$0: ipv6calc@deepspace6.net about your system, including
$0: any error possibly output before this message. Then
$0: install a modern shell, or manually run the script
$0: under such a shell if you do have one."
fi
exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_nop
# ---------
# Do nothing but, unlike ":", preserve the value of $?.
as_fn_nop ()
{
return $?
}
as_nop=as_fn_nop
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_lineno_1=$LINENO as_lineno_1a=$LINENO
as_lineno_2=$LINENO as_lineno_2a=$LINENO
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ipv6calc'
PACKAGE_TARNAME='ipv6calc'
PACKAGE_VERSION='4.1.0'
PACKAGE_STRING='ipv6calc 4.1.0'
PACKAGE_BUGREPORT='ipv6calc@deepspace6.net'
PACKAGE_URL='https://www.deepspace6.net/projects/ipv6calc.html'
# Factoring default headers for most tests.
ac_includes_default="\
#include
#ifdef HAVE_STDIO_H
# include
#endif
#ifdef HAVE_STDLIB_H
# include
#endif
#ifdef HAVE_STRING_H
# include
#endif
#ifdef HAVE_INTTYPES_H
# include
#endif
#ifdef HAVE_STDINT_H
# include
#endif
#ifdef HAVE_STRINGS_H
# include
#endif
#ifdef HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_STAT_H
# include
#endif
#ifdef HAVE_UNISTD_H
# include
#endif"
ac_header_c_list=
ac_subst_vars='LTLIBOBJS
LD_LIBRARY_PATH_BASIC
LD_LIBRARY_PATH
LDFLAGS_EXTRA_STATIC
LDFLAGS_EXTRA_MOD_IPV6CALC
LDFLAGS_EXTRA
CFLAGS_EXTRA
HTTPD_VERSION_MAJOR_MINOR
HTTPD_SYSCONFDIR
HTTPD_LIBEXECDIR
APXS
ENABLE_MOD_IPV6CALC
DYNLOAD_LIB
IP2LOCATION_DYN_LIB
IP2LOCATION_DB
IP2LOCATION_LIB_L2
IP2LOCATION_LIB_L1
IP2LOCATION_LIB
IP2LOCATION_INCLUDE_L2
IP2LOCATION_INCLUDE_L1
IP2LOCATION_INCLUDE
DBIP2_DB
MMDB_DYN_LIB
MMDB_LIB_L2
MMDB_LIB_L1
MMDB_LIB
MMDB_INCLUDE_L1
MMDB_INCLUDE_L2
MMDB_INCLUDE_VERSION
MMDB_INCLUDE
EXTERNAL_DB
IPV6CALC_LIB
SHARED_LIBRARY
ENABLE_OPENSSL_MD5
ENABLE_OPENSSL_EVP_MD5
ENABLE_BUNDLED_MD5
MD5_INCLUDE
ENABLE_BUNDLED_GETOPT
GETOPT_INCLUDE
LIBOBJS
EGREP
GREP
SET_MAKE
RANLIB
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
AWK
COPYRIGHT_YEAR
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_m32
enable_compiler_warning_to_error
enable_bundled_getopt
enable_bundled_md5
enable_openssl_evp_md5
enable_openssl_md5
enable_shared
enable_dynamic_load
enable_db_ieee
enable_db_ipv4
enable_db_ipv6
enable_db_as_registry
enable_db_cc_registry
enable_builtin
enable_external
with_external_db
enable_mmdb
with_mmdb_dynamic
with_mmdb_headers
with_mmdb_lib
with_mmdb_dyn_lib
enable_geoip2
enable_dbip2
enable_dbip
with_dbip_db
enable_ip2location
with_ip2location_dynamic
with_ip2location_headers
with_ip2location_headers_fallback
with_ip2location_lib
with_ip2location_static
with_ip2location_db
with_ip2location_dyn_lib
enable_geoip
with_geoip_dynamic
with_geoip_headers
with_geoip_headers_fallback
with_geoip_lib
with_geoip_static
with_geoip_dyn_lib
with_geoip_ipv6_compat
with_geoip_db
enable_mod_ipv6calc
with_apxs
'
ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;;
esac
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: \`$ac_useropt'"
ac_useropt_orig=$ac_useropt
ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
-*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures ipv6calc 4.1.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/ipv6calc]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of ipv6calc 4.1.0:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-m32 Enable 32-bit compilation
--disable-compiler-warning-to-error
Disable extra CFLAGS for mapping warnings to errors
during compilation
--enable-bundled-getopt Enable bundled getopt library (default:
autoselected)
--enable-bundled-md5 Enable bundled MD5 library (default: autoselected)
--enable-openssl-evp-md5
Enforce use of OpenSSL EVP MD5 implementation
(default: autoselected)
--enable-openssl-md5 Enforce use of OpenSSL legacy MD5 implementation
(default: autoselected)
--enable-shared Enable shared library build (default: disabled)
--disable-dynamic-load Disable dynamic load of libraries (default: enabled)
--disable-db-ieee Disable built-in IEEE database (default: enabled)
--disable-db-ipv4 Disable built-in IPv4-to-Registry database (default:
enabled)
--disable-db-ipv6 Disable built-in IPv6-to-Registry database (default:
enabled)
--disable-db-as-registry
Disable built-in AS-to-Registry database (default:
enabled)
--disable-db-cc-registry
Disable built-in CountryCode-to-Registry database
(default: enabled)
--disable-builtin Disable all built-in databases (default: enabled)
--enable-external Enable external db support (default: disabled)
--enable-mmdb Enable MaxMindDB support (GeoIP/db-ip.com) (default:
disabled)
--disable-geoip2 Disable MaxMindDB support for GeoIP (default:
enabled)
--disable-dbip2 Disable MaxMindDB support for db-ip.com (default:
enabled)
--enable-dbip Compatibility Dummy (no longer supported)
--enable-ip2location Enable IP2Location support (default: disabled)
--enable-geoip Compatibility Dummy (no longer supported)
--enable-mod_ipv6calc Enable build of mod_ipv6calc for Apache (default:
disabled)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-external-db=DIR Use specified external database directory, default:
/usr/share/ipv6calc/db
--with-mmdb-dynamic Enable use of dynamic loading of MaxMindDB library
(default=no)
--with-mmdb-headers=DIR MaxMindDB include files location
--with-mmdb-lib=DIR MaxMindDB library location
--with-mmdb-dyn-lib=NAME
Use specified MaxMindDB dynamic library, default:
libmaxminddb.so.0
--with-dbip-db=DIR Use specified db-ip.com database directory, default:
/usr/share/DBIP
--with-ip2location-dynamic
Enable use of dynamic loading of IP2Location library
(default=no)
--with-ip2location-headers=DIR
IP2Location include files location
--with-ip2location-headers-fallback
Compatibility Dummy (no longer supported)
--with-ip2location-lib=FILE
IP2Location library location
--with-ip2location-static
Explicitly link IP2Location statically (default=no)
--with-ip2location-db=DIR
Use specified IP2Location database directory,
default: /usr/share/IP2Location
--with-ip2location-dyn-lib=NAME
Use specified IP2Location dynamic library, default:
libIP2Location.so
--with-geoip-dynamic Compatibility Dummy (no longer supported)
--with-geoip-headers=DIR
Compatibility Dummy (no longer supported)
--with-geoip-headers-fallback
Compatibility Dummy (no longer supported)
--with-geoip-lib=DIR Compatibility Dummy (no longer supported)
--with-geoip-static Compatibility Dummy (no longer supported)
--with-geoip-dyn-lib=NAME
Compatibility Dummy (no longer supported)
--with-geoip-ipv6-compat
Compatibility Dummy (no longer supported)
--with-geoip-db=DIR Use specified GeoIP database directory, default:
/usr/share/GeoIP
--with-apxs=NAME name of the apxs executable (apxs)
Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L if you have libraries in a
nonstandard directory
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
you have headers in a nonstandard directory
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to .
ipv6calc home page: .
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for configure.gnu first; this name is used for a wrapper for
# Metaconfig's "Configure" on case-insensitive file systems.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
ipv6calc configure 4.1.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
# -------------------------------------------------------
# Tests whether HEADER exists and can be compiled using the include files in
# INCLUDES, setting the cache variable VAR accordingly.
ac_fn_c_check_header_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
#include <$2>
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_compile
# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
# -------------------------------------------
# Tests whether TYPE exists after having included INCLUDES, setting cache
# variable VAR accordingly.
ac_fn_c_check_type ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
if (sizeof ($2))
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
if (sizeof (($2)))
return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
eval "$3=yes"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_type
# ac_fn_c_try_run LINENO
# ----------------------
# Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
# executables *can* be run.
ac_fn_c_try_run ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: program exited with status $ac_status" >&5
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=$ac_status
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_run
# ac_fn_c_try_link LINENO
# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
test -x conftest$ac_exeext
}
then :
ac_retval=0
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
# Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
# created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
# interfere with the next link command; also delete a directory that is
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_link
# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
ac_fn_c_check_func ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
printf %s "checking for $2... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Define $2 to an innocuous variant, in case declares $2.
For example, HP-UX 11i declares gettimeofday. */
#define $2 innocuous_$2
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $2 (); below. */
#include
#undef $2
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char $2 ();
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined __stub_$2 || defined __stub___$2
choke me
#endif
int
main (void)
{
return $2 ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
# ------------------------------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
ac_fn_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
as_decl_name=`echo $2|sed 's/ *(.*//'`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
printf %s "checking whether $as_decl_name is declared... " >&6; }
if eval test \${$3+y}
then :
printf %s "(cached) " >&6
else $as_nop
as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
eval ac_save_FLAGS=\$$6
as_fn_append $6 " $5"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int
main (void)
{
#ifndef $as_decl_name
#ifdef __cplusplus
(void) $as_decl_use;
#else
(void) $as_decl_name;
#endif
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
eval "$3=yes"
else $as_nop
eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
eval $6=\$ac_save_FLAGS
fi
eval ac_res=\$$3
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_check_decl
ac_configure_args_raw=
for ac_arg
do
case $ac_arg in
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append ac_configure_args_raw " '$ac_arg'"
done
case $ac_configure_args_raw in
*$as_nl*)
ac_safe_unquote= ;;
*)
ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
ac_unsafe_a="$ac_unsafe_z#~"
ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
esac
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by ipv6calc $as_me 4.1.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
printf "%s\n" "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Sanitize IFS.
IFS=" "" $as_nl"
# Save into config.log some information that might help in debugging.
{
echo
printf "%s\n" "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
printf "%s\n" "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
printf "%s\n" "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
printf "%s\n" "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
printf "%s\n" "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
printf "%s\n" "$as_me: caught signal $ac_signal"
printf "%s\n" "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
printf "%s\n" "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
if test -n "$CONFIG_SITE"; then
ac_site_files="$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
else
ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
fi
for ac_site_file in $ac_site_files
do
case $ac_site_file in #(
*/*) :
;; #(
*) :
ac_site_file=./$ac_site_file ;;
esac
if test -f "$ac_site_file" && test -r "$ac_site_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Test code for whether the C compiler supports C89 (global declarations)
ac_c_conftest_c89_globals='
/* Does the compiler advertise C89 conformance?
Do not test the value of __STDC__, because some compilers set it to 0
while being otherwise adequately conformant. */
#if !defined __STDC__
# error "Compiler does not advertise C89 conformance"
#endif
#include
#include
struct stat;
/* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
struct buf { int x; };
struct buf * (*rcsopen) (struct buf *, struct stat *, int);
static char *e (p, i)
char **p;
int i;
{
return p[i];
}
static char *f (char * (*g) (char **, int), char **p, ...)
{
char *s;
va_list v;
va_start (v,p);
s = g (p, va_arg (v,int));
va_end (v);
return s;
}
/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
function prototypes and stuff, but not \xHH hex character constants.
These do not provoke an error unfortunately, instead are silently treated
as an "x". The following induces an error, until -std is added to get
proper ANSI mode. Curiously \x00 != x always comes out true, for an
array size at least. It is necessary to write \x00 == 0 to get something
that is true only with -std. */
int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
inside strings and character constants. */
#define FOO(x) '\''x'\''
int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
int test (int i, double x);
struct s1 {int (*f) (int a);};
struct s2 {int (*f) (double a);};
int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
int, int);'
# Test code for whether the C compiler supports C89 (body of main).
ac_c_conftest_c89_main='
ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
'
# Test code for whether the C compiler supports C99 (global declarations)
ac_c_conftest_c99_globals='
// Does the compiler advertise C99 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
# error "Compiler does not advertise C99 conformance"
#endif
#include
extern int puts (const char *);
extern int printf (const char *, ...);
extern int dprintf (int, const char *, ...);
extern void *malloc (size_t);
// Check varargs macros. These examples are taken from C99 6.10.3.5.
// dprintf is used instead of fprintf to avoid needing to declare
// FILE and stderr.
#define debug(...) dprintf (2, __VA_ARGS__)
#define showlist(...) puts (#__VA_ARGS__)
#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
static void
test_varargs_macros (void)
{
int x = 1234;
int y = 5678;
debug ("Flag");
debug ("X = %d\n", x);
showlist (The first, second, and third items.);
report (x>y, "x is %d but y is %d", x, y);
}
// Check long long types.
#define BIG64 18446744073709551615ull
#define BIG32 4294967295ul
#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
#if !BIG_OK
#error "your preprocessor is broken"
#endif
#if BIG_OK
#else
#error "your preprocessor is broken"
#endif
static long long int bignum = -9223372036854775807LL;
static unsigned long long int ubignum = BIG64;
struct incomplete_array
{
int datasize;
double data[];
};
struct named_init {
int number;
const wchar_t *name;
double average;
};
typedef const char *ccp;
static inline int
test_restrict (ccp restrict text)
{
// See if C++-style comments work.
// Iterate through items via the restricted pointer.
// Also check for declarations in for loops.
for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
continue;
return 0;
}
// Check varargs and va_copy.
static bool
test_varargs (const char *format, ...)
{
va_list args;
va_start (args, format);
va_list args_copy;
va_copy (args_copy, args);
const char *str = "";
int number = 0;
float fnumber = 0;
while (*format)
{
switch (*format++)
{
case '\''s'\'': // string
str = va_arg (args_copy, const char *);
break;
case '\''d'\'': // int
number = va_arg (args_copy, int);
break;
case '\''f'\'': // float
fnumber = va_arg (args_copy, double);
break;
default:
break;
}
}
va_end (args_copy);
va_end (args);
return *str && number && fnumber;
}
'
# Test code for whether the C compiler supports C99 (body of main).
ac_c_conftest_c99_main='
// Check bool.
_Bool success = false;
success |= (argc != 0);
// Check restrict.
if (test_restrict ("String literal") == 0)
success = true;
char *restrict newvar = "Another string";
// Check varargs.
success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
test_varargs_macros ();
// Check flexible array members.
struct incomplete_array *ia =
malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
ia->datasize = 10;
for (int i = 0; i < ia->datasize; ++i)
ia->data[i] = i * 1.234;
// Check named initializers.
struct named_init ni = {
.number = 34,
.name = L"Test wide string",
.average = 543.34343,
};
ni.number = 58;
int dynamic_array[ni.number];
dynamic_array[0] = argv[0][0];
dynamic_array[ni.number - 1] = 543;
// work around unused variable warnings
ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
|| dynamic_array[ni.number - 1] != 543);
'
# Test code for whether the C compiler supports C11 (global declarations)
ac_c_conftest_c11_globals='
// Does the compiler advertise C11 conformance?
#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
# error "Compiler does not advertise C11 conformance"
#endif
// Check _Alignas.
char _Alignas (double) aligned_as_double;
char _Alignas (0) no_special_alignment;
extern char aligned_as_int;
char _Alignas (0) _Alignas (int) aligned_as_int;
// Check _Alignof.
enum
{
int_alignment = _Alignof (int),
int_array_alignment = _Alignof (int[100]),
char_alignment = _Alignof (char)
};
_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
// Check _Noreturn.
int _Noreturn does_not_return (void) { for (;;) continue; }
// Check _Static_assert.
struct test_static_assert
{
int x;
_Static_assert (sizeof (int) <= sizeof (long int),
"_Static_assert does not work in struct");
long int y;
};
// Check UTF-8 literals.
#define u8 syntax error!
char const utf8_literal[] = u8"happens to be ASCII" "another string";
// Check duplicate typedefs.
typedef long *long_ptr;
typedef long int *long_ptr;
typedef long_ptr long_ptr;
// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
struct anonymous
{
union {
struct { int i; int j; };
struct { int k; long int l; } w;
};
int m;
} v1;
'
# Test code for whether the C compiler supports C11 (body of main).
ac_c_conftest_c11_main='
_Static_assert ((offsetof (struct anonymous, i)
== offsetof (struct anonymous, w.k)),
"Anonymous union alignment botch");
v1.i = 2;
v1.w.k = 5;
ok |= v1.i != 5;
'
# Test code for whether the C compiler supports C11 (complete).
ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
${ac_c_conftest_c11_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
${ac_c_conftest_c11_main}
return ok;
}
"
# Test code for whether the C compiler supports C99 (complete).
ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
${ac_c_conftest_c99_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
${ac_c_conftest_c99_main}
return ok;
}
"
# Test code for whether the C compiler supports C89 (complete).
ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
int
main (int argc, char **argv)
{
int ok = 0;
${ac_c_conftest_c89_main}
return ok;
}
"
as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
COPYRIGHT_YEAR=2023
PACKAGE_VERSION_MAJOR=4
PACKAGE_VERSION_MINOR=1
PACKAGE_VERSION_BUGFIX=0
API_VERSION_MAJOR=4
API_VERSION_MINOR=1
API_VERSION_BUGFIX=0
printf "%s\n" "#define COPYRIGHT_YEAR \"$COPYRIGHT_YEAR\"" >>confdefs.h
PACKAGE_VERSION_NUMERIC=$(echo "$PACKAGE_VERSION_MAJOR $PACKAGE_VERSION_MINOR $PACKAGE_VERSION_BUGFIX" | awk '{ print ( $1 * 1000 + $2 ) * 1000 + $3 }')
PACKAGE_VERSION_STRING=$(echo "$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_BUGFIX")
printf "%s\n" "#define IPV6CALC_PACKAGE_VERSION_MAJOR $PACKAGE_VERSION_MAJOR " >>confdefs.h
printf "%s\n" "#define IPV6CALC_PACKAGE_VERSION_MINOR $PACKAGE_VERSION_MINOR " >>confdefs.h
printf "%s\n" "#define IPV6CALC_PACKAGE_VERSION_BUGFIX $PACKAGE_VERSION_BUGFIX " >>confdefs.h
printf "%s\n" "#define IPV6CALC_PACKAGE_VERSION_STRING \"$PACKAGE_VERSION_STRING\"" >>confdefs.h
printf "%s\n" "#define IPV6CALC_PACKAGE_VERSION_NUMERIC $PACKAGE_VERSION_NUMERIC " >>confdefs.h
API_VERSION_NUMERIC=$(echo "$API_VERSION_MAJOR $API_VERSION_MINOR $API_VERSION_BUGFIX" | awk '{ print ( $1 * 1000 + $2 ) * 1000 + $3 }')
API_VERSION_STRING=$(echo "$API_VERSION_MAJOR.$API_VERSION_MINOR.$API_VERSION_BUGFIX")
printf "%s\n" "#define IPV6CALC_API_VERSION_MAJOR $API_VERSION_MAJOR " >>confdefs.h
printf "%s\n" "#define IPV6CALC_API_VERSION_MINOR $API_VERSION_MINOR " >>confdefs.h
printf "%s\n" "#define IPV6CALC_API_VERSION_BUGFIX $API_VERSION_BUGFIX " >>confdefs.h
printf "%s\n" "#define IPV6CALC_API_VERSION_STRING \"$API_VERSION_STRING\"" >>confdefs.h
printf "%s\n" "#define IPV6CALC_API_VERSION_NUMERIC $API_VERSION_NUMERIC " >>confdefs.h
ac_config_headers="$ac_config_headers config.h"
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_AWK+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$AWK"; then
ac_cv_prog_AWK="$AWK" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_AWK="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
printf "%s\n" "$AWK" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$AWK" && break
done
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
set dummy ${ac_tool_prefix}gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="gcc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
set dummy ${ac_tool_prefix}cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
ac_prog_rejected=no
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
# We found a bogon in the path, so make sure we never use it.
set dummy $ac_cv_prog_CC
shift
if test $# != 0; then
# We chose a different compiler from the bogus one.
# However, it has the same basename, so the bogon will be chosen
# first if we set CC to just the basename; use the full file name.
shift
ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
fi
fi
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
for ac_prog in cl.exe
do
# Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$CC" && break
done
fi
if test -z "$CC"; then
ac_ct_CC=$CC
for ac_prog in cl.exe
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="$ac_prog"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$ac_ct_CC" && break
done
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
fi
fi
if test -z "$CC"; then
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
set dummy ${ac_tool_prefix}clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_CC="${ac_tool_prefix}clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
printf "%s\n" "$CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_CC"; then
ac_ct_CC=$CC
# Extract the first word of "clang", so it can be a program name with args.
set dummy clang; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_CC+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_CC"; then
ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_CC="clang"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_CC=$ac_cv_prog_ac_ct_CC
if test -n "$ac_ct_CC"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
printf "%s\n" "$ac_ct_CC" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_CC" = x; then
CC=""
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
CC=$ac_ct_CC
fi
else
CC="$ac_cv_prog_CC"
fi
fi
test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "no acceptable C compiler found in \$PATH
See \`config.log' for more details" "$LINENO" 5; }
# Provide some information about the compiler.
printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
set X $ac_compile
ac_compiler=$2
for ac_option in --version -v -V -qversion -version; do
{ { ac_try="$ac_compiler $ac_option >&5"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compiler $ac_option >&5") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
sed '10a\
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
fi
rm -f conftest.er1 conftest.err
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
printf %s "checking whether the C compiler works... " >&6; }
ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files:
ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
ac_rmfiles=
for ac_file in $ac_files
do
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
* ) ac_rmfiles="$ac_rmfiles $ac_file";;
esac
done
rm -f $ac_rmfiles
if { { ac_try="$ac_link_default"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link_default") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
# Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
# in a Makefile. We should not override ac_cv_exeext if it was cached,
# so that the user can short-circuit this test for compilers unknown to
# Autoconf.
for ac_file in $ac_files ''
do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
;;
[ab].out )
# We found the default executable, but exeext='' is most
# certainly right.
break;;
*.* )
if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
then :; else
ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
fi
# We set ac_cv_exeext here because the later test for it is not
# safe: cross compilers may not add the suffix if given an `-o'
# argument, so we may need to know it at that point already.
# Even if this section looks crufty: it has the advantage of
# actually working.
break;;
* )
break;;
esac
done
test "$ac_cv_exeext" = no && ac_cv_exeext=
else $as_nop
ac_file=''
fi
if test -z "$ac_file"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "C compiler cannot create executables
See \`config.log' for more details" "$LINENO" 5; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
printf %s "checking for C compiler default output file name... " >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
printf "%s\n" "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
printf %s "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
# If both `conftest.exe' and `conftest' are `present' (well, observable)
# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
# work properly (i.e., refer to `conftest.exe'), while it won't with
# `rm'.
for ac_file in conftest.exe conftest conftest.*; do
test -f "$ac_file" || continue
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
*.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
break;;
* ) break;;
esac
done
else $as_nop
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest conftest$ac_cv_exeext
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
printf "%s\n" "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
printf %s "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error 77 "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details" "$LINENO" 5; }
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
printf "%s\n" "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
printf %s "checking for suffix of object files... " >&6; }
if test ${ac_cv_objext+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
printf "%s\n" "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>&5
ac_status=$?
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
then :
for ac_file in conftest.o conftest.obj conftest.*; do
test -f "$ac_file" || continue;
case $ac_file in
*.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
*) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
break;;
esac
done
else $as_nop
printf "%s\n" "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot compute suffix of object files: cannot compile
See \`config.log' for more details" "$LINENO" 5; }
fi
rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
printf "%s\n" "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
printf %s "checking whether the compiler supports GNU C... " >&6; }
if test ${ac_cv_c_compiler_gnu+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __GNUC__
choke me
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_compiler_gnu=yes
else $as_nop
ac_compiler_gnu=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test $ac_compiler_gnu = yes; then
GCC=yes
else
GCC=
fi
ac_test_CFLAGS=${CFLAGS+y}
ac_save_CFLAGS=$CFLAGS
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
printf %s "checking whether $CC accepts -g... " >&6; }
if test ${ac_cv_prog_cc_g+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
else $as_nop
CFLAGS=""
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_g=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
if test $ac_test_CFLAGS; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
if test "$GCC" = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-g"
fi
else
if test "$GCC" = yes; then
CFLAGS="-O2"
else
CFLAGS=
fi
fi
ac_prog_cc_stdc=no
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
printf %s "checking for $CC option to enable C11 features... " >&6; }
if test ${ac_cv_prog_cc_c11+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c11=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c11_program
_ACEOF
for ac_arg in '' -std=gnu11
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c11=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c11" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c11" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c11" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
CC="$CC $ac_cv_prog_cc_c11"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
ac_prog_cc_stdc=c11
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
printf %s "checking for $CC option to enable C99 features... " >&6; }
if test ${ac_cv_prog_cc_c99+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c99=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c99_program
_ACEOF
for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c99=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c99" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c99" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c99" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
CC="$CC $ac_cv_prog_cc_c99"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
ac_prog_cc_stdc=c99
fi
fi
if test x$ac_prog_cc_stdc = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
printf %s "checking for $CC option to enable C89 features... " >&6; }
if test ${ac_cv_prog_cc_c89+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_prog_cc_c89=no
ac_save_CC=$CC
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_c_conftest_c89_program
_ACEOF
for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
do
CC="$ac_save_CC $ac_arg"
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_prog_cc_c89=$ac_arg
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam
test "x$ac_cv_prog_cc_c89" != "xno" && break
done
rm -f conftest.$ac_ext
CC=$ac_save_CC
fi
if test "x$ac_cv_prog_cc_c89" = xno
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
printf "%s\n" "unsupported" >&6; }
else $as_nop
if test "x$ac_cv_prog_cc_c89" = x
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
printf "%s\n" "none needed" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
CC="$CC $ac_cv_prog_cc_c89"
fi
ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
ac_prog_cc_stdc=c89
fi
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_RANLIB+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
printf "%s\n" "$RANLIB" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
fi
if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_prog_ac_ct_RANLIB+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
printf "%s\n" "$ac_ct_RANLIB" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
RANLIB=":"
else
case $cross_compiling:$ac_tool_warned in
yes:)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
fi
else
RANLIB="$ac_cv_prog_RANLIB"
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
set x ${MAKE-make}
ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
if eval test \${ac_cv_prog_make_${ac_make}_set+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
case `${MAKE-make} -f conftest.make 2>/dev/null` in
*@@@%%%=?*=@@@%%%*)
eval ac_cv_prog_make_${ac_make}_set=yes;;
*)
eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
SET_MAKE=
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
SET_MAKE="MAKE=${MAKE-make}"
fi
ac_header= ac_cache=
for ac_item in $ac_header_c_list
do
if test $ac_cache; then
ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
printf "%s\n" "#define $ac_item 1" >> confdefs.h
fi
ac_header= ac_cache=
elif test $ac_header; then
ac_cache=$ac_item
else
ac_header=$ac_item
fi
done
if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
then :
printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
printf %s "checking for grep that handles long lines and -e... " >&6; }
if test ${ac_cv_path_GREP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if test -z "$GREP"; then
ac_path_GREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_prog in grep ggrep
do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_GREP" || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" 'GREP' >> "conftest.nl"
"$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_GREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_GREP="$ac_path_GREP"
ac_path_GREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_GREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_GREP"; then
as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_GREP=$GREP
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
printf "%s\n" "$ac_cv_path_GREP" >&6; }
GREP="$ac_cv_path_GREP"
# Autoupdate added the next two lines to ensure that your configure
# script's behavior did not change. They are probably safe to remove.
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
printf %s "checking for egrep... " >&6; }
if test ${ac_cv_path_EGREP+y}
then :
printf %s "(cached) " >&6
else $as_nop
if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
then ac_cv_path_EGREP="$GREP -E"
else
if test -z "$EGREP"; then
ac_path_EGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_prog in egrep
do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
as_fn_executable_p "$ac_path_EGREP" || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
*)
ac_count=0
printf %s 0123456789 >"conftest.in"
while :
do
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
printf "%s\n" 'EGREP' >> "conftest.nl"
"$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
if test $ac_count -gt ${ac_path_EGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
ac_cv_path_EGREP="$ac_path_EGREP"
ac_path_EGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
done
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
$ac_path_EGREP_found && break 3
done
done
done
IFS=$as_save_IFS
if test -z "$ac_cv_path_EGREP"; then
as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
ac_cv_path_EGREP=$EGREP
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
printf "%s\n" "$ac_cv_path_EGREP" >&6; }
EGREP="$ac_cv_path_EGREP"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
printf %s "checking for an ANSI C-conforming const... " >&6; }
if test ${ac_cv_c_const+y}
then :
printf %s "(cached) " >&6
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
#ifndef __cplusplus
/* Ultrix mips cc rejects this sort of thing. */
typedef int charset[2];
const charset cs = { 0, 0 };
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
/* NEC SVR4.0.2 mips cc rejects this. */
struct point {int x, y;};
static struct point const zero = {0,0};
/* IBM XL C 1.02.0.0 rejects this.
It does not let you subtract one const X* pointer from another in
an arm of an if-expression whose if-part is not a constant
expression */
const char *g = "string";
pcpcc = &g + (g ? g-g : 0);
/* HPUX 7.0 cc rejects these. */
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
{ /* SCO 3.2v4 cc rejects this sort of thing. */
char tx;
char *t = &tx;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
if (s) return 0;
}
{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
int x[] = {25, 17};
const int *foo = &x[0];
++foo;
}
{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
typedef const int *iptr;
iptr p = 0;
++p;
}
{ /* IBM XL C 1.02.0.0 rejects this sort of thing, saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
struct s { int j; const int *ap[3]; } bx;
struct s *b = &bx; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
if (!foo) return 0;
}
return !cs[0] && !zero.x;
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_const=yes
else $as_nop
ac_cv_c_const=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
printf "%s\n" "$ac_cv_c_const" >&6; }
if test $ac_cv_c_const = no; then
printf "%s\n" "#define const /**/" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
if test "x$ac_cv_type_off_t" = xyes
then :
else $as_nop
printf "%s\n" "#define off_t long int" >>confdefs.h
fi
ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
if test "x$ac_cv_type_size_t" = xyes
then :
else $as_nop
printf "%s\n" "#define size_t unsigned int" >>confdefs.h
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
printf %s "checking whether byte ordering is bigendian... " >&6; }
if test ${ac_cv_c_bigendian+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_cv_c_bigendian=unknown
# See if we're dealing with a universal compiler.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __APPLE_CC__
not a universal capable compiler
#endif
typedef int dummy;
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# Check for potential -arch flags. It is not universal unless
# there are at least two -arch flags with different values.
ac_arch=
ac_prev=
for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
if test -n "$ac_prev"; then
case $ac_word in
i?86 | x86_64 | ppc | ppc64)
if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
ac_arch=$ac_word
else
ac_cv_c_bigendian=universal
break
fi
;;
esac
ac_prev=
elif test "x$ac_word" = "x-arch"; then
ac_prev=arch
fi
done
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test $ac_cv_c_bigendian = unknown; then
# See if sys/param.h defines the BYTE_ORDER macro.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
&& defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
&& LITTLE_ENDIAN)
bogus endian macros
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# It does; now see whether it defined to BIG_ENDIAN or not.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
int
main (void)
{
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
else $as_nop
ac_cv_c_bigendian=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test $ac_cv_c_bigendian = unknown; then
# See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
bogus endian macros
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
# It does; now see whether it defined to _BIG_ENDIAN or not.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
int
main (void)
{
#ifndef _BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
ac_cv_c_bigendian=yes
else $as_nop
ac_cv_c_bigendian=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
if test $ac_cv_c_bigendian = unknown; then
# Compile a test program.
if test "$cross_compiling" = yes
then :
# Try to guess by grepping values from an object file.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
unsigned short int ascii_mm[] =
{ 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
unsigned short int ascii_ii[] =
{ 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
int use_ascii (int i) {
return ascii_mm[i] + ascii_ii[i];
}
unsigned short int ebcdic_ii[] =
{ 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
unsigned short int ebcdic_mm[] =
{ 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
extern int foo;
int
main (void)
{
return use_ascii (foo) == use_ebcdic (foo);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
ac_cv_c_bigendian=yes
fi
if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
# finding both strings is unlikely to happen, but who knows?
ac_cv_c_bigendian=unknown
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
else $as_nop
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
main (void)
{
/* Are we little or big endian? From Harbison&Steele. */
union
{
long int l;
char c[sizeof (long int)];
} u;
u.l = 1;
return u.c[sizeof (long int) - 1] == 1;
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"
then :
ac_cv_c_bigendian=no
else $as_nop
ac_cv_c_bigendian=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
printf "%s\n" "$ac_cv_c_bigendian" >&6; }
case $ac_cv_c_bigendian in #(
yes)
printf "%s\n" "#define WORDS_BIGENDIAN 1" >>confdefs.h
;; #(
no)
;; #(
universal)
printf "%s\n" "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
;; #(
*)
as_fn_error $? "unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
CFLAGS_EXTRA=-fPIC
# Check whether --enable-m32 was given.
if test ${enable_m32+y}
then :
enableval=$enable_m32;
if test "$enable_m32" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** switch to 32-bit compilation" >&5
printf "%s\n" "*** switch to 32-bit compilation" >&6; }
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-m32 -DMMDB_UINT128_IS_BYTE_ARRAY=1"
LDFLAGS="${LDFLAGS:+$LDFLAGS }-m32"
fi
fi
# Check whether --enable-compiler-warning-to-error was given.
if test ${enable_compiler_warning_to_error+y}
then :
enableval=$enable_compiler_warning_to_error;
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: **** analyze compiler options: CC=$CC" >&5
printf "%s\n" "**** analyze compiler options: CC=$CC" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Werror=format-security" >&5
printf "%s\n" "*** check for CFLAGS: -Werror=format-security" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wformat -Werror -Werror=format-security"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Werror=format-security" >&5
printf "%s\n" "*** CFLAGS supported: -Werror=format-security" >&6; }
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wformat -Werror -Werror=format-security"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Werror=format-security" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Werror=format-security" >&2;}
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wformat"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Wsizeof-array-argument" >&5
printf "%s\n" "*** check for CFLAGS: -Wsizeof-array-argument" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wsizeof-array-argument"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Wsizeof-array-argument" >&5
printf "%s\n" "*** CFLAGS supported: -Wsizeof-array-argument" >&6; }
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wsizeof-array-argument"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Wsizeof-array-argument" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Wsizeof-array-argument" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Wparentheses-equality" >&5
printf "%s\n" "*** check for CFLAGS: -Wparentheses-equality" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wparentheses-equality"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Wparentheses-equality" >&5
printf "%s\n" "*** CFLAGS supported: -Wparentheses-equality" >&6; }
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wparentheses-equality"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Wparentheses-equality" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Wparentheses-equality" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Wextra" >&5
printf "%s\n" "*** check for CFLAGS: -Wextra" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wextra"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Wextra" >&5
printf "%s\n" "*** CFLAGS supported: -Wextra" >&6; }
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wextra"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Wextra" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Wextra" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Werror=format-truncation=0" >&5
printf "%s\n" "*** check for CFLAGS: -Werror=format-truncation=0" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Werror=format-truncation=0"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Werror=format-truncation=0" >&5
printf "%s\n" "*** CFLAGS supported: -Werror=format-truncation=0" >&6; }
# disable errors related to format-truncation
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Werror=format-truncation=0"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Werror=format-truncation=0" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Werror=format-truncation=0" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Werror=char-subscripts" >&5
printf "%s\n" "*** check for CFLAGS: -Werror=char-subscripts" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Werror=char-subscripts"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Werror=char-subscripts" >&5
printf "%s\n" "*** CFLAGS supported: -Werror=char-subscripts" >&6; }
# disable errors related to format-truncation
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Werror=char-subscripts"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Werror=char-subscripts" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Werror=char-subscripts" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for CFLAGS: -Wno-deprecated-declarations" >&5
printf "%s\n" "*** check for CFLAGS: -Wno-deprecated-declarations" >&6; }
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Wno-deprecated-declarations"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int a=1;
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS supported: -Wno-deprecated-declarations" >&5
printf "%s\n" "*** CFLAGS supported: -Wno-deprecated-declarations" >&6; }
# disable errors related to deprecated-declarations
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wno-deprecated-declarations"
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: *** missing CFLAGS support: -Wno-deprecated-declarations" >&5
printf "%s\n" "$as_me: WARNING: *** missing CFLAGS support: -Wno-deprecated-declarations" >&2;}
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
CFLAGS="$CFLAGS_SAVE"
fi
ENABLE_BUNDLED_GETOPT=0
# Check whether --enable-bundled-getopt was given.
if test ${enable_bundled_getopt+y}
then :
enableval=$enable_bundled_getopt;
if test "$enable_bundled_getopt" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of bundled getopt library forced" >&5
printf "%s\n" "*** use of bundled getopt library forced" >&6; }
ENABLE_BUNDLED_GETOPT=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of system getopt library forced" >&5
printf "%s\n" "*** use of system getopt library forced" >&6; }
fi
else $as_nop
ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long"
if test "x$ac_cv_func_getopt_long" = xyes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of system getopt library autoselected" >&5
printf "%s\n" "*** use of system getopt library autoselected" >&6; }
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of bundled getopt library autoselected" >&5
printf "%s\n" "*** use of bundled getopt library autoselected" >&6; }
ENABLE_BUNDLED_GETOPT=1
fi
fi
if test "$ENABLE_BUNDLED_GETOPT" = "1"; then
case " $LIBOBJS " in
*" ../getopt/getopt.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS ../getopt/getopt.$ac_objext"
;;
esac
case " $LIBOBJS " in
*" ../getopt/getopt1.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS ../getopt/getopt1.$ac_objext"
;;
esac
GETOPT_INCLUDE=-I../getopt
printf "%s\n" "#define ENABLE_BUNDLED_GETOPT 1" >>confdefs.h
fi
ENABLE_BUNDLED_MD5=0
HAVE_OPENSSL_EVP_MD5=0
HAVE_OPENSSL_MD5=0
ENABLE_OPENSSL_EVP_MD5=0
ENABLE_OPENSSL_MD5=0
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for OpenSSL EVP MD5" >&5
printf "%s\n" "*** check for OpenSSL EVP MD5" >&6; }
ac_fn_c_check_header_compile "$LINENO" "openssl/evp.h" "ac_cv_header_openssl_evp_h" "$ac_includes_default"
if test "x$ac_cv_header_openssl_evp_h" = xyes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: openssl/evp.h header file found" >&5
printf "%s\n" "openssl/evp.h header file found" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EVP_DigestInit_ex in -lcrypto" >&5
printf %s "checking for EVP_DigestInit_ex in -lcrypto... " >&6; }
if test ${ac_cv_lib_crypto_EVP_DigestInit_ex+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lcrypto $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char EVP_DigestInit_ex ();
int
main (void)
{
return EVP_DigestInit_ex ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_crypto_EVP_DigestInit_ex=yes
else $as_nop
ac_cv_lib_crypto_EVP_DigestInit_ex=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_EVP_DigestInit_ex" >&5
printf "%s\n" "$ac_cv_lib_crypto_EVP_DigestInit_ex" >&6; }
if test "x$ac_cv_lib_crypto_EVP_DigestInit_ex" = xyes
then :
LDFLAGS_ORIG="$LDFLAGS"
LDFLAGS="-lcrypto $LDFLAGS"
HAVE_OPENSSL_EVP_MD5=1
HAVE_OPENSSL_EVP_MD5_LEGACY=1
for ac_func in EVP_MD_CTX_new EVP_md5 EVP_DigestInit_ex EVP_DigestUpdate EVP_DigestFinal_ex EVP_MD_CTX_free
do :
as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
if eval test \"x\$"$as_ac_var"\" = x"yes"
then :
cat >>confdefs.h <<_ACEOF
#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL crypto library DOES NOT support MD5 via EVP" >&5
printf "%s\n" "$as_me: WARNING: OpenSSL crypto library DOES NOT support MD5 via EVP" >&2;}
HAVE_OPENSSL_EVP_MD5=0
fi
done
for ac_func in EVP_MD_CTX_init EVP_md5 EVP_DigestInit_ex EVP_DigestUpdate EVP_DigestFinal_ex
do :
as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
if eval test \"x\$"$as_ac_var"\" = x"yes"
then :
cat >>confdefs.h <<_ACEOF
#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL crypto library DOES NOT support MD5 via EVP LEGACY" >&5
printf "%s\n" "$as_me: WARNING: OpenSSL crypto library DOES NOT support MD5 via EVP LEGACY" >&2;}
HAVE_OPENSSL_EVP_MD5_LEGACY=0
fi
done
LDFLAGS="$LDFLAGS_ORIG"
if test "$HAVE_OPENSSL_EVP_MD5" = "1"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** OpenSSL crypto library supports MD5 via EVP implementation" >&5
printf "%s\n" "*** OpenSSL crypto library supports MD5 via EVP implementation" >&6; }
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL crypto library DOES NOT support MD5 via EVP" >&5
printf "%s\n" "$as_me: WARNING: OpenSSL crypto library DOES NOT support MD5 via EVP" >&2;}
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: openssl/evp.h header file not found" >&5
printf "%s\n" "$as_me: WARNING: openssl/evp.h header file not found" >&2;}
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** check for OpenSSL legacy MD5" >&5
printf "%s\n" "*** check for OpenSSL legacy MD5" >&6; }
ac_fn_c_check_header_compile "$LINENO" "openssl/md5.h" "ac_cv_header_openssl_md5_h" "$ac_includes_default"
if test "x$ac_cv_header_openssl_md5_h" = xyes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: openssl/md5.h header file found" >&5
printf "%s\n" "openssl/md5.h header file found" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MD5_Init in -lcrypto" >&5
printf %s "checking for MD5_Init in -lcrypto... " >&6; }
if test ${ac_cv_lib_crypto_MD5_Init+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-lcrypto $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char MD5_Init ();
int
main (void)
{
return MD5_Init ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_crypto_MD5_Init=yes
else $as_nop
ac_cv_lib_crypto_MD5_Init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_MD5_Init" >&5
printf "%s\n" "$ac_cv_lib_crypto_MD5_Init" >&6; }
if test "x$ac_cv_lib_crypto_MD5_Init" = xyes
then :
LDFLAGS_ORIG="$LDFLAGS"
LDFLAGS="-lcrypto $LDFLAGS"
HAVE_OPENSSL_MD5=1
for ac_func in MD5_Init MD5_Update MD5_Final
do :
as_ac_var=`printf "%s\n" "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
if eval test \"x\$"$as_ac_var"\" = x"yes"
then :
cat >>confdefs.h <<_ACEOF
#define `printf "%s\n" "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OpenSSL crypto library supports MD5 via legacy implementation" >&5
printf "%s\n" "OpenSSL crypto library supports MD5 via legacy implementation" >&6; }
HAVE_OPENSSL_MD5=0
fi
done
LDFLAGS="$LDFLAGS_ORIG"
if test "$HAVE_OPENSSL_MD5" = "1"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** OpenSSL crypto library supports MD5 via legacy implementation" >&5
printf "%s\n" "*** OpenSSL crypto library supports MD5 via legacy implementation" >&6; }
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: OpenSSL crypto library DOES NOT support MD5 via legacy implementation" >&5
printf "%s\n" "$as_me: WARNING: OpenSSL crypto library DOES NOT support MD5 via legacy implementation" >&2;}
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: openssl/md5.h header file not found" >&5
printf "%s\n" "$as_me: WARNING: openssl/md5.h header file not found" >&2;}
fi
# Check whether --enable-bundled-md5 was given.
if test ${enable_bundled_md5+y}
then :
enableval=$enable_bundled_md5;
if test "$enable_bundled_md5" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of bundled MD5 library forced" >&5
printf "%s\n" "*** use of bundled MD5 library forced" >&6; }
ENABLE_BUNDLED_MD5=1
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of OpenSSL MD5 library forced" >&5
printf "%s\n" "*** use of OpenSSL MD5 library forced" >&6; }
fi
else $as_nop
if test "$HAVE_OPENSSL_EVP_MD5" = "0"; then
if test "$HAVE_OPENSSL_MD5" = "0"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of bundled MD5 library autoselected because no OpenSSL support found" >&5
printf "%s\n" "*** use of bundled MD5 library autoselected because no OpenSSL support found" >&6; }
ENABLE_BUNDLED_MD5=1
fi
fi
fi
if test "$HAVE_OPENSSL_EVP_MD5" = "1"; then
# precedence
ENABLE_OPENSSL_EVP_MD5=1
elif test "$HAVE_OPENSSL_EVP_MD5_LEGACY" = "1"; then
# precedence
ENABLE_OPENSSL_EVP_MD5=1
else
if test "$HAVE_OPENSSL_MD5" = "1"; then
# fallback
ENABLE_OPENSSL_MD5=1
fi
fi
# Check whether --enable-openssl-evp-md5 was given.
if test ${enable_openssl_evp_md5+y}
then :
enableval=$enable_openssl_evp_md5;
if test "$enable_openssl_evp_md5" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of OpenSSL EVP MD5 implementation forced" >&5
printf "%s\n" "*** use of OpenSSL EVP MD5 implementation forced" >&6; }
ENABLE_OPENSSL_EVP_MD5=1
ENABLE_OPENSSL_MD5=0
fi
fi
# Check whether --enable-openssl-md5 was given.
if test ${enable_openssl_md5+y}
then :
enableval=$enable_openssl_md5;
if test "$enable_openssl_md5" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of OpenSSL legacy MD5 implementation forced" >&5
printf "%s\n" "*** use of OpenSSL legacy MD5 implementation forced" >&6; }
ENABLE_OPENSSL_EVP_MD5=0
ENABLE_OPENSSL_MD5=1
fi
fi
if test "$ENABLE_BUNDLED_MD5" = "1"; then
case " $LIBOBJS " in
*" ../md5/md5.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS ../md5/md5.$ac_objext"
;;
esac
MD5_INCLUDE=-I../md5
printf "%s\n" "#define ENABLE_BUNDLED_MD5 1" >>confdefs.h
else
if test "$ENABLE_OPENSSL_EVP_MD5" = "1"; then
LDFLAGS_EXTRA="${LDFLAGS_EXTRA:+$LDFLAGS_EXTRA }-lcrypto"
LDFLAGS_EXTRA_MOD_IPV6CALC="-lcrypto $LDFLAGS_EXTRA_MOD_IPV6CALC"
LDFLAGS_EXTRA_STATIC="${LDFLAGS_EXTRA_STATIC:+$LDFLAGS_EXTRA_STATIC }-lcrypto -lz -ldl -lpthread -lc"
printf "%s\n" "#define ENABLE_OPENSSL_EVP_MD5 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of OpenSSL EVP MD5 implementation" >&5
printf "%s\n" "*** use of OpenSSL EVP MD5 implementation" >&6; }
fi
if test "$ENABLE_OPENSSL_MD5" = "1"; then
LDFLAGS_EXTRA="${LDFLAGS_EXTRA:+$LDFLAGS_EXTRA }-lcrypto"
LDFLAGS_EXTRA_MOD_IPV6CALC="-lcrypto $LDFLAGS_EXTRA_MOD_IPV6CALC"
LDFLAGS_EXTRA_STATIC="${LDFLAGS_EXTRA_STATIC:+$LDFLAGS_EXTRA_STATIC }-lcrypto -lz -ldl -lpthread -lc"
printf "%s\n" "#define ENABLE_OPENSSL_MD5 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** use of OpenSSL legacy MD5 implementation" >&5
printf "%s\n" "*** use of OpenSSL legacy MD5 implementation" >&6; }
fi
fi
geoip_db_default="/usr/share/GeoIP"
ip2location_db_default="/usr/share/IP2Location"
dbip_db_default="/usr/share/DBIP"
external_db_default="/usr/share/ipv6calc/db"
mmdb_dyn_lib_default="libmaxminddb.so.0"
ip2location_dyn_lib_default="libIP2Location.so.3"
# Check whether --enable-shared was given.
if test ${enable_shared+y}
then :
enableval=$enable_shared;
fi
if test "$enable_shared" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** Shared library build enabled" >&5
printf "%s\n" "*** Shared library build enabled" >&6; }
SHARED_LIBRARY="yes"
printf "%s\n" "#define SHARED_LIBRARY 1" >>confdefs.h
LDFLAGS_EXTRA_MOD_IPV6CALC="-Wl,../lib/libipv6calc.so.$PACKAGE_VERSION -Wl,../databases/lib/libipv6calc_db_wrapper.so.$PACKAGE_VERSION $LDFLAGS_EXTRA"
LDFLAGS_EXTRA="../lib/libipv6calc.so.$PACKAGE_VERSION ../databases/lib/libipv6calc_db_wrapper.so.$PACKAGE_VERSION $LDFLAGS_EXTRA"
LD_LIBRARY_PATH=../lib:../databases/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH_BASIC=../lib:../databases/lib:$LD_LIBRARY_PATH_BASIC
else
SHARED_LIBRARY="no"
IPV6CALC_LIB="-L../lib/ -L../databases/lib/ -lipv6calc_db_wrapper -lipv6calc"
fi
ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default"
if test "x$ac_cv_header_dlfcn_h" = xyes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** Dynamic loading of libraries is SUPPORTED" >&5
printf "%s\n" "*** Dynamic loading of libraries is SUPPORTED" >&6; }
DYNAMIC_LOAD_SUPPORT="yes"
else $as_nop
DYNAMIC_LOAD_SUPPORT="no"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Dynamic loading of libraries is not supported, no header file found\"" >&5
printf "%s\n" "$as_me: WARNING: \"Dynamic loading of libraries is not supported, no header file found\"" >&2;}
fi
# Check whether --enable-dynamic-load was given.
if test ${enable_dynamic_load+y}
then :
enableval=$enable_dynamic_load;
fi
if test "$enable_dynamic_load" = "yes"; then
DYNAMIC_LOAD="no"
else
DYNAMIC_LOAD="yes"
fi
if test "$DYNAMIC_LOAD_SUPPORT" = "yes"; then
if test "$DYNAMIC_LOAD" = "no"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \"Dynamic loading of libraries forced to be disabled\"" >&5
printf "%s\n" "$as_me: WARNING: \"Dynamic loading of libraries forced to be disabled\"" >&2;}
fi
fi
BUILTIN="no"
# Check whether --enable-db-ieee was given.
if test ${enable_db_ieee+y}
then :
enableval=$enable_db_ieee;
DB_IEEE="$enable_db_ieee"
else $as_nop
DB_IEEE="yes"
BUILTIN="yes"
fi
if test "$DB_IEEE" = "yes"; then
printf "%s\n" "#define SUPPORT_DB_IEEE 1" >>confdefs.h
fi
# Check whether --enable-db-ipv4 was given.
if test ${enable_db_ipv4+y}
then :
enableval=$enable_db_ipv4;
DB_IPV4="$enable_db_ipv4"
else $as_nop
DB_IPV4="yes"
BUILTIN="yes"
fi
if test "$DB_IPV4" = "yes"; then
printf "%s\n" "#define SUPPORT_DB_IPV4_REG 1" >>confdefs.h
fi
# Check whether --enable-db-ipv6 was given.
if test ${enable_db_ipv6+y}
then :
enableval=$enable_db_ipv6;
DB_IPV6="$enable_db_ipv6"
else $as_nop
DB_IPV6="yes"
BUILTIN="yes"
fi
if test "$DB_IPV6" = "yes"; then
printf "%s\n" "#define SUPPORT_DB_IPV6_REG 1" >>confdefs.h
fi
# Check whether --enable-db-as-registry was given.
if test ${enable_db_as_registry+y}
then :
enableval=$enable_db_as_registry;
DB_AS_REG="$enable_db_as_registry"
else $as_nop
DB_AS_REG="yes"
BUILTIN="yes"
fi
if test "$DB_AS_REG" = "yes"; then
printf "%s\n" "#define SUPPORT_DB_AS_REG 1" >>confdefs.h
fi
# Check whether --enable-db-cc-registry was given.
if test ${enable_db_cc_registry+y}
then :
enableval=$enable_db_cc_registry;
DB_CC_REG="$enable_db_cc_registry"
else $as_nop
DB_CC_REG="yes"
BUILTIN="yes"
fi
if test "$DB_CC_REG" = "yes"; then
printf "%s\n" "#define SUPPORT_DB_CC_REG 1" >>confdefs.h
fi
# Check whether --enable-builtin was given.
if test ${enable_builtin+y}
then :
enableval=$enable_builtin;
DB_CC_REG="$enable_builtin"
DB_AS_REG="$enable_builtin"
DB_IEEE="$enable_builtin"
DB_IPV4="$enable_builtin"
DB_IPV6="$enable_builtin"
fi
if test "$BUILTIN" = "yes"; then
printf "%s\n" "#define SUPPORT_BUILTIN 1" >>confdefs.h
fi
# Check whether --enable-external was given.
if test ${enable_external+y}
then :
enableval=$enable_external;
EXTERNAL="$enable_external"
else $as_nop
EXTERNAL="no"
fi
# Check whether --with-external-db was given.
if test ${with_external_db+y}
then :
withval=$with_external_db;
external_db="$with_external_db"
else $as_nop
external_db=$external_db_default
fi
if test "$EXTERNAL" = "yes"; then
require_libdb="yes"
printf "%s\n" "#define SUPPORT_EXTERNAL 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** external db dir: $external_db" >&5
printf "%s\n" "*** external db dir: $external_db" >&6; }
printf "%s\n" "#define EXTERNAL_DB \"$external_db\"" >>confdefs.h
fi
EXTERNAL_DB=$external_db
if test "$require_libdb" = "yes"; then
ac_fn_c_check_header_compile "$LINENO" "db.h" "ac_cv_header_db_h" "$ac_includes_default"
if test "x$ac_cv_header_db_h" = xyes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for db_create in -ldb" >&5
printf %s "checking for db_create in -ldb... " >&6; }
if test ${ac_cv_lib_db_db_create+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldb $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char db_create ();
int
main (void)
{
return db_create ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
ac_cv_lib_db_db_create=yes
else $as_nop
ac_cv_lib_db_db_create=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_db_db_create" >&5
printf "%s\n" "$ac_cv_lib_db_db_create" >&6; }
if test "x$ac_cv_lib_db_db_create" = xyes
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Berkeley DB library found and usable: db_create" >&5
printf "%s\n" "Berkeley DB library found and usable: db_create" >&6; }
else $as_nop
as_fn_error $? "Berkeley DB library file misses: db_create" "$LINENO" 5
fi
else $as_nop
as_fn_error $? "Berkeley DB library header files not found (perhaps missing one of the following packages: db4-devel libdb-devel)" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for /sbin/ldconfig" >&5
printf %s "checking for /sbin/ldconfig... " >&6; }
if test ${ac_cv_file__sbin_ldconfig+y}
then :
printf %s "(cached) " >&6
else $as_nop
test "$cross_compiling" = yes &&
as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "/sbin/ldconfig"; then
ac_cv_file__sbin_ldconfig=yes
else
ac_cv_file__sbin_ldconfig=no
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__sbin_ldconfig" >&5
printf "%s\n" "$ac_cv_file__sbin_ldconfig" >&6; }
if test "x$ac_cv_file__sbin_ldconfig" = xyes
then :
DB_VERSION=`/sbin/ldconfig -p | grep -E '#?\s*libdb-[0-9]+.[0-9]+' | sed -e 's/^#\?\s*libdb-\([0-9]*\)\.\([0-9]*\).*/\1.\2/' | sort -n | tail -1`
if test -n "$DB_VERSION"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Berkeley DB library version found: libdb-$DB_VERSION" >&5
printf "%s\n" "Berkeley DB library version found: libdb-$DB_VERSION" >&6; }
LDFLAGS_EXTRA_STATIC="-ldb-$DB_VERSION${LDFLAGS_EXTRA_STATIC:+ $LDFLAGS_EXTRA_STATIC}"
fi
else $as_nop
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Missing /sbin/ldconfig, cannot detect Berkeley DB library version" >&5
printf "%s\n" "$as_me: WARNING: Missing /sbin/ldconfig, cannot detect Berkeley DB library version" >&2;}
fi
LDFLAGS_EXTRA="${LDFLAGS_EXTRA:+$LDFLAGS_EXTRA }-ldb"
LDFLAGS_EXTRA_MOD_IPV6CALC="-ldb $LDFLAGS_EXTRA_MOD_IPV6CALC"
HAVE_BERKELEY_DB_SUPPORT=1
printf "%s\n" "#define HAVE_BERKELEY_DB_SUPPORT 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** Berkeley DB library found and usable (required)" >&5
printf "%s\n" "*** Berkeley DB library found and usable (required)" >&6; }
fi
MMDB_LIB_NAME="maxminddb"
MMDB_INCLUDE_VERSION=""
# Check whether --enable-mmdb was given.
if test ${enable_mmdb+y}
then :
enableval=$enable_mmdb;
if test "$enable_mmdb" != "no"; then
MMDB="$enable_mmdb"
fi
else $as_nop
MMDB="no"
fi
# Check whether --with-mmdb-dynamic was given.
if test ${with_mmdb_dynamic+y}
then :
withval=$with_mmdb_dynamic;
if test "$with_mmdb_dynamic" != "no"; then
MMDB_DYN="yes"
fi
fi
# Check whether --with-mmdb-headers was given.
if test ${with_mmdb_headers+y}
then :
withval=$with_mmdb_headers;
MMDB_INCLUDE_DIR="$with_mmdb_headers"
fi
if test -n "$MMDB_INCLUDE_DIR"; then
MMDB_INCLUDE="-I$MMDB_INCLUDE_DIR"
if echo "$MMDB_INCLUDE_DIR" | grep -q "^/"; then
# absolute path
MMDB_INCLUDE_L1="-I$MMDB_INCLUDE_DIR"
MMDB_INCLUDE_L2="-I$MMDB_INCLUDE_DIR"
else
MMDB_INCLUDE_L1="-I../$MMDB_INCLUDE_DIR"
MMDB_INCLUDE_L2="-I../../$MMDB_INCLUDE_DIR"
fi
fi
# Check whether --with-mmdb-lib was given.
if test ${with_mmdb_lib+y}
then :
withval=$with_mmdb_lib;
if test -d "$with_mmdb_lib"; then
MMDB_LIB_DIR="$with_mmdb_lib"
MMDB_LIB="-L$MMDB_LIB_DIR $MMDB_LIB"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: MaxMindDB library directory given: $MMDB_LIB_DIR" >&5
printf "%s\n" "MaxMindDB library directory given: $MMDB_LIB_DIR" >&6; }
else
as_fn_error $? "MaxMindDB library directory not found: $with_mmdb_lib" "$LINENO" 5
fi
if echo "$MMDB_LIB_DIR" | grep -q "^/"; then
# absolute path
MMDB_LIB_L1="-L$MMDB_LIB_DIR"
MMDB_LIB_L2="-L$MMDB_LIB_DIR"
LD_LIBRARY_PATH=$MMDB_LIB_DIR:$LD_LIBRARY_PATH
else
MMDB_LIB_L1="-L../$MMDB_LIB_DIR"
MMDB_LIB_L2="-L../../$MMDB_LIB_DIR"
LD_LIBRARY_PATH=../$MMDB_LIB_DIR:$LD_LIBRARY_PATH
fi
fi
# Check whether --with-mmdb-dyn-lib was given.
if test ${with_mmdb_dyn_lib+y}
then :
withval=$with_mmdb_dyn_lib;
mmdb_dyn_lib="$with_mmdb_dyn_lib"
else $as_nop
mmdb_dyn_lib=$mmdb_dyn_lib_default
fi
if test "$MMDB" = "yes"; then
if test "$MMDB_DYN" != "yes"; then
MMDB_LIB="-l$MMDB_LIB_NAME $MMDB_LIB"
MMDB_LIB_L1="-l$MMDB_LIB_NAME $MMDB_LIB_L1"
MMDB_LIB_L2="-l$MMDB_LIB_NAME $MMDB_LIB_L2"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MaxMindDB dynamic load support enabled, disable MaxMindDB linker options" >&5
printf "%s\n" "*** MaxMindDB dynamic load support enabled, disable MaxMindDB linker options" >&6; }
fi
CPPFLAGS="$CPPLAGS $MMDB_INCLUDE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MaxMindDB support requested" >&5
printf "%s\n" "*** MaxMindDB support requested" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CPPFLAGS=$CPPFLAGS" >&5
printf "%s\n" "***** CPPFLAGS=$CPPFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CFLAGS =$CFLAGS" >&5
printf "%s\n" "***** CFLAGS =$CFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** LDFLAGS =$LDFLAGS" >&5
printf "%s\n" "***** LDFLAGS =$LDFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
if test ${ac_cv_c_undeclared_builtin_options+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_save_CFLAGS=$CFLAGS
ac_cv_c_undeclared_builtin_options='cannot detect'
for ac_arg in '' -fno-builtin; do
CFLAGS="$ac_save_CFLAGS $ac_arg"
# This test program should *not* compile successfully.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main (void)
{
(void) strchr;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
else $as_nop
# This test program should compile successfully.
# No library function is consistently available on
# freestanding implementations, so test against a dummy
# declaration. Include always-available headers on the
# off chance that they somehow elicit warnings.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
#include
#include
#include
extern void ac_decl (int, char *);
int
main (void)
{
(void) ac_decl (0, (char *) 0);
(void) ac_decl;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
if test x"$ac_arg" = x
then :
ac_cv_c_undeclared_builtin_options='none needed'
else $as_nop
ac_cv_c_undeclared_builtin_options=$ac_arg
fi
break
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
done
CFLAGS=$ac_save_CFLAGS
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
case $ac_cv_c_undeclared_builtin_options in #(
'cannot detect') :
{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot make $CC report undeclared builtins
See \`config.log' for more details" "$LINENO" 5; } ;; #(
'none needed') :
ac_c_undeclared_builtin_options='' ;; #(
*) :
ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
esac
ac_fn_c_check_header_compile "$LINENO" "maxminddb.h" "ac_cv_header_maxminddb_h" "$ac_includes_default"
if test "x$ac_cv_header_maxminddb_h" = xyes
then :
if test -n "$MMDB_INCLUDE_DIR"; then
if test -e "$MMDB_INCLUDE_DIR/maxminddb.h"; then
CPPFLAGS="$CPPFLAGS -include $MMDB_INCLUDE_DIR/maxminddb.h"
else
as_fn_error $? "MaxMindDB library header file not found: $MMDB_INCLUDE_DIR/maxminddb.h" "$LINENO" 5
fi
else
CPPFLAGS="$CPPFLAGS -include maxminddb.h"
fi
ac_fn_check_decl "$LINENO" "MMDB_open" "ac_cv_have_decl_MMDB_open" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_MMDB_open" = xyes
then :
else $as_nop
as_fn_error $? "MaxMindDB library header file misses MMDB_open" "$LINENO" 5
fi
ac_fn_check_decl "$LINENO" "MMDB_lib_version" "ac_cv_have_decl_MMDB_lib_version" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_MMDB_lib_version" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_MMDB_LIB_VERSION $ac_have_decl" >>confdefs.h
else $as_nop
as_fn_error $? "MaxMindDB library header files not found" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MaxMindDB database directory: $mmdb_db" >&5
printf "%s\n" "*** MaxMindDB database directory: $mmdb_db" >&6; }
printf "%s\n" "#define MMDB_DB \"$mmdb_db\"" >>confdefs.h
if test "$MMDB_DYN" != "yes"; then
CPPFLAGS="$CFLAGS"
if test -n "$MMDB_LIB_DIR"; then
if test -e "$MMDB_LIB_DIR/lib$MMDB_LIB_NAME.so"; then
LDFLAGS="$LDFLAGS -L$MMDB_LIB_DIR"
CFLAGS="$CFLAGS -L$MMDB_LIB_DIR"
LIBS="-L$MMDB_LIB_DIR"
else
as_fn_error $? "MaxMindDB library file not found: $MMDB_INCLUDE_DIR/lib$MMDB_LIB_NAME.so" "$LINENO" 5
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CPPFLAGS=$CPPFLAGS" >&5
printf "%s\n" "***** CPPFLAGS=$CPPFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CFLAGS =$CFLAGS" >&5
printf "%s\n" "***** CFLAGS =$CFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** LDFLAGS =$LDFLAGS" >&5
printf "%s\n" "***** LDFLAGS =$LDFLAGS" >&6; }
as_ac_Lib=`printf "%s\n" "ac_cv_lib_$MMDB_LIB_NAME""_MMDB_open" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for MMDB_open in -l$MMDB_LIB_NAME" >&5
printf %s "checking for MMDB_open in -l$MMDB_LIB_NAME... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-l$MMDB_LIB_NAME $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char MMDB_open ();
int
main (void)
{
return MMDB_open ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$as_ac_Lib=yes"
else $as_nop
eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :
printf "%s\n" "#define SUPPORT_MMDB 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MaxMindDB support enabled" >&5
printf "%s\n" "*** MaxMindDB support enabled" >&6; }
else $as_nop
as_fn_error $? "MaxMindDB library header files given but the library was not found, LDFLAGS=$LDFLAGS" "$LINENO" 5
fi
else
# wrapper detects by itself the real support
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** GeoIP dyn lib: $mmdb_dyn_lib" >&5
printf "%s\n" "*** GeoIP dyn lib: $mmdb_dyn_lib" >&6; }
printf "%s\n" "#define MMDB_DYN_LIB \"$mmdb_dyn_lib\"" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MaxMindDB support will be implemented by using dynamic load of library" >&5
printf "%s\n" "*** MaxMindDB support will be implemented by using dynamic load of library" >&6; }
printf "%s\n" "#define SUPPORT_MMDB 1" >>confdefs.h
printf "%s\n" "#define SUPPORT_MMDB_DYN 1" >>confdefs.h
fi
# GeoIPv2 and DBIPv2 support
# Check whether --enable-geoip2 was given.
if test ${enable_geoip2+y}
then :
enableval=$enable_geoip2;
GEOIP2="no"
else $as_nop
GEOIP2="yes"
fi
# Check whether --enable-dbip2 was given.
if test ${enable_dbip2+y}
then :
enableval=$enable_dbip2;
DBIP2="no"
else $as_nop
DBIP2="yes"
fi
else
GEOIP2=no
DBIP2=no
fi
if test -n "$MMDB_INCLUDE_VERSION"; then
printf "%s\n" "#define MMDB_INCLUDE_VERSION \"$MMDB_INCLUDE_VERSION\"" >>confdefs.h
fi
# Check whether --enable-dbip was given.
if test ${enable_dbip+y}
then :
enableval=$enable_dbip;
fi
# Check whether --with-dbip-db was given.
if test ${with_dbip_db+y}
then :
withval=$with_dbip_db;
dbip_db="$with_dbip_db"
else $as_nop
dbip_db=$dbip_db_default
fi
if test "$DBIP2" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** db-ip.com (MaxMindDB) support auotenabled\"" >&5
printf "%s\n" "*** db-ip.com (MaxMindDB) support auotenabled\"" >&6; }
printf "%s\n" "#define SUPPORT_DBIP2 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** db-ip.com (MaxMindDB) database directory: $dbip_db" >&5
printf "%s\n" "*** db-ip.com (MaxMindDB) database directory: $dbip_db" >&6; }
printf "%s\n" "#define DBIP2_DB \"$dbip_db\"" >>confdefs.h
fi
DBIP2_DB=$dbip_db
IP2LOCATION_LIB_NAME="IP2Location"
IP2LOCATION_INCLUDE_VERSION=""
# Check whether --enable-ip2location was given.
if test ${enable_ip2location+y}
then :
enableval=$enable_ip2location;
IP2LOCATION="$enable_ip2location"
else $as_nop
IP2LOCATION="no"
fi
# Check whether --with-ip2location-dynamic was given.
if test ${with_ip2location_dynamic+y}
then :
withval=$with_ip2location_dynamic;
if test "$enable_ip2location_dynamic" != "no"; then
IP2LOCATION_DYN="yes"
fi
fi
# Check whether --with-ip2location-headers was given.
if test ${with_ip2location_headers+y}
then :
withval=$with_ip2location_headers;
IP2LOCATION_INCLUDE_DIR="$with_ip2location_headers"
fi
# Check whether --with-ip2location-headers-fallback was given.
if test ${with_ip2location_headers_fallback+y}
then :
withval=$with_ip2location_headers_fallback;
fi
if test -n "$IP2LOCATION_INCLUDE_DIR"; then
IP2LOCATION_INCLUDE="-I$IP2LOCATION_INCLUDE_DIR"
if test -d "$IP2LOCATION_INCLUDE_DIR/iMath"; then
# include iMath where existing (API < 7.0.0)
IP2LOCATION_INCLUDE="$IP2LOCATION_INCLUDE -I$IP2LOCATION_INCLUDE_DIR/iMath"
fi
if echo "$IP2LOCATION_INCLUDE_DIR" | grep -q "^/"; then
# absolute path
IP2LOCATION_INCLUDE_L1="-I$IP2LOCATION_INCLUDE_DIR"
IP2LOCATION_INCLUDE_L2="-I$IP2LOCATION_INCLUDE_DIR"
if test -d "$IP2LOCATION_INCLUDE_DIR/iMath"; then
# include iMath where existing (API < 7.0.0)
IP2LOCATION_INCLUDE_L1="$IP2LOCATION_INCLUDE_L1 -I$IP2LOCATION_INCLUDE_DIR/iMath"
IP2LOCATION_INCLUDE_L2="$IP2LOCATION_INCLUDE_L2 -I$IP2LOCATION_INCLUDE_DIR/iMath"
fi
else
IP2LOCATION_INCLUDE_L1="-I../$IP2LOCATION_INCLUDE_DIR"
IP2LOCATION_INCLUDE_L2="-I../../$IP2LOCATION_INCLUDE_DIR"
if test -d "$IP2LOCATION_INCLUDE_DIR/iMath"; then
# include iMath where existing (API < 7.0.0)
IP2LOCATION_INCLUDE_L1="$IP2LOCATION_INCLUDE_L1 -I../$IP2LOCATION_INCLUDE_DIR/iMath"
IP2LOCATION_INCLUDE_L2="$IP2LOCATION_INCLUDE_L2 -I../../$IP2LOCATION_INCLUDE_DIR/iMath"
fi
fi
fi
# Check whether --with-ip2location-lib was given.
if test ${with_ip2location_lib+y}
then :
withval=$with_ip2location_lib;
if test -d "$with_ip2location_lib"; then
IP2LOCATION_LIB_DIR="$with_ip2location_lib"
IP2LOCATION_LIB="-L$IP2LOCATION_LIB_DIR $IP2LOCATION_LIB"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: IP2Location library directory given: $IP2LOCATION_LIB_DIR" >&5
printf "%s\n" "IP2Location library directory given: $IP2LOCATION_LIB_DIR" >&6; }
else
as_fn_error $? "IP2Location library directory not found: $with_ip2location_lib" "$LINENO" 5
fi
if echo "$IP2LOCATION_LIB_DIR" | grep -q "^/"; then
# absolute path
IP2LOCATION_LIB_L1="-L$IP2LOCATION_LIB_DIR"
IP2LOCATION_LIB_L2="-L$IP2LOCATION_LIB_DIR"
if test -n "$LD_LIBRARY_PATH"; then
LD_LIBRARY_PATH=$IP2LOCATION_LIB_DIR:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$IP2LOCATION_LIB_DIR
fi
else
IP2LOCATION_LIB_L1="-L../$IP2LOCATION_LIB_DIR"
IP2LOCATION_LIB_L2="-L../../$IP2LOCATION_LIB_DIR"
if test -n "$LD_LIBRARY_PATH"; then
LD_LIBRARY_PATH=../$IP2LOCATION_LIB_DIR:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$IP2LOCATION_LIB_DIR
fi
fi
fi
# must be tested
#AC_ARG_WITH([ip2location-lib-name],
# AS_HELP_STRING([--with-ip2location-lib-name=NAME],
# [IP2Location library name]),
# [
# IP2LOCATION_LIB_NAME="$with_ip2location_lib_name"
# IP2LOCATION_LIB="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB"
# AC_MSG_RESULT([IP2Location library name given: $IP2LOCATION_LIB_NAME])
# ],[
# ])
# Check whether --with-ip2location-static was given.
if test ${with_ip2location_static+y}
then :
withval=$with_ip2location_static;
if test "$with_ip2location_static" != "no"; then
IP2LOCATION_LIB="-Wl,-Bstatic $IP2LOCATION_LIB -Wl,-Bdynamic"
fi
fi
# Check whether --with-ip2location-db was given.
if test ${with_ip2location_db+y}
then :
withval=$with_ip2location_db;
ip2location_db="$with_ip2location_db"
else $as_nop
ip2location_db=$ip2location_db_default
fi
# Check whether --with-ip2location-dyn-lib was given.
if test ${with_ip2location_dyn_lib+y}
then :
withval=$with_ip2location_dyn_lib;
ip2location_dyn_lib="$with_ip2location_dyn_lib"
else $as_nop
ip2location_dyn_lib=$ip2location_dyn_lib_default
fi
if test "$IP2LOCATION" = "yes"; then
if test "$IP2LOCATION_DYN" != "yes"; then
IP2LOCATION_LIB="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB"
IP2LOCATION_LIB_L1="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB_L1"
IP2LOCATION_LIB_L2="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB_L2"
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: **** IP2Location dynamic load support enabled, disable IP2Location linker options" >&5
printf "%s\n" "**** IP2Location dynamic load support enabled, disable IP2Location linker options" >&6; }
fi
CPPFLAGS="$CPPFLAGS $IP2LOCATION_INCLUDE"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location support requested" >&5
printf "%s\n" "*** IP2Location support requested" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CPPFLAGS=$CPPFLAGS" >&5
printf "%s\n" "***** CPPFLAGS=$CPPFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CFLAGS =$CFLAGS" >&5
printf "%s\n" "***** CFLAGS =$CFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** LDFLAGS =$LDFLAGS" >&5
printf "%s\n" "***** LDFLAGS =$LDFLAGS" >&6; }
ac_fn_c_check_header_compile "$LINENO" "IP2Location.h" "ac_cv_header_IP2Location_h" "$ac_includes_default"
if test "x$ac_cv_header_IP2Location_h" = xyes
then :
if test -n "$IP2LOCATION_INCLUDE_DIR"; then
if test -e "$IP2LOCATION_INCLUDE_DIR/IP2Location.h"; then
CPPFLAGS="$CPPFLAGS -include $IP2LOCATION_INCLUDE_DIR/IP2Location.h"
else
as_fn_error $? "IP2Location library header file not found: $IP2LOCATION_INCLUDE_DIR/IP2Location.h" "$LINENO" 5
fi
else
CPPFLAGS="$CPPFLAGS -include IP2Location.h"
fi
ac_fn_check_decl "$LINENO" "IP2Location_open" "ac_cv_have_decl_IP2Location_open" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_open" = xyes
then :
else $as_nop
as_fn_error $? "IP2Location library header file misses IP2Location_open" "$LINENO" 5
fi
ac_fn_check_decl "$LINENO" "IP2Location_close" "ac_cv_have_decl_IP2Location_close" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_close" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_IP2LOCATION_CLOSE $ac_have_decl" >>confdefs.h
ac_fn_check_decl "$LINENO" "IP2Location_get_country_short" "ac_cv_have_decl_IP2Location_get_country_short" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_get_country_short" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_IP2LOCATION_GET_COUNTRY_SHORT $ac_have_decl" >>confdefs.h
ac_fn_check_decl "$LINENO" "IP2Location_get_country_long" "ac_cv_have_decl_IP2Location_get_country_long" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_get_country_long" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_IP2LOCATION_GET_COUNTRY_LONG $ac_have_decl" >>confdefs.h
ac_fn_check_decl "$LINENO" "API_VERSION" "ac_cv_have_decl_API_VERSION" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_API_VERSION" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_API_VERSION $ac_have_decl" >>confdefs.h
ac_fn_check_decl "$LINENO" "IP2Location_api_version_string" "ac_cv_have_decl_IP2Location_api_version_string" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_api_version_string" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_IP2LOCATION_API_VERSION_STRING $ac_have_decl" >>confdefs.h
if test $ac_have_decl = 1
then :
IP2LOCATION_HAS_API_STRING="yes"
fi
ac_fn_check_decl "$LINENO" "IP2Location_lib_version_string" "ac_cv_have_decl_IP2Location_lib_version_string" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_lib_version_string" = xyes
then :
IP2LOCATION_HAS_LIB_STRING="yes"
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include
IP2Location loc;
void test() {
loc.ipv6_database_address = 1;
};
int
main (void)
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: IP2Location has full (and updated) IPv6 support (API >= 8.2.0)" >&5
printf "%s\n" "IP2Location has full (and updated) IPv6 support (API >= 8.2.0)" >&6; }
else $as_nop
as_fn_error $? "IP2Location has only compat IPv6 support (API < 7.0.0) or old (API < 8.2.0) which is no longer supported" "$LINENO" 5
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ac_fn_check_decl "$LINENO" "USAGETYPE" "ac_cv_have_decl_USAGETYPE" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_USAGETYPE" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_USAGETYPE $ac_have_decl" >>confdefs.h
if test $ac_have_decl = 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: IP2Location has full support (library >= 6.0.0)" >&5
printf "%s\n" "IP2Location has full support (library >= 6.0.0)" >&6; }
else $as_nop
as_fn_error $? "IP2Location library header file misses USAGETYPE (library < 6.0.0) which is no longer supported" "$LINENO" 5
fi
else $as_nop
as_fn_error $? "IP2Location library header files not found" "$LINENO" 5
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2location db dir: $ip2location_db" >&5
printf "%s\n" "*** IP2location db dir: $ip2location_db" >&6; }
printf "%s\n" "#define IP2LOCATION_DB \"$ip2location_db\"" >>confdefs.h
if test "$IP2LOCATION_DYN" != "yes"; then
if test "$IP2LOCATION_STATIC" = "yes"; then
printf "%s\n" "#define SUPPORT_IP2LOCATION_STATIC 1" >>confdefs.h
fi
CPPFLAGS="$CFLAGS"
if test -n "$IP2LOCATION_LIB_DIR"; then
if test -e "$IP2LOCATION_LIB_DIR/lib$IP2LOCATION_LIB_NAME.so"; then
LDFLAGS="$LDFLAGS -L$IP2LOCATION_LIB_DIR"
CFLAGS="$CFLAGS -L$IP2LOCATION_LIB_DIR"
LIBS="-L$IP2LOCATION_LIB_DIR"
else
as_fn_error $? "IP2Location library file not found: $IP2LOCATION_INCLUDE_DIR/lib$IP2LOCATION_LIB_NAME.so" "$LINENO" 5
fi
fi
as_ac_Lib=`printf "%s\n" "ac_cv_lib_$IP2LOCATION_LIB_NAME""_IP2Location_api_version_string" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IP2Location_api_version_string in -l$IP2LOCATION_LIB_NAME" >&5
printf %s "checking for IP2Location_api_version_string in -l$IP2LOCATION_LIB_NAME... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-l$IP2LOCATION_LIB_NAME $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char IP2Location_api_version_string ();
int
main (void)
{
return IP2Location_api_version_string ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$as_ac_Lib=yes"
else $as_nop
eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location library supports API version string" >&5
printf "%s\n" "*** IP2Location library supports API version string" >&6; }
else $as_nop
as_fn_error $? "IP2Location library file misses IP2Location_api_version_string - no longer supported" "$LINENO" 5
fi
as_ac_Lib=`printf "%s\n" "ac_cv_lib_$IP2LOCATION_LIB_NAME""_IP2Location_lib_version_string" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IP2Location_lib_version_string in -l$IP2LOCATION_LIB_NAME" >&5
printf %s "checking for IP2Location_lib_version_string in -l$IP2LOCATION_LIB_NAME... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-l$IP2LOCATION_LIB_NAME $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char IP2Location_lib_version_string ();
int
main (void)
{
return IP2Location_lib_version_string ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$as_ac_Lib=yes"
else $as_nop
eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :
if test "$IP2LOCATION_HAS_LIB_STRING" != "yes"; then
as_fn_error $? "IP2Location library header file misses IP2Location_lib_version_string while library contains" "$LINENO" 5
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location library supports LIB version string" >&5
printf "%s\n" "*** IP2Location library supports LIB version string" >&6; }
fi
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CPPFLAGS=$CPPFLAGS" >&5
printf "%s\n" "***** CPPFLAGS=$CPPFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** CFLAGS =$CFLAGS" >&5
printf "%s\n" "***** CFLAGS =$CFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** LDFLAGS =$LDFLAGS" >&5
printf "%s\n" "***** LDFLAGS =$LDFLAGS" >&6; }
as_ac_Lib=`printf "%s\n" "ac_cv_lib_$IP2LOCATION_LIB_NAME""_IP2Location_open" | $as_tr_sh`
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for IP2Location_open in -l$IP2LOCATION_LIB_NAME" >&5
printf %s "checking for IP2Location_open in -l$IP2LOCATION_LIB_NAME... " >&6; }
if eval test \${$as_ac_Lib+y}
then :
printf %s "(cached) " >&6
else $as_nop
ac_check_lib_save_LIBS=$LIBS
LIBS="-l$IP2LOCATION_LIB_NAME $LIBS"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
char IP2Location_open ();
int
main (void)
{
return IP2Location_open ();
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"
then :
eval "$as_ac_Lib=yes"
else $as_nop
eval "$as_ac_Lib=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
eval ac_res=\$$as_ac_Lib
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
printf "%s\n" "$ac_res" >&6; }
if eval test \"x\$"$as_ac_Lib"\" = x"yes"
then :
printf "%s\n" "#define SUPPORT_IP2LOCATION 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location support enabled" >&5
printf "%s\n" "*** IP2Location support enabled" >&6; }
else $as_nop
as_fn_error $? "IP2Location library header files were found but the library was not found, LDFLAGS=$LDFLAGS, CFLAGS=$CFLAGS" "$LINENO" 5
fi
else
ac_fn_check_decl "$LINENO" "IP2Location_api_version_string" "ac_cv_have_decl_IP2Location_api_version_string" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
if test "x$ac_cv_have_decl_IP2Location_api_version_string" = xyes
then :
ac_have_decl=1
else $as_nop
ac_have_decl=0
fi
printf "%s\n" "#define HAVE_DECL_IP2LOCATION_API_VERSION_STRING $ac_have_decl" >>confdefs.h
if test $ac_have_decl = 1
then :
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location header supports API version string" >&5
printf "%s\n" "*** IP2Location header supports API version string" >&6; }
else $as_nop
as_fn_error $? "IP2Location library header file misses IP2Location_api_version_string - no longer supported" "$LINENO" 5
fi
# wrapper detects by itself the real support
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location dyn lib: $ip2location_dyn_lib" >&5
printf "%s\n" "*** IP2Location dyn lib: $ip2location_dyn_lib" >&6; }
printf "%s\n" "#define IP2LOCATION_DYN_LIB \"$ip2location_dyn_lib\"" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2Location support will be implemented by using dynamic load of library" >&5
printf "%s\n" "*** IP2Location support will be implemented by using dynamic load of library" >&6; }
printf "%s\n" "#define SUPPORT_IP2LOCATION 1" >>confdefs.h
printf "%s\n" "#define SUPPORT_IP2LOCATION_DYN 1" >>confdefs.h
fi
fi
IP2LOCATION_DB=$ip2location_db
if test -n "$IP2LOCATION_INCLUDE_VERSION"; then
printf "%s\n" "#define IP2LOCATION_INCLUDE_VERSION \"$IP2LOCATION_INCLUDE_VERSION\"" >>confdefs.h
fi
GEOIP_LIB_NAME="GeoIP"
GEOIP_INCLUDE_VERSION=""
# Check whether --enable-geoip was given.
if test ${enable_geoip+y}
then :
enableval=$enable_geoip;
fi
# Check whether --with-geoip-dynamic was given.
if test ${with_geoip_dynamic+y}
then :
withval=$with_geoip_dynamic;
fi
# Check whether --with-geoip-headers was given.
if test ${with_geoip_headers+y}
then :
withval=$with_geoip_headers;
fi
# Check whether --with-geoip-headers-fallback was given.
if test ${with_geoip_headers_fallback+y}
then :
withval=$with_geoip_headers_fallback;
fi
# Check whether --with-geoip-lib was given.
if test ${with_geoip_lib+y}
then :
withval=$with_geoip_lib;
fi
# Check whether --with-geoip-static was given.
if test ${with_geoip_static+y}
then :
withval=$with_geoip_static;
fi
# Check whether --with-geoip-dyn-lib was given.
if test ${with_geoip_dyn_lib+y}
then :
withval=$with_geoip_dyn_lib;
fi
# Check whether --with-geoip-ipv6-compat was given.
if test ${with_geoip_ipv6_compat+y}
then :
withval=$with_geoip_ipv6_compat;
fi
if test "$GEOIP2" = "yes"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** GeoIP (MaxMindDB) auotenabled\"" >&5
printf "%s\n" "*** GeoIP (MaxMindDB) auotenabled\"" >&6; }
fi
# Check whether --with-geoip-db was given.
if test ${with_geoip_db+y}
then :
withval=$with_geoip_db;
geoip_db="$with_geoip_db"
else $as_nop
geoip_db=$geoip_db_default
fi
if test "$GEOIP2" = "yes"; then
printf "%s\n" "#define SUPPORT_GEOIP2 1" >>confdefs.h
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** GeoIP (MaxMindDB) support enabled" >&5
printf "%s\n" "*** GeoIP (MaxMindDB) support enabled" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** GeoIP (MaxMindDB) database directory: $geoip_db" >&5
printf "%s\n" "*** GeoIP (MaxMindDB) database directory: $geoip_db" >&6; }
printf "%s\n" "#define GEOIP2_DB \"$geoip_db\"" >>confdefs.h
fi
GEOIP2_DB=$geoip_db
if test "$DYNAMIC_LOAD" = "yes"; then
if test "$GEOIP_DYN" = "yes" -o "$IP2LOCATION_DYN" = "yes" -o "$MMDB_DYN" = "yes"; then
DYNAMIC_LOAD="yes"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** Dynamic loading of libraries is ENABLED" >&5
printf "%s\n" "*** Dynamic loading of libraries is ENABLED" >&6; }
DYNLOAD_LIB="-rdynamic -ldl"
fi
fi
# Check whether --enable-mod_ipv6calc was given.
if test ${enable_mod_ipv6calc+y}
then :
enableval=$enable_mod_ipv6calc;
fi
if test "$enable_mod_ipv6calc" = "yes"; then
ENABLE_MOD_IPV6CALC="1"
else
ENABLE_MOD_IPV6CALC="0"
fi
# Check whether --with-apxs was given.
if test ${with_apxs+y}
then :
withval=$with_apxs; APXS="$with_apxs"
fi
if test "$ENABLE_MOD_IPV6CALC" = "1"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Build of mod_ipv6calc enabled" >&5
printf "%s\n" "Build of mod_ipv6calc enabled" >&6; }
if test -z "$APXS"; then
for ac_prog in apxs2 apxs
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
printf %s "checking for $ac_word... " >&6; }
if test ${ac_cv_path_APXS+y}
then :
printf %s "(cached) " >&6
else $as_nop
case $APXS in
[\\/]* | ?:[\\/]*)
ac_cv_path_APXS="$APXS" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_dummy="$PATH:/usr/local/apache/bin:/usr/sbin"
for as_dir in $as_dummy
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
ac_cv_path_APXS="$as_dir$ac_word$ac_exec_ext"
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
APXS=$ac_cv_path_APXS
if test -n "$APXS"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $APXS" >&5
printf "%s\n" "$APXS" >&6; }
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
printf "%s\n" "no" >&6; }
fi
test -n "$APXS" && break
done
fi
if test -z "$APXS"; then
as_fn_error $? "No APXS binary found: cannot create Apache module - missing httpd-devel?" "$LINENO" 5
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: APXS binary found: $APXS" >&5
printf "%s\n" "APXS binary found: $APXS" >&6; }
# partially taken from configure.ac from mod_wsgi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking Apache version" >&5
printf %s "checking Apache version... " >&6; }
HTTPD="`${APXS} -q SBINDIR`/`${APXS} -q TARGET`"
HTTPD_INCLUDEDIR="`${APXS} -q INCLUDEDIR`"
if test -x ${HTTPD}; then
HTTPD_VERSION=`${HTTPD} -v | awk '/version/ {print $3}' \
| awk -F/ '{print $2}'`
else
if test -f ${HTTPD_INCLUDEDIR}/ap_release.h; then
HTTPD_VERSION=`grep '^#define AP_SERVER_MAJORVERSION_NUMBER ' \
${HTTPD_INCLUDEDIR}/ap_release.h | sed -e \
's/^#define AP_SERVER_MAJORVERSION_NUMBER \([0-9]\).*/\1.X/'`
else
if test -f ${HTTPD_INCLUDEDIR}/httpd.h; then
HTTPD_VERSION=`grep '^#define APACHE_RELEASE ' \
${HTTPD_INCLUDEDIR}/httpd.h | sed -e \
's/^#define APACHE_RELEASE \([0-9]\).*/\1.X/'`
else
HTTPD_VERSION="2.?"
fi
fi
fi
HTTPD_LIBEXECDIR="`${APXS} -q libexecdir`"
if test -z "$HTTPD_LIBEXECDIR"; then
as_fn_error $? "${APXS} cannot retrieve libexecdir" "$LINENO" 5
fi
HTTPD_SYSCONFDIR="`${APXS} -q sysconfdir`"
if test -z "$HTTPD_SYSCONFDIR"; then
as_fn_error $? "${APXS} cannot retrieve sysconfdir" "$LINENO" 5
fi
if test -n "$HTTPD_SYSCONFDIR"; then
HTTPD_SYSCONFDIR="$HTTPD_SYSCONFDIR.d"
fi
if test -n "$HTTPD_VERSION"; then
HTTPD_VERSION_MAJOR_MINOR=`echo "$HTTPD_VERSION" | awk -F. '{ print $1 "." $2 }'`
fi
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Build of mod_ipv6calc NOT enabled" >&5
printf "%s\n" "$as_me: WARNING: Build of mod_ipv6calc NOT enabled" >&2;}
fi
ac_config_files="$ac_config_files tools/ipv6calc-db-update.sh"
ac_config_files="$ac_config_files tools/DBIP-update.sh"
ac_config_files="$ac_config_files tools/IP2Location-update.sh"
ac_config_files="$ac_config_files tools/GeoIP-update.sh"
ac_config_files="$ac_config_files Makefile md5/Makefile tools/Makefile getopt/Makefile ipv6calc/Makefile lib/Makefile man/Makefile databases/lib/Makefile ipv6logconv/Makefile ipv6loganon/Makefile ipv6logstats/Makefile ipv6calcweb/Makefile contrib/ipv6calc.spec mod_ipv6calc/Makefile VERSION"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems. If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.
_ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes: double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
) |
sed '
/^ac_cv_env_/b end
t clear
:clear
s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
if test "x$cache_file" != "x/dev/null"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
case $cache_file in #(
*/* | ?:*)
mv -f confcache "$cache_file"$$ &&
mv -f "$cache_file"$$ "$cache_file" ;; #(
*)
mv -f confcache "$cache_file" ;;
esac
fi
fi
else
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
DEFS=-DHAVE_CONFIG_H
ac_libobjs=
ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
as_nop=:
if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else $as_nop
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
# Reset variables that may have inherited troublesome values from
# the environment.
# IFS needs to be set, to space, tab, and newline, in precisely that order.
# (If _AS_PATH_WALK were called with IFS unset, it would have the
# side effect of setting IFS to empty, thus disabling word splitting.)
# Quoting is to prevent editors from complaining about space-tab.
as_nl='
'
export as_nl
IFS=" "" $as_nl"
PS1='$ '
PS2='> '
PS4='+ '
# Ensure predictable behavior from utilities with locale-dependent output.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# We cannot yet rely on "unset" to work, but we need these variables
# to be unset--not just set to an empty or harmless value--now, to
# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
# also avoids known problems related to "unset" and subshell syntax
# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
do eval test \${$as_var+y} \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
# Ensure that fds 0, 1, and 2 are open.
if (exec 3>&0) 2>/dev/null; then :; else exec 0&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
# The user is always right.
if ${PATH_SEPARATOR+false} :; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
case $as_dir in #(((
'') as_dir=./ ;;
*/) ;;
*) as_dir=$as_dir/ ;;
esac
test -r "$as_dir$0" && as_myself=$as_dir$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
printf "%s\n" "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else $as_nop
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else $as_nop
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
# Determine whether it's possible to make 'echo' print without a newline.
# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
# for compatibility with existing Makefiles.
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
# For backward compatibility with old third-party macros, we provide
# the shell variables $as_echo and $as_echo_n. New code should use
# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
as_echo='printf %s\n'
as_echo_n='printf %s'
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by ipv6calc $as_me 4.1.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
on `(hostname || uname -n) 2>/dev/null | sed 1q`
"
_ACEOF
case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac
case $ac_config_headers in *"
"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
--header=FILE[:TEMPLATE]
instantiate the configuration header FILE
Configuration files:
$config_files
Configuration headers:
$config_headers
Report bugs to .
ipv6calc home page: ."
_ACEOF
ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
ipv6calc config.status 4.1.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
Copyright (C) 2021 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
--*=)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
ac_shift=:
;;
*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
esac
case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
printf "%s\n" "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
printf "%s\n" "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
printf "%s\n" "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
esac
shift
done
ac_configure_extra_args=
if $ac_cs_silent; then
exec 6>/dev/null
ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
printf "%s\n" "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
"tools/ipv6calc-db-update.sh") CONFIG_FILES="$CONFIG_FILES tools/ipv6calc-db-update.sh" ;;
"tools/DBIP-update.sh") CONFIG_FILES="$CONFIG_FILES tools/DBIP-update.sh" ;;
"tools/IP2Location-update.sh") CONFIG_FILES="$CONFIG_FILES tools/IP2Location-update.sh" ;;
"tools/GeoIP-update.sh") CONFIG_FILES="$CONFIG_FILES tools/GeoIP-update.sh" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"md5/Makefile") CONFIG_FILES="$CONFIG_FILES md5/Makefile" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
"getopt/Makefile") CONFIG_FILES="$CONFIG_FILES getopt/Makefile" ;;
"ipv6calc/Makefile") CONFIG_FILES="$CONFIG_FILES ipv6calc/Makefile" ;;
"lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
"man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
"databases/lib/Makefile") CONFIG_FILES="$CONFIG_FILES databases/lib/Makefile" ;;
"ipv6logconv/Makefile") CONFIG_FILES="$CONFIG_FILES ipv6logconv/Makefile" ;;
"ipv6loganon/Makefile") CONFIG_FILES="$CONFIG_FILES ipv6loganon/Makefile" ;;
"ipv6logstats/Makefile") CONFIG_FILES="$CONFIG_FILES ipv6logstats/Makefile" ;;
"ipv6calcweb/Makefile") CONFIG_FILES="$CONFIG_FILES ipv6calcweb/Makefile" ;;
"contrib/ipv6calc.spec") CONFIG_FILES="$CONFIG_FILES contrib/ipv6calc.spec" ;;
"mod_ipv6calc/Makefile") CONFIG_FILES="$CONFIG_FILES mod_ipv6calc/Makefile" ;;
"VERSION") CONFIG_FILES="$CONFIG_FILES VERSION" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
fi
# Have a temporary directory for convenience. Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
tmp= ac_tmp=
trap 'exit_status=$?
: "${ac_tmp:=$tmp}"
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
h
s///
s/^/:/
s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF
# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.
# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
if test -z "$ac_tt"; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any. Preserve backslash
# newline sequences.
ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[ ]*#[ ]*define[ ][ ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' >$CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
for (key in D) D_is_set[key] = 1
FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
line = \$ 0
split(line, arg, " ")
if (arg[1] == "#") {
defundef = arg[2]
mac1 = arg[3]
} else {
defundef = substr(arg[1], 2)
mac1 = arg[2]
}
split(mac1, mac2, "(") #)
macro = mac2[1]
prefix = substr(line, 1, index(line, defundef) - 1)
if (D_is_set[macro]) {
# Preserve the white space surrounding the "#".
print prefix "define", macro P[macro] D[macro]
next
} else {
# Replace #undef with comments. This is necessary, for example,
# in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
if (defundef == "undef") {
print "/*", prefix defundef, macro, "*/"
next
}
}
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
fi # test -n "$CONFIG_HEADERS"
eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS "
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
ac_save_IFS=$IFS
IFS=:
set x $ac_tag
IFS=$ac_save_IFS
shift
ac_file=$1
shift
case $ac_mode in
:L) ac_source=$1;;
:[FH])
ac_file_inputs=
for ac_f
do
case $ac_f in
-) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
printf "%s\n" "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`printf "%s\n" "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
printf "%s\n" X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
case $ac_mode in
:F)
#
# CONFIG_FILE
#
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
"$ac_tmp/out"`; test -z "$ac_out"; } &&
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$ac_tmp/stdin"
case $ac_file in
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
:H)
#
# CONFIG_HEADER
#
if test x"$ac_file" != x-; then
{
printf "%s\n" "/* $configure_input */" >&1 \
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
} >"$ac_tmp/config.h" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
else
rm -f "$ac_file"
mv "$ac_tmp/config.h" "$ac_file" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
fi
else
printf "%s\n" "/* $configure_input */" >&1 \
&& eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
|| as_fn_error $? "could not create -" "$LINENO" 5
fi
;;
esac
case $ac_file$ac_mode in
"tools/ipv6calc-db-update.sh":F) chmod a+x tools/ipv6calc-db-update.sh ;;
"tools/DBIP-update.sh":F) chmod a+x tools/DBIP-update.sh ;;
"tools/IP2Location-update.sh":F) chmod a+x tools/IP2Location-update.sh ;;
"tools/GeoIP-update.sh":F) chmod a+x tools/GeoIP-update.sh ;;
esac
done # for ac_tag
as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded. So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status. When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
ac_cs_success=:
ac_config_status_args=
test "$silent" = yes &&
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ***** Summary" >&5
printf "%s\n" "***** Summary" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB =$MMDB" >&5
printf "%s\n" "*** MMDB =$MMDB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_DYN =$MMDB_DYN" >&5
printf "%s\n" "*** MMDB_DYN =$MMDB_DYN" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_DYN_LIB =$mmdb_dyn_lib" >&5
printf "%s\n" "*** MMDB_DYN_LIB =$mmdb_dyn_lib" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_INCLUDE =$MMDB_INCLUDE" >&5
printf "%s\n" "*** MMDB_INCLUDE =$MMDB_INCLUDE" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_INCLUDE_VERSION =$MMDB_INCLUDE_VERSION" >&5
printf "%s\n" "*** MMDB_INCLUDE_VERSION =$MMDB_INCLUDE_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_LIB =$MMDB_LIB" >&5
printf "%s\n" "*** MMDB_LIB =$MMDB_LIB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_LIB_NAME =$MMDB_LIB_NAME" >&5
printf "%s\n" "*** MMDB_LIB_NAME =$MMDB_LIB_NAME" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** MMDB_LIB_DIR =$MMDB_LIB_DIR" >&5
printf "%s\n" "*** MMDB_LIB_DIR =$MMDB_LIB_DIR" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION =$IP2LOCATION" >&5
printf "%s\n" "*** IP2LOCATION =$IP2LOCATION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_DB =$IP2LOCATION_DB" >&5
printf "%s\n" "*** IP2LOCATION_DB =$IP2LOCATION_DB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_DYN =$IP2LOCATION_DYN" >&5
printf "%s\n" "*** IP2LOCATION_DYN =$IP2LOCATION_DYN" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_DYN_LIB =$ip2location_dyn_lib" >&5
printf "%s\n" "*** IP2LOCATION_DYN_LIB =$ip2location_dyn_lib" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_INCLUDE =$IP2LOCATION_INCLUDE" >&5
printf "%s\n" "*** IP2LOCATION_INCLUDE =$IP2LOCATION_INCLUDE" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_INCLUDE_VERSION=$IP2LOCATION_INCLUDE_VERSION" >&5
printf "%s\n" "*** IP2LOCATION_INCLUDE_VERSION=$IP2LOCATION_INCLUDE_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_LIB =$IP2LOCATION_LIB" >&5
printf "%s\n" "*** IP2LOCATION_LIB =$IP2LOCATION_LIB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_LIB_NAME =$IP2LOCATION_LIB_NAME" >&5
printf "%s\n" "*** IP2LOCATION_LIB_NAME =$IP2LOCATION_LIB_NAME" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** IP2LOCATION_LIB_DIR =$IP2LOCATION_LIB_DIR" >&5
printf "%s\n" "*** IP2LOCATION_LIB_DIR =$IP2LOCATION_LIB_DIR" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** GEOIP2 =$GEOIP2" >&5
printf "%s\n" "*** GEOIP2 =$GEOIP2" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** GEOIP2_DB =$GEOIP2_DB" >&5
printf "%s\n" "*** GEOIP2_DB =$GEOIP2_DB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DBIP2 =$DBIP2" >&5
printf "%s\n" "*** DBIP2 =$DBIP2" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DBIP2_DB =$DBIP2_DB" >&5
printf "%s\n" "*** DBIP2_DB =$DBIP2_DB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** EXTERNAL =$EXTERNAL" >&5
printf "%s\n" "*** EXTERNAL =$EXTERNAL" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** EXTERNAL_DB =$EXTERNAL_DB" >&5
printf "%s\n" "*** EXTERNAL_DB =$EXTERNAL_DB" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** BUILTIN =$BUILTIN" >&5
printf "%s\n" "*** BUILTIN =$BUILTIN" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DB_IPV4 =$DB_IPV4" >&5
printf "%s\n" "*** DB_IPV4 =$DB_IPV4" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DB_IPV6 =$DB_IPV6" >&5
printf "%s\n" "*** DB_IPV6 =$DB_IPV6" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DB_IEEE =$DB_IEEE" >&5
printf "%s\n" "*** DB_IEEE =$DB_IEEE" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DB_AS_REG =$DB_AS_REG" >&5
printf "%s\n" "*** DB_AS_REG =$DB_AS_REG" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DB_CC_REG =$DB_CC_REG" >&5
printf "%s\n" "*** DB_CC_REG =$DB_CC_REG" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CC =$CC" >&5
printf "%s\n" "*** CC =$CC" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS_EXTRA =$CFLAGS_EXTRA" >&5
printf "%s\n" "*** CFLAGS_EXTRA =$CFLAGS_EXTRA" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** LDFLAGS_EXTRA =$LDFLAGS_EXTRA" >&5
printf "%s\n" "*** LDFLAGS_EXTRA =$LDFLAGS_EXTRA" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** LDFLAGS_EXTRA_STATIC =$LDFLAGS_EXTRA_STATIC" >&5
printf "%s\n" "*** LDFLAGS_EXTRA_STATIC =$LDFLAGS_EXTRA_STATIC" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** LD_LIBRARY_PATH =$LD_LIBRARY_PATH" >&5
printf "%s\n" "*** LD_LIBRARY_PATH =$LD_LIBRARY_PATH" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** LD_LIBRARY_PATH_BASIC =$LD_LIBRARY_PATH_BASIC" >&5
printf "%s\n" "*** LD_LIBRARY_PATH_BASIC =$LD_LIBRARY_PATH_BASIC" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CPPLAGS =$CPPLAGS" >&5
printf "%s\n" "*** CPPLAGS =$CPPLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** CFLAGS =$CFLAGS" >&5
printf "%s\n" "*** CFLAGS =$CFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** LDFLAGS =$LDFLAGS" >&5
printf "%s\n" "*** LDFLAGS =$LDFLAGS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HAVE_OPENSSL_EVP_MD5 =$HAVE_OPENSSL_EVP_MD5" >&5
printf "%s\n" "*** HAVE_OPENSSL_EVP_MD5 =$HAVE_OPENSSL_EVP_MD5" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HAVE_OPENSSL_EVP_MD5_LEGACY=$HAVE_OPENSSL_EVP_MD5_LEGACY" >&5
printf "%s\n" "*** HAVE_OPENSSL_EVP_MD5_LEGACY=$HAVE_OPENSSL_EVP_MD5_LEGACY" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HAVE_OPENSSL_MD5 =$HAVE_OPENSSL_MD5" >&5
printf "%s\n" "*** HAVE_OPENSSL_MD5 =$HAVE_OPENSSL_MD5" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** ENABLE_BUNDLED_MD5 =$ENABLE_BUNDLED_MD5" >&5
printf "%s\n" "*** ENABLE_BUNDLED_MD5 =$ENABLE_BUNDLED_MD5" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** ENABLE_OPENSSL_EVP_MD5 =$ENABLE_OPENSSL_EVP_MD5" >&5
printf "%s\n" "*** ENABLE_OPENSSL_EVP_MD5 =$ENABLE_OPENSSL_EVP_MD5" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** ENABLE_OPENSSL_MD5 =$ENABLE_OPENSSL_MD5" >&5
printf "%s\n" "*** ENABLE_OPENSSL_MD5 =$ENABLE_OPENSSL_MD5" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HAVE_BERKELEY_DB_SUPPORT =$HAVE_BERKELEY_DB_SUPPORT" >&5
printf "%s\n" "*** HAVE_BERKELEY_DB_SUPPORT =$HAVE_BERKELEY_DB_SUPPORT" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** DB_VERSION =$DB_VERSION" >&5
printf "%s\n" "*** DB_VERSION =$DB_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** PACKAGE_VERSION_NUMERIC =$PACKAGE_VERSION_NUMERIC" >&5
printf "%s\n" "*** PACKAGE_VERSION_NUMERIC =$PACKAGE_VERSION_NUMERIC" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** PACKAGE_VERSION_STRING =$PACKAGE_VERSION_STRING" >&5
printf "%s\n" "*** PACKAGE_VERSION_STRING =$PACKAGE_VERSION_STRING" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** API_VERSION_NUMERIC =$API_VERSION_NUMERIC" >&5
printf "%s\n" "*** API_VERSION_NUMERIC =$API_VERSION_NUMERIC" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** API_VERSION_STRING =$API_VERSION_STRING" >&5
printf "%s\n" "*** API_VERSION_STRING =$API_VERSION_STRING" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: " >&5
printf "%s\n" "" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** ENABLE_MOD_IPV6CALC =$ENABLE_MOD_IPV6CALC" >&5
printf "%s\n" "*** ENABLE_MOD_IPV6CALC =$ENABLE_MOD_IPV6CALC" >&6; }
if test "$ENABLE_MOD_IPV6CALC" = "1"; then
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** APXS =$APXS" >&5
printf "%s\n" "*** APXS =$APXS" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HTTPD_SYSCONFDIR =$HTTPD_SYSCONFDIR" >&5
printf "%s\n" "*** HTTPD_SYSCONFDIR =$HTTPD_SYSCONFDIR" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HTTPD_LIBEXECDIR =$HTTPD_LIBEXECDIR" >&5
printf "%s\n" "*** HTTPD_LIBEXECDIR =$HTTPD_LIBEXECDIR" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HTTPD_VERSION =$HTTPD_VERSION" >&5
printf "%s\n" "*** HTTPD_VERSION =$HTTPD_VERSION" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** HTTPD_VERSION_MAJOR_MINOR =$HTTPD_VERSION_MAJOR_MINOR" >&5
printf "%s\n" "*** HTTPD_VERSION_MAJOR_MINOR =$HTTPD_VERSION_MAJOR_MINOR" >&6; }
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: *** LDFLAGS_EXTRA_MOD_IPV6CALC =$LDFLAGS_EXTRA_MOD_IPV6CALC" >&5
printf "%s\n" "*** LDFLAGS_EXTRA_MOD_IPV6CALC =$LDFLAGS_EXTRA_MOD_IPV6CALC" >&6; }
fi
ipv6calc-4.1.0/configure.in 0000664 0000000 0000000 00000133744 14441542472 0015557 0 ustar 00root root 0000000 0000000 dnl Project : ipv6calc
dnl File : configure.in
dnl Copyright: 2001-2023 by Peter Bieringer
dnl Process this file with autoconf to produce a configure script.
AC_INIT(ipv6calc, 4.1.0, ipv6calc@deepspace6.net, ipv6calc, https://www.deepspace6.net/projects/ipv6calc.html)
COPYRIGHT_YEAR=2023
dnl Program/library version (align with version above)
PACKAGE_VERSION_MAJOR=4
PACKAGE_VERSION_MINOR=1
PACKAGE_VERSION_BUGFIX=0
dnl API version
API_VERSION_MAJOR=4
API_VERSION_MINOR=1
API_VERSION_BUGFIX=0
dnl Generic data definitions
AC_SUBST(COPYRIGHT_YEAR)
AC_DEFINE_UNQUOTED(COPYRIGHT_YEAR, "$COPYRIGHT_YEAR", [Copyright year])
dnl Program/library version variants
PACKAGE_VERSION_NUMERIC=$(echo "$PACKAGE_VERSION_MAJOR $PACKAGE_VERSION_MINOR $PACKAGE_VERSION_BUGFIX" | awk '{ print ( $1 * 1000 + $2 ) * 1000 + $3 }')
PACKAGE_VERSION_STRING=$(echo "$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_BUGFIX")
AC_DEFINE_UNQUOTED(IPV6CALC_PACKAGE_VERSION_MAJOR, $PACKAGE_VERSION_MAJOR , "Package version Major")
AC_DEFINE_UNQUOTED(IPV6CALC_PACKAGE_VERSION_MINOR, $PACKAGE_VERSION_MINOR , "Package version Minor")
AC_DEFINE_UNQUOTED(IPV6CALC_PACKAGE_VERSION_BUGFIX, $PACKAGE_VERSION_BUGFIX , "Package version Bugfix")
AC_DEFINE_UNQUOTED(IPV6CALC_PACKAGE_VERSION_STRING, "$PACKAGE_VERSION_STRING", "Package version as string")
AC_DEFINE_UNQUOTED(IPV6CALC_PACKAGE_VERSION_NUMERIC, $PACKAGE_VERSION_NUMERIC , "Package version numeric")
dnl API version variants
API_VERSION_NUMERIC=$(echo "$API_VERSION_MAJOR $API_VERSION_MINOR $API_VERSION_BUGFIX" | awk '{ print ( $1 * 1000 + $2 ) * 1000 + $3 }')
API_VERSION_STRING=$(echo "$API_VERSION_MAJOR.$API_VERSION_MINOR.$API_VERSION_BUGFIX")
AC_DEFINE_UNQUOTED(IPV6CALC_API_VERSION_MAJOR, $API_VERSION_MAJOR , "API version Major")
AC_DEFINE_UNQUOTED(IPV6CALC_API_VERSION_MINOR, $API_VERSION_MINOR , "API version Minor")
AC_DEFINE_UNQUOTED(IPV6CALC_API_VERSION_BUGFIX, $API_VERSION_BUGFIX , "API version Bugfix")
AC_DEFINE_UNQUOTED(IPV6CALC_API_VERSION_STRING, "$API_VERSION_STRING", "API version as string")
AC_DEFINE_UNQUOTED(IPV6CALC_API_VERSION_NUMERIC, $API_VERSION_NUMERIC , "API version numeric")
dnl Define version header
AC_CONFIG_HEADER(config.h)
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_CC
dnl AC_PROG_INSTALL
AC_PROG_RANLIB
AC_PROG_MAKE_SET
dnl Checks for header files.
AC_HEADER_STDC
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_C_BIGENDIAN
dnl Default extra CFLAGS
CFLAGS_EXTRA=-fPIC
dnl Copy initial provided LDFLAGS into LDFLAGS_EXTRA
dnl LDFLAGS_EXTRA=$LDFLAGS // not required ?!
dnl *************************************************
dnl 32-bit mode
dnl *************************************************
AC_ARG_ENABLE(
[m32],
AS_HELP_STRING([--enable-m32],
[Enable 32-bit compilation]),
[
if test "$enable_m32" = "yes"; then
AC_MSG_RESULT([*** switch to 32-bit compilation])
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-m32 -DMMDB_UINT128_IS_BYTE_ARRAY=1"
LDFLAGS="${LDFLAGS:+$LDFLAGS }-m32"
fi
])
dnl *************************************************
dnl check for compiler options for several -W*
dnl *************************************************
AC_ARG_ENABLE([compiler-warning-to-error],
AS_HELP_STRING([--disable-compiler-warning-to-error],
[Disable extra CFLAGS for mapping warnings to errors during compilation]),
[
],[
AC_MSG_RESULT([**** analyze compiler options: CC=$CC])
AC_MSG_RESULT([*** check for CFLAGS: -Werror=format-security])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wformat -Werror -Werror=format-security"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Werror=format-security])
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wformat -Werror -Werror=format-security"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Werror=format-security])
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wformat"
])
CFLAGS="$CFLAGS_SAVE"
AC_MSG_RESULT([*** check for CFLAGS: -Wsizeof-array-argument])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wsizeof-array-argument"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Wsizeof-array-argument])
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wsizeof-array-argument"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Wsizeof-array-argument])
])
CFLAGS="$CFLAGS_SAVE"
AC_MSG_RESULT([*** check for CFLAGS: -Wparentheses-equality])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wparentheses-equality"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Wparentheses-equality])
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wparentheses-equality"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Wparentheses-equality])
])
CFLAGS="$CFLAGS_SAVE"
AC_MSG_RESULT([*** check for CFLAGS: -Wextra])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Wextra"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Wextra])
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wextra"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Wextra])
])
CFLAGS="$CFLAGS_SAVE"
AC_MSG_RESULT([*** check for CFLAGS: -Werror=format-truncation=0])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Werror=format-truncation=0"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Werror=format-truncation=0])
# disable errors related to format-truncation
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Werror=format-truncation=0"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Werror=format-truncation=0])
])
CFLAGS="$CFLAGS_SAVE"
AC_MSG_RESULT([*** check for CFLAGS: -Werror=char-subscripts])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Werror=char-subscripts"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Werror=char-subscripts])
# disable errors related to format-truncation
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Werror=char-subscripts"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Werror=char-subscripts])
])
CFLAGS="$CFLAGS_SAVE"
AC_MSG_RESULT([*** check for CFLAGS: -Wno-deprecated-declarations])
CFLAGS_SAVE="$CFLAGS"
CFLAGS="$CFLAGS -Werror -Wno-deprecated-declarations"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[int a=1;]])
],
[
AC_MSG_RESULT([*** CFLAGS supported: -Wno-deprecated-declarations])
# disable errors related to deprecated-declarations
CFLAGS_EXTRA="${CFLAGS_EXTRA:+$CFLAGS_EXTRA }-Wno-deprecated-declarations"
],
[
AC_MSG_WARN([*** missing CFLAGS support: -Wno-deprecated-declarations])
])
CFLAGS="$CFLAGS_SAVE"
])
dnl *************************************************
dnl add -Wno-unused-const-variable if supported
dnl *************************************************
dnl AC_MSG_RESULT([*** check for CFLAGS: -Wno-unused-const-variable])
dnl CFLAGS_SAVE="$CFLAGS"
dnl CFLAGS="$CFLAGS -Wno-unused-const-variable"
dnl AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
dnl [[int a=1;]])
dnl ],
dnl [
dnl AC_MSG_RESULT([*** CFLAGS supported: -Wno-unused-const-variable])
dnl CFLAGS_EXTRA="-Wno-unused-const-variable"
dnl ],
dnl [
dnl AC_MSG_WARN([*** missing CFLAGS support: -Wno-unused-const-variable])
dnl CFLAGS_EXTRA="-Wformat"
dnl ])
dnl CFLAGS="$CFLAGS_SAVE"
dnl *************************************************
dnl getopt library
dnl *************************************************
ENABLE_BUNDLED_GETOPT=0
AC_ARG_ENABLE(
[bundled-getopt],
AS_HELP_STRING([--enable-bundled-getopt],
[Enable bundled getopt library (default: autoselected)]),
[
if test "$enable_bundled_getopt" = "yes"; then
AC_MSG_RESULT([*** use of bundled getopt library forced])
ENABLE_BUNDLED_GETOPT=1
else
AC_MSG_RESULT([*** use of system getopt library forced])
fi
],
[
AC_CHECK_FUNC(getopt_long,
[
AC_MSG_RESULT([*** use of system getopt library autoselected])
],
[
AC_MSG_RESULT([*** use of bundled getopt library autoselected])
ENABLE_BUNDLED_GETOPT=1
])
])
if test "$ENABLE_BUNDLED_GETOPT" = "1"; then
AC_LIBOBJ(../getopt/getopt)
AC_LIBOBJ(../getopt/getopt1)
GETOPT_INCLUDE=-I../getopt
AC_DEFINE(ENABLE_BUNDLED_GETOPT, 1, Define if bundled GETOPT should be used)
fi
AC_SUBST(GETOPT_INCLUDE)
AC_SUBST(ENABLE_BUNDLED_GETOPT)
dnl *************************************************
dnl MD5 library
dnl *************************************************
ENABLE_BUNDLED_MD5=0
HAVE_OPENSSL_EVP_MD5=0
HAVE_OPENSSL_MD5=0
ENABLE_OPENSSL_EVP_MD5=0
ENABLE_OPENSSL_MD5=0
dnl Check capabilities
AC_MSG_RESULT([*** check for OpenSSL EVP MD5])
AC_CHECK_HEADER(openssl/evp.h, [
AC_MSG_RESULT([openssl/evp.h header file found])
AC_CHECK_LIB(crypto, EVP_DigestInit_ex,
[
LDFLAGS_ORIG="$LDFLAGS"
LDFLAGS="-lcrypto $LDFLAGS"
HAVE_OPENSSL_EVP_MD5=1
HAVE_OPENSSL_EVP_MD5_LEGACY=1
dnl OpenSSL 3.x
AC_CHECK_FUNCS(EVP_MD_CTX_new EVP_md5 EVP_DigestInit_ex EVP_DigestUpdate EVP_DigestFinal_ex EVP_MD_CTX_free,
[
],[
AC_MSG_WARN([OpenSSL crypto library DOES NOT support MD5 via EVP])
HAVE_OPENSSL_EVP_MD5=0
])
dnl OpenSSL 1.x
AC_CHECK_FUNCS(EVP_MD_CTX_init EVP_md5 EVP_DigestInit_ex EVP_DigestUpdate EVP_DigestFinal_ex,
[
],[
AC_MSG_WARN([OpenSSL crypto library DOES NOT support MD5 via EVP LEGACY])
HAVE_OPENSSL_EVP_MD5_LEGACY=0
])
LDFLAGS="$LDFLAGS_ORIG"
if test "$HAVE_OPENSSL_EVP_MD5" = "1"; then
AC_MSG_RESULT([*** OpenSSL crypto library supports MD5 via EVP implementation])
fi
],[
AC_MSG_WARN([OpenSSL crypto library DOES NOT support MD5 via EVP])
])
],[
AC_MSG_WARN([openssl/evp.h header file not found])
])
AC_MSG_RESULT([*** check for OpenSSL legacy MD5])
AC_CHECK_HEADER(openssl/md5.h, [
AC_MSG_RESULT([openssl/md5.h header file found])
AC_CHECK_LIB(crypto, MD5_Init,
[
LDFLAGS_ORIG="$LDFLAGS"
LDFLAGS="-lcrypto $LDFLAGS"
HAVE_OPENSSL_MD5=1
AC_CHECK_FUNCS(MD5_Init MD5_Update MD5_Final,
[
],[
AC_MSG_RESULT([OpenSSL crypto library supports MD5 via legacy implementation])
HAVE_OPENSSL_MD5=0
])
LDFLAGS="$LDFLAGS_ORIG"
if test "$HAVE_OPENSSL_MD5" = "1"; then
AC_MSG_RESULT([*** OpenSSL crypto library supports MD5 via legacy implementation])
fi
],[
AC_MSG_WARN([OpenSSL crypto library DOES NOT support MD5 via legacy implementation])
])
],[
AC_MSG_WARN([openssl/md5.h header file not found])
])
AC_ARG_ENABLE(
[bundled-md5],
AS_HELP_STRING([--enable-bundled-md5],
[Enable bundled MD5 library (default: autoselected)]),
[
if test "$enable_bundled_md5" = "yes"; then
AC_MSG_RESULT([*** use of bundled MD5 library forced])
ENABLE_BUNDLED_MD5=1
else
AC_MSG_RESULT([*** use of OpenSSL MD5 library forced])
fi
],[
if test "$HAVE_OPENSSL_EVP_MD5" = "0"; then
if test "$HAVE_OPENSSL_MD5" = "0"; then
AC_MSG_RESULT([*** use of bundled MD5 library autoselected because no OpenSSL support found])
ENABLE_BUNDLED_MD5=1
fi
fi
]
)
if test "$HAVE_OPENSSL_EVP_MD5" = "1"; then
# precedence
ENABLE_OPENSSL_EVP_MD5=1
elif test "$HAVE_OPENSSL_EVP_MD5_LEGACY" = "1"; then
# precedence
ENABLE_OPENSSL_EVP_MD5=1
else
if test "$HAVE_OPENSSL_MD5" = "1"; then
# fallback
ENABLE_OPENSSL_MD5=1
fi
fi
AC_ARG_ENABLE(
[openssl-evp-md5],
AS_HELP_STRING([--enable-openssl-evp-md5],
[Enforce use of OpenSSL EVP MD5 implementation (default: autoselected)]),
[
if test "$enable_openssl_evp_md5" = "yes"; then
AC_MSG_RESULT([*** use of OpenSSL EVP MD5 implementation forced])
ENABLE_OPENSSL_EVP_MD5=1
ENABLE_OPENSSL_MD5=0
fi
]
)
AC_ARG_ENABLE(
[openssl-md5],
AS_HELP_STRING([--enable-openssl-md5],
[Enforce use of OpenSSL legacy MD5 implementation (default: autoselected)]),
[
if test "$enable_openssl_md5" = "yes"; then
AC_MSG_RESULT([*** use of OpenSSL legacy MD5 implementation forced])
ENABLE_OPENSSL_EVP_MD5=0
ENABLE_OPENSSL_MD5=1
fi
]
)
if test "$ENABLE_BUNDLED_MD5" = "1"; then
AC_LIBOBJ(../md5/md5)
MD5_INCLUDE=-I../md5
AC_DEFINE(ENABLE_BUNDLED_MD5, 1, Define if bundled MD5 should be used)
else
if test "$ENABLE_OPENSSL_EVP_MD5" = "1"; then
LDFLAGS_EXTRA="${LDFLAGS_EXTRA:+$LDFLAGS_EXTRA }-lcrypto"
LDFLAGS_EXTRA_MOD_IPV6CALC="-lcrypto $LDFLAGS_EXTRA_MOD_IPV6CALC"
LDFLAGS_EXTRA_STATIC="${LDFLAGS_EXTRA_STATIC:+$LDFLAGS_EXTRA_STATIC }-lcrypto -lz -ldl -lpthread -lc"
AC_DEFINE(ENABLE_OPENSSL_EVP_MD5, 1, Define if OpenSSL EVP MD5 should be used)
AC_MSG_RESULT([*** use of OpenSSL EVP MD5 implementation])
fi
if test "$ENABLE_OPENSSL_MD5" = "1"; then
LDFLAGS_EXTRA="${LDFLAGS_EXTRA:+$LDFLAGS_EXTRA }-lcrypto"
LDFLAGS_EXTRA_MOD_IPV6CALC="-lcrypto $LDFLAGS_EXTRA_MOD_IPV6CALC"
LDFLAGS_EXTRA_STATIC="${LDFLAGS_EXTRA_STATIC:+$LDFLAGS_EXTRA_STATIC }-lcrypto -lz -ldl -lpthread -lc"
AC_DEFINE(ENABLE_OPENSSL_MD5, 1, Define if OpenSSL legacy MD5 should be used)
AC_MSG_RESULT([*** use of OpenSSL legacy MD5 implementation])
fi
fi
AC_SUBST(MD5_INCLUDE)
AC_SUBST(ENABLE_BUNDLED_MD5)
AC_SUBST(ENABLE_OPENSSL_EVP_MD5)
AC_SUBST(ENABLE_OPENSSL_MD5)
dnl *************************************************
dnl defaults
dnl *************************************************
geoip_db_default="/usr/share/GeoIP"
ip2location_db_default="/usr/share/IP2Location"
dbip_db_default="/usr/share/DBIP"
external_db_default="/usr/share/ipv6calc/db"
mmdb_dyn_lib_default="libmaxminddb.so.0"
ip2location_dyn_lib_default="libIP2Location.so.3"
dnl *************************************************
dnl Create binaries ushing shared library
dnl *************************************************
AC_ARG_ENABLE(
[shared],
AS_HELP_STRING([--enable-shared],
[Enable shared library build (default: disabled)])
)
if test "$enable_shared" = "yes"; then
AC_MSG_RESULT([*** Shared library build enabled])
SHARED_LIBRARY="yes"
AC_DEFINE(SHARED_LIBRARY, 1, Define if you want ipv6calc binaries compiled with shared library libipv6calc)
LDFLAGS_EXTRA_MOD_IPV6CALC="-Wl,../lib/libipv6calc.so.$PACKAGE_VERSION -Wl,../databases/lib/libipv6calc_db_wrapper.so.$PACKAGE_VERSION $LDFLAGS_EXTRA"
LDFLAGS_EXTRA="../lib/libipv6calc.so.$PACKAGE_VERSION ../databases/lib/libipv6calc_db_wrapper.so.$PACKAGE_VERSION $LDFLAGS_EXTRA"
LD_LIBRARY_PATH=../lib:../databases/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH_BASIC=../lib:../databases/lib:$LD_LIBRARY_PATH_BASIC
else
SHARED_LIBRARY="no"
IPV6CALC_LIB="-L../lib/ -L../databases/lib/ -lipv6calc_db_wrapper -lipv6calc"
fi
AC_SUBST(SHARED_LIBRARY)
AC_SUBST(IPV6CALC_LIB)
dnl *************************************************
dnl Check for dynamic loading of libraries capability
dnl *************************************************
AC_CHECK_HEADER(dlfcn.h,
[
AC_MSG_RESULT([*** Dynamic loading of libraries is SUPPORTED])
DYNAMIC_LOAD_SUPPORT="yes"
],
[
DYNAMIC_LOAD_SUPPORT="no"
AC_MSG_WARN(["Dynamic loading of libraries is not supported, no header file found"])
])
AC_ARG_ENABLE(
[dynamic-load],
AS_HELP_STRING([--disable-dynamic-load],
[Disable dynamic load of libraries (default: enabled)])
)
if test "$enable_dynamic_load" = "yes"; then
DYNAMIC_LOAD="no"
else
DYNAMIC_LOAD="yes"
fi
if test "$DYNAMIC_LOAD_SUPPORT" = "yes"; then
if test "$DYNAMIC_LOAD" = "no"; then
AC_MSG_WARN(["Dynamic loading of libraries forced to be disabled"])
fi
fi
dnl *************************************************
dnl internal databases default
dnl *************************************************
BUILTIN="no"
dnl *************************************************
dnl disable built-in database IEEE
dnl *************************************************
AC_ARG_ENABLE([db-ieee],
AS_HELP_STRING([--disable-db-ieee],
[Disable built-in IEEE database (default: enabled)]),
[
DB_IEEE="$enable_db_ieee"
],[
DB_IEEE="yes"
BUILTIN="yes"
])
if test "$DB_IEEE" = "yes"; then
AC_DEFINE(SUPPORT_DB_IEEE, 1, Define if you want IEEE database included.)
fi
dnl *************************************************
dnl disable built-in database IPv4
dnl *************************************************
AC_ARG_ENABLE([db-ipv4],
AS_HELP_STRING([--disable-db-ipv4],
[Disable built-in IPv4-to-Registry database (default: enabled)]),
[
DB_IPV4="$enable_db_ipv4"
],[
DB_IPV4="yes"
BUILTIN="yes"
])
if test "$DB_IPV4" = "yes"; then
AC_DEFINE(SUPPORT_DB_IPV4_REG, 1, Define if you want IPv4-to-Registry database included.)
fi
dnl *************************************************
dnl disable built-in database IPv6
dnl *************************************************
AC_ARG_ENABLE([db-ipv6],
AS_HELP_STRING([--disable-db-ipv6],
[Disable built-in IPv6-to-Registry database (default: enabled)]),
[
DB_IPV6="$enable_db_ipv6"
],
[
DB_IPV6="yes"
BUILTIN="yes"
])
if test "$DB_IPV6" = "yes"; then
AC_DEFINE(SUPPORT_DB_IPV6_REG, 1, Define if you want IPv6-to-Registry database included.)
fi
dnl *************************************************
dnl disable built-in database AS->Registry
dnl *************************************************
AC_ARG_ENABLE([db-as-registry],
AS_HELP_STRING([--disable-db-as-registry],
[Disable built-in AS-to-Registry database (default: enabled)]),
[
DB_AS_REG="$enable_db_as_registry"
],
[
DB_AS_REG="yes"
BUILTIN="yes"
])
if test "$DB_AS_REG" = "yes"; then
AC_DEFINE(SUPPORT_DB_AS_REG, 1, Define if you want AS-to-Registry database included.)
fi
dnl *************************************************
dnl disable built-in database CC->Registry
dnl *************************************************
AC_ARG_ENABLE([db-cc-registry],
AS_HELP_STRING([--disable-db-cc-registry],
[Disable built-in CountryCode-to-Registry database (default: enabled)]),
[
DB_CC_REG="$enable_db_cc_registry"
],
[
DB_CC_REG="yes"
BUILTIN="yes"
])
if test "$DB_CC_REG" = "yes"; then
AC_DEFINE(SUPPORT_DB_CC_REG, 1, Define if you want CC-to-Registry database included.)
fi
dnl *************************************************
dnl Built-in database support (catch-all)
dnl *************************************************
AC_ARG_ENABLE([builtin],
AS_HELP_STRING([--disable-builtin],
[Disable all built-in databases (default: enabled)]),
[
DB_CC_REG="$enable_builtin"
DB_AS_REG="$enable_builtin"
DB_IEEE="$enable_builtin"
DB_IPV4="$enable_builtin"
DB_IPV6="$enable_builtin"
]
)
dnl *************************************************
dnl enable built-in database support in general
dnl *************************************************
if test "$BUILTIN" = "yes"; then
AC_DEFINE(SUPPORT_BUILTIN, 1, Define if you want general BuiltIn database included.)
fi
dnl *************************************************
dnl External ipv6calc db support
dnl *************************************************
AC_ARG_ENABLE([external],
AS_HELP_STRING([--enable-external],
[Enable external db support (default: disabled)]),
[
EXTERNAL="$enable_external"
],
[
EXTERNAL="no"
])
dnl defaults for database directories
AC_ARG_WITH([external-db],
AS_HELP_STRING([--with-external-db=DIR],
[Use specified external database directory, default: /usr/share/ipv6calc/db]),
[
external_db="$with_external_db"
],
[
external_db=$external_db_default
])
if test "$EXTERNAL" = "yes"; then
require_libdb="yes"
AC_DEFINE(SUPPORT_EXTERNAL, 1, Define if you want external support included.)
AC_MSG_RESULT([*** external db dir: $external_db])
AC_DEFINE_UNQUOTED(EXTERNAL_DB, "$external_db", Define external database directory.)
fi
EXTERNAL_DB=$external_db
AC_SUBST(EXTERNAL_DB)
dnl *************************************************
dnl libdb required
dnl *************************************************
if test "$require_libdb" = "yes"; then
AC_CHECK_HEADER(db.h, [
AC_CHECK_LIB(db, db_create,
[
AC_MSG_RESULT([Berkeley DB library found and usable: db_create])
],[
AC_MSG_ERROR([Berkeley DB library file misses: db_create])
])
],[
AC_MSG_ERROR([Berkeley DB library header files not found (perhaps missing one of the following packages: db4-devel libdb-devel)])
])
AC_CHECK_FILE(/sbin/ldconfig, [
dnl try to retrieve installed version: '#?'/'#\?' -> ugly workaround to avoid that autoconf parser removes '[' and ']'
DB_VERSION=`/sbin/ldconfig -p | grep -E '#?\s*libdb-[0-9]+.[0-9]+' | sed -e 's/^#\?\s*libdb-\([0-9]*\)\.\([0-9]*\).*/\1.\2/' | sort -n | tail -1`
if test -n "$DB_VERSION"; then
AC_MSG_RESULT([Berkeley DB library version found: libdb-$DB_VERSION])
LDFLAGS_EXTRA_STATIC="-ldb-$DB_VERSION${LDFLAGS_EXTRA_STATIC:+ $LDFLAGS_EXTRA_STATIC}"
fi
],[
AC_MSG_WARN([Missing /sbin/ldconfig, cannot detect Berkeley DB library version])
])
LDFLAGS_EXTRA="${LDFLAGS_EXTRA:+$LDFLAGS_EXTRA }-ldb"
LDFLAGS_EXTRA_MOD_IPV6CALC="-ldb $LDFLAGS_EXTRA_MOD_IPV6CALC"
HAVE_BERKELEY_DB_SUPPORT=1
AC_DEFINE(HAVE_BERKELEY_DB_SUPPORT, 1, Define if Berkeley DB support is required.)
AC_MSG_RESULT([*** Berkeley DB library found and usable (required)])
fi
dnl *************************************************
dnl MaxMindDB support (GeoIP2, DB-IP)
dnl *************************************************
MMDB_LIB_NAME="maxminddb"
MMDB_INCLUDE_VERSION=""
AC_ARG_ENABLE([mmdb],
AS_HELP_STRING([--enable-mmdb],
[Enable MaxMindDB support (GeoIP/db-ip.com) (default: disabled)]),
[
if test "$enable_mmdb" != "no"; then
MMDB="$enable_mmdb"
fi
],[
MMDB="no"
])
AC_ARG_WITH([mmdb-dynamic],
AS_HELP_STRING([--with-mmdb-dynamic],
[Enable use of dynamic loading of MaxMindDB library (default=no)]),
[
if test "$with_mmdb_dynamic" != "no"; then
MMDB_DYN="yes"
fi
])
AC_ARG_WITH([mmdb-headers],
AS_HELP_STRING([--with-mmdb-headers=DIR],
[MaxMindDB include files location]),
[
MMDB_INCLUDE_DIR="$with_mmdb_headers"
])
if test -n "$MMDB_INCLUDE_DIR"; then
MMDB_INCLUDE="-I$MMDB_INCLUDE_DIR"
if echo "$MMDB_INCLUDE_DIR" | grep -q "^/"; then
# absolute path
MMDB_INCLUDE_L1="-I$MMDB_INCLUDE_DIR"
MMDB_INCLUDE_L2="-I$MMDB_INCLUDE_DIR"
else
MMDB_INCLUDE_L1="-I../$MMDB_INCLUDE_DIR"
MMDB_INCLUDE_L2="-I../../$MMDB_INCLUDE_DIR"
fi
fi
AC_ARG_WITH([mmdb-lib],
AS_HELP_STRING([--with-mmdb-lib=DIR],
[MaxMindDB library location]),
[
if test -d "$with_mmdb_lib"; then
MMDB_LIB_DIR="$with_mmdb_lib"
MMDB_LIB="-L$MMDB_LIB_DIR $MMDB_LIB"
AC_MSG_RESULT([MaxMindDB library directory given: $MMDB_LIB_DIR])
else
AC_MSG_ERROR([MaxMindDB library directory not found: $with_mmdb_lib])
fi
if echo "$MMDB_LIB_DIR" | grep -q "^/"; then
# absolute path
MMDB_LIB_L1="-L$MMDB_LIB_DIR"
MMDB_LIB_L2="-L$MMDB_LIB_DIR"
LD_LIBRARY_PATH=$MMDB_LIB_DIR:$LD_LIBRARY_PATH
else
MMDB_LIB_L1="-L../$MMDB_LIB_DIR"
MMDB_LIB_L2="-L../../$MMDB_LIB_DIR"
LD_LIBRARY_PATH=../$MMDB_LIB_DIR:$LD_LIBRARY_PATH
fi
])
AC_ARG_WITH([mmdb-dyn-lib],
AS_HELP_STRING([--with-mmdb-dyn-lib=NAME],
[Use specified MaxMindDB dynamic library, default: libmaxminddb.so.0]),
[
mmdb_dyn_lib="$with_mmdb_dyn_lib"
],
[
mmdb_dyn_lib=$mmdb_dyn_lib_default
])
if test "$MMDB" = "yes"; then
if test "$MMDB_DYN" != "yes"; then
MMDB_LIB="-l$MMDB_LIB_NAME $MMDB_LIB"
MMDB_LIB_L1="-l$MMDB_LIB_NAME $MMDB_LIB_L1"
MMDB_LIB_L2="-l$MMDB_LIB_NAME $MMDB_LIB_L2"
else
AC_MSG_RESULT([*** MaxMindDB dynamic load support enabled, disable MaxMindDB linker options])
fi
CPPFLAGS="$CPPLAGS $MMDB_INCLUDE"
AC_MSG_RESULT([*** MaxMindDB support requested])
AC_MSG_RESULT([***** CPPFLAGS=$CPPFLAGS])
AC_MSG_RESULT([***** CFLAGS =$CFLAGS])
AC_MSG_RESULT([***** LDFLAGS =$LDFLAGS])
AC_CHECK_HEADER(maxminddb.h, [
if test -n "$MMDB_INCLUDE_DIR"; then
if test -e "$MMDB_INCLUDE_DIR/maxminddb.h"; then
CPPFLAGS="$CPPFLAGS -include $MMDB_INCLUDE_DIR/maxminddb.h"
else
AC_MSG_ERROR([MaxMindDB library header file not found: $MMDB_INCLUDE_DIR/maxminddb.h])
fi
else
CPPFLAGS="$CPPFLAGS -include maxminddb.h"
fi
AC_CHECK_DECL([MMDB_open],,
AC_MSG_ERROR([MaxMindDB library header file misses MMDB_open]))
AC_CHECK_DECLS([MMDB_lib_version])
],
[
AC_MSG_ERROR([MaxMindDB library header files not found])
])
AC_MSG_RESULT([*** MaxMindDB database directory: $mmdb_db])
AC_DEFINE_UNQUOTED(MMDB_DB, "$mmdb_db", Define MaxMindDB database directory.)
if test "$MMDB_DYN" != "yes"; then
CPPFLAGS="$CFLAGS"
if test -n "$MMDB_LIB_DIR"; then
if test -e "$MMDB_LIB_DIR/lib$MMDB_LIB_NAME.so"; then
LDFLAGS="$LDFLAGS -L$MMDB_LIB_DIR"
CFLAGS="$CFLAGS -L$MMDB_LIB_DIR"
LIBS="-L$MMDB_LIB_DIR"
else
AC_MSG_ERROR([MaxMindDB library file not found: $MMDB_INCLUDE_DIR/lib$MMDB_LIB_NAME.so])
fi
fi
AC_MSG_RESULT([***** CPPFLAGS=$CPPFLAGS])
AC_MSG_RESULT([***** CFLAGS =$CFLAGS])
AC_MSG_RESULT([***** LDFLAGS =$LDFLAGS])
AC_CHECK_LIB($MMDB_LIB_NAME, MMDB_open,
[
AC_DEFINE(SUPPORT_MMDB, 1, Define if you want MaxMindDB support.)
AC_MSG_RESULT([*** MaxMindDB support enabled])
],
[
AC_MSG_ERROR([MaxMindDB library header files given but the library was not found, LDFLAGS=$LDFLAGS])
])
else
# wrapper detects by itself the real support
AC_MSG_RESULT([*** GeoIP dyn lib: $mmdb_dyn_lib])
AC_DEFINE_UNQUOTED(MMDB_DYN_LIB, "$mmdb_dyn_lib", Define MaxMindDB dynamic library.)
AC_MSG_RESULT([*** MaxMindDB support will be implemented by using dynamic load of library])
AC_DEFINE(SUPPORT_MMDB, 1, Define if you want MaxMindDB support.)
AC_DEFINE(SUPPORT_MMDB_DYN, 1, Define if you want MaxMindDB support with dynamic loading support - requires also additional linker options.)
fi
# GeoIPv2 and DBIPv2 support
AC_ARG_ENABLE([geoip2],
AS_HELP_STRING([--disable-geoip2],
[Disable MaxMindDB support for GeoIP (default: enabled)]),
[
GEOIP2="no"
],[
GEOIP2="yes"
])
AC_ARG_ENABLE([dbip2],
AS_HELP_STRING([--disable-dbip2],
[Disable MaxMindDB support for db-ip.com (default: enabled)]),
[
DBIP2="no"
],[
DBIP2="yes"
])
else
GEOIP2=no
DBIP2=no
fi
AC_SUBST(MMDB_INCLUDE)
AC_SUBST(MMDB_INCLUDE_VERSION)
AC_SUBST(MMDB_INCLUDE_L2)
AC_SUBST(MMDB_INCLUDE_L1)
AC_SUBST(MMDB_LIB)
AC_SUBST(MMDB_LIB_L1)
AC_SUBST(MMDB_LIB_L2)
AC_SUBST(MMDB_DYN_LIB)
if test -n "$MMDB_INCLUDE_VERSION"; then
AC_DEFINE_UNQUOTED(MMDB_INCLUDE_VERSION, "$MMDB_INCLUDE_VERSION", MaxMindDB include file version.)
fi
dnl *************************************************
dnl DB-IP.com support
dnl *************************************************
AC_ARG_ENABLE([dbip],
AS_HELP_STRING([--enable-dbip],
[Compatibility Dummy (no longer supported)]),
[
])
dnl defaults for database directories
AC_ARG_WITH([dbip-db],
AS_HELP_STRING([--with-dbip-db=DIR],
[Use specified db-ip.com database directory, default: /usr/share/DBIP]),
[
dbip_db="$with_dbip_db"
],
[
dbip_db=$dbip_db_default
])
if test "$DBIP2" = "yes"; then
AC_MSG_RESULT([*** db-ip.com (MaxMindDB) support auotenabled"])
AC_DEFINE(SUPPORT_DBIP2, 1, Define if you want db-ip.com (MaxMindDB) support included.)
AC_MSG_RESULT([*** db-ip.com (MaxMindDB) database directory: $dbip_db])
AC_DEFINE_UNQUOTED(DBIP2_DB, "$dbip_db", Define db-ip.com (MaxMindDB) database directory.)
fi
DBIP2_DB=$dbip_db
AC_SUBST(DBIP2_DB)
dnl *************************************************
dnl IP2Location support
dnl *************************************************
IP2LOCATION_LIB_NAME="IP2Location"
IP2LOCATION_INCLUDE_VERSION=""
AC_ARG_ENABLE([ip2location],
AS_HELP_STRING([--enable-ip2location],
[Enable IP2Location support (default: disabled)]),
[
IP2LOCATION="$enable_ip2location"
],[
IP2LOCATION="no"
])
AC_ARG_WITH([ip2location-dynamic],
AS_HELP_STRING([--with-ip2location-dynamic],
[Enable use of dynamic loading of IP2Location library (default=no)]),
[
if test "$enable_ip2location_dynamic" != "no"; then
IP2LOCATION_DYN="yes"
fi
])
AC_ARG_WITH([ip2location-headers],
AS_HELP_STRING([--with-ip2location-headers=DIR],
[IP2Location include files location]),
[
IP2LOCATION_INCLUDE_DIR="$with_ip2location_headers"
])
AC_ARG_WITH([ip2location-headers-fallback],
AS_HELP_STRING([--with-ip2location-headers-fallback],
[Compatibility Dummy (no longer supported)]),
[
])
if test -n "$IP2LOCATION_INCLUDE_DIR"; then
IP2LOCATION_INCLUDE="-I$IP2LOCATION_INCLUDE_DIR"
if test -d "$IP2LOCATION_INCLUDE_DIR/iMath"; then
# include iMath where existing (API < 7.0.0)
IP2LOCATION_INCLUDE="$IP2LOCATION_INCLUDE -I$IP2LOCATION_INCLUDE_DIR/iMath"
fi
if echo "$IP2LOCATION_INCLUDE_DIR" | grep -q "^/"; then
# absolute path
IP2LOCATION_INCLUDE_L1="-I$IP2LOCATION_INCLUDE_DIR"
IP2LOCATION_INCLUDE_L2="-I$IP2LOCATION_INCLUDE_DIR"
if test -d "$IP2LOCATION_INCLUDE_DIR/iMath"; then
# include iMath where existing (API < 7.0.0)
IP2LOCATION_INCLUDE_L1="$IP2LOCATION_INCLUDE_L1 -I$IP2LOCATION_INCLUDE_DIR/iMath"
IP2LOCATION_INCLUDE_L2="$IP2LOCATION_INCLUDE_L2 -I$IP2LOCATION_INCLUDE_DIR/iMath"
fi
else
IP2LOCATION_INCLUDE_L1="-I../$IP2LOCATION_INCLUDE_DIR"
IP2LOCATION_INCLUDE_L2="-I../../$IP2LOCATION_INCLUDE_DIR"
if test -d "$IP2LOCATION_INCLUDE_DIR/iMath"; then
# include iMath where existing (API < 7.0.0)
IP2LOCATION_INCLUDE_L1="$IP2LOCATION_INCLUDE_L1 -I../$IP2LOCATION_INCLUDE_DIR/iMath"
IP2LOCATION_INCLUDE_L2="$IP2LOCATION_INCLUDE_L2 -I../../$IP2LOCATION_INCLUDE_DIR/iMath"
fi
fi
fi
AC_ARG_WITH([ip2location-lib],
AS_HELP_STRING([--with-ip2location-lib=FILE],
[IP2Location library location]),
[
if test -d "$with_ip2location_lib"; then
IP2LOCATION_LIB_DIR="$with_ip2location_lib"
IP2LOCATION_LIB="-L$IP2LOCATION_LIB_DIR $IP2LOCATION_LIB"
AC_MSG_RESULT([IP2Location library directory given: $IP2LOCATION_LIB_DIR])
else
AC_MSG_ERROR([IP2Location library directory not found: $with_ip2location_lib])
fi
if echo "$IP2LOCATION_LIB_DIR" | grep -q "^/"; then
# absolute path
IP2LOCATION_LIB_L1="-L$IP2LOCATION_LIB_DIR"
IP2LOCATION_LIB_L2="-L$IP2LOCATION_LIB_DIR"
if test -n "$LD_LIBRARY_PATH"; then
LD_LIBRARY_PATH=$IP2LOCATION_LIB_DIR:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$IP2LOCATION_LIB_DIR
fi
else
IP2LOCATION_LIB_L1="-L../$IP2LOCATION_LIB_DIR"
IP2LOCATION_LIB_L2="-L../../$IP2LOCATION_LIB_DIR"
if test -n "$LD_LIBRARY_PATH"; then
LD_LIBRARY_PATH=../$IP2LOCATION_LIB_DIR:$LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=$IP2LOCATION_LIB_DIR
fi
fi
])
# must be tested
#AC_ARG_WITH([ip2location-lib-name],
# AS_HELP_STRING([--with-ip2location-lib-name=NAME],
# [IP2Location library name]),
# [
# IP2LOCATION_LIB_NAME="$with_ip2location_lib_name"
# IP2LOCATION_LIB="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB"
# AC_MSG_RESULT([IP2Location library name given: $IP2LOCATION_LIB_NAME])
# ],[
# ])
AC_ARG_WITH([ip2location-static],
AS_HELP_STRING([--with-ip2location-static],
[Explicitly link IP2Location statically (default=no)]),
[
if test "$with_ip2location_static" != "no"; then
IP2LOCATION_LIB="-Wl,-Bstatic $IP2LOCATION_LIB -Wl,-Bdynamic"
fi
])
dnl defaults for database directories
AC_ARG_WITH([ip2location-db],
AS_HELP_STRING([--with-ip2location-db=DIR],
[Use specified IP2Location database directory, default: /usr/share/IP2Location]),
[
ip2location_db="$with_ip2location_db"
],
[
ip2location_db=$ip2location_db_default
])
AC_ARG_WITH([ip2location-dyn-lib],
AS_HELP_STRING([--with-ip2location-dyn-lib=NAME],
[Use specified IP2Location dynamic library, default: libIP2Location.so]),
[
ip2location_dyn_lib="$with_ip2location_dyn_lib"
],
[
ip2location_dyn_lib=$ip2location_dyn_lib_default
])
if test "$IP2LOCATION" = "yes"; then
if test "$IP2LOCATION_DYN" != "yes"; then
IP2LOCATION_LIB="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB"
IP2LOCATION_LIB_L1="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB_L1"
IP2LOCATION_LIB_L2="-l$IP2LOCATION_LIB_NAME $IP2LOCATION_LIB_L2"
else
AC_MSG_RESULT([**** IP2Location dynamic load support enabled, disable IP2Location linker options])
fi
CPPFLAGS="$CPPFLAGS $IP2LOCATION_INCLUDE"
AC_MSG_RESULT([*** IP2Location support requested])
AC_MSG_RESULT([***** CPPFLAGS=$CPPFLAGS])
AC_MSG_RESULT([***** CFLAGS =$CFLAGS])
AC_MSG_RESULT([***** LDFLAGS =$LDFLAGS])
AC_CHECK_HEADER(IP2Location.h, [
if test -n "$IP2LOCATION_INCLUDE_DIR"; then
if test -e "$IP2LOCATION_INCLUDE_DIR/IP2Location.h"; then
CPPFLAGS="$CPPFLAGS -include $IP2LOCATION_INCLUDE_DIR/IP2Location.h"
else
AC_MSG_ERROR([IP2Location library header file not found: $IP2LOCATION_INCLUDE_DIR/IP2Location.h])
fi
else
CPPFLAGS="$CPPFLAGS -include IP2Location.h"
fi
AC_CHECK_DECL([IP2Location_open],,
AC_MSG_ERROR([IP2Location library header file misses IP2Location_open]))
AC_CHECK_DECLS([IP2Location_close,
IP2Location_get_country_short,
IP2Location_get_country_long])
AC_CHECK_DECLS([API_VERSION])
AC_CHECK_DECLS([IP2Location_api_version_string], IP2LOCATION_HAS_API_STRING="yes")
AC_CHECK_DECL([IP2Location_lib_version_string], IP2LOCATION_HAS_LIB_STRING="yes")
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[
#include
IP2Location loc;
void test() {
loc.ipv6_database_address = 1;
};
]])],[
AC_MSG_RESULT([IP2Location has full (and updated) IPv6 support (API >= 8.2.0)])
],[
AC_MSG_ERROR([IP2Location has only compat IPv6 support (API < 7.0.0) or old (API < 8.2.0) which is no longer supported])
]
)
AC_CHECK_DECLS([USAGETYPE],
[
AC_MSG_RESULT([IP2Location has full support (library >= 6.0.0)])
],
[
AC_MSG_ERROR([IP2Location library header file misses USAGETYPE (library < 6.0.0) which is no longer supported])
]
)
],
[
AC_MSG_ERROR([IP2Location library header files not found])
])
AC_MSG_RESULT([*** IP2location db dir: $ip2location_db])
AC_DEFINE_UNQUOTED(IP2LOCATION_DB, "$ip2location_db", Define IP2Location database directory.)
if test "$IP2LOCATION_DYN" != "yes"; then
if test "$IP2LOCATION_STATIC" = "yes"; then
AC_DEFINE(SUPPORT_IP2LOCATION_STATIC, 1, Define if you want IP2Location support statically linked - requires also additional linker options.)
fi
CPPFLAGS="$CFLAGS"
if test -n "$IP2LOCATION_LIB_DIR"; then
if test -e "$IP2LOCATION_LIB_DIR/lib$IP2LOCATION_LIB_NAME.so"; then
LDFLAGS="$LDFLAGS -L$IP2LOCATION_LIB_DIR"
CFLAGS="$CFLAGS -L$IP2LOCATION_LIB_DIR"
LIBS="-L$IP2LOCATION_LIB_DIR"
else
AC_MSG_ERROR([IP2Location library file not found: $IP2LOCATION_INCLUDE_DIR/lib$IP2LOCATION_LIB_NAME.so])
fi
fi
AC_CHECK_LIB($IP2LOCATION_LIB_NAME, IP2Location_api_version_string,
[
AC_MSG_RESULT([*** IP2Location library supports API version string])
],[
AC_MSG_ERROR([IP2Location library file misses IP2Location_api_version_string - no longer supported])
])
AC_CHECK_LIB($IP2LOCATION_LIB_NAME, IP2Location_lib_version_string,
[
if test "$IP2LOCATION_HAS_LIB_STRING" != "yes"; then
AC_MSG_ERROR([IP2Location library header file misses IP2Location_lib_version_string while library contains])
else
AC_MSG_RESULT([*** IP2Location library supports LIB version string])
fi
])
AC_MSG_RESULT([***** CPPFLAGS=$CPPFLAGS])
AC_MSG_RESULT([***** CFLAGS =$CFLAGS])
AC_MSG_RESULT([***** LDFLAGS =$LDFLAGS])
AC_CHECK_LIB($IP2LOCATION_LIB_NAME, IP2Location_open,
[
AC_DEFINE(SUPPORT_IP2LOCATION, 1, Define if you want IP2Location support.)
AC_MSG_RESULT([*** IP2Location support enabled])
],
[
AC_MSG_ERROR([IP2Location library header files were found but the library was not found, LDFLAGS=$LDFLAGS, CFLAGS=$CFLAGS])
])
else
AC_CHECK_DECLS([IP2Location_api_version_string],
[
AC_MSG_RESULT([*** IP2Location header supports API version string])
],[
AC_MSG_ERROR([IP2Location library header file misses IP2Location_api_version_string - no longer supported])
])
# wrapper detects by itself the real support
AC_MSG_RESULT([*** IP2Location dyn lib: $ip2location_dyn_lib])
AC_DEFINE_UNQUOTED(IP2LOCATION_DYN_LIB, "$ip2location_dyn_lib", Define IP2Location dynamic library.)
AC_MSG_RESULT([*** IP2Location support will be implemented by using dynamic load of library])
AC_DEFINE(SUPPORT_IP2LOCATION, 1, Define if you want IP2Location support.)
AC_DEFINE(SUPPORT_IP2LOCATION_DYN, 1, Define if you want IP2Location support with dynamic loading support - requires also additional linker options.)
fi
fi
IP2LOCATION_DB=$ip2location_db
AC_SUBST(IP2LOCATION_INCLUDE)
AC_SUBST(IP2LOCATION_INCLUDE_L1)
AC_SUBST(IP2LOCATION_INCLUDE_L2)
AC_SUBST(IP2LOCATION_LIB)
AC_SUBST(IP2LOCATION_LIB_L1)
AC_SUBST(IP2LOCATION_LIB_L2)
AC_SUBST(IP2LOCATION_DB)
AC_SUBST(IP2LOCATION_DYN_LIB)
if test -n "$IP2LOCATION_INCLUDE_VERSION"; then
AC_DEFINE_UNQUOTED(IP2LOCATION_INCLUDE_VERSION, "$IP2LOCATION_INCLUDE_VERSION", IP2Location include file version.)
fi
dnl *************************************************
dnl GeoIP v1 support
dnl *************************************************
GEOIP_LIB_NAME="GeoIP"
GEOIP_INCLUDE_VERSION=""
AC_ARG_ENABLE([geoip],
AS_HELP_STRING([--enable-geoip],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-dynamic],
AS_HELP_STRING([--with-geoip-dynamic],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-headers],
AS_HELP_STRING([--with-geoip-headers=DIR],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-headers-fallback],
AS_HELP_STRING([--with-geoip-headers-fallback],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-lib],
AS_HELP_STRING([--with-geoip-lib=DIR],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-static],
AS_HELP_STRING([--with-geoip-static],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-dyn-lib],
AS_HELP_STRING([--with-geoip-dyn-lib=NAME],
[Compatibility Dummy (no longer supported)]),
[
])
AC_ARG_WITH([geoip-ipv6-compat],
AS_HELP_STRING([--with-geoip-ipv6-compat],
[Compatibility Dummy (no longer supported)]),
[
])
dnl *************************************************
dnl GeoIP v2 support powered by MaxMindDB
dnl *************************************************
if test "$GEOIP2" = "yes"; then
AC_MSG_RESULT([*** GeoIP (MaxMindDB) auotenabled"])
fi
dnl *************************************************
dnl GeoIP common support powered by MaxMindDB
dnl *************************************************
AC_ARG_WITH([geoip-db],
AS_HELP_STRING([--with-geoip-db=DIR],
[Use specified GeoIP database directory, default: /usr/share/GeoIP]),
[
geoip_db="$with_geoip_db"
],
[
geoip_db=$geoip_db_default
])
if test "$GEOIP2" = "yes"; then
AC_DEFINE(SUPPORT_GEOIP2, 1, Define if you want GeoIP (MaxMindDB) support.)
AC_MSG_RESULT([*** GeoIP (MaxMindDB) support enabled])
AC_MSG_RESULT([*** GeoIP (MaxMindDB) database directory: $geoip_db])
AC_DEFINE_UNQUOTED(GEOIP2_DB, "$geoip_db", Define GeoIP (MaxMindDB) database directory.)
fi
GEOIP2_DB=$geoip_db
dnl *************************************************
dnl Dynamic load used?
dnl *************************************************
if test "$DYNAMIC_LOAD" = "yes"; then
if test "$GEOIP_DYN" = "yes" -o "$IP2LOCATION_DYN" = "yes" -o "$MMDB_DYN" = "yes"; then
DYNAMIC_LOAD="yes"
AC_MSG_RESULT([*** Dynamic loading of libraries is ENABLED])
DYNLOAD_LIB="-rdynamic -ldl"
fi
fi
AC_SUBST(DYNLOAD_LIB)
dnl *************************************************
dnl mod_ipv6calc / apxs - APache eXtension tool
dnl *************************************************
AC_ARG_ENABLE([mod_ipv6calc],
AS_HELP_STRING([--enable-mod_ipv6calc],
[Enable build of mod_ipv6calc for Apache (default: disabled)])
)
if test "$enable_mod_ipv6calc" = "yes"; then
ENABLE_MOD_IPV6CALC="1"
else
ENABLE_MOD_IPV6CALC="0"
fi
AC_SUBST(ENABLE_MOD_IPV6CALC)
AC_ARG_WITH(apxs, AC_HELP_STRING([--with-apxs=NAME],
[name of the apxs executable (apxs)]),
[APXS="$with_apxs"])
if test "$ENABLE_MOD_IPV6CALC" = "1"; then
AC_MSG_RESULT([Build of mod_ipv6calc enabled])
if test -z "$APXS"; then
AC_PATH_PROGS(APXS, apxs2 apxs, [], [$PATH:/usr/local/apache/bin:/usr/sbin])
fi
if test -z "$APXS"; then
AC_MSG_ERROR([No APXS binary found: cannot create Apache module - missing httpd-devel?])
else
AC_MSG_RESULT([APXS binary found: $APXS])
# partially taken from configure.ac from mod_wsgi
AC_MSG_CHECKING(Apache version)
HTTPD="`${APXS} -q SBINDIR`/`${APXS} -q TARGET`"
HTTPD_INCLUDEDIR="`${APXS} -q INCLUDEDIR`"
if test -x ${HTTPD}; then
HTTPD_VERSION=`${HTTPD} -v | awk '/version/ {print $3}' \
| awk -F/ '{print $2}'`
else
if test -f ${HTTPD_INCLUDEDIR}/ap_release.h; then
HTTPD_VERSION=`grep '^#define AP_SERVER_MAJORVERSION_NUMBER ' \
${HTTPD_INCLUDEDIR}/ap_release.h | sed -e \
's/^#define AP_SERVER_MAJORVERSION_NUMBER \([0-9]\).*/\1.X/'`
else
if test -f ${HTTPD_INCLUDEDIR}/httpd.h; then
HTTPD_VERSION=`grep '^#define APACHE_RELEASE ' \
${HTTPD_INCLUDEDIR}/httpd.h | sed -e \
's/^#define APACHE_RELEASE \([0-9]\).*/\1.X/'`
else
HTTPD_VERSION="2.?"
fi
fi
fi
HTTPD_LIBEXECDIR="`${APXS} -q libexecdir`"
if test -z "$HTTPD_LIBEXECDIR"; then
AC_MSG_ERROR([${APXS} cannot retrieve libexecdir])
fi
HTTPD_SYSCONFDIR="`${APXS} -q sysconfdir`"
if test -z "$HTTPD_SYSCONFDIR"; then
AC_MSG_ERROR([${APXS} cannot retrieve sysconfdir])
fi
if test -n "$HTTPD_SYSCONFDIR"; then
HTTPD_SYSCONFDIR="$HTTPD_SYSCONFDIR.d"
fi
if test -n "$HTTPD_VERSION"; then
HTTPD_VERSION_MAJOR_MINOR=`echo "$HTTPD_VERSION" | awk -F. '{ print $1 "." $2 }'`
fi
fi
AC_SUBST(HTTPD_LIBEXECDIR)
AC_SUBST(HTTPD_SYSCONFDIR)
AC_SUBST(HTTPD_VERSION_MAJOR_MINOR)
AC_SUBST(APXS)
else
AC_MSG_WARN([Build of mod_ipv6calc NOT enabled])
fi
dnl *************************************************
dnl Files to create from .in
dnl *************************************************
AC_SUBST(CFLAGS_EXTRA)
AC_SUBST(LDFLAGS_EXTRA)
AC_SUBST(LDFLAGS_EXTRA_MOD_IPV6CALC)
AC_SUBST(LDFLAGS_EXTRA_STATIC)
AC_SUBST(LD_LIBRARY_PATH)
AC_SUBST(LD_LIBRARY_PATH_BASIC)
AC_CONFIG_FILES([ tools/ipv6calc-db-update.sh ], [ chmod a+x tools/ipv6calc-db-update.sh ])
AC_CONFIG_FILES([ tools/DBIP-update.sh ], [ chmod a+x tools/DBIP-update.sh ])
AC_CONFIG_FILES([ tools/IP2Location-update.sh ], [ chmod a+x tools/IP2Location-update.sh ])
AC_CONFIG_FILES([ tools/GeoIP-update.sh ], [ chmod a+x tools/GeoIP-update.sh ])
AC_OUTPUT([
Makefile
md5/Makefile
tools/Makefile
getopt/Makefile
ipv6calc/Makefile
lib/Makefile
man/Makefile
databases/lib/Makefile
ipv6logconv/Makefile
ipv6loganon/Makefile
ipv6logstats/Makefile
ipv6calcweb/Makefile
contrib/ipv6calc.spec
mod_ipv6calc/Makefile
VERSION
])
AC_MSG_RESULT([***** Summary])
AC_MSG_RESULT([*** MMDB =$MMDB])
AC_MSG_RESULT([*** MMDB_DYN =$MMDB_DYN])
AC_MSG_RESULT([*** MMDB_DYN_LIB =$mmdb_dyn_lib])
AC_MSG_RESULT([*** MMDB_INCLUDE =$MMDB_INCLUDE])
AC_MSG_RESULT([*** MMDB_INCLUDE_VERSION =$MMDB_INCLUDE_VERSION])
AC_MSG_RESULT([*** MMDB_LIB =$MMDB_LIB])
AC_MSG_RESULT([*** MMDB_LIB_NAME =$MMDB_LIB_NAME])
AC_MSG_RESULT([*** MMDB_LIB_DIR =$MMDB_LIB_DIR])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** IP2LOCATION =$IP2LOCATION])
AC_MSG_RESULT([*** IP2LOCATION_DB =$IP2LOCATION_DB])
AC_MSG_RESULT([*** IP2LOCATION_DYN =$IP2LOCATION_DYN])
AC_MSG_RESULT([*** IP2LOCATION_DYN_LIB =$ip2location_dyn_lib])
AC_MSG_RESULT([*** IP2LOCATION_INCLUDE =$IP2LOCATION_INCLUDE])
AC_MSG_RESULT([*** IP2LOCATION_INCLUDE_VERSION=$IP2LOCATION_INCLUDE_VERSION])
AC_MSG_RESULT([*** IP2LOCATION_LIB =$IP2LOCATION_LIB])
AC_MSG_RESULT([*** IP2LOCATION_LIB_NAME =$IP2LOCATION_LIB_NAME])
AC_MSG_RESULT([*** IP2LOCATION_LIB_DIR =$IP2LOCATION_LIB_DIR])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** GEOIP2 =$GEOIP2])
AC_MSG_RESULT([*** GEOIP2_DB =$GEOIP2_DB])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** DBIP2 =$DBIP2])
AC_MSG_RESULT([*** DBIP2_DB =$DBIP2_DB])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** EXTERNAL =$EXTERNAL])
AC_MSG_RESULT([*** EXTERNAL_DB =$EXTERNAL_DB])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** BUILTIN =$BUILTIN])
AC_MSG_RESULT([*** DB_IPV4 =$DB_IPV4])
AC_MSG_RESULT([*** DB_IPV6 =$DB_IPV6])
AC_MSG_RESULT([*** DB_IEEE =$DB_IEEE])
AC_MSG_RESULT([*** DB_AS_REG =$DB_AS_REG])
AC_MSG_RESULT([*** DB_CC_REG =$DB_CC_REG])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** CC =$CC])
AC_MSG_RESULT([*** CFLAGS_EXTRA =$CFLAGS_EXTRA])
AC_MSG_RESULT([*** LDFLAGS_EXTRA =$LDFLAGS_EXTRA])
AC_MSG_RESULT([*** LDFLAGS_EXTRA_STATIC =$LDFLAGS_EXTRA_STATIC])
AC_MSG_RESULT([*** LD_LIBRARY_PATH =$LD_LIBRARY_PATH])
AC_MSG_RESULT([*** LD_LIBRARY_PATH_BASIC =$LD_LIBRARY_PATH_BASIC])
AC_MSG_RESULT([*** CPPLAGS =$CPPLAGS])
AC_MSG_RESULT([*** CFLAGS =$CFLAGS])
AC_MSG_RESULT([*** LDFLAGS =$LDFLAGS])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** HAVE_OPENSSL_EVP_MD5 =$HAVE_OPENSSL_EVP_MD5])
AC_MSG_RESULT([*** HAVE_OPENSSL_EVP_MD5_LEGACY=$HAVE_OPENSSL_EVP_MD5_LEGACY])
AC_MSG_RESULT([*** HAVE_OPENSSL_MD5 =$HAVE_OPENSSL_MD5])
AC_MSG_RESULT([*** ENABLE_BUNDLED_MD5 =$ENABLE_BUNDLED_MD5])
AC_MSG_RESULT([*** ENABLE_OPENSSL_EVP_MD5 =$ENABLE_OPENSSL_EVP_MD5])
AC_MSG_RESULT([*** ENABLE_OPENSSL_MD5 =$ENABLE_OPENSSL_MD5])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** HAVE_BERKELEY_DB_SUPPORT =$HAVE_BERKELEY_DB_SUPPORT])
AC_MSG_RESULT([*** DB_VERSION =$DB_VERSION])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** PACKAGE_VERSION_NUMERIC =$PACKAGE_VERSION_NUMERIC])
AC_MSG_RESULT([*** PACKAGE_VERSION_STRING =$PACKAGE_VERSION_STRING])
AC_MSG_RESULT([*** API_VERSION_NUMERIC =$API_VERSION_NUMERIC])
AC_MSG_RESULT([*** API_VERSION_STRING =$API_VERSION_STRING])
AC_MSG_RESULT([])
AC_MSG_RESULT([*** ENABLE_MOD_IPV6CALC =$ENABLE_MOD_IPV6CALC])
if test "$ENABLE_MOD_IPV6CALC" = "1"; then
AC_MSG_RESULT([*** APXS =$APXS])
AC_MSG_RESULT([*** HTTPD_SYSCONFDIR =$HTTPD_SYSCONFDIR])
AC_MSG_RESULT([*** HTTPD_LIBEXECDIR =$HTTPD_LIBEXECDIR])
AC_MSG_RESULT([*** HTTPD_VERSION =$HTTPD_VERSION])
AC_MSG_RESULT([*** HTTPD_VERSION_MAJOR_MINOR =$HTTPD_VERSION_MAJOR_MINOR])
AC_MSG_RESULT([*** LDFLAGS_EXTRA_MOD_IPV6CALC =$LDFLAGS_EXTRA_MOD_IPV6CALC])
fi
ipv6calc-4.1.0/contrib/ 0000775 0000000 0000000 00000000000 14441542472 0014672 5 ustar 00root root 0000000 0000000 ipv6calc-4.1.0/contrib/ipv6calc.spec 0000664 0000000 0000000 00000036616 14441542472 0017271 0 ustar 00root root 0000000 0000000 # Project : ipv6calc
# File : contrib/ipv6calc.spec
# Copyright : 2001-2023 by Peter Bieringer
# enable the following for intermediate builds
#%#define gitcommit d3a4108cb7aeb6f731bb07989f91d8a7f449f0f0
%if 0%{?gitcommit:1}
%global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
%define build_timestamp %(date +"%Y%m%d")
%global gittag .%{build_timestamp}git%{shortcommit}
%endif
# shared library support (deselectable)
%if "%{?_without_shared:0}%{?!_without_shared:1}" == "1"
%define enable_shared 1
%endif
Summary: IPv6 address format change and calculation utility
Name: ipv6calc
Version: 4.1.0
Release: 48%{?gittag}%{?dist}
URL: http://www.deepspace6.net/projects/%{name}.html
License: GPLv2
%if 0%{?gitcommit:1}
Source: https://github.com/pbiering/%{name}/archive/%{gitcommit}/%{name}-%{gitcommit}.tar.gz
%else
Source: ftp://ftp.bieringer.de/pub/linux/IPv6/ipv6calc/%{name}-%{version}.tar.gz
%endif
BuildRequires: automake make
BuildRequires: gcc
BuildRequires: openssl-devel
BuildRequires: perl-generators
BuildRequires: perl(Digest::MD5), perl(Digest::SHA1), perl(URI::Escape)
BuildRequires: perl(strict), perl(warnings)
BuildRequires: procps-ng
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: unzip
%if %{enable_shared}
Provides: ipv6calc-libs = %{version}-%{release}
%else
Conflicts: ipv6calc-libs
%endif
# mod_ipv6calc related
%{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}}
%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}}
%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}}
# database support (deselectable)
%if "%{?_without_ip2location:0}%{?!_without_ip2location:1}" == "1"
%define enable_ip2location 1
%endif
%if "%{?_without_mmdb:0}%{?!_without_mmdb:1}" == "1"
%define enable_mmdb 1
%endif
%if "%{?_without_external:0}%{?!_without_external:1}" == "1"
%define enable_external 1
%endif
%if "%{?_without_mod_ipv6calc:0}%{?!_without_mod_ipv6calc:1}" == "1"
%define enable_mod_ipv6calc 1
%endif
# database locations
%define ip2location_db %{_datadir}/IP2Location
%define geoip_db %{_datadir}/GeoIP
%define dbip_db %{_datadir}/DBIP
%define external_db %{_datadir}/%{name}/db
# Berkeley DB selector
%define require_db4 %(echo "%{dist}" | grep -Eq '^\.el(5|6)$' && echo 1 || echo 0)
%if %{require_db4}
BuildRequires: db4-devel
Requires: db4
%else
BuildRequires: libdb-devel
Requires: libdb
%endif
%if %{enable_mmdb}
BuildRequires: libmaxminddb-devel
Recommends: libmaxminddb
%endif
%if %{enable_ip2location}
BuildRequires: IP2Location-devel >= 8.6.0
Recommends: IP2Location >= 8.6.0
%endif
# RPM license macro detector
%define rpm_license_extra %(echo "%{_defaultlicensedir}" | grep -q defaultlicensedir && echo 0 || echo 1)
%description
ipv6calc is a small utility which formats and calculates IPv4/IPv6 addresses
in different ways.
Install this package, if you want to retrieve information about a particular
IPv4/IPv6/MAC address (-i ADDRESS) or make life easier in adding entries to
reverse IPv6 DNS zones (e.g. -a 2001:db8:1234::1/48).
In addition many format and type conversions are supported, see online help
and/or given URL for more.
Also this package contains additional programs
- ipv6loganon: anonymize Apache web server logs
- ipv6logconv: special Apache web server log converter
(examples included for use with analog)
- ipv6logstats: create statistics from list of IPv4/IPv6 addresses
(examples included for use with gnu-plot)
- mod_ipv6calc: Apache module for anonymization/information logging on-the-fly
Support for following databases
- IP2Location %{?enable_ip2location:ENABLED}%{?!enable_ip2location:DISABLED}
default directory for downloaded db files: %{ip2location_db}
(requires also external library on system)
- GeoIP v2 %{?enable_mmdb:ENABLED}%{?!enable_mmdb:DISABLED}
default directory for downloaded db files: %{geoip_db}
(requires also external library on system)
- db-ip.com v2 %{?enable_mmdb:ENABLED}%{?!enable_mmdb:DISABLED}
(once generated database files are found on system)
default directory for generated db files: %{dbip_db}
- External %{?enable_external:ENABLED}%{?!enable_external:DISABLED}
default directory for generated db files: %{external_db}
Built %{?enable_shared:WITH}%{?!enable_shared:WITHOUT} shared-library
Available rpmbuild rebuild options:
--without ip2location
--without mmdb (which disables GeoIP v2 and db-ip.com v2)
--without external
--without shared
--without mod_ipv6calc
%package ipv6calcweb
Summary: IP address information web utility
Requires: ipv6calc httpd
Requires: perl(URI) perl(Digest::SHA1) perl(Digest::MD5) perl(HTML::Entities)
BuildRequires: perl(URI) perl(Digest::SHA1) perl(Digest::MD5) perl(HTML::Entities)
%description ipv6calcweb
ipv6calcweb contains a CGI program and a configuration file for
displaying information of IP addresses on a web page using ipv6calc.
Check/adjust %{_sysconfdir}/httpd/conf.d/ipv6calcweb.conf
Default restricts access to localhost
%if %{enable_mod_ipv6calc}
%package mod_ipv6calc
Summary: Apache module for ipv6calc
BuildRequires: httpd-devel psmisc curl
Requires: httpd >= 2.4.0
Requires: httpd <= 2.4.99999
Requires: ipv6calc = %{version}-%{release}
%if %{enable_shared}
Requires: ipv6calc-libs = %{version}-%{release}
%endif
%description mod_ipv6calc
mod_ipv6calc contains an Apache module and a default configuration
file.
Features:
- store anonymized IPv4/v6 address in environment variable
- store CountryCode of IPv4/v6 address in environment variable
(environment variables can be used for custom log format)
Check/adjust %{_sysconfdir}/httpd/conf.d/ipv6calc.conf
By default the module is disabled.
%endif
%prep
%if 0%{?gitcommit:1}
%setup -q -n %{name}-%{gitcommit}
%else
%setup -q
%endif
%configure \
%{?enable_ip2location:--enable-ip2location} \
%{?enable_ip2location:--with-ip2location-dynamic} \
--with-ip2location-db=%{ip2location_db} \
--with-geoip-db=%{geoip_db} \
--with-dbip-db=%{dbip_db} \
%{?enable_mmdb:--enable-mmdb --with-mmdb-dynamic} \
%{?enable_external:--enable-external} \
--with-external-db=%{external_db} \
%{?enable_shared:--enable-shared} \
%{?enable_mod_ipv6calc:--enable-mod_ipv6calc}
%build
make clean
make %{?_smp_mflags} COPTS="$RPM_OPT_FLAGS"
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
## Install examples and helper files
install -d -p %{buildroot}%{_docdir}/%{name}-%{version}/
## examples
install -d %{buildroot}%{_datadir}/%{name}/examples/
# ipv6logconv
install -d %{buildroot}%{_datadir}/%{name}/examples/ipv6logconv
for file in examples/analog/*.{cfg,txt,tab,sh}; do
install $file %{buildroot}%{_datadir}/%{name}/examples/ipv6logconv/
done
# ipv6loganon
install -d %{buildroot}%{_datadir}/%{name}/examples/ipv6loganon
for file in ipv6loganon/README; do
install $file %{buildroot}%{_datadir}/%{name}/examples/ipv6loganon/
done
# ipv6logstats
install -d %{buildroot}%{_datadir}/%{name}/examples/ipv6logstats
for file in ipv6logstats/README ipv6logstats/example_* ipv6logstats/collect_ipv6logstats.pl; do
install $file %{buildroot}%{_datadir}/%{name}/examples/ipv6logstats/
done
# db directory
install -d %{buildroot}%{external_db}
# selinux
install -d %{buildroot}%{_datadir}/%{name}/selinux
# ipv6calcweb
install -d %{buildroot}%{_sysconfdir}/httpd/conf.d
install -d %{buildroot}%{_localstatedir}/www/cgi-bin
install ipv6calcweb/ipv6calcweb.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/
install -m 755 ipv6calcweb/ipv6calcweb.cgi %{buildroot}%{_localstatedir}/www/cgi-bin/
install -m 644 ipv6calcweb/ipv6calcweb-databases-in-var.te %{buildroot}%{_datadir}/%{name}/selinux/
# mod_ipv6calc
install -d %{buildroot}%{_datadir}/%{name}/examples/mod_ipv6calc
install -m 755 mod_ipv6calc/ipv6calc.cgi %{buildroot}%{_datadir}/%{name}/examples/mod_ipv6calc
%clean
rm -rf %{buildroot}
%check
%ifnarch ppc64
make test
%endif
%files
%if %{rpm_license_extra}
%doc ChangeLog README README.* CREDITS TODO USAGE doc/ipv6calc.lyx doc/ipv6calc.sgml doc/ipv6calc.html doc/ipv6calc.xml
%license COPYING LICENSE
%else
%doc ChangeLog README README.* CREDITS TODO USAGE doc/ipv6calc.lyx doc/ipv6calc.sgml doc/ipv6calc.html doc/ipv6calc.xml COPYING LICENSE
%endif
%defattr(644,root,root,755)
# binaries
%attr(755,-,-) %{_bindir}/*
# man pages
%{_mandir}/man8/*
# tools
%attr(755,-,-) %{_datadir}/%{name}/tools/*
# selinux
%attr(644,-,-) %{_datadir}/%{name}/selinux/*
# shared library
%{?enable_shared:%attr(755,-,-) %{_libdir}/libipv6calc*}
# database directory
%{external_db}
# examples
%attr(755,-,-) %{_datadir}/%{name}/examples/*/*.pl
%attr(755,-,-) %{_datadir}/%{name}/examples/*/*.sh
%{_datadir}/%{name}/examples/ipv6loganon/
%{_datadir}/%{name}/examples/ipv6logconv/
%{_datadir}/%{name}/examples/ipv6logstats/
%files ipv6calcweb
%if %{rpm_license_extra}
%doc ipv6calcweb/README ipv6calcweb/USAGE
%license COPYING LICENSE
%else
%doc ipv6calcweb/README ipv6calcweb/USAGE COPYING LICENSE
%endif
%defattr(644,root,root,755)
%attr(755,-,-) %{_localstatedir}/www/cgi-bin/ipv6calcweb.cgi
%config(noreplace) %{_sysconfdir}/httpd/conf.d/ipv6calcweb.conf
%files mod_ipv6calc
%if %{rpm_license_extra}
%doc mod_ipv6calc/README.mod_ipv6calc
%license COPYING LICENSE
%else
%doc mod_ipv6calc/README.mod_ipv6calc COPYING LICENSE
%endif
%defattr(644,root,root,755)
%config(noreplace) %{_httpd_confdir}/ipv6calc.conf
%attr(755,-,-) %{_httpd_moddir}/mod_ipv6calc.so
%attr(755,-,-) %{_datadir}/%{name}/examples/mod_ipv6calc/ipv6calc.cgi
%post
if [ -x /usr/sbin/ldconfig ]; then
/usr/sbin/ldconfig
elif [ -x /sbin/ldconfig ]; then
/sbin/ldconfig
fi
%postun
if [ -x /usr/sbin/ldconfig ]; then
/usr/sbin/ldconfig
elif [ -x /sbin/ldconfig ]; then
/sbin/ldconfig
fi
%changelog
* Wed Jun 07 2023 Peter Bieringer
- increase minimum IP2Location version to 8.6.0 (support of DB-26)
* Tue Oct 13 2020 Peter Bieringer
- remove obsolete BuildRoot and Group, fix requirement of unzip
* Mon Oct 12 2020 Peter Bieringer
- remove support for GeoIP(legacy) and force minimum IP2Location version, add some recommendations and remove legacy support
* Sun Jun 21 2020 Peter Bieringer
- cover 2 potential ldconfig locations
* Sat Sep 07 2019 Peter Bieringer
- add build requirement: automake make
* Tue Jan 29 2019 Peter Bieringer
- subpackage ipv6calcweb: remove dependency Perl(Proc::ProcessTable) because no longer used
* Sat Jan 26 2019 Peter Bieringer
- add option for libmaxminddb supporting GeoIP v2 and db-ip.com v2
* Sun Sep 23 2018 Peter Bieringer
- subpackage ipv6calcweb: add dependency Perl(Proc::ProcessTable)
* Wed Dec 28 2016 Peter Bieringer
- add support for git commit hash
- align RPM build requires with fedora-scm
* Thu Jul 30 2015 Peter Bieringer
- add automatic RPM license feature detection
* Sat Jul 25 2015 Peter Bieringer
- replace ipv6calc.{lyx,sgml,html,xml} by dedicated file.suffix
* Mon Jun 01 2015 Peter Bieringer
- add subpackage mod_ipv6calc
* Sat Mar 07 2015 Peter Bieringer
- take use of license macro
* Sun Mar 01 2015 Peter Bieringer
- remove not necessary x-bits for some files by proper definition in %%files section
* Wed Feb 18 2015 Peter Bieringer
- delete subpackage db, major spec file alignment with Fedora-SCM version
* Sun Feb 15 2015 Peter Bieringer
- extend sub-package db
* Tue Dec 09 2014 Peter Bieringer
- create new sub-package: db with all related tools
- configure: --enable-external
* Sat Oct 25 2014 Peter Bieringer
- add /usr/share/ipv6calc/db directory
* Fri Oct 10 2014 Peter Bieringer
- add DBIP-update.sh DBIP-generate-db.pl
* Mon Jul 14 2014 Peter Bieringer
- review description
* Sun Feb 02 2014 Peter Bieringer
- add support for optional shared-library build
* Tue Nov 12 2013 Peter Bieringer
- add datadir with tools
* Thu Sep 26 2013 Peter Bieringer
- add support for --with geoip-dyn and --with ip2location-dyn
* Wed Sep 12 2012 Peter Bieringer
- change requirements for ip2location to Mandrake Linux compatible names
- change location of "ipv6calc" from bin to %%{_bindir}
- install tools/GeoIP-update.sh tools/IP2Location-update.sh to doc dir
* Sun Jan 01 2012 Peter Bieringer
- create subpackage for ipv6calcweb
- minor review
* Sat Oct 08 2011 Peter Bieringer
- reduce "make test" to "make test-minimal"
* Wed Nov 19 2008 Peter Bieringer
- switch from "make installonly" to "make install"
* Wed Feb 14 2007 Peter Bieringer
- remove support for build option --with-geoip-system
- add support for 'ipv6loganon'
* Sat Oct 28 2006 Peter Bieringer
- add support for build option --with-geoip-system
* Sun Aug 06 2006 Peter Bieringer
- add support for build option --with-geoip
* Wed Jun 07 2006 Peter Bieringer
- add support for build option --with-ip2location
* Wed Jul 20 2005 Peter Bieringer
- adjust code because of use of "bindir" in Makefile of ivp6calc
* Sat Oct 30 2004 Peter Bieringer
- remove openssl(-devel) from requirements, no longer needed
* Sat Nov 22 2003 Peter Bieringer
- adjustments
* Fri Nov 21 2003 Peter Bieringer
- add ipv6logstats
- add man pages
- add configure options
* Mon Nov 11 2002 Peter Bieringer
- change IPv6 address in description
* Sat Apr 20 2002 Peter Bieringer
- Change URL
* Sun Apr 07 2002 Peter Bieringer
- add more analog example files
* Fri Apr 05 2002 Peter Bieringer
- remove BuildRequires extension, not needed for normal build
* Sun Mar 24 2002 Peter Bieringer
- extend BuildRequires for perl /usr/bin/aggregate wget
* Mon Mar 18 2002 Peter Bieringer
- add ipv6calcweb.cgi
* Sat Mar 16 2002 Peter Bieringer
- add ipv6logconv, analog examples
* Mon Mar 11 2002 Peter Bieringer
- Add perl to buildrequire and openssl to require
* Mon Jan 21 2002 Peter Bieringer
- Add LICENSE + COPYING file
* Thu Dec 27 2001 Peter Bieringer
- Add comment header
- Add call to configure on build
* Tue Dec 18 2001 Peter Bieringer
- Replace hardwired version number with autoconf/configure variable
* Wed Apr 25 2001 Peter Bieringer
- Fix permissions of doc files
* Thu Mar 15 2001 Peter Bieringer
- Add doc directory also to files to make sure the directory will be removed on update or deinstall
- change install permissions for entries in doc directory
- change "make install" to "make installonly" (make test should be only executed once)
* Wed Mar 14 2001 Peter Bieringer
- Add "make clean" and "make test" on build
* Tue Mar 13 2001 Peter Bieringer
- add CREDITS and TODO for install
* Sat Mar 10 2001 Peter Bieringer
- enable "URL"
* Sun Mar 04 2001 Peter Bieringer
- change install location to /bin
* Tue Feb 27 2001 Peter Bieringer
- review for new release, now named "ipv6calc"
- review install section for RedHat 7.0.91
* Sun Feb 25 2001 Peter Bieringer
- initial build
ipv6calc-4.1.0/contrib/ipv6calc.spec.in 0000664 0000000 0000000 00000036712 14441542472 0017673 0 ustar 00root root 0000000 0000000 # Project : ipv6calc
# File : contrib/ipv6calc.spec
# Copyright : 2001-2023 by Peter Bieringer
# enable the following for intermediate builds
#%#define gitcommit d3a4108cb7aeb6f731bb07989f91d8a7f449f0f0
%if 0%{?gitcommit:1}
%global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
%define build_timestamp %(date +"%Y%m%d")
%global gittag .%{build_timestamp}git%{shortcommit}
%endif
# shared library support (deselectable)
%if "%{?_without_shared:0}%{?!_without_shared:1}" == "1"
%define enable_shared 1
%endif
Summary: IPv6 address format change and calculation utility
Name: ipv6calc
Version: @PACKAGE_VERSION@
Release: 48%{?gittag}%{?dist}
URL: http://www.deepspace6.net/projects/%{name}.html
License: GPLv2
%if 0%{?gitcommit:1}
Source: https://github.com/pbiering/%{name}/archive/%{gitcommit}/%{name}-%{gitcommit}.tar.gz
%else
Source: ftp://ftp.bieringer.de/pub/linux/IPv6/ipv6calc/%{name}-%{version}.tar.gz
%endif
BuildRequires: automake make
BuildRequires: gcc
BuildRequires: openssl-devel
BuildRequires: perl-generators
BuildRequires: perl(Digest::MD5), perl(Digest::SHA1), perl(URI::Escape)
BuildRequires: perl(strict), perl(warnings)
BuildRequires: procps-ng
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: unzip
%if %{enable_shared}
Provides: ipv6calc-libs = %{version}-%{release}
%else
Conflicts: ipv6calc-libs
%endif
# mod_ipv6calc related
%{!?_httpd_apxs: %{expand: %%global _httpd_apxs %%{_sbindir}/apxs}}
%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}}
%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}}
# database support (deselectable)
%if "%{?_without_ip2location:0}%{?!_without_ip2location:1}" == "1"
%define enable_ip2location 1
%endif
%if "%{?_without_mmdb:0}%{?!_without_mmdb:1}" == "1"
%define enable_mmdb 1
%endif
%if "%{?_without_external:0}%{?!_without_external:1}" == "1"
%define enable_external 1
%endif
%if "%{?_without_mod_ipv6calc:0}%{?!_without_mod_ipv6calc:1}" == "1"
%define enable_mod_ipv6calc 1
%endif
# database locations
%define ip2location_db %{_datadir}/IP2Location
%define geoip_db %{_datadir}/GeoIP
%define dbip_db %{_datadir}/DBIP
%define external_db %{_datadir}/%{name}/db
# Berkeley DB selector
%define require_db4 %(echo "%{dist}" | grep -Eq '^\.el(5|6)$' && echo 1 || echo 0)
%if %{require_db4}
BuildRequires: db4-devel
Requires: db4
%else
BuildRequires: libdb-devel
Requires: libdb
%endif
%if %{enable_mmdb}
BuildRequires: libmaxminddb-devel
Recommends: libmaxminddb
%endif
%if %{enable_ip2location}
BuildRequires: IP2Location-devel >= 8.6.0
Recommends: IP2Location >= 8.6.0
%endif
# RPM license macro detector
%define rpm_license_extra %(echo "%{_defaultlicensedir}" | grep -q defaultlicensedir && echo 0 || echo 1)
%description
ipv6calc is a small utility which formats and calculates IPv4/IPv6 addresses
in different ways.
Install this package, if you want to retrieve information about a particular
IPv4/IPv6/MAC address (-i ADDRESS) or make life easier in adding entries to
reverse IPv6 DNS zones (e.g. -a 2001:db8:1234::1/48).
In addition many format and type conversions are supported, see online help
and/or given URL for more.
Also this package contains additional programs
- ipv6loganon: anonymize Apache web server logs
- ipv6logconv: special Apache web server log converter
(examples included for use with analog)
- ipv6logstats: create statistics from list of IPv4/IPv6 addresses
(examples included for use with gnu-plot)
- mod_ipv6calc: Apache module for anonymization/information logging on-the-fly
Support for following databases
- IP2Location %{?enable_ip2location:ENABLED}%{?!enable_ip2location:DISABLED}
default directory for downloaded db files: %{ip2location_db}
(requires also external library on system)
- GeoIP v2 %{?enable_mmdb:ENABLED}%{?!enable_mmdb:DISABLED}
default directory for downloaded db files: %{geoip_db}
(requires also external library on system)
- db-ip.com v2 %{?enable_mmdb:ENABLED}%{?!enable_mmdb:DISABLED}
(once generated database files are found on system)
default directory for generated db files: %{dbip_db}
- External %{?enable_external:ENABLED}%{?!enable_external:DISABLED}
default directory for generated db files: %{external_db}
Built %{?enable_shared:WITH}%{?!enable_shared:WITHOUT} shared-library
Available rpmbuild rebuild options:
--without ip2location
--without mmdb (which disables GeoIP v2 and db-ip.com v2)
--without external
--without shared
--without mod_ipv6calc
%package ipv6calcweb
Summary: IP address information web utility
Requires: ipv6calc httpd
Requires: perl(URI) perl(Digest::SHA1) perl(Digest::MD5) perl(HTML::Entities)
BuildRequires: perl(URI) perl(Digest::SHA1) perl(Digest::MD5) perl(HTML::Entities)
%description ipv6calcweb
ipv6calcweb contains a CGI program and a configuration file for
displaying information of IP addresses on a web page using ipv6calc.
Check/adjust %{_sysconfdir}/httpd/conf.d/ipv6calcweb.conf
Default restricts access to localhost
%if %{enable_mod_ipv6calc}
%package mod_ipv6calc
Summary: Apache module for ipv6calc
BuildRequires: httpd-devel psmisc curl
Requires: httpd >= @HTTPD_VERSION_MAJOR_MINOR@.0
Requires: httpd <= @HTTPD_VERSION_MAJOR_MINOR@.99999
Requires: ipv6calc = %{version}-%{release}
%if %{enable_shared}
Requires: ipv6calc-libs = %{version}-%{release}
%endif
%description mod_ipv6calc
mod_ipv6calc contains an Apache module and a default configuration
file.
Features:
- store anonymized IPv4/v6 address in environment variable
- store CountryCode of IPv4/v6 address in environment variable
(environment variables can be used for custom log format)
Check/adjust %{_sysconfdir}/httpd/conf.d/ipv6calc.conf
By default the module is disabled.
%endif
%prep
%if 0%{?gitcommit:1}
%setup -q -n %{name}-%{gitcommit}
%else
%setup -q
%endif
%configure \
%{?enable_ip2location:--enable-ip2location} \
%{?enable_ip2location:--with-ip2location-dynamic} \
--with-ip2location-db=%{ip2location_db} \
--with-geoip-db=%{geoip_db} \
--with-dbip-db=%{dbip_db} \
%{?enable_mmdb:--enable-mmdb --with-mmdb-dynamic} \
%{?enable_external:--enable-external} \
--with-external-db=%{external_db} \
%{?enable_shared:--enable-shared} \
%{?enable_mod_ipv6calc:--enable-mod_ipv6calc}
%build
make clean
make %{?_smp_mflags} COPTS="$RPM_OPT_FLAGS"
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
## Install examples and helper files
install -d -p %{buildroot}%{_docdir}/%{name}-%{version}/
## examples
install -d %{buildroot}%{_datadir}/%{name}/examples/
# ipv6logconv
install -d %{buildroot}%{_datadir}/%{name}/examples/ipv6logconv
for file in examples/analog/*.{cfg,txt,tab,sh}; do
install $file %{buildroot}%{_datadir}/%{name}/examples/ipv6logconv/
done
# ipv6loganon
install -d %{buildroot}%{_datadir}/%{name}/examples/ipv6loganon
for file in ipv6loganon/README; do
install $file %{buildroot}%{_datadir}/%{name}/examples/ipv6loganon/
done
# ipv6logstats
install -d %{buildroot}%{_datadir}/%{name}/examples/ipv6logstats
for file in ipv6logstats/README ipv6logstats/example_* ipv6logstats/collect_ipv6logstats.pl; do
install $file %{buildroot}%{_datadir}/%{name}/examples/ipv6logstats/
done
# db directory
install -d %{buildroot}%{external_db}
# selinux
install -d %{buildroot}%{_datadir}/%{name}/selinux
# ipv6calcweb
install -d %{buildroot}%{_sysconfdir}/httpd/conf.d
install -d %{buildroot}%{_localstatedir}/www/cgi-bin
install ipv6calcweb/ipv6calcweb.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/
install -m 755 ipv6calcweb/ipv6calcweb.cgi %{buildroot}%{_localstatedir}/www/cgi-bin/
install -m 644 ipv6calcweb/ipv6calcweb-databases-in-var.te %{buildroot}%{_datadir}/%{name}/selinux/
# mod_ipv6calc
install -d %{buildroot}%{_datadir}/%{name}/examples/mod_ipv6calc
install -m 755 mod_ipv6calc/ipv6calc.cgi %{buildroot}%{_datadir}/%{name}/examples/mod_ipv6calc
%clean
rm -rf %{buildroot}
%check
%ifnarch ppc64
make test
%endif
%files
%if %{rpm_license_extra}
%doc ChangeLog README README.* CREDITS TODO USAGE doc/ipv6calc.lyx doc/ipv6calc.sgml doc/ipv6calc.html doc/ipv6calc.xml
%license COPYING LICENSE
%else
%doc ChangeLog README README.* CREDITS TODO USAGE doc/ipv6calc.lyx doc/ipv6calc.sgml doc/ipv6calc.html doc/ipv6calc.xml COPYING LICENSE
%endif
%defattr(644,root,root,755)
# binaries
%attr(755,-,-) %{_bindir}/*
# man pages
%{_mandir}/man8/*
# tools
%attr(755,-,-) %{_datadir}/%{name}/tools/*
# selinux
%attr(644,-,-) %{_datadir}/%{name}/selinux/*
# shared library
%{?enable_shared:%attr(755,-,-) %{_libdir}/libipv6calc*}
# database directory
%{external_db}
# examples
%attr(755,-,-) %{_datadir}/%{name}/examples/*/*.pl
%attr(755,-,-) %{_datadir}/%{name}/examples/*/*.sh
%{_datadir}/%{name}/examples/ipv6loganon/
%{_datadir}/%{name}/examples/ipv6logconv/
%{_datadir}/%{name}/examples/ipv6logstats/
%files ipv6calcweb
%if %{rpm_license_extra}
%doc ipv6calcweb/README ipv6calcweb/USAGE
%license COPYING LICENSE
%else
%doc ipv6calcweb/README ipv6calcweb/USAGE COPYING LICENSE
%endif
%defattr(644,root,root,755)
%attr(755,-,-) %{_localstatedir}/www/cgi-bin/ipv6calcweb.cgi
%config(noreplace) %{_sysconfdir}/httpd/conf.d/ipv6calcweb.conf
%files mod_ipv6calc
%if %{rpm_license_extra}
%doc mod_ipv6calc/README.mod_ipv6calc
%license COPYING LICENSE
%else
%doc mod_ipv6calc/README.mod_ipv6calc COPYING LICENSE
%endif
%defattr(644,root,root,755)
%config(noreplace) %{_httpd_confdir}/ipv6calc.conf
%attr(755,-,-) %{_httpd_moddir}/mod_ipv6calc.so
%attr(755,-,-) %{_datadir}/%{name}/examples/mod_ipv6calc/ipv6calc.cgi
%post
if [ -x /usr/sbin/ldconfig ]; then
/usr/sbin/ldconfig
elif [ -x /sbin/ldconfig ]; then
/sbin/ldconfig
fi
%postun
if [ -x /usr/sbin/ldconfig ]; then
/usr/sbin/ldconfig
elif [ -x /sbin/ldconfig ]; then
/sbin/ldconfig
fi
%changelog
* Wed Jun 07 2023 Peter Bieringer
- increase minimum IP2Location version to 8.6.0 (support of DB-26)
* Tue Oct 13 2020 Peter Bieringer
- remove obsolete BuildRoot and Group, fix requirement of unzip
* Mon Oct 12 2020 Peter Bieringer
- remove support for GeoIP(legacy) and force minimum IP2Location version, add some recommendations and remove legacy support
* Sun Jun 21 2020 Peter Bieringer
- cover 2 potential ldconfig locations
* Sat Sep 07 2019 Peter Bieringer
- add build requirement: automake make
* Tue Jan 29 2019 Peter Bieringer
- subpackage ipv6calcweb: remove dependency Perl(Proc::ProcessTable) because no longer used
* Sat Jan 26 2019 Peter Bieringer
- add option for libmaxminddb supporting GeoIP v2 and db-ip.com v2
* Sun Sep 23 2018 Peter Bieringer
- subpackage ipv6calcweb: add dependency Perl(Proc::ProcessTable)
* Wed Dec 28 2016 Peter Bieringer
- add support for git commit hash
- align RPM build requires with fedora-scm
* Thu Jul 30 2015 Peter Bieringer
- add automatic RPM license feature detection
* Sat Jul 25 2015 Peter Bieringer
- replace ipv6calc.{lyx,sgml,html,xml} by dedicated file.suffix
* Mon Jun 01 2015 Peter Bieringer
- add subpackage mod_ipv6calc
* Sat Mar 07 2015 Peter Bieringer
- take use of license macro
* Sun Mar 01 2015 Peter Bieringer
- remove not necessary x-bits for some files by proper definition in %%files section
* Wed Feb 18 2015 Peter Bieringer
- delete subpackage db, major spec file alignment with Fedora-SCM version
* Sun Feb 15 2015 Peter Bieringer
- extend sub-package db
* Tue Dec 09 2014 Peter Bieringer
- create new sub-package: db with all related tools
- configure: --enable-external
* Sat Oct 25 2014 Peter Bieringer
- add /usr/share/ipv6calc/db directory
* Fri Oct 10 2014 Peter Bieringer
- add DBIP-update.sh DBIP-generate-db.pl
* Mon Jul 14 2014 Peter Bieringer
- review description
* Sun Feb 02 2014 Peter Bieringer
- add support for optional shared-library build
* Tue Nov 12 2013 Peter Bieringer
- add datadir with tools
* Thu Sep 26 2013 Peter Bieringer
- add support for --with geoip-dyn and --with ip2location-dyn
* Wed Sep 12 2012 Peter Bieringer
- change requirements for ip2location to Mandrake Linux compatible names
- change location of "ipv6calc" from bin to %%{_bindir}
- install tools/GeoIP-update.sh tools/IP2Location-update.sh to doc dir
* Sun Jan 01 2012 Peter Bieringer
- create subpackage for ipv6calcweb
- minor review
* Sat Oct 08 2011 Peter Bieringer
- reduce "make test" to "make test-minimal"
* Wed Nov 19 2008 Peter Bieringer
- switch from "make installonly" to "make install"
* Wed Feb 14 2007 Peter Bieringer
- remove support for build option --with-geoip-system
- add support for 'ipv6loganon'
* Sat Oct 28 2006 Peter Bieringer
- add support for build option --with-geoip-system
* Sun Aug 06 2006 Peter Bieringer
- add support for build option --with-geoip
* Wed Jun 07 2006 Peter Bieringer
- add support for build option --with-ip2location
* Wed Jul 20 2005 Peter Bieringer
- adjust code because of use of "bindir" in Makefile of ivp6calc
* Sat Oct 30 2004 Peter Bieringer
- remove openssl(-devel) from requirements, no longer needed
* Sat Nov 22 2003 Peter Bieringer
- adjustments
* Fri Nov 21 2003 Peter Bieringer
- add ipv6logstats
- add man pages
- add configure options
* Mon Nov 11 2002 Peter Bieringer
- change IPv6 address in description
* Sat Apr 20 2002 Peter Bieringer
- Change URL
* Sun Apr 07 2002 Peter Bieringer
- add more analog example files
* Fri Apr 05 2002 Peter Bieringer