On Feb 22 18:43, Richard Levitte wrote: > In message <20160222173404.gb11...@calimero.vinschen.de> on Mon, 22 Feb 2016 > 18:34:04 +0100, Corinna Vinschen <vinsc...@redhat.com> said: > > vinschen> On Feb 21 06:27, Richard Levitte via RT wrote: > vinschen> > I believe that the auto-detecting script, ./config, is lacking > detection of > vinschen> > architecture for Cygwin. Does one preferably recognise a x86_64 > Cygwin from > vinschen> > `uname -m` or is there something in `uname -s` that should be > used as an > vinschen> > indicator? > vinschen> > vinschen> Uh oh, is there a chance that the configury for 1.0.2 is NOT changed > vinschen> anymore? We have a set of local patches in the Cygwin distro which > vinschen> works around the missing pieces in 1.0.2 in a certain way, and > changing > vinschen> the 1.0.2 branch now would break the build scripts for the Cygwin > distro. > > A patch that fixes ./config was merged to the 1.0.2 branch earlier > today. Commit 5c57fbb8ca991e8db7ce23174613898a27ca3fcb. It's a > backport of the corresponding patch in master. It's a very small > change, I'd be surprised if you can't edit that particular one from > your scripts.
This one's no problem since the build script runs ./Configure directly. > 1.0.2 is on long term support, see > http://openssl.org/policies/releasestrat.html. That means that > reasonable fixes might very well go in. Sorry if that becomes a > bother. It's not a bother per se, only changes in the build system are potentially disruptive, that's why I really dread them for the branch. OTOH, is it much of a problem to apply the patches used for the Cygwin distro into the 1.0.2 branch so we can get rid of them entirely? That would be extremly cool. I attached them for your review. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
--- origsrc/openssl-1.0.2a/Configure 2015-03-19 16:08:33.952761607 +0100 +++ src/openssl-1.0.2a/Configure 2015-03-19 16:14:46.061816093 +0100 @@ -588,8 +588,8 @@ my %table=( "UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32", # Cygwin -"Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::CYGWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:coff:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a", -"Cygwin-x86_64", "gcc:-DTERMIOS -DL_ENDIAN -O3 -Wall:::CYGWIN::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:mingw64:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a", +"Cygwin", "gcc:\$(OPT_CFLAGS) -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i686 -Wall:::CYGWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:coff:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a", +"Cygwin-x86_64", "gcc:\$(OPT_CFLAGS) -DTERMIOS -DL_ENDIAN -O3 -Wall:::CYGWIN::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:mingw64:dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a", # NetWare from David Ward (dsw...@novell.com) # requires either MetroWerks NLM development tools, or gcc / nlmconv --- origsrc/openssl-1.0.2a/Makefile.shared 2015-03-19 16:14:57.245727560 +0100 +++ src/openssl-1.0.2a/Makefile.shared 2015-03-19 16:15:45.514345456 +0100 @@ -272,7 +272,7 @@ link_o.cygwin: SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ - SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base $$deffile -Wl,-s,-Bsymbolic"; \ + SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base $$deffile -Wl,-Bsymbolic"; \ $(LINK_SO_O) #for mingw target if def-file is in use dll-name should match library-name link_a.cygwin: @@ -297,7 +297,7 @@ link_a.cygwin: extras="$$extras rc.o"; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ - SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \ + 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; \
diff -up openssl-1.0.2a/Configure.enginesdir openssl-1.0.2a/Configure --- openssl-1.0.2a/Configure.enginesdir 2015-04-20 14:37:58.137392222 +0200 +++ openssl-1.0.2a/Configure 2015-04-20 14:37:58.140392292 +0200 @@ -702,6 +702,7 @@ my $idx_multilib = $idx++; my $prefix=""; my $libdir=""; my $openssldir=""; +my $enginesdir=""; my $exe_ext=""; my $install_prefix= "$ENV{'INSTALL_PREFIX'}"; my $cross_compile_prefix=""; @@ -929,6 +930,10 @@ PROCESS_ARGS: { $openssldir=$1; } + elsif (/^--enginesdir=(.*)$/) + { + $enginesdir=$1; + } elsif (/^--install.prefix=(.*)$/) { $install_prefix=$1; @@ -1185,7 +1190,7 @@ chop $prefix if $prefix =~ /.\/$/; $openssldir=$prefix . "/ssl" if $openssldir eq ""; $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/])/; - +$enginesdir="$prefix/lib/engines" if $enginesdir eq ""; print "IsMK1MF=$IsMK1MF\n"; @@ -1871,7 +1876,7 @@ while (<IN>) } elsif (/^#define\s+ENGINESDIR/) { - my $foo = "$prefix/$libdir/engines"; + my $foo = "$enginesdir"; $foo =~ s/\\/\\\\/g; print OUT "#define ENGINESDIR \"$foo\"\n"; } diff -up openssl-1.0.2a/engines/Makefile.enginesdir openssl-1.0.2a/engines/Makefile --- openssl-1.0.2a/engines/Makefile.enginesdir 2015-04-20 14:37:58.140392292 +0200 +++ openssl-1.0.2a/engines/Makefile 2015-04-20 14:40:15.570598383 +0200 @@ -124,7 +124,7 @@ install: esac; \ cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \ fi; \ - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \ + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \ done; \ fi
signature.asc
Description: PGP signature
-- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev