summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-07-12 04:10:48 +0000
committerMike Frysinger <vapier@gentoo.org>2011-07-12 04:10:48 +0000
commit4144fe346bb5c8a233b73f99ac88d5a6afb597a1 (patch)
treeaf541a6dd407460d68685e82e80302615bd4cbfb /dev-libs/openssl
parentuse -c rather than -S when testing flags so that we can check for assembler f... (diff)
downloadgentoo-2-4144fe346bb5c8a233b73f99ac88d5a6afb597a1.tar.gz
gentoo-2-4144fe346bb5c8a233b73f99ac88d5a6afb597a1.tar.bz2
gentoo-2-4144fe346bb5c8a233b73f99ac88d5a6afb597a1.zip
Add more mingw support -- respect RC/WINDRES settings, check ming64 hosts, and only use --noexecstack if the toolchain supports it #373743 by Bertrand Jacquin.
(Portage version: 2.2.0_alpha43/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/openssl')
-rw-r--r--dev-libs/openssl/ChangeLog8
-rwxr-xr-xdev-libs/openssl/files/gentoo.config-1.0.023
-rw-r--r--dev-libs/openssl/files/openssl-1.0.0d-windres.patch69
-rw-r--r--dev-libs/openssl/openssl-1.0.0d.ebuild7
4 files changed, 92 insertions, 15 deletions
diff --git a/dev-libs/openssl/ChangeLog b/dev-libs/openssl/ChangeLog
index fff541c8c1f4..5c1cd5b3040b 100644
--- a/dev-libs/openssl/ChangeLog
+++ b/dev-libs/openssl/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/openssl
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.398 2011/07/07 23:50:26 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/ChangeLog,v 1.399 2011/07/12 04:10:48 vapier Exp $
+
+ 12 Jul 2011; Mike Frysinger <vapier@gentoo.org> files/gentoo.config-1.0.0,
+ openssl-1.0.0d.ebuild, +files/openssl-1.0.0d-windres.patch:
+ Add more mingw support -- respect RC/WINDRES settings, check ming64 hosts,
+ and only use --noexecstack if the toolchain supports it #373743 by Bertrand
+ Jacquin.
07 Jul 2011; Alexis Ballier <aballier@gentoo.org> openssl-1.0.0d.ebuild,
+files/openssl-1.0.0d-fbsd-amd64.patch:
diff --git a/dev-libs/openssl/files/gentoo.config-1.0.0 b/dev-libs/openssl/files/gentoo.config-1.0.0
index e7dd012f7ed2..61cf89d84c1a 100755
--- a/dev-libs/openssl/files/gentoo.config-1.0.0
+++ b/dev-libs/openssl/files/gentoo.config-1.0.0
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-1.0.0,v 1.2 2011/07/05 07:01:04 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/files/gentoo.config-1.0.0,v 1.3 2011/07/12 04:10:48 vapier Exp $
#
# Openssl doesn't play along nicely with cross-compiling
# like autotools based projects, so let's teach it new tricks.
@@ -54,15 +54,16 @@ fi
# Detect the operating system
case ${CHOST} in
- *-aix*) system="aix";;
- *-darwin*) system="darwin";;
- *-freebsd*) system="BSD";;
- *-hpux*) system="hpux";;
- *-linux*) system="linux";;
- *-solaris*) system="solaris";;
- *-winnt*) system="winnt";;
- *mingw*) system="mingw";;
- *) exit 0;;
+ *-aix*) system="aix";;
+ *-darwin*) system="darwin";;
+ *-freebsd*) system="BSD";;
+ *-hpux*) system="hpux";;
+ *-linux*) system="linux";;
+ *-solaris*) system="solaris";;
+ *-winnt*) system="winnt";;
+ x86_64-*-mingw*) system="mingw64";;
+ *mingw*) system="mingw";;
+ *) exit 0;;
esac
@@ -145,7 +146,7 @@ solaris)
winnt)
machine=parity
;;
-mingw)
+mingw*)
# special case ... no xxx-yyy style name
echo ${system}
;;
diff --git a/dev-libs/openssl/files/openssl-1.0.0d-windres.patch b/dev-libs/openssl/files/openssl-1.0.0d-windres.patch
new file mode 100644
index 000000000000..2fdd3305319b
--- /dev/null
+++ b/dev-libs/openssl/files/openssl-1.0.0d-windres.patch
@@ -0,0 +1,69 @@
+Index: Configure
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/Configure,v
+retrieving revision 1.621.2.40
+diff -u -p -r1.621.2.40 Configure
+--- Configure 30 Nov 2010 22:19:26 -0000 1.621.2.40
++++ Configure 4 Jul 2011 23:12:32 -0000
+@@ -1094,6 +1094,7 @@ my $shared_extension = $fields[$idx_shar
+ my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
+ my $ar = $ENV{'AR'} || "ar";
+ my $arflags = $fields[$idx_arflags];
++my $windres = $ENV{'RC'} || $ENV{'WINDRES'} || "windres";
+ my $multilib = $fields[$idx_multilib];
+
+ # if $prefix/lib$multilib is not an existing directory, then
+@@ -1511,12 +1512,14 @@ while (<IN>)
+ s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/;
+ s/^NM=\s*/NM= \$\(CROSS_COMPILE\)/;
+ s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/;
++ s/^WINDRES=\s*/WINDRES= \$\(CROSS_COMPILE\)/;
+ s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE\)$cc/ if $cc eq "gcc";
+ }
+ else {
+ s/^CC=.*$/CC= $cc/;
+ s/^AR=\s*ar/AR= $ar/;
+ s/^RANLIB=.*/RANLIB= $ranlib/;
++ s/^WINDRES=.*/WINDRES= $windres/;
+ s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
+ }
+ s/^CFLAG=.*$/CFLAG= $cflags/;
+Index: Makefile.org
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.org,v
+retrieving revision 1.295.2.10
+diff -u -p -r1.295.2.10 Makefile.org
+--- Makefile.org 27 Jan 2010 16:06:58 -0000 1.295.2.10
++++ Makefile.org 4 Jul 2011 23:13:08 -0000
+@@ -66,6 +66,7 @@ EXE_EXT=
+ ARFLAGS=
+ AR=ar $(ARFLAGS) r
+ RANLIB= ranlib
++WINDRES= windres
+ NM= nm
+ PERL= perl
+ TAR= tar
+@@ -180,6 +181,7 @@ BUILDENV= PLATFORM='$(PLATFORM)' PROCESS
+ CC='$(CC)' CFLAG='$(CFLAG)' \
+ AS='$(CC)' ASFLAG='$(CFLAG) -c' \
+ AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \
++ WINDRES='$(WINDRES)' \
+ CROSS_COMPILE='$(CROSS_COMPILE)' \
+ PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \
+ SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \
+Index: Makefile.shared
+===================================================================
+RCS file: /usr/local/src/openssl/CVSROOT/openssl/Makefile.shared,v
+retrieving revision 1.72.2.4
+diff -u -p -r1.72.2.4 Makefile.shared
+--- Makefile.shared 21 Aug 2010 11:36:49 -0000 1.72.2.4
++++ Makefile.shared 4 Jul 2011 23:13:52 -0000
+@@ -293,7 +293,7 @@ link_a.cygwin:
+ fi; \
+ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
+ $(PERL) util/mkrc.pl $$dll_name | \
+- $(CROSS_COMPILE)windres -o rc.o; \
++ $(WINDRES) -o rc.o; \
+ extras="$$extras rc.o"; \
+ ALLSYMSFLAGS='-Wl,--whole-archive'; \
+ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
diff --git a/dev-libs/openssl/openssl-1.0.0d.ebuild b/dev-libs/openssl/openssl-1.0.0d.ebuild
index bb9ea84b915f..ad384aceadc8 100644
--- a/dev-libs/openssl/openssl-1.0.0d.ebuild
+++ b/dev-libs/openssl/openssl-1.0.0d.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0d.ebuild,v 1.12 2011/07/07 23:50:26 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/openssl/openssl-1.0.0d.ebuild,v 1.13 2011/07/12 04:10:48 vapier Exp $
EAPI="2"
@@ -36,6 +36,7 @@ src_prepare() {
epatch "${FILESDIR}"/${PN}-1.0.0a-ldflags.patch #327421
epatch "${FILESDIR}"/${PN}-1.0.0d-alpha-typo.patch #364699
epatch "${FILESDIR}"/${PN}-1.0.0d-fbsd-amd64.patch #363089
+ epatch "${FILESDIR}"/${PN}-1.0.0d-windres.patch #373743
epatch_user #332661
# disable fips in the build
@@ -58,7 +59,7 @@ src_prepare() {
chmod a+rx gentoo.config
append-flags -fno-strict-aliasing
- append-flags -Wa,--noexecstack
+ append-flags $(test-flags-CC -Wa,--noexecstack)
sed -i '1s,^:$,#!/usr/bin/perl,' Configure #141906
./config --test-sanity || die "I AM NOT SANE"
@@ -68,7 +69,7 @@ src_configure() {
unset APPS #197996
unset SCRIPTS #312551
- tc-export CC AR RANLIB
+ tc-export CC AR RANLIB RC
# Clean out patent-or-otherwise-encumbered code
# Camellia: Royalty Free http://en.wikipedia.org/wiki/Camellia_(cipher)