2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 13:38:26 +00:00

Remove configure option to compile without libtool

libtool is a requirement to use automake (see GL #4), so this commit
removes the ability to compile BIND 9 without libtool.
This commit is contained in:
Ondřej Surý 2020-03-10 13:46:42 +01:00
parent c463808992
commit 1628f5865a
9 changed files with 59 additions and 275 deletions

View File

@ -1143,30 +1143,6 @@ system:clang:openbsd6.6:amd64:
- schedules - schedules
- web - web
# Jobs with libtool disabled
nolibtool:sid:amd64:
variables:
CC: gcc
CFLAGS: "${CFLAGS_COMMON}"
EXTRA_CONFIGURE: "--with-libidn2 --without-libtool --with-dlopen"
<<: *debian_sid_amd64_image
<<: *build_job
system:nolibtool:sid:amd64:
<<: *debian_sid_amd64_image
<<: *system_test_job
dependencies:
- nolibtool:sid:amd64
needs: ["nolibtool:sid:amd64"]
unit:nolibtool:sid:amd64:
<<: *debian_sid_amd64_image
<<: *unit_test_job
dependencies:
- nolibtool:sid:amd64
needs: ["nolibtool:sid:amd64"]
# Jobs for Visual Studio 2017 builds on Windows (amd64) # Jobs for Visual Studio 2017 builds on Windows (amd64)
msvc:windows:amd64: msvc:windows:amd64:

View File

@ -116,19 +116,14 @@ backtrace_test_nosymtbl@EXEEXT@: ${srcdir}/backtrace_test.c ${ISCDEPLIBS}
backtrace_test@EXEEXT@: ${srcdir}/backtrace_test.c backtrace_test_nosymtbl@EXEEXT@ backtrace_test@EXEEXT@: ${srcdir}/backtrace_test.c backtrace_test_nosymtbl@EXEEXT@
#first step: create a first symbol table #first step: create a first symbol table
rm -f symtbl.c rm -f symtbl.c
if test X${MKSYMTBL_PROGRAM} != X; then \ cp ${top_srcdir}/lib/isc/backtrace-emptytbl.c symtbl.c
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \
backtrace_test_nosymtbl@EXEEXT@; else \
cp ${top_srcdir}/lib/isc/backtrace-emptytbl.c symtbl.c; fi
#second step: build a binary with the first symbol table #second step: build a binary with the first symbol table
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} \ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} \
-o $@0 ${srcdir}/backtrace_test.c symtbl.c \ -o $@0 ${srcdir}/backtrace_test.c symtbl.c \
${ISCNOSYMLIBS} ${LIBS} ${ISCNOSYMLIBS} ${LIBS}
rm -f symtbl.c rm -f symtbl.c
#third step: create a second symbol table #third step: create a second symbol table
if test X${MKSYMTBL_PROGRAM} != X; then \ cp ${top_srcdir}/lib/isc/backtrace-emptytbl.c symtbl.c
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl $@0; else \
cp ${top_srcdir}/lib/isc/backtrace-emptytbl.c symtbl.c; fi
#fourth step: build the final binary #fourth step: build the final binary
rm -f $@0 rm -f $@0
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} \ ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} \

View File

@ -559,9 +559,6 @@
non-blocking. */ non-blocking. */
#undef USE_FIONBIO_IOCTL #undef USE_FIONBIO_IOCTL
/* Define if libtool is used for compilation */
#undef USE_LIBTOOL
/* define if OpenSSL is used for Public-Key Cryptography */ /* define if OpenSSL is used for Public-Key Cryptography */
#undef USE_OPENSSL #undef USE_OPENSSL

117
configure vendored
View File

@ -710,6 +710,7 @@ DST_EXTRA_OBJS
USE_ISC_SPNEGO USE_ISC_SPNEGO
READLINE_LIB READLINE_LIB
BIND9_CO_RULE BIND9_CO_RULE
INSTALL_LIBRARY
LIBTOOL_MODE_UNINSTALL LIBTOOL_MODE_UNINSTALL
LIBTOOL_MODE_LINK LIBTOOL_MODE_LINK
LIBTOOL_MODE_INSTALL LIBTOOL_MODE_INSTALL
@ -745,7 +746,6 @@ PKCS11_TOOLS
PKCS11_TEST PKCS11_TEST
OPENSSL_LIBS OPENSSL_LIBS
OPENSSL_CFLAGS OPENSSL_CFLAGS
INSTALL_LIBRARY
ALWAYS_DEFINES ALWAYS_DEFINES
LIBUV_LIBS LIBUV_LIBS
LIBUV_CFLAGS LIBUV_CFLAGS
@ -907,7 +907,6 @@ with_geoip2
enable_geoip enable_geoip
with_maxminddb with_maxminddb
with_locktype with_locktype
with_libtool
enable_pthread_rwlock enable_pthread_rwlock
with_openssl with_openssl
enable_fips_mode enable_fips_mode
@ -1661,7 +1660,6 @@ Optional Packages:
--with-maxminddb=PATH Build with MaxMind GeoIP2 support (auto|yes|no|path) --with-maxminddb=PATH Build with MaxMind GeoIP2 support (auto|yes|no|path)
[default=auto] [default=auto]
--with-locktype=ARG Specify mutex lock type (adaptive or standard) --with-locktype=ARG Specify mutex lock type (adaptive or standard)
--with-libtool use GNU libtool
--with-openssl=DIR root of the OpenSSL directory --with-openssl=DIR root of the OpenSSL directory
--with-pkcs11=PATH Build with PKCS11 support [no|path] (PATH is for the --with-pkcs11=PATH Build with PKCS11 support [no|path] (PATH is for the
PKCS11 provider) PKCS11 provider)
@ -11938,6 +11936,9 @@ CC=$lt_save_CC
# Only expand once: # Only expand once:
if test -z "$LIBTOOL"; then :
as_fn_error $? "The libtool script could not be found." "$LINENO" 5
fi
# Find a good install program. We prefer a C program (faster), # Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or # so one script is as good as another. But avoid the broken or
# incompatible versions: # incompatible versions:
@ -15989,51 +15990,6 @@ done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libtool" >&5
$as_echo_n "checking for libtool... " >&6; }
# Check whether --with-libtool was given.
if test "${with_libtool+set}" = set; then :
withval=$with_libtool; use_libtool="$withval"
else
use_libtool="no"
fi
case $use_libtool in
yes)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
O=lo
A=la
LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
LIBTOOL_MODE_COMPILE='--mode=compile'
LIBTOOL_MODE_INSTALL='--mode=install'
LIBTOOL_MODE_LINK='--mode=link'
LIBTOOL_MODE_UNINSTALL='--mode=uninstall'
INSTALL_LIBRARY='${INSTALL_PROGRAM}'
$as_echo "#define USE_LIBTOOL 1" >>confdefs.h
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
O=o
A=a
LIBTOOL=
LIBTOOL_MKDEP_SED=
LIBTOOL_MODE_COMPILE=
LIBTOOL_MODE_INSTALL=
LIBTOOL_MODE_LINK=
LIBTOOL_MODE_UNINSTALL=
INSTALL_LIBRARY='${INSTALL_DATA}'
;;
esac
# #
# Do we want to use pthread rwlock? # Do we want to use pthread rwlock?
# #
@ -18766,7 +18722,16 @@ fi
# File name extension for static archive files, for those few places # File name extension for static archive files, for those few places
# where they are treated differently from dynamic ones. # where they are treated differently from dynamic ones.
# #
O=lo
A=la
SA=a SA=a
LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
LIBTOOL_MODE_COMPILE='--mode=compile'
LIBTOOL_MODE_INSTALL='--mode=install'
LIBTOOL_MODE_LINK='--mode=link'
LIBTOOL_MODE_UNINSTALL='--mode=uninstall'
INSTALL_LIBRARY='${INSTALL_PROGRAM}'
@ -22291,47 +22256,21 @@ if test "$with_dlopen" = "yes"; then :
LDFLAGS="${LDFLAGS} -Wl,--export-dynamic" LDFLAGS="${LDFLAGS} -Wl,--export-dynamic"
SO_CFLAGS="-fPIC" SO_CFLAGS="-fPIC"
SO_LDFLAGS="" SO_LDFLAGS=""
if test "$use_libtool" = "yes"; then : SO_LDFLAGS="-Xcompiler -shared"
SO_LD="${CC}"
SO_LDFLAGS="-Xcompiler -shared"
SO_LD="${CC}"
else
SO_LDFLAGS="-shared"
SO_LD="${CC}"
fi
;; #( ;; #(
*-freebsd*|*-openbsd*|*-netbsd*) : *-freebsd*|*-openbsd*|*-netbsd*) :
LDFLAGS="${LDFLAGS} -Wl,-E" LDFLAGS="${LDFLAGS} -Wl,-E"
SO_CFLAGS="-fpic" SO_CFLAGS="-fpic"
if test "$use_libtool" = "yes"; then : SO_LDFLAGS="-Xcompiler -shared"
SO_LD="${CC}"
SO_LDFLAGS="-Xcompiler -shared"
SO_LD="${CC}"
else
SO_LDFLAGS="-shared"
SO_LD="${CC}"
fi
;; #( ;; #(
*-darwin*) : *-darwin*) :
SO_CFLAGS="-fPIC" SO_CFLAGS="-fPIC"
SO_LD="${CC}" SO_LD="${CC}"
if test "$use_libtool" = "yes"; then : SO_LDFLAGS="-Xcompiler -dynamiclib -undefined dynamic_lookup"
SO_LDFLAGS="-Xcompiler -dynamiclib -undefined dynamic_lookup"
else
SO_LDFLAGS="-dynamiclib -undefined dynamic_lookup"
fi
;; #( ;; #(
*-solaris*) : *-solaris*) :
@ -22351,20 +22290,10 @@ fi
;; ;;
esac esac
if test "$GCC" = "yes"; then : if test "$GCC" = "yes"; then :
SO_CFLAGS="-fPIC"
SO_CFLAGS="-fPIC" if test -z "$SO_LD"; then :
if test -z "$SO_LD"; then : SO_LDFLAGS="-Xcompiler -shared"
if test "$use_libtool" = "yes"; then : SO_LD="${CC}"
SO_LDFLAGS="-Xcompiler -shared"
SO_LD="${CC}"
else
SO_LDFLAGS="-shared"
SO_LD="${CC}"
fi
fi fi
@ -25990,7 +25919,6 @@ report() {
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)" echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
test "yes" = "$enable_backtrace" && \ test "yes" = "$enable_backtrace" && \
echo " Print backtrace on crash (--enable-backtrace)" echo " Print backtrace on crash (--enable-backtrace)"
test "no" = "$use_libtool" || echo " Use GNU libtool (--with-libtool)"
test "yes" = "$want_querytrace" && \ test "yes" = "$want_querytrace" && \
echo " Very verbose query trace logging (--enable-querytrace)" echo " Very verbose query trace logging (--enable-querytrace)"
test "no" = "$with_cmocka" || echo " CMocka Unit Testing Framework (--with-cmocka)" test "no" = "$with_cmocka" || echo " CMocka Unit Testing Framework (--with-cmocka)"
@ -26047,7 +25975,6 @@ report() {
test "yes" = "$want_querytrace" || \ test "yes" = "$want_querytrace" || \
echo " Very verbose query trace logging (--enable-querytrace)" echo " Very verbose query trace logging (--enable-querytrace)"
test "yes" = "$use_libtool" || echo " Use GNU libtool (--with-libtool)"
test "no" = "$with_cmocka" && echo " CMocka Unit Testing Framework (--with-cmocka)" test "no" = "$with_cmocka" && echo " CMocka Unit Testing Framework (--with-cmocka)"
test "X$PYTHON" = "X" && echo " Python tools (--with-python)" test "X$PYTHON" = "X" && echo " Python tools (--with-python)"

View File

@ -45,6 +45,8 @@ AC_DEFINE([__APPLE_USE_RFC_3542], [1], [Select RFC3542 IPv6 API on macOS])
AC_PROG_MAKE_SET AC_PROG_MAKE_SET
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
AS_IF([test -z "$LIBTOOL"],
[AC_MSG_ERROR([The libtool script could not be found.])])
AC_PROG_INSTALL AC_PROG_INSTALL
AC_PROG_LN_S AC_PROG_LN_S
AX_POSIX_SHELL AX_POSIX_SHELL
@ -680,40 +682,6 @@ AC_CHECK_FUNCS([sysconf])
AC_SUBST(ALWAYS_DEFINES) AC_SUBST(ALWAYS_DEFINES)
AC_MSG_CHECKING(for libtool)
AC_ARG_WITH(libtool, AS_HELP_STRING([--with-libtool], [use GNU libtool]),
use_libtool="$withval", use_libtool="no")
case $use_libtool in
yes)
AC_MSG_RESULT(yes)
AM_PROG_LIBTOOL
O=lo
A=la
LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
LIBTOOL_MODE_COMPILE='--mode=compile'
LIBTOOL_MODE_INSTALL='--mode=install'
LIBTOOL_MODE_LINK='--mode=link'
LIBTOOL_MODE_UNINSTALL='--mode=uninstall'
INSTALL_LIBRARY='${INSTALL_PROGRAM}'
AC_DEFINE([USE_LIBTOOL],[1],[Define if libtool is used for compilation])
;;
*)
AC_MSG_RESULT(no)
O=o
A=a
LIBTOOL=
AC_SUBST(LIBTOOL)
LIBTOOL_MKDEP_SED=
LIBTOOL_MODE_COMPILE=
LIBTOOL_MODE_INSTALL=
LIBTOOL_MODE_LINK=
LIBTOOL_MODE_UNINSTALL=
INSTALL_LIBRARY='${INSTALL_DATA}'
;;
esac
AC_SUBST(INSTALL_LIBRARY)
# #
# Do we want to use pthread rwlock? # Do we want to use pthread rwlock?
# #
@ -1479,7 +1447,15 @@ AS_IF([test "$enable_backtrace" = "yes"],
# File name extension for static archive files, for those few places # File name extension for static archive files, for those few places
# where they are treated differently from dynamic ones. # where they are treated differently from dynamic ones.
# #
O=lo
A=la
SA=a SA=a
LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
LIBTOOL_MODE_COMPILE='--mode=compile'
LIBTOOL_MODE_INSTALL='--mode=install'
LIBTOOL_MODE_LINK='--mode=link'
LIBTOOL_MODE_UNINSTALL='--mode=uninstall'
INSTALL_LIBRARY='${INSTALL_PROGRAM}'
AC_SUBST(O) AC_SUBST(O)
AC_SUBST(A) AC_SUBST(A)
@ -1489,6 +1465,7 @@ AC_SUBST(LIBTOOL_MODE_COMPILE)
AC_SUBST(LIBTOOL_MODE_INSTALL) AC_SUBST(LIBTOOL_MODE_INSTALL)
AC_SUBST(LIBTOOL_MODE_LINK) AC_SUBST(LIBTOOL_MODE_LINK)
AC_SUBST(LIBTOOL_MODE_UNINSTALL) AC_SUBST(LIBTOOL_MODE_UNINSTALL)
AC_SUBST(INSTALL_LIBRARY)
BIND9_CO_RULE=".c.$O:" BIND9_CO_RULE=".c.$O:"
AC_SUBST(BIND9_CO_RULE) AC_SUBST(BIND9_CO_RULE)
@ -2398,33 +2375,19 @@ AS_IF([test "$with_dlopen" = "yes"],
LDFLAGS="${LDFLAGS} -Wl,--export-dynamic" LDFLAGS="${LDFLAGS} -Wl,--export-dynamic"
SO_CFLAGS="-fPIC" SO_CFLAGS="-fPIC"
SO_LDFLAGS="" SO_LDFLAGS=""
AS_IF([test "$use_libtool" = "yes"],[ SO_LDFLAGS="-Xcompiler -shared"
SO_LDFLAGS="-Xcompiler -shared" SO_LD="${CC}"
SO_LD="${CC}"
],[
SO_LDFLAGS="-shared"
SO_LD="${CC}"
])
], ],
[*-freebsd*|*-openbsd*|*-netbsd*],[ [*-freebsd*|*-openbsd*|*-netbsd*],[
LDFLAGS="${LDFLAGS} -Wl,-E" LDFLAGS="${LDFLAGS} -Wl,-E"
SO_CFLAGS="-fpic" SO_CFLAGS="-fpic"
AS_IF([test "$use_libtool" = "yes"],[ SO_LDFLAGS="-Xcompiler -shared"
SO_LDFLAGS="-Xcompiler -shared" SO_LD="${CC}"
SO_LD="${CC}"
],[
SO_LDFLAGS="-shared"
SO_LD="${CC}"
])
], ],
[*-darwin*],[ [*-darwin*],[
SO_CFLAGS="-fPIC" SO_CFLAGS="-fPIC"
SO_LD="${CC}" SO_LD="${CC}"
AS_IF([test "$use_libtool" = "yes"],[ SO_LDFLAGS="-Xcompiler -dynamiclib -undefined dynamic_lookup"
SO_LDFLAGS="-Xcompiler -dynamiclib -undefined dynamic_lookup"
],[
SO_LDFLAGS="-dynamiclib -undefined dynamic_lookup"
])
], ],
[*-solaris*],[ [*-solaris*],[
SO_CFLAGS="-KPIC" SO_CFLAGS="-KPIC"
@ -2439,17 +2402,12 @@ AS_IF([test "$with_dlopen" = "yes"],
[ [
SO_CFLAGS="-fPIC" SO_CFLAGS="-fPIC"
]) ])
AS_IF([test "$GCC" = "yes"],[ AS_IF([test "$GCC" = "yes"],
SO_CFLAGS="-fPIC" [SO_CFLAGS="-fPIC"
AS_IF([test -z "$SO_LD"], AS_IF([test -z "$SO_LD"],
[AS_IF([test "$use_libtool" = "yes"],[ [SO_LDFLAGS="-Xcompiler -shared"
SO_LDFLAGS="-Xcompiler -shared" SO_LD="${CC}"
SO_LD="${CC}" ])
],[
SO_LDFLAGS="-shared"
SO_LD="${CC}"
])
])
]) ])
# If we still don't know how to make shared objects, don't make any. # If we still don't know how to make shared objects, don't make any.
AS_IF([test -n "$SO_LD"], AS_IF([test -n "$SO_LD"],
@ -2902,7 +2860,6 @@ report() {
echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)" echo " Allow 'fixed' rrset-order (--enable-fixed-rrset)"
test "yes" = "$enable_backtrace" && \ test "yes" = "$enable_backtrace" && \
echo " Print backtrace on crash (--enable-backtrace)" echo " Print backtrace on crash (--enable-backtrace)"
test "no" = "$use_libtool" || echo " Use GNU libtool (--with-libtool)"
test "yes" = "$want_querytrace" && \ test "yes" = "$want_querytrace" && \
echo " Very verbose query trace logging (--enable-querytrace)" echo " Very verbose query trace logging (--enable-querytrace)"
test "no" = "$with_cmocka" || echo " CMocka Unit Testing Framework (--with-cmocka)" test "no" = "$with_cmocka" || echo " CMocka Unit Testing Framework (--with-cmocka)"
@ -2959,7 +2916,6 @@ report() {
test "yes" = "$want_querytrace" || \ test "yes" = "$want_querytrace" || \
echo " Very verbose query trace logging (--enable-querytrace)" echo " Very verbose query trace logging (--enable-querytrace)"
test "yes" = "$use_libtool" || echo " Use GNU libtool (--with-libtool)"
test "no" = "$with_cmocka" && echo " CMocka Unit Testing Framework (--with-cmocka)" test "no" = "$with_cmocka" && echo " CMocka Unit Testing Framework (--with-cmocka)"
test "X$PYTHON" = "X" && echo " Python tools (--with-python)" test "X$PYTHON" = "X" && echo " Python tools (--with-python)"

View File

@ -38,7 +38,6 @@
#include "nstest.h" #include "nstest.h"
#if defined(USE_LIBTOOL) || LD_WRAP
static int static int
_setup(void **state) { _setup(void **state) {
isc_result_t result; isc_result_t result;
@ -139,20 +138,15 @@ notify_start(void **state) {
ns_test_cleanup_zone(); ns_test_cleanup_zone();
isc_nmhandle_unref(client->handle); isc_nmhandle_unref(client->handle);
} }
#endif /* if defined(USE_LIBTOOL) || LD_WRAP */
int int
main(void) { main(void) {
#if defined(USE_LIBTOOL) || LD_WRAP
const struct CMUnitTest tests[] = { const struct CMUnitTest tests[] = {
cmocka_unit_test_setup_teardown(notify_start, _setup, cmocka_unit_test_setup_teardown(notify_start, _setup,
_teardown), _teardown),
}; };
return (cmocka_run_group_tests(tests, NULL, NULL)); return (cmocka_run_group_tests(tests, NULL, NULL));
#else /* if defined(USE_LIBTOOL) || LD_WRAP */
print_message("1..0 # Skip notify_test requires libtool or LD_WRAP\n");
#endif /* if defined(USE_LIBTOOL) || LD_WRAP */
} }
#else /* HAVE_CMOCKA && !__SANITIZE_ADDRESS__ */ #else /* HAVE_CMOCKA && !__SANITIZE_ADDRESS__ */

View File

@ -34,7 +34,6 @@
#include "nstest.h" #include "nstest.h"
#if defined(USE_LIBTOOL) || LD_WRAP
static int static int
_setup(void **state) { _setup(void **state) {
isc_result_t result; isc_result_t result;
@ -600,11 +599,9 @@ ns__query_start_test(void **state) {
run_start_test(&tests[i]); run_start_test(&tests[i]);
} }
} }
#endif /* if defined(USE_LIBTOOL) || LD_WRAP */
int int
main(void) { main(void) {
#if defined(USE_LIBTOOL) || LD_WRAP
const struct CMUnitTest tests[] = { const struct CMUnitTest tests[] = {
cmocka_unit_test_setup_teardown(ns__query_sfcache_test, _setup, cmocka_unit_test_setup_teardown(ns__query_sfcache_test, _setup,
_teardown), _teardown),
@ -613,9 +610,6 @@ main(void) {
}; };
return (cmocka_run_group_tests(tests, NULL, NULL)); return (cmocka_run_group_tests(tests, NULL, NULL));
#else /* if defined(USE_LIBTOOL) || LD_WRAP */
print_message("1..0 # Skip query_test requires libtool or LD_WRAP\n");
#endif /* if defined(USE_LIBTOOL) || LD_WRAP */
} }
#else /* HAVE_CMOCKA && !__SANITIZE_ADDRESS__ */ #else /* HAVE_CMOCKA && !__SANITIZE_ADDRESS__ */

View File

@ -206,46 +206,8 @@ MKDEP = ${SHELL} ${top_builddir}/make/mkdep
### ${FINALBUILDCMD} ### ${FINALBUILDCMD}
### See bin/check/Makefile.in for a complete example of the use of LIBS0. ### See bin/check/Makefile.in for a complete example of the use of LIBS0.
### ###
FINALBUILDCMD = if [ X"${MKSYMTBL_PROGRAM}" = X -o X"$${MAKE_SYMTABLE:-${ALWAYS_MAKE_SYMTABLE}}" = X ] ; then \ FINALBUILDCMD = ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} ${LDFLAGS} \
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} ${LDFLAGS} \
-o $@ $${BASEOBJS} $${LIBS0} ${LIBS}; \ -o $@ $${BASEOBJS} $${LIBS0} ${LIBS}; \
else \
rm -f $@tmp0; \
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} ${LDFLAGS} \
-o $@tmp0 $${BASEOBJS} $${LIBS0} ${LIBS} || exit 1; \
rm -f $@-symtbl.c $@-symtbl.@O@; \
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \
-o $@-symtbl.c $@tmp0 || exit 1; \
$(MAKE) $@-symtbl.@O@ || exit 1; \
rm -f $@tmp1; \
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} ${LDFLAGS} \
-o $@tmp1 $${BASEOBJS} $@-symtbl.@O@ $${LIBS0} ${NOSYMLIBS} || exit 1; \
rm -f $@-symtbl.c $@-symtbl.@O@; \
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \
-o $@-symtbl.c $@tmp1 || exit 1; \
$(MAKE) $@-symtbl.@O@ || exit 1; \
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} ${LDFLAGS} \
-o $@tmp2 $${BASEOBJS} $@-symtbl.@O@ $${LIBS0} ${NOSYMLIBS}; \
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \
-o $@-symtbl2.c $@tmp2; \
count=0; \
until diff $@-symtbl.c $@-symtbl2.c > /dev/null ; \
do \
count=`expr $$count + 1` ; \
test $$count = 42 && exit 1 ; \
rm -f $@-symtbl.c $@-symtbl.@O@; \
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \
-o $@-symtbl.c $@tmp2 || exit 1; \
$(MAKE) $@-symtbl.@O@ || exit 1; \
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} \
${LDFLAGS} -o $@tmp2 $${BASEOBJS} $@-symtbl.@O@ \
$${LIBS0} ${NOSYMLIBS}; \
${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \
-o $@-symtbl2.c $@tmp2; \
done ; \
mv $@tmp2 $@; \
rm -f $@tmp0 $@tmp1 $@tmp2 $@-symtbl2.c; \
fi
cleandir: distclean cleandir: distclean
superclean: maintainer-clean superclean: maintainer-clean
@ -333,16 +295,6 @@ DBLATEX = @DBLATEX@
W3M = @W3M@ W3M = @W3M@
PANDOC = @PANDOC@ PANDOC = @PANDOC@
###
### Script language program used to create internal symbol tables
###
MKSYMTBL_PROGRAM = @MKSYMTBL_PROGRAM@
###
### Switch to create internal symbol table selectively
###
ALWAYS_MAKE_SYMTABLE = @ALWAYS_MAKE_SYMTABLE@
### ###
### DocBook -> HTML ### DocBook -> HTML
### DocBook -> man page ### DocBook -> man page

View File

@ -38,25 +38,18 @@ then
# show backtrace via gdb(1). # show backtrace via gdb(1).
broken_tests=$(kyua_report | awk '$2 == "->" && ( $3 == "broken:" || $3 == "failed:" ) { print $1 }') broken_tests=$(kyua_report | awk '$2 == "->" && ( $3 == "broken:" || $3 == "failed:" ) { print $1 }')
if [ -n "${CI}" ] && [ "$(id -u)" -eq 0 ] && [ -n "${broken_tests}" ] && [ -n "${GDB}" ]; then if [ -n "${CI}" ] && [ "$(id -u)" -eq 0 ] && [ -n "${broken_tests}" ] && [ -n "${GDB}" ]; then
if grep '^#define USE_LIBTOOL 1$' "${TOP}/config.h" >/dev/null; then # kyua debug command misidentifies broken binary when libtool is used
# kyua debug command misidentifies broken binary when libtool is used # to configure BIND (see https://github.com/jmmv/kyua/issues/207).
# to configure BIND (see https://github.com/jmmv/kyua/issues/207). # Here we try "trick" kyua use our custom gdb script instead
# Here we try "trick" kyua use our custom gdb script instead # of using gdb(1) directly. That's why this part needs to be run as root
# of using gdb(1) directly. That's why this part needs to be run as root # and, for safety reasons, only in the CI.
# and, for safety reasons, only in the CI. mv "${GDB}" "${GDB}.orig"
mv "${GDB}" "${GDB}.orig" cp "${TOP}/unit/gdb" "${GDB}"
cp "${TOP}/unit/gdb" "${GDB}" for test in ${broken_tests}; do
for test in ${broken_tests}; do echo
echo ${KYUA} debug "${test}"
${KYUA} debug "${test}" done
done mv "${GDB}.orig" "${GDB}"
mv "${GDB}.orig" "${GDB}"
else
for test in ${broken_tests}; do
echo
${KYUA} debug "${test}"
done
fi
fi fi
if [ "${status}" -eq 0 ] if [ "${status}" -eq 0 ]