#! /usr/bin/env perl
# -*- mode: perl; -*-
-# Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
# Generic OpenSSL-style methods relating to this support
# are always compiled but return NULL if the hardware
# support isn't compiled.
+#
+# enable-demos Enable the building of the example code in the demos directory
+# enable-h3demo Enable the http3 demo, which currently only links to the
+# external nghttp3 library on unix platforms
# no-hw do not compile support for any crypto hardware.
# [no-]threads [don't] try to create a library that is suitable for
# multithreaded applications (default is "threads" if we
"asan",
"asm",
"async",
+ "atexit",
"autoalginit",
"autoerrinit",
"autoload-config",
"crypto-mdebug",
"ct",
"default-thread-pool",
+ "demos",
+ "h3demo",
"deprecated",
"des",
"devcryptoeng",
"posix-io",
"psk",
"quic",
+ "unstable-qlog",
"rc2",
"rc4",
"rc5",
"buildtest-c++" => "default",
"crypto-mdebug" => "default",
"crypto-mdebug-backtrace" => "default",
+ "demos" => "default",
+ "h3demo" => "default",
"devcryptoeng" => "default",
"ec_nistp_64_gcc_128" => "default",
"egd" => "default",
my @disable_cascades = (
# "what" => [ "cascade", ... ]
"bulk" => [ "shared", "dso",
- "aria", "async", "autoload-config",
+ "aria", "async", "atexit", "autoload-config",
"blake2", "bf", "camellia", "cast", "chacha",
"cmac", "cms", "cmp", "comp", "ct",
"des", "dgram", "dh", "dsa",
sub { 0 == scalar grep { !$disabled{$_} } @tls }
=> [ "tls" ],
"tls1_3" => [ "quic" ],
+ "quic" => [ "unstable-qlog" ],
"crypto-mdebug" => [ "crypto-mdebug-backtrace" ],
push @{$config{openssl_feature_defines}}, "OPENSSL_THREADS";
}
+if ($disabled{"unstable-qlog"}) {
+ $disabled{"qlog"} = 1;
+}
+
my $no_shared_warn=0;
if (($target{shared_target} // '') eq "")
{
&& $f =~ m/^(.*?)\|(.*)$/) {
$i = $1;
$m = $2;
- $i = cleanfile($sourced, $i, $blddir, 1);
- $i2 = cleanfile($buildd, $i, $blddir);
+ # We must be very careful to modify $i last
$d = cleanfile($sourced, "$i/$m", $blddir, 1);
$d2 = cleanfile($buildd, "$i/$m", $blddir);
+ $i2 = cleandir($buildd, $i, $blddir);
+ $i = cleandir($sourced, $i, $blddir, 1);
} else {
$d = cleanfile($sourced, $f, $blddir, 1);
$d2 = cleanfile($buildd, $f, $blddir);