[openssl-dev] OpenSSL-1.1 make depend

Erik Forsberg erik at efca.com
Thu Jan 21 07:45:01 UTC 2016


In case its not clear, the difference in the input to clean-depend.pl
is that when using Solaris cc, /usr/openwin/bin/makedepend is used
instead of gcc -M

Still, considering that, the problem is elsewhere, as I tried
various styles of input and could not see  any correlation

>-- Original Message --
>
>
>seems util/clean-depend.pl is now broken if using Solaris cc compiler.
>Looks like its working if gcc is used, the difference seems to be that if
>gcc is used the input to clean-depend.pl looks like
>
>object.o: dep1.h dep2.h \
> dep3.h dep4.h
>
>if Solaris cc is used it looks like
>
>object.o: dep1.h
>object.o: dep2.h
>object.o: dep3.h
>object.o: dep4.h
>
>I get gazillions of 'Use of uninitialized variable in ....' when running
>and the net result is that all dependencies generated in the Makefile
>looks like
>
> : ../openssl/header.h
>
>the make target printed before the colon is undefined.
>
>This block from clean-depend.pl is the faulty part (seems
>to be added in 1.1, 1.0.2 was working fine)
>
># Time to clean out possible system directories and normalise quirks
># from different makedepend methods
>foreach $file (sort keys %files) {
>    # This gets around a quirk with gcc, which removes all directory
>    # information from the original file
>    my $tmpfile=$file;
>    $tmpfile=~s/\.o$/.c/;
>    (my $origfile)=grep(/(^|\/)${tmpfile}$/,@{$files{$file}});
>    my $newfile=$origfile;
>    $newfile=~s/\.c$/.o/;
>    if ($newfile ne $file) {
>        $files{$newfile} = $files{$file};
>        delete $files{$file};
>        $file = $newfile;
>    }
>
>    @{$files{$file}} =
>        grep(!/^\//,
>             grep(!/^$origfile$/, @{$files{$file}}));
>}
>
>Commenting out the entire block makes it work properly
>Adding a test like
>if (defined $origfile) {
>}
>
>around everything after the first grep call also fixes it
>but it doesnt for example ignore system directory dependencies.
>
>I use latest perl 5.22 if it matters
>but this looks like generic failure to me.
>_______________________________________________
>openssl-dev mailing list
>To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev



More information about the openssl-dev mailing list