Hi,

so I wonder, would you mind trying the attached patch for size, see if it makes
your build better?

Cheers,
Richard

Vid Ons, 09 Mar 2016 kl. 22.39.57, skrev [email protected]:
> Working from Master:
>
> $ git reset --hard HEAD
> HEAD is now at 64b9d84 When grepping something starting with a
> dash, remember to use -e
> $ git pull
> Already up-to-date.
>
> And then:
>
> $ ./config
> ...
> $ make depend && make clean && make
> ...
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_MONT
> -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DECP_NISTZ256_ASM
> -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread
> -Wa,--noexecstack -fPIC -Iinclude -I. -Icrypto/include -c -o
> crypto/cast/c_skey.o crypto/cast/c_skey.c
> gcc -E crypto/chacha/chacha-armv8.S > crypto/chacha/chacha-armv8.s
> crypto/chacha/chacha-armv8.S:1:22: fatal error: arm_arch.h: No such
> file or directory
> #include "arm_arch.h"
> ^
> compilation terminated.
> <builtin>: recipe for target 'crypto/chacha/chacha-armv8.s' failed
>
> **********
>
> $ ./config
> Operating system: aarch64-whatever-linux2
> Configuring for linux-aarch64
> Configuring OpenSSL version 1.1.0-pre4-dev (0x0x10100004L)
> no-crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG (skip dir)
> no-crypto-mdebug-backtrace [forced]
> OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE (skip dir)
> no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
> (skip dir)
> no-egd [default] OPENSSL_NO_EGD (skip dir)
> no-heartbeats [default] OPENSSL_NO_HEARTBEATS (skip dir)
> no-md2 [default] OPENSSL_NO_MD2 (skip dir)
> no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
> no-sctp [default] OPENSSL_NO_SCTP (skip dir)
> no-shared [default]
> no-ssl-trace [default] OPENSSL_NO_SSL_TRACE (skip dir)
> no-ssl3 [default] OPENSSL_NO_SSL3 (skip dir)
> no-ssl3-method [default] OPENSSL_NO_SSL3_METHOD (skip dir)
> no-static-engine [default] OPENSSL_NO_STATIC_ENGINE (skip dir)
> no-unit-test [default] OPENSSL_NO_UNIT_TEST (skip dir)
> no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS (skip
> dir)
> no-zlib [default]
> no-zlib-dynamic [default]
> Configuring for linux-aarch64
> IsMK1MF =no
> CC =gcc
> CFLAG =-Wall -O3 -pthread -Wa,--noexecstack
> SHARED_CFLAG =-fPIC
> DEFINES =DSO_DLFCN HAVE_DLFCN_H OPENSSL_THREADS
> OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_BN_ASM_MONT SHA1_ASM
> SHA256_ASM SHA512_ASM VPAES_ASM ECP_NISTZ256_ASM POLY1305_ASM
> LFLAG =
> PLIB_LFLAG =
> EX_LIBS =-ldl
> APPS_OBJ =
> CPUID_OBJ =armcap.o arm64cpuid.o mem_clr.o
> UPLINK_OBJ =
> BN_ASM =bn_asm.o armv8-mont.o
> EC_ASM =ecp_nistz256.o ecp_nistz256-armv8.o
> DES_ENC =des_enc.o fcrypt_b.o
> AES_ENC =aes_core.o aes_cbc.o aesv8-armx.o vpaes-armv8.o
> BF_ENC =bf_enc.o
> CAST_ENC =c_enc.o
> RC4_ENC =rc4_enc.o rc4_skey.o
> RC5_ENC =rc5_enc.o
> MD5_OBJ_ASM =
> SHA1_OBJ_ASM =sha1-armv8.o sha256-armv8.o sha512-armv8.o
> RMD160_OBJ_ASM=
> CMLL_ENC =camellia.o cmll_misc.o cmll_cbc.o
> MODES_OBJ =ghashv8-armx.o
> PADLOCK_OBJ =
> CHACHA_ENC =chacha-armv8.o
> POLY1305_OBJ =poly1305-armv8.o
> PROCESSOR =
> RANLIB =/usr/bin/ranlib
> ARFLAGS =
> PERL =/usr/bin/perl
>
> SIXTY_FOUR_BIT_LONG mode
>
> Configured for linux-aarch64.


--
Richard Levitte
[email protected]

-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4406
Please log in as guest with password guest if prompted

diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl
index c2362d0..d89817e 100644
--- a/Configurations/common.tmpl
+++ b/Configurations/common.tmpl
@@ -32,17 +32,24 @@
      @newlist;
  }
 
+ # dogenerate is responsible for producing all the recipes that build
+ # generated source files.  It recurses in case a dependency is also a
+ # generated source file.
  sub dogenerate {
      my $src = shift;
      return "" if $cache{$src};
+     my $obj = shift;
+     my $bin = shift;
      my %opts = @_;
      if ($unified_info{generate}->{$src}) {
          $OUT .= generatesrc(src => $src,
                              generator => $unified_info{generate}->{$src},
                              deps => $unified_info{depends}->{$src},
+                             incs => [ @{$unified_info{includes}->{$bin}},
+                                       @{$unified_info{includes}->{$obj}} ],
                              %opts);
          foreach (@{$unified_info{depends}->{$src}}) {
-             dogenerate($_, %opts);
+             dogenerate($_, $obj, $bin, %opts);
          }
      }
      $cache{$src} = 1;
@@ -65,7 +72,7 @@
                          %opts);
          foreach ((@{$unified_info{sources}->{$obj}},
                    @{$unified_info{depends}->{$obj}})) {
-             dogenerate($_, %opts);
+             dogenerate($_, $obj, $bin, %opts);
          }
      }
      $cache{$obj} = 1;
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 02e8cb4..114a4be 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -825,6 +825,7 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)/Configurations/commo
   sub generatesrc {
       my %args = @_;
       my $generator = join(" ", @{$args{generator}});
+      my $incs = join("", map { " -I".$_ } @{$args{incs}});
 
       if ($args{src} !~ /\.[sS]$/) {
           return <<"EOF";
@@ -851,7 +852,7 @@ EOF
 $target: $args{generator}->[0]
 	( trap "rm -f \[email protected]" INT; \\
 	  $generator \[email protected]; \\
-	  \$(CC) \$(CFLAGS) -E -P \[email protected] > \$@ && rm -f \[email protected] )
+	  \$(CC) \$(CFLAGS) $incs -E -P \[email protected] > \$@ && rm -f \[email protected] )
 EOF
               }
               # Otherwise....
@@ -862,7 +863,7 @@ EOF
           }
           return <<"EOF";
 $args{src}: $args{generator}->[0]
-	\$(CC) \$(CFLAGS) -E -P \$< > \$@
+	\$(CC) \$(CFLAGS) $incs -E -P \$< > \$@
 EOF
       }
   }
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev

Reply via email to