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