diff --git a/Makefile.in b/Makefile.in index 69ce8e9b2..8d5c7ee83 100644 --- a/Makefile.in +++ b/Makefile.in @@ -358,10 +358,10 @@ unbound-control$(EXEEXT): $(CONTROL_OBJ_LINK) libunbound.la $(LINK) -o $@ $(CONTROL_OBJ_LINK) $(EXTRALINK) $(SSLLIB) $(LIBS) unbound-host$(EXEEXT): $(HOST_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(HOST_OBJ_LINK) -L. -L.libs -lunbound $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(HOST_OBJ_LINK) libunbound.la $(SSLLIB) $(LIBS) unbound-anchor$(EXEEXT): $(UBANCHOR_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(UBANCHOR_OBJ_LINK) -L. -L.libs -lunbound -lexpat $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(UBANCHOR_OBJ_LINK) libunbound.la -lexpat $(SSLLIB) $(LIBS) unbound-service-install$(EXEEXT): $(SVCINST_OBJ_LINK) $(LINK) -o $@ $(SVCINST_OBJ_LINK) $(LIBS) @@ -370,7 +370,7 @@ unbound-service-remove$(EXEEXT): $(SVCUNINST_OBJ_LINK) $(LINK) -o $@ $(SVCUNINST_OBJ_LINK) $(LIBS) anchor-update$(EXEEXT): $(ANCHORUPD_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(ANCHORUPD_OBJ_LINK) -L. -L.libs -lunbound $(LIBS) + $(LINK) -o $@ $(ANCHORUPD_OBJ_LINK) libunbound.la $(LIBS) unittest$(EXEEXT): $(UNITTEST_OBJ_LINK) $(LINK) -o $@ $(UNITTEST_OBJ_LINK) $(SSLLIB) $(LIBS) @@ -391,7 +391,7 @@ memstats$(EXEEXT): $(MEMSTATS_OBJ_LINK) $(LINK) -o $@ $(MEMSTATS_OBJ_LINK) $(SSLLIB) $(LIBS) asynclook$(EXEEXT): $(ASYNCLOOK_OBJ_LINK) libunbound.la - $(LINK) -o $@ $(ASYNCLOOK_OBJ_LINK) -L. -L.libs -lunbound $(SSLLIB) $(LIBS) + $(LINK) -o $@ $(ASYNCLOOK_OBJ_LINK) libunbound.la $(SSLLIB) $(LIBS) streamtcp$(EXEEXT): $(STREAMTCP_OBJ_LINK) $(LINK) -o $@ $(STREAMTCP_OBJ_LINK) $(SSLLIB) $(LIBS) @@ -468,7 +468,7 @@ libunbound/python/libunbound_wrap.c: $(srcdir)/libunbound/python/libunbound.i un # Pyunbound python unbound wrapper _unbound.la: libunbound_wrap.lo libunbound.la - $(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -module -avoid-version -no-undefined -shared -o $@ libunbound_wrap.lo -rpath $(PYTHON_SITE_PKG) -L. -L.libs -lunbound $(LIBS) + $(LIBTOOL) --tag=CC --mode=link $(CC) $(RUNTIME_PATH) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -module -avoid-version -no-undefined -shared -o $@ libunbound_wrap.lo -rpath $(PYTHON_SITE_PKG) libunbound.la $(LIBS) util/config_file.c: util/configparser.h util/configlexer.c: $(srcdir)/util/configlexer.lex util/configparser.h diff --git a/configure.ac b/configure.ac index efbdfe6aa..43286e2b9 100644 --- a/configure.ac +++ b/configure.ac @@ -1713,7 +1713,7 @@ case "$enable_allsymbols" in yes) COMMON_OBJ_ALL_SYMBOLS="" UBSYMS="" - EXTRALINK="-L. -L.libs -lunbound" + EXTRALINK="libunbound.la" AC_DEFINE(EXPORT_ALL_SYMBOLS, 1, [Define this if you enabled-allsymbols from libunbound to link binaries to it for smaller install size, but the libunbound export table is polluted by internal symbols]) ;; no|*) diff --git a/doc/Changelog b/doc/Changelog index d5412a2a0..c816b2e9d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,16 @@ +1 April 2021: Wouter + - Merge #460 from orbea: build: Link with the libtool archive. + +31 March 2021: George + - Clean makedist.sh. + +31 March 2021: Wouter + - Fix stack-protector change to not override other CFLAGS options. + +30 March 2021: George + - Disable the use of stack-protector for cross compiled 32-bit windows + builds; relates to #444. + 25 March 2021: Wouter - Fix #429: Also fix end of transfer for http download of auth zones. diff --git a/makedist.sh b/makedist.sh index 25cabe136..6b7e0a83d 100755 --- a/makedist.sh +++ b/makedist.sh @@ -362,31 +362,35 @@ if [ "$DOWIN" = "yes" ]; then file3_flag="--with-rootcert-file=C:\Program Files (x86)\Unbound\icannbundle.pem" version="$version"-w32 fi - echo "$configure"' --enable-debug --enable-static-exe --disable-flto '"$* $cross_flag "$file_flag" "$file2_flag" "$file3_flag"" if test "$W64" = "no"; then - $configure --enable-debug --enable-static-exe --disable-flto $* $cross_flag "$file_flag" "$file2_flag" "$file3_flag" \ - || error_cleanup "Could not configure" + # Disable stack-protector for 32-bit windows builds. + echo "$configure"' --enable-debug --enable-static-exe --disable-flto '"$* $cross_flag" "$file_flag" "$file2_flag" "$file3_flag" CFLAGS='-O2 -g -fno-stack-protector' + $configure --enable-debug --enable-static-exe --disable-flto $* $cross_flag "$file_flag" "$file2_flag" "$file3_flag" CFLAGS='-O2 -g -fno-stack-protector'\ + || error_cleanup "Could not configure" else - $configure --enable-debug --enable-static-exe --disable-flto $* $cross_flag \ - || error_cleanup "Could not configure" + echo "$configure"' --enable-debug --enable-static-exe --disable-flto '"$* $cross_flag" + $configure --enable-debug --enable-static-exe --disable-flto $* $cross_flag \ + || error_cleanup "Could not configure" fi info "Calling make" - make $MINJ || error_cleanup "Could not make" + make $MINJ || error_cleanup "Could not make" info "Make complete" if test "`uname`" = "Linux"; then info "Make DLL" cd ../unbound_shared - echo "$configure"' --enable-debug --disable-flto '"$* $shared_cross_flag "$file_flag" "$file2_flag" "$file3_flag"" if test "$W64" = "no"; then - $configure --enable-debug --disable-flto $* $shared_cross_flag "$file_flag" "$file2_flag" "$file3_flag" \ - || error_cleanup "Could not configure" + # Disable stack-protector for 32-bit windows builds. + echo "$configure"' --enable-debug --disable-flto '"$* $shared_cross_flag" "$file_flag" "$file2_flag" "$file3_flag" CFLAGS='-O2 -g -fno-stack-protector' + $configure --enable-debug --disable-flto $* $shared_cross_flag "$file_flag" "$file2_flag" "$file3_flag" CFLAGS='-O2 -g -fno-stack-protector'\ + || error_cleanup "Could not configure" else + echo "$configure"' --enable-debug --disable-flto '"$* $shared_cross_flag" $configure --enable-debug --disable-flto $* $shared_cross_flag \ - || error_cleanup "Could not configure" + || error_cleanup "Could not configure" fi info "Calling make for DLL" - make $MINJ || error_cleanup "Could not make DLL" + make $MINJ || error_cleanup "Could not make DLL" info "Make DLL complete" cd ../unbound fi @@ -413,7 +417,9 @@ if [ "$DOWIN" = "yes" ]; then mkdir libunbound cp ../../unbound_shared/unbound.h ../../unbound_shared/.libs/libunbound*.dll ../../unbound_shared/.libs/libunbound.dll.a ../../unbound_shared/.libs/libunbound.a ../../unbound_shared/.libs/libunbound*.def ../../sslsharedinstall/lib/libcrypto.dll.a ../../sslsharedinstall/lib/libssl.dll.a ../../sslsharedinstall/bin/libcrypto*.dll ../../sslsharedinstall/bin/libssl*.dll ../../wxpinstall/bin/libexpat*.dll ../../wxpinstall/lib/libexpat.dll.a libunbound/. if test "$W64" = "no"; then - cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libssp-0.dll libunbound/. + # Disable stack-protector for 32-bit windows builds. + # cp /usr/i686-w64-mingw32/sys-root/mingw/bin/libssp-0.dll libunbound/. + : else cp /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll libunbound/. fi