]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- For crosscompile on windows, detect 64bit stackprotector library.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 21 Sep 2021 07:20:56 +0000 (09:20 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Tue, 21 Sep 2021 07:20:56 +0000 (09:20 +0200)
doc/Changelog
makedist.sh

index fac757c5f651d738469657efe5bec776a30d8988..59864127efc2af07cbcd4931a5c62d5c7156106f 100644 (file)
@@ -1,3 +1,6 @@
+21 September 2021: Wouter
+       - For crosscompile on windows, detect 64bit stackprotector library.
+
 20 September 2021: Wouter
        - Fix crosscompile on windows to work with openssl 3.0.0 the
          link with ws2_32 needs -l:libssp.a for __strcpy_chk.
index 341055d0fdf8040e3dfa368d1a77f14283b75ac8..cfe2d727ab8e2d68aca2a59ac44746943d3b1a1c 100755 (executable)
@@ -271,8 +271,18 @@ if [ "$DOWIN" = "yes" ]; then
                else
                        sslflags="no-asm -DOPENSSL_NO_CAPIENG mingw"
                fi
+               if test "$W64" = "yes" -a -f /usr/x86_64-w64-mingw32/sys-root/mingw/bin/libssp-0.dll; then
+                       # stack protector lib needs to link in to make
+                       # -lws2_32 work in openssl link stage
+                       SSPLIB="__CNF_LDLIBS=-l:libssp.a"
+               else
+                       # disable SSPLIB for 32bit or if no such file
+                       SSPLIB=""
+               fi
                info "winssl: Configure no-shared $sslflags"
-               __CNF_LDLIBS=-l:libssp.a CC=${warch}-w64-mingw32-gcc AR=${warch}-w64-mingw32-ar RANLIB=${warch}-w64-mingw32-ranlib WINDRES=${warch}-w64-mingw32-windres ./Configure --prefix="$sslinstall" no-shared $sslflags || error_cleanup "OpenSSL Configure failed"
+               set -x # echo the configure command
+               $SSPLIB CC=${warch}-w64-mingw32-gcc AR=${warch}-w64-mingw32-ar RANLIB=${warch}-w64-mingw32-ranlib WINDRES=${warch}-w64-mingw32-windres ./Configure --prefix="$sslinstall" no-shared $sslflags || error_cleanup "OpenSSL Configure failed"
+               set +x
                info "winssl: make"
                make $MINJ || error_cleanup "OpenSSL crosscompile failed"
                # only install sw not docs, which take a long time.
@@ -285,7 +295,9 @@ if [ "$DOWIN" = "yes" ]; then
                sslsharedinstall="`pwd`/sslsharedinstall"
                cd openssl_shared
                info "winssl: Configure shared $sslflags"
-               __CNF_LDLIBS=-l:libssp.a CC=${warch}-w64-mingw32-gcc AR=${warch}-w64-mingw32-ar RANLIB=${warch}-w64-mingw32-ranlib WINDRES=${warch}-w64-mingw32-windres ./Configure --prefix="$sslsharedinstall" shared $sslflags || error_cleanup "OpenSSL Configure failed"
+               set -x # echo the configure command
+               $SSPLIB CC=${warch}-w64-mingw32-gcc AR=${warch}-w64-mingw32-ar RANLIB=${warch}-w64-mingw32-ranlib WINDRES=${warch}-w64-mingw32-windres ./Configure --prefix="$sslsharedinstall" shared $sslflags || error_cleanup "OpenSSL Configure failed"
+               set +x
                info "winssl: make"
                make $MINJ || error_cleanup "OpenSSL crosscompile failed"
                info "winssl: make install_sw"