BIND 10 #3107: [kean] ./configure report versions of dependencies
BIND 10 Development
do-not-reply at isc.org
Tue Sep 10 15:32:01 UTC 2013
#3107: [kean] ./configure report versions of dependencies
-------------------------------------+-------------------------------------
Reporter: jreed | Owner: kean
Type: task | Status:
Priority: medium | reviewing
Component: build system | Milestone:
Keywords: | Sprint-20130917
Sensitive: 0 | Resolution:
Sub-Project: Core | CVSS Scoring:
Estimated Difficulty: 5 | Defect Severity: N/A
Total Hours: 0 | Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Comment (by kean):
Muks,
Re your first point (C++ compiler version). That is very difficult because
there is no standard. We can start building in a matrix of known C++
compilers and how to extract that information but at best it will be a
half-baked effort because we simply don't know all of the compilers people
use, or what the required flags are to even get the compiler version
information (and some old compilers don't even have the option at all). So
since we can't do it for every compiler do we really want to do it for
only some? We can of course get 90% of the target audience by simply
checking to see if the compiler is gcc and then using --version but that
does seem a bit hokey.
sed on many OSes, being a key OS utility, has no version. I cannot even
begin to imagine why we would care about the version of sed or how it
qualifies as a "dependency". sed is sed - its just part of UNIX :)
Yes, the cpp mechanism will work for non-standard locations of log4cplus.
As for using angle brackets, the coding guidelines apply to actual source
code, not to configure scripts, surely? There is good reason to use quotes
in configure scripts, where the ordering of -I options is far more
critical during feature detection.
Using compiled programs versus sed is very much against autoconf best-
practices. It completely eliminates and alienates the cross-compiler world
and there is absolutely no need for it.
Example output:
{{{
BIND 10 source configure results:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Package:
Name: bind10
Version: 20130529
OS Family: Linux
C++ Compiler:
CXX: g++
DEFS: -DHAVE_CONFIG_H
CPPFLAGS: -DOS_LINUX -I$(top_srcdir)/ext/asio
-I$(top_srcdir)/ext/coroutine -DASIO_DISABLE_THREADS=1
CXXFLAGS: -g -O2
LDFLAGS: -Wl,-R/usr/lib
B10_CXXFLAGS: -Wall -Wextra -Wnon-virtual-dtor -Wwrite-strings
-Woverloaded-virtual -Wno-sign-compare -Werror -fPIC
Python:
PYTHON_VERSION: 3.3
PYTHON_INCLUDES: -I/usr/include/python3.3m -I/usr/include/python3.3m
PYTHON_CXXFLAGS:
PYTHON_LDFLAGS: -L/usr/lib -Wl,-R/usr/lib
PYTHON_LIB:
Boost:
BOOST_VERSION: 1.53
BOOST_INCLUDES:
Botan:
BOTAN_VERSION: 1.8.14
BOTAN_INCLUDES: -I/usr/include
BOTAN_LDFLAGS: -L/usr/lib
BOTAN_LIBS: -L/usr/lib -lbotan -lbz2 -lcrypto -lgmp -lpthread -lrt
-lz -lbotan -lbz2 -lcrypto -lgmp -lpthread -lrt -lz
Log4cplus:
LOG4CPLUS_VERSION: 1.1.1
LOG4CPLUS_INCLUDES: -I/usr/include
LOG4CPLUS_LIBS: -L/usr/lib -llog4cplus -pthread
SQLite:
SQLITE_VERSION: 3.7.17
SQLITE_CFLAGS:
SQLITE_LIBS: -lsqlite3
MySQL:
MYSQL_VERSION: 5.5.32
MYSQL_CPPFLAGS: -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -grecord-gcc-
switches -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-fno-strict-aliasing -fwrapv -fPIC -fPIC -g -static-libgcc -fno-omit-
frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1
MYSQL_LIBS: -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm
-lssl -lcrypto -ldl
GTest:
GTEST_VERSION: 1.6.0
GTEST_INCLUDES: -I/usr/include
GTEST_LDFLAGS: -L/usr/lib64
GTEST_LDADD: -lgtest -pthread
GTEST_SOURCE: /usr/src/gtest
Features:
SQLite3
Developer:
Enable Debugging: no
Google Tests: yes
Valgrind: found
C++ Code Coverage: no
Python Code Coverage: no
Logger checks: no
Generate Documentation: no
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/3107#comment:11>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list