]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2757. [cleanup] Enable internal symbol table for backtrace only for
authorTatuya JINMEI 神明達哉 <jinmei@isc.org>
Wed, 11 Nov 2009 08:46:47 +0000 (08:46 +0000)
committerTatuya JINMEI 神明達哉 <jinmei@isc.org>
Wed, 11 Nov 2009 08:46:47 +0000 (08:46 +0000)
systems that are known to work.  Currently, BSD
variants, Linux and Solaris are supported. [RT# 20202]

9.7.0rc1

CHANGES
configure.in

diff --git a/CHANGES b/CHANGES
index f4c4583f3e15db84a2a319619d768220649388ab..0fa2895f28d2cc876d54f26424003cc641e927bc 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+2761.  [cleanup]       Enable internal symbol table for backtrace only for
+                       systems that are known to work.  Currently, BSD
+                       variants, Linux and Solaris are supported. [RT# 20202]
+
 2760.  [cleanup]       Corrected named-compilezone usage summary. [RT #20533]
 
 2759.  [doc]           Add information about .jbk/.jnw files to 
index c8b476c9e9bc0b415d13cffeb21ac66161b407c3..c36f43992d46425562b148012da54df9b8b8d7e6 100644 (file)
@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl
 esyscmd([sed "s/^/# /" COPYRIGHT])dnl
 AC_DIVERT_POP()dnl
 
-AC_REVISION($Revision: 1.488 $)
+AC_REVISION($Revision: 1.489 $)
 
 AC_INIT(lib/dns/name.c)
 AC_PREREQ(2.59)
@@ -1367,8 +1367,7 @@ AC_ARG_ENABLE(symtable,
                           [[all|minimal(default)|none]]],
                want_symtable="$enableval",  want_symtable="minimal")
 case $want_symtable in
-yes|all|minimal)
-       
+yes|all|minimal)     # "yes" is a hidden value equivalent to "minimal"
        if test "$PERL" = ""
        then
                AC_MSG_ERROR([Internal symbol table requires perl but no perl is found.
@@ -1377,10 +1376,23 @@ Install perl or explicitly disable the feature by --disable-symtable.])
        if test "$use_libtool" = "yes"; then
                AC_MSG_WARN([Internal symbol table does not work with libtool.  Disabling symbol table.])
        else
-               MKSYMTBL_PROGRAM="$PERL"
-               if test $want_symtable = all; then
-                       ALWAYS_MAKE_SYMTABLE="yes"
-               fi
+               # we generate the internal symbol table only for those systems
+               # known to work to avoid unexpected build failure.  Also, warn
+               # about unsupported systems when the feature is enabled
+               #  manually.
+               case $host_os in
+               freebsd*|netbsd*|openbsd*|linux*|solaris*|darwin*)
+                       MKSYMTBL_PROGRAM="$PERL"
+                       if test $want_symtable = all; then
+                               ALWAYS_MAKE_SYMTABLE="yes"
+                       fi
+                       ;;
+               *)
+                       if test $want_symtable = yes -o $want_symtable = all
+                       then
+                               AC_MSG_WARN([this system is not known to generate internal symbol table safely; disabling it])
+                       fi
+               esac
        fi
        ;;
 *)