From 06f81af8fc5cf04af828487fbd83bff7f3049a3a Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" Date: Tue, 1 Dec 2020 17:15:45 +0100 Subject: [PATCH] {.travis,ci,appveyor}.yml: Make minimal config consistent, add no-deprecated no-ec no-ktls no-siv This works nicely by addin a new no-bulk option to Configure. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/13110) --- .github/workflows/ci.yml | 2 +- .travis.yml | 3 +-- Configure | 19 ++++++++++++++++++- INSTALL.md | 5 +++++ appveyor.yml | 8 ++++---- 5 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75969493e0..9be1b74c8d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,7 +41,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: config - run: ./config --strict-warnings no-shared no-dso no-pic no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cms no-comp no-ct no-des no-dgram no-dh no-dsa no-dtls no-ec2m no-engine no-filenames no-gost no-idea no-mdc2 no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rmd160 no-seed no-siphash no-sm2 no-sm3 no-sm4 no-srp no-srtp no-ssl3 no-ssl3-method no-ts no-ui-console no-whirlpool no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump + run: ./config --strict-warnings no-bulk no-pic no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT && perl configdata.pm --dump - name: make run: make -s -j4 - name: make test diff --git a/.travis.yml b/.travis.yml index 6b42cc562a..bda5b238b9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -137,8 +137,7 @@ jobs: script: true - os: linux compiler: gcc - env: CONFIGURE_TARGET="linux-generic32" MARKDOWNLINT="yes" CONFIG_OPTS="--strict-warnings no-shared no-dso no-pic no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cms no-cmp no-comp no-ct no-des no-dgram no-dh no-dsa no-dtls no-ec2m no-engine no-filenames no-gost no-idea no-ktls no-mdc2 no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rmd160 no-seed no-siphash no-siv no-sm2 no-sm3 no-sm4 no-srp no-srtp no-ssl3 no-ssl3-method no-ts no-ui-console no-whirlpool no-fips-securitychecks no-asm -DOPENSSL_NO_SECURE_MEMORY -DOPENSSL_SMALL_FOOTPRINT" - + env: CONFIGURE_TARGET="linux-generic32" MARKDOWNLINT="yes" CONFIG_OPTS="no-bulk no-pic no-asm -DOPENSSL_SMALL_FOOTPRINT --strict-warnings no-pic -DOPENSSL_NO_SECURE_MEMORY" before_script: - env diff --git a/Configure b/Configure index c3083961e9..27dafe3d25 100755 --- a/Configure +++ b/Configure @@ -391,6 +391,7 @@ my @disablables = ( "bf", "blake2", "buildtest-c++", + "bulk", "camellia", "capieng", "cast", @@ -539,13 +540,29 @@ our %disabled = ( # "what" => "comment" # Note: => pair form used for aesthetics, not to truly make a hash table my @disable_cascades = ( # "what" => [ "cascade", ... ] + "bulk" => [ "deprecated", "shared", "dso", + "aria", "async", "autoload-config", + "blake2", "bf", "camellia", "cast", "chacha", + "cmac", "cms", "cmp", "comp", "ct", + "des", "dgram", "dh", "dsa", + "ec", "engine", + "filenames", + "idea", "ktls", + "md4", "multiblock", "nextprotoneg", + "ocsp", "ocb", "poly1305", "psk", + "rc2", "rc4", "rmd160", + "seed", "siphash", "siv", + "sm3", "sm4", "srp", + "srtp", "ssl3-method", + "ts", "ui-console", "whirlpool", + "fips-securitychecks" ], sub { $config{processor} eq "386" } => [ "sse2" ], "ssl" => [ "ssl3" ], "ssl3-method" => [ "ssl3" ], "zlib" => [ "zlib-dynamic" ], "des" => [ "mdc2" ], - "ec" => [ "ecdsa", "ecdh", "sm2", "gost" ], + "ec" => [ "ec2m", "ecdsa", "ecdh", "sm2", "gost" ], sub { $disabled{"ec"} && $disabled{"dh"} } => [ "tls1_3" ], "dgram" => [ "dtls", "sctp" ], diff --git a/INSTALL.md b/INSTALL.md index db893492a1..e005312bc0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -577,6 +577,11 @@ as configuration option, you must ensure that it's valid for both the C and the C++ compiler. If not, the C++ build test will most likely break. As an alternative, you can use the language specific variables, `CFLAGS` and `CXXFLAGS`. +### no-bulk + +Build only some minimal set of features. +This is a developer option used internally for CI build tests of the project. + ### no-capieng Don't build the CAPI engine. diff --git a/appveyor.yml b/appveyor.yml index b93b19bd5d..f0dfc7f5ba 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -30,16 +30,16 @@ before_build: } - ps: >- If ($env:Configuration -Match "shared") { - $env:SHARED="no-makedepend" + $env:CONFIG_OPTS="" } ElseIf ($env:Configuration -Match "minimal") { - $env:SHARED="no-shared no-dso no-makedepend no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cms no-cmp no-comp no-ct no-des no-dgram no-dh no-dsa no-ec no-ec2m no-engine no-filenames no-idea no-ktls no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rmd160 no-seed no-siphash no-siv no-sm3 no-sm4 no-srp no-srtp no-ssl3-method no-ts no-ui-console no-whirlpool no-asm -DOPENSSL_SMALL_FOOTPRINT" + $env:CONFIG_OPTS="no-bulk no-asm -DOPENSSL_SMALL_FOOTPRINT" } Else { - $env:SHARED="no-shared no-makedepend" + $env:CONFIG_OPTS="no-shared" } - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM% - mkdir _build - cd _build - - perl ..\Configure %TARGET% %SHARED% + - perl ..\Configure %TARGET% no-makedepend %CONFIG_OPTS% - perl configdata.pm --dump - cd .. - ps: >-