From 5fa7195bd0cd8559c62ff62a812ee1f593cc0af7 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 17 Jul 2012 22:51:23 +0000 Subject: upgraded mingw build scripts and patches --- contrib/build-boost-mingw-cross.sh | 2 +- contrib/build-openssl-mingw-cross.sh | 8 ++++-- contrib/openssl-1.0.1c-configure.patch | 50 ++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 contrib/openssl-1.0.1c-configure.patch diff --git a/contrib/build-boost-mingw-cross.sh b/contrib/build-boost-mingw-cross.sh index 859f8e9..5379a3d 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.48.0 +BOOST=1.50.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 39f73eb..e2b47d8 100755 --- a/contrib/build-openssl-mingw-cross.sh +++ b/contrib/build-openssl-mingw-cross.sh @@ -1,12 +1,14 @@ #!/bin/sh -set -e -OPENSSL=openssl-1.0.0f +set -e +OPENSSL=openssl-1.0.1c BASE=`pwd` wget http://openssl.org/source/$OPENSSL.tar.gz -O - | tar xz cd $OPENSSL -patch -p1 < ../openssl-1.0.0f-configure.patch +if [ -e ../$OPENSSL\-configure.patch ]; then + patch -p1 < ../$OPENSSL\-configure.patch +fi ./config --cross-compile-prefix=x86_64-w64-mingw32- shared mingw64 --prefix=$BASE/openssl-w64/ make make install diff --git a/contrib/openssl-1.0.1c-configure.patch b/contrib/openssl-1.0.1c-configure.patch new file mode 100644 index 0000000..3684601 --- /dev/null +++ b/contrib/openssl-1.0.1c-configure.patch @@ -0,0 +1,50 @@ +diff -ur openssl-1.0.1c.orig/config openssl-1.0.1c/config +--- openssl-1.0.1c.orig/config 2011-11-14 22:12:53.000000000 +0100 ++++ openssl-1.0.1c/config 2012-07-18 00:29:49.145918677 +0200 +@@ -857,11 +857,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 -ur openssl-1.0.1c.orig/Configure openssl-1.0.1c/Configure +--- openssl-1.0.1c.orig/Configure 2012-03-14 23:20:40.000000000 +0100 ++++ openssl-1.0.1c/Configure 2012-07-18 00:25:25.278997860 +0200 +@@ -531,7 +531,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, +@@ -539,7 +539,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", +@@ -931,7 +931,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