On Feb 22 18:43, Richard Levitte wrote: > In message <[email protected]> on Mon, 22 Feb 2016 > 18:34:04 +0100, Corinna Vinschen <[email protected]> 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 ([email protected])
# 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
