summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-02-05 15:17:33 +0100
committerRichard Levitte <levitte@openssl.org>2016-02-11 16:50:01 +0100
commit64c443e3f0057946ddd8f37a36821a7f9c0e0493 (patch)
tree1b27d25b016d1625d67e99c144f9d61405ee6a60
parent68ab559a50e1819fa441183b81e4523ed1d949e7 (diff)
Add support for shared_rcflag, useful for windres (Cygwin and Mingw)
Reviewed-by: Rich Salz <rsalz@openssl.org>
-rw-r--r--Configurations/00-base-templates.conf1
-rw-r--r--Configurations/10-main.conf2
-rwxr-xr-xConfigure1
-rw-r--r--Makefile.in2
-rw-r--r--Makefile.shared6
5 files changed, 11 insertions, 1 deletions
diff --git a/Configurations/00-base-templates.conf b/Configurations/00-base-templates.conf
index 1771e3d386..9d405efdae 100644
--- a/Configurations/00-base-templates.conf
+++ b/Configurations/00-base-templates.conf
@@ -35,6 +35,7 @@
shared_target => "",
shared_cflag => "",
shared_ldflag => "",
+ shared_rcflag => "",
shared_extension => "",
build_scheme => "unixmake",
build_file => "Makefile",
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index c408763f66..07e1d6a208 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -1174,6 +1174,7 @@
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL -DOPENSSL_USE_APPLINK",
shared_ldflag => "-static-libgcc",
+ shared_rcflag => "--target=pe-i386",
shared_extension => ".dll",
},
"mingw64" => {
@@ -1199,6 +1200,7 @@
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
shared_ldflag => "-static-libgcc",
+ shared_rcflag => "--target=pe-x86-64",
shared_extension => ".dll",
},
diff --git a/Configure b/Configure
index 722d7c1faf..d3800cbf77 100755
--- a/Configure
+++ b/Configure
@@ -2180,6 +2180,7 @@ sub print_table_entry
"shared_target",
"shared_cflag",
"shared_ldflag",
+ "shared_rcflag",
"shared_extension",
"obj_extension",
"exe_extension",
diff --git a/Makefile.in b/Makefile.in
index a1c3252bc0..b788042663 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -205,6 +205,7 @@ SHARED_LDFLAG={- $target{shared_ldflag}
# $prefix is not /usr.
. ($config{target} =~ m|^BSD-| && $prefix !~ m|^/usr/.*$|
? " -Wl,-rpath,\$\$(LIBRPATH)" : "") -}
+SHARED_RCFLAG={- $target{shared_rcflag} -}
GENERAL= Makefile
BASENAME= openssl
@@ -255,6 +256,7 @@ BUILDENV= LC_ALL=C PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)'\
LIBDIR='$(LIBDIR)' \
DEPFLAG='$(DEPFLAG)' \
SHARED_LDFLAG='$(SHARED_LDFLAG)' \
+ SHARED_RCFLAG='$(SHARED_RCFLAG)' \
ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \
EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \
SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \
diff --git a/Makefile.shared b/Makefile.shared
index a474f16916..29e180845a 100644
--- a/Makefile.shared
+++ b/Makefile.shared
@@ -14,6 +14,10 @@ CFLAGS=$(CFLAG)
LDFLAGS=$(LDFLAG)
SHARED_LDFLAGS=$(SHARED_LDFLAG)
+# SHARED_RCFLAGS are flags used with windres, i.e. when build for Cygwin
+# or Mingw.
+SHARED_RCFLAGS=$(SHARED_RCFLAG)
+
NM=nm
# LIBNAME contains just the name of the library, without prefix ("lib"
@@ -305,7 +309,7 @@ link_a.cygwin:
fi; \
dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
$(PERL) util/mkrc.pl $$dll_name | \
- $(CROSS_COMPILE)windres -o rc.o; \
+ $(CROSS_COMPILE)windres $(SHARED_RCFLAGS) -o rc.o; \
extras="$$extras rc.o"; \
ALLSYMSFLAGS='-Wl,--whole-archive'; \
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \