Fix no-stdio and no-autoalginit

no-stdio does not work with the apps. Since the tests also need the apps
it doesn't support that either. Therefore we disable building of both.

no-autoalginit is not compatible with the apps because it requires explicit
loading of the algorithms, and the apps don't do that. Therefore we disable
building the apps for this option. Similarly the tests depend on the apps
so we also disable the tests. Finally the whole point about no-autoalginit
is to avoid excessive executable sizes when doing static linking. Therefore
we disable "shared" if this option is selected.

Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Matt Caswell 2016-04-14 13:44:15 +01:00
parent c3a64b5278
commit d90a6beb0e
6 changed files with 221 additions and 199 deletions

View File

@ -226,6 +226,7 @@ build_tests_nodep : $(TESTPROGS)
test tests : configdata.pm, -
build_apps_nodep, build_engines_nodep, build_tests_nodep, -
depend
@ ! {- output_off() if $disabled{tests}; "" -}
SET DEFAULT [.test]{- move("test") -}
DEFINE SRCTOP {- sourcedir() -}
DEFINE BLDTOP {- builddir() -}
@ -235,6 +236,9 @@ test tests : configdata.pm, -
DEASSIGN BLDTOP
DEASSIGN SRCTOP
SET DEFAULT [-]{- move("..") -}
@ ! {- if ($disabled{tests}) { output_on(); } else { output_off(); } "" -}
@ WRITE SYS$OUTPUT "Tests are not supported with your chosen Configure options"
@ ! {- output_on() if !$disabled{tests}; "" -}
list-tests :
@ TOP=$(SRCDIR) PERL=$(PERL) $(PERL) {- catfile($config{sourcedir},"test", "run_tests.pl") -} list

View File

@ -217,12 +217,16 @@ build_tests_nodep: $(TESTPROGS)
test tests: build_tests_nodep build_apps_nodep build_engines_nodep \
depend link-utils
@ : {- output_off() if $disabled{tests}; "" -}
( cd test; \
SRCTOP=../$(SRCDIR) \
BLDTOP=../$(BLDDIR) \
EXE_EXT={- $exeext -} \
OPENSSL_ENGINES=../$(BLDDIR)/engines \
$(PERL) ../$(SRCDIR)/test/run_tests.pl $(TESTS) )
@ : {- if ($disabled{tests}) { output_on(); } else { output_off(); } "" -}
@echo "Tests are not supported with your chosen Configure options"
@ : {- output_on() if !$disabled{tests}; "" -}
list-tests:
@TOP=$(SRCDIR) PERL=$(PERL) $(PERL) $(SRCDIR)/test/run_tests.pl list

View File

@ -139,10 +139,14 @@ build_tests: configdata.pm build_tests_nodep depend
build_tests_nodep: $(TESTPROGS)
test tests: build_tests_nodep build_apps_nodep build_engines_nodep depend
@rem {- output_off() if $disabled{tests}; "" -}
set SRCTOP=$(SRCDIR)
set BLDTOP=$(BLDDIR)
set PERL=$(PERL)
$(PERL) $(SRCDIR)\test\run_tests.pl $(TESTS)
@rem {- if ($disabled{tests}) { output_on(); } else { output_off(); } "" -}
@echo "Tests are not supported with your chosen Configure options"
@rem {- output_on() if !$disabled{tests}; "" -}
list-tests:
@set TOP=$(SRCDIR)

View File

@ -400,6 +400,12 @@ my @disable_cascades = (
"pic" => [ "shared" ],
"shared" => [ "dynamic-engine" ],
"engine" => [ "afalgeng" ],
# no-autoalginit is only useful when building non-shared
"autoalginit" => [ "shared", "apps" ],
"stdio" => [ "apps" ],
"apps" => [ "tests" ],
"comp" => [ "zlib" ],
sub { !$disabled{"unit-test"} } => [ "heartbeats" ],
);

View File

@ -1,4 +1,5 @@
{- use File::Spec::Functions qw/catdir rel2abs/; -}
IF[{- !$disabled{apps} -}]
PROGRAMS=openssl
SOURCE[openssl]=\
openssl.c \
@ -17,3 +18,4 @@ DEPEND[openssl]=../libssl
SCRIPTS=CA.pl tsget
SOURCE[CA.pl]=CA.pl.in
SOURCE[tsget]=tsget.in
ENDIF

View File

@ -1,4 +1,5 @@
{- use File::Spec::Functions qw/catdir rel2abs/; -}
IF[{- !$disabled{tests} -}]
PROGRAMS=\
aborttest \
nptest bntest \
@ -236,3 +237,4 @@ DEPEND[ssl_test]=../libcrypto ../libssl
INCLUDE[testutil.o]=..
INCLUDE[ssl_test_ctx.o]={- rel2abs(catdir($builddir,"../include")) -} ../include
INCLUDE[handshake_helper.o]={- rel2abs(catdir($builddir,"../include")) -} ../include
ENDIF