shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL -DOPENSSL_USE_APPLINK",
shared_ldflag => "-mno-cygwin",
- shared_extension => ".dll.a",
+ shared_extension => ".dll",
},
"mingw64" => {
# As for OPENSSL_USE_APPLINK. Applink makes it possible to use
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
shared_ldflag => "-mno-cygwin",
- shared_extension => ".dll.a",
+ shared_extension => ".dll",
},
#### UEFI
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
shared_ldflag => "-shared",
- shared_extension => ".dll.a",
+ shared_extension => ".dll",
},
"Cygwin-x86_64" => {
inherit_from => [ asm("x86_64_asm") ],
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
shared_ldflag => "-shared",
- shared_extension => ".dll.a",
+ shared_extension => ".dll",
},
# Backward compatibility for those using this target
"Cygwin" => {
fn2=`basename $$fn $(SHLIB_EXT)`$(SHLIB_EXT_SIMPLE); \
ln -sf $$fn $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn2; \
fi; \
+ : {- output_off() unless windowsdll(); "" -}; \
+ echo "install $$s.a -> $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a"; \
+ cp $$s.a $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a.new; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a.new; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a.new \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a; \
+ : {- output_on() -}; \
done
@ : {- output_on() -}
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig
fi; \
echo "$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn"; \
$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn; \
+ : {- output_off() unless windowsdll(); "" -}; \
+ echo "$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a"; \
+ $(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$fn.a; \
+ : {- output_on() -}; \
done
@echo "$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc"
@$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin
@$(PERL) $(SRCDIR)/util/mkdir-p.pl $(INSTALL_PREFIX)$(OPENSSLDIR)/misc
@echo "*** Installing runtime files"
+ : {- output_off() unless windowsdll(); "" -};
+ @set -e; for s in $(SHLIBS); do \
+ fn=`basename $$i`; \
+ echo "install $$s -> $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn"; \
+ cp $$s $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn.new; \
+ chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn.new; \
+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn.new \
+ $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn; \
+ done
+ : {- output_on() -};
@set -e; for x in $(PROGRAMS); do \
fn=`basename $$x`; \
echo "install $$x -> $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn"; \
echo "$(RM) $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$fn"; \
$(RM) $(INSTALL_PREFIX)$(OPENSSLDIR)/misc/$$fn; \
done
+ : {- output_off() unless windowsdll(); "" -};
+ @set -e; for s in $(SHLIBS); do \
+ fn=`basename $$i`; \
+ echo "$(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn"; \
+ $(RM) $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$fn; \
+ done
+ : {- output_on() -};
$(RM) $(INSTALL_PREFIX)$(OPENSSLDIR)/openssl.cnf
# A method to extract all names from a .pod file
CC="\$(CC)" CFLAGS="\$(CFLAGS)" LDFLAGS="\$(LDFLAGS)" \\
SHARED_LDFLAGS="\$(SHARED_LDFLAGS)" SHLIB_EXT=\$(SHLIB_EXT) \\
link_a.$shlib_target
+EOF
+ . (windowsdll() ? <<"EOF" : "");
+ rm -f apps/$shlib\$(SHLIB_EXT)
+ rm -f test/$shlib\$(SHLIB_EXT)
+ cp -p $shlib\$(SHLIB_EXT) apps/
+ cp -p $shlib\$(SHLIB_EXT) test/
EOF
}
sub obj2dynlib {
LIBDEPS="$$libs $(EX_LIBS)" \
link_a.$(SHLIB_TARGET); \
libs="-l$$i $$libs"; \
+ case "$(PLATFORM)" in \
+ Cygwin*) \
+ rm -f apps/cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll; \
+ rm -f test/cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll; \
+ cp cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll apps/; \
+ cp cyg$$i-$(SHLIB_MAJOR).$(SHLIB_MINOR).dll test/; \
+ ;; \
+ mingw*) \
+ case $$i in \
+ crypto) i=libeay32;; \
+ ssl) i=ssleay32;; \
+ esac; \
+ rm -f apps/$$i.dll; \
+ rm -f test/$$i.dll; \
+ cp $$i.dll apps/; \
+ cp $$i.dll test/; \
+ esac; \
done
libcrypto.pc: Makefile
ALLSYMSFLAGS='-Wl,--whole-archive'; \
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \
- [ -f apps/$$dll_name ] && rm apps/$$dll_name; \
- [ -f test/$$dll_name ] && rm test/$$dll_name; \
$(LINK_SO_A) || exit 1; \
- rm $$extras; \
- cp -p $$dll_name apps/; \
- cp -p $$dll_name test/
+ rm $$extras
link_app.cygwin:
@if expr "$(CFLAGS)" : '.*OPENSSL_USE_APPLINK' > /dev/null; then \
LIBDEPS="$(SRCDIR)/crypto/applink.o $${LIBDEPS:-$(LIBDEPS)}"; \
INCLUDE[libcrypto]={- rel2abs(catdir($builddir,"include")) -} . crypto/include include
INCLUDE[libssl]={- rel2abs(catdir($builddir,"include")) -} . include
DEPEND[libssl]=libcrypto
+
+IF[{- $config{target} =~ /^Cygwin/ -}]
+ SHARED_NAME[libcrypto]=cygcrypto-{- $config{shlib_major}.".".$config{shlib_minor} -}
+ SHARED_NAME[libssl]=cygssl-{- $config{shlib_major}.".".$config{shlib_minor} -}
+ELSIF[{- $config{target} =~ /^mingw/ -}]
+ SHARED_NAME[libcrypto]=libeay32
+ SHARED_NAME[libssl]=ssleay32
+ENDIF