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

Attachment: signature.asc
Description: PGP signature

-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to