Further mingw build procedure updates.
This commit is contained in:
parent
b8994b6130
commit
5b50f99e1e
@ -176,6 +176,7 @@ BUILDENV= PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
|
|||||||
CC='${CC}' CFLAG='${CFLAG}' \
|
CC='${CC}' CFLAG='${CFLAG}' \
|
||||||
AS='${CC}' ASFLAG='${CFLAG} -c' \
|
AS='${CC}' ASFLAG='${CFLAG} -c' \
|
||||||
AR='${AR}' NM='${NM}' RANLIB='${RANLIB}' \
|
AR='${AR}' NM='${NM}' RANLIB='${RANLIB}' \
|
||||||
|
CROSS_COMPILE_PREFIX='${CROSS_COMPILE_PREFIX}' \
|
||||||
PERL='${PERL}' \
|
PERL='${PERL}' \
|
||||||
SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib' \
|
SDIRS='${SDIRS}' LIBRPATH='${INSTALLTOP}/lib' \
|
||||||
INSTALL_PREFIX='${INSTALL_PREFIX}' \
|
INSTALL_PREFIX='${INSTALL_PREFIX}' \
|
||||||
|
@ -255,28 +255,37 @@ link_o.cygwin:
|
|||||||
SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
|
SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
|
||||||
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
||||||
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-s,-Bsymbolic"; \
|
||||||
$(LINK_SO_O)
|
$(LINK_SO_O)
|
||||||
link_a.cygwin:
|
link_a.cygwin:
|
||||||
@ $(CALC_VERSIONS); \
|
@ $(CALC_VERSIONS); \
|
||||||
INHIBIT_SYMLINKS=yes; \
|
INHIBIT_SYMLINKS=yes; \
|
||||||
SHLIB=cyg$(LIBNAME); SHLIB_SOVER=-$(LIBVERSION); def=; \
|
SHLIB=cyg$(LIBNAME); SHLIB_SOVER=-$(LIBVERSION); SHLIB_SUFFIX=.dll; \
|
||||||
|
dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; extras=; \
|
||||||
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
|
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
|
||||||
SHLIB=$(LIBNAME); SHLIB_SOVER=32; \
|
SHLIB=$(LIBNAME); SHLIB_SOVER=32; \
|
||||||
def="$(LIBNAME).def"; \
|
extras="$(LIBNAME).def"; \
|
||||||
$(PERL) util/mkdef.pl 32 $(LIBNAME) > $$def; \
|
$(PERL) util/mkdef.pl 32 $(LIBNAME) > $$extras; \
|
||||||
fi; \
|
fi; \
|
||||||
SHLIB_SUFFIX=.dll; \
|
dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
|
||||||
|
$(PERL) util/mkrc.pl $$dll_name | \
|
||||||
|
$(CROSS_COMPILE_PREFIX)windres -o rc.o; \
|
||||||
|
extras="$$extras rc.o"; \
|
||||||
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
ALLSYMSFLAGS='-Wl,--whole-archive'; \
|
||||||
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
|
||||||
base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
|
base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
|
||||||
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$def"; \
|
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \
|
||||||
[ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
|
[ -f apps/$$dll_name ] && rm apps/$$dll_name; \
|
||||||
[ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
|
[ -f test/$$dll_name ] && rm test/$$dll_name; \
|
||||||
$(LINK_SO_A) || exit 1; \
|
$(LINK_SO_A) || exit 1; \
|
||||||
cp -p $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX apps/; \
|
rm $$extras; \
|
||||||
cp -p $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX test/
|
cp -p $$dll_name apps/; \
|
||||||
|
cp -p $$dll_name test/
|
||||||
link_app.cygwin:
|
link_app.cygwin:
|
||||||
|
@if expr "$(CFLAGS)" : '.*OPENSSL_USE_APPLINK' > /dev/null; then \
|
||||||
|
LIBDEPS="$(TOP)/crypto/applink.o $${LIBDEPS:-$(LIBDEPS)}"; \
|
||||||
|
export LIBDEPS; \
|
||||||
|
fi; \
|
||||||
$(LINK_APP)
|
$(LINK_APP)
|
||||||
|
|
||||||
link_o.alpha-osf1:
|
link_o.alpha-osf1:
|
||||||
|
@ -140,7 +140,7 @@ dclean:
|
|||||||
rm -f CA.pl
|
rm -f CA.pl
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
|
rm -f *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
|
||||||
rm -f req
|
rm -f req
|
||||||
|
|
||||||
$(DLIBSSL):
|
$(DLIBSSL):
|
||||||
|
@ -64,11 +64,14 @@ x86cpuid-cof.s: x86cpuid.pl perlasm/x86asm.pl
|
|||||||
x86cpuid-out.s: x86cpuid.pl perlasm/x86asm.pl
|
x86cpuid-out.s: x86cpuid.pl perlasm/x86asm.pl
|
||||||
$(PERL) x86cpuid.pl a.out $(CFLAGS) $(PROCESSOR) > $@
|
$(PERL) x86cpuid.pl a.out $(CFLAGS) $(PROCESSOR) > $@
|
||||||
|
|
||||||
uplink.o: ../ms/uplink.c
|
applink.o: $(TOP)/ms/applink.c
|
||||||
$(CC) $(CFLAGS) -c -o $@ ../ms/uplink.c
|
$(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/applink.c
|
||||||
|
|
||||||
uplink-cof.s: ../ms/uplink.pl
|
uplink.o: $(TOP)/ms/uplink.c applink.o
|
||||||
$(PERL) ../ms/uplink.pl coff > $@
|
$(CC) $(CFLAGS) -c -o $@ $(TOP)/ms/uplink.c
|
||||||
|
|
||||||
|
uplink-cof.s: $(TOP)/ms/uplink.pl
|
||||||
|
$(PERL) $(TOP)/ms/uplink.pl coff > $@
|
||||||
|
|
||||||
x86_64cpuid.s: x86_64cpuid.pl
|
x86_64cpuid.s: x86_64cpuid.pl
|
||||||
$(PERL) x86_64cpuid.pl $@
|
$(PERL) x86_64cpuid.pl $@
|
||||||
|
@ -315,7 +315,7 @@ dclean:
|
|||||||
testreq.pem
|
testreq.pem
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f .rnd tmp.bntest tmp.bctest *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss *.srl log dummytest
|
rm -f .rnd tmp.bntest tmp.bctest *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss *.srl log dummytest
|
||||||
|
|
||||||
$(DLIBSSL):
|
$(DLIBSSL):
|
||||||
(cd ..; $(MAKE) DIRS=ssl all)
|
(cd ..; $(MAKE) DIRS=ssl all)
|
||||||
|
71
util/mkrc.pl
Executable file
71
util/mkrc.pl
Executable file
@ -0,0 +1,71 @@
|
|||||||
|
#!/bin/env perl
|
||||||
|
#
|
||||||
|
open FD,"crypto/opensslv.h";
|
||||||
|
while(<FD>) {
|
||||||
|
if (/OPENSSL_VERSION_NUMBER\s+(0x[0-9a-f]+)/i) {
|
||||||
|
$ver = hex($1);
|
||||||
|
$v1 = ($ver>>28);
|
||||||
|
$v2 = ($ver>>20)&0xff;
|
||||||
|
$v3 = ($ver>>12)&0xff;
|
||||||
|
$v4 = ($ver>> 4)&0xff;
|
||||||
|
$beta = $ver&0xf;
|
||||||
|
$version = "$v1.$v2.$v3";
|
||||||
|
if ($beta==0xf) { $version .= chr(ord('a')+$v4-1) if ($v4); }
|
||||||
|
elsif ($beta==0){ $version .= "-dev"; }
|
||||||
|
else { $version .= "-beta$beta"; }
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close(FD);
|
||||||
|
|
||||||
|
$filename = $ARGV[0]; $filename =~ /(.*)\.([^.]+)$/;
|
||||||
|
$basename = $1;
|
||||||
|
$extname = $2;
|
||||||
|
|
||||||
|
if ($extname =~ /dll/i) { $description = "OpenSSL shared library"; }
|
||||||
|
else { $description = "OpenSSL application"; }
|
||||||
|
|
||||||
|
print <<___;
|
||||||
|
#include <winver.h>
|
||||||
|
|
||||||
|
LANGUAGE 0x09,0x01
|
||||||
|
|
||||||
|
1 VERSIONINFO
|
||||||
|
FILEVERSION $v1,$v2,$v3,$v4
|
||||||
|
PRODUCTVERSION $v1,$v2,$v3,$v4
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x01L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x00L
|
||||||
|
#endif
|
||||||
|
FILEOS VOS__WINDOWS32
|
||||||
|
FILETYPE VFT_DLL
|
||||||
|
FILESUBTYPE 0x0L
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
// Required:
|
||||||
|
VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\0"
|
||||||
|
VALUE "FileDescription", "$description\\0"
|
||||||
|
VALUE "FileVersion", "$version\\0"
|
||||||
|
VALUE "InternalName", "$basename\\0"
|
||||||
|
VALUE "OriginalFilename", "$filename\\0"
|
||||||
|
VALUE "ProductName", "The OpenSSL Toolkit\\0"
|
||||||
|
VALUE "ProductVersion", "$version\\0"
|
||||||
|
// Optional:
|
||||||
|
//VALUE "Comments", "\\0"
|
||||||
|
VALUE "LegalCopyright", "Copyright © 1998-2006 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
|
||||||
|
//VALUE "LegalTrademarks", "\\0"
|
||||||
|
//VALUE "PrivateBuild", "\\0"
|
||||||
|
//VALUE "SpecialBuild", "\\0"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 0x4b0
|
||||||
|
END
|
||||||
|
END
|
||||||
|
___
|
Loading…
x
Reference in New Issue
Block a user