From ca32c26672f92132e3bfcb54e4e6253ea676b866 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 3 Jul 2016 12:30:56 +0200 Subject: fixed win build scripts --- contrib/build-boost-mingw-cross.sh | 2 +- contrib/build-openssl-mingw-cross.sh | 2 +- contrib/make-mingw-release.sh | 8 +++--- contrib/openssl-1.0.2h-configure.patch | 50 ++++++++++++++++++++++++++++++++++ 4 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 contrib/openssl-1.0.2h-configure.patch diff --git a/contrib/build-boost-mingw-cross.sh b/contrib/build-boost-mingw-cross.sh index 5ca49e7..b340447 100755 --- a/contrib/build-boost-mingw-cross.sh +++ b/contrib/build-boost-mingw-cross.sh @@ -1,6 +1,6 @@ #!/bin/sh set -e -BOOST=1.55.0 +BOOST=1.58.0 BOOST_DASH=`echo $BOOST | perl -ne 's/\./_/g; print'` echo $BOOST_DASH diff --git a/contrib/build-openssl-mingw-cross.sh b/contrib/build-openssl-mingw-cross.sh index 7e165b1..4c00f5d 100755 --- a/contrib/build-openssl-mingw-cross.sh +++ b/contrib/build-openssl-mingw-cross.sh @@ -1,6 +1,6 @@ #!/bin/sh set -e -OPENSSL=openssl-1.0.1h +OPENSSL=openssl-1.0.2h BASE=`pwd` wget http://openssl.org/source/$OPENSSL.tar.gz -O - | tar xz diff --git a/contrib/make-mingw-release.sh b/contrib/make-mingw-release.sh index 5a1d29f..4df517a 100755 --- a/contrib/make-mingw-release.sh +++ b/contrib/make-mingw-release.sh @@ -4,11 +4,11 @@ VER=`cat ../version` for target in w32 w64; do if [ "$target" = "w32" ]; then - LIBGCC_DLL=/usr/lib/gcc/i686-w64-mingw32/`i686-w64-mingw32-g++ -dumpversion`/libgcc_s_sjlj-1.dll - LIBSTDCPP_DLL=/usr/lib/gcc/i686-w64-mingw32/`i686-w64-mingw32-g++ -dumpversion`/libstdc++-6.dll + LIBGCC_DLL=/usr/lib/gcc/i686-w64-mingw32/`i686-w64-mingw32-g++ -dumpversion | sed 's/^\([0-9]*\.[0-9]*\).*/\1-win32/'`/libgcc_s_sjlj-1.dll + LIBSTDCPP_DLL=/usr/lib/gcc/i686-w64-mingw32/`i686-w64-mingw32-g++ -dumpversion | sed 's/^\([0-9]*\.[0-9]*\).*/\1-win32/'`/libstdc++-6.dll else - LIBGCC_DLL=/usr/lib/gcc/i686-w64-mingw32/`i686-w64-mingw32-g++ -dumpversion`/libgcc_s_sjlj-1.dll - LIBSTDCPP_DLL=/usr/lib/gcc/i686-w64-mingw32/`i686-w64-mingw32-g++ -dumpversion`/libstdc++-6.dll + LIBGCC_DLL=/usr/lib/gcc/x86_64-w64-mingw32/`x86_64-w64-mingw32-g++ -dumpversion | sed 's/^\([0-9]*\.[0-9]*\).*/\1-win32/'`/libgcc_s_seh-1.dll + LIBSTDCPP_DLL=/usr/lib/gcc/x86_64-w64-mingw32/`x86_64-w64-mingw32-g++ -dumpversion | sed 's/^\([0-9]*\.[0-9]*\).*/\1-win32/'`/libstdc++-6.dll fi mkdir anytun-$VER-$target cp anytun-$target/*.exe anytun-$VER-$target diff --git a/contrib/openssl-1.0.2h-configure.patch b/contrib/openssl-1.0.2h-configure.patch new file mode 100644 index 0000000..11aa260 --- /dev/null +++ b/contrib/openssl-1.0.2h-configure.patch @@ -0,0 +1,50 @@ +diff -Nur openssl-1.0.2h.orig/config openssl-1.0.2h/config +--- openssl-1.0.2h.orig/config 2016-05-03 15:44:42.000000000 +0200 ++++ openssl-1.0.2h/config 2016-07-03 12:17:28.705241215 +0200 +@@ -877,11 +877,11 @@ + # options="$options -DATALLA" + #fi + +-if expr "$options" : '.*no\-asm' > /dev/null; then :; else +- sh -c "$CROSS_COMPILE${CC:-gcc} -Wa,--help -c -o /tmp/null.$$.o -x assembler /dev/null && rm /tmp/null.$$.o" 2>&1 | \ +- grep \\--noexecstack >/dev/null && \ +- options="$options -Wa,--noexecstack" +-fi ++#if expr "$options" : '.*no\-asm' > /dev/null; then :; else ++# sh -c "$CROSS_COMPILE${CC:-gcc} -Wa,--help -c -o /tmp/null.$$.o -x assembler /dev/null && rm /tmp/null.$$.o" 2>&1 | \ ++# grep \\--noexecstack >/dev/null && \ ++# options="$options -Wa,--noexecstack" ++#fi + + # gcc < 2.8 does not support -march=ultrasparc + if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ] +diff -Nur openssl-1.0.2h.orig/Configure openssl-1.0.2h/Configure +--- openssl-1.0.2h.orig/Configure 2016-05-03 15:44:42.000000000 +0200 ++++ openssl-1.0.2h/Configure 2016-07-03 12:17:28.705241215 +0200 +@@ -599,7 +599,7 @@ + "BC-32","bcc32::::WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:win32", + + # MinGW +-"mingw", "gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall::-D_MT:MINGW32:-lws2_32 -lgdi32 -lcrypt32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_asm}:coff:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a", ++"mingw", "gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall::-D_MT:MINGW32:-lws2_32 -lgdi32 -lcrypt32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_asm}:coff:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin -Wl,--export-all -shared:.dll.a", + # As for OPENSSL_USE_APPLINK. Applink makes it possible to use .dll + # compiled with one compiler with application compiled with another + # compiler. It's possible to engage Applink support in mingw64 build, +@@ -607,7 +607,7 @@ + # handling, one can't seriously consider its binaries for using with + # non-mingw64 run-time environment. And as mingw64 is always consistent + # with itself, Applink is never engaged and can as well be omitted. +-"mingw64", "gcc:-mno-cygwin -DL_ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE::-D_MT:MINGW64:-lws2_32 -lgdi32 -lcrypt32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${x86_64_asm}:mingw64:win32:cygwin-shared:-D_WINDLL:-mno-cygwin:.dll.a", ++"mingw64", "gcc:-mno-cygwin -DL_ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE::-D_MT:MINGW64:-lws2_32 -lgdi32 -lcrypt32:SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:${x86_64_asm}:mingw64:win32:cygwin-shared:-D_WINDLL:-mno-cygwin -Wl,--export-all -shared:.dll.a", + + # UWIN + "UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32", +@@ -1005,7 +1005,7 @@ + } + else + { +- die "target already defined - $target (offending arg: $_)\n" if ($target ne ""); ++ #die "target already defined - $target (offending arg: $_)\n" if ($target ne ""); + $target=$_; + } + -- cgit v1.2.3