mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
Build: Fix circular object deps with old GCC
When both -o and -MT are used, GCC 4.1 prints the object file twice in the dependency file. e.g.: foo.o foo.o: foo.c If the file name is long, then the second occurrence moves to the next line. e.g.: ssl/statem/libssl-shlib-statem_dtls.o \ ssl/statem/libssl-shlib-statem_dtls.o: ../ssl/statem/statem_dtls.c \ add-depends script scans one line at a time, so when the first line is processed, the object file becomes a dependency itself. Fix by removing -MT altogether. This also fixes makedepend for nonstop platform. Reviewed-by: Paul Dale <ppzgs1@gmail.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/25455)
This commit is contained in:
parent
27abf142f6
commit
6288aa440c
@ -1746,7 +1746,7 @@ EOF
|
|||||||
} elsif ($makedep_scheme eq 'gcc' && !grep /\.rc$/, @srcs) {
|
} elsif ($makedep_scheme eq 'gcc' && !grep /\.rc$/, @srcs) {
|
||||||
$recipe .= <<"EOF";
|
$recipe .= <<"EOF";
|
||||||
$obj: $deps
|
$obj: $deps
|
||||||
$cmd $incs $defs $cmdflags -MMD -MF $dep.tmp -MT \$\@ -c -o \$\@ $srcs
|
$cmd $incs $defs $cmdflags -MMD -MF $dep.tmp -c -o \$\@ $srcs
|
||||||
\@touch $dep.tmp
|
\@touch $dep.tmp
|
||||||
\@if cmp $dep.tmp $dep > /dev/null 2> /dev/null; then \\
|
\@if cmp $dep.tmp $dep > /dev/null 2> /dev/null; then \\
|
||||||
rm -f $dep.tmp; \\
|
rm -f $dep.tmp; \\
|
||||||
|
@ -131,12 +131,9 @@ correctly, you also need the `COMP_ROOT` set, as in:
|
|||||||
|
|
||||||
`COMP_ROOT` needs to be in Windows form.
|
`COMP_ROOT` needs to be in Windows form.
|
||||||
|
|
||||||
`Configure` must specify the `no-makedepend` option otherwise errors will
|
An example of a `Configure` command to be run from the OpenSSL directory is:
|
||||||
result when running the build because the c99 cross-compiler does not support
|
|
||||||
the `gcc -MT` option. An example of a `Configure` command to be run from the
|
|
||||||
OpenSSL directory is:
|
|
||||||
|
|
||||||
./Configure nonstop-nsx_64 no-makedepend --with-rand-seed=rdcpu
|
./Configure nonstop-nsx_64 --with-rand-seed=rdcpu
|
||||||
|
|
||||||
Do not forget to include any OpenSSL cross-compiling prefix and certificate
|
Do not forget to include any OpenSSL cross-compiling prefix and certificate
|
||||||
options when creating your libraries.
|
options when creating your libraries.
|
||||||
|
Loading…
Reference in New Issue
Block a user