# file : openssl/buildfile # copyright : Copyright (c) 2014-2019 Code Synthesis Ltd # license : MIT; see accompanying LICENSE file import libs = libbutl%lib{butl} ./: exe{openssl-client}: client/{hxx ixx txx cxx}{+client} \ client/libue{openssl} client/ { libue{openssl}: {hxx ixx txx cxx}{* -client -options -*.test...} \ {hxx ixx cxx}{options} \ ../libue{openssl} } ./: exe{openssl-agent-pkcs11}: agent/pkcs11/{hxx ixx txx cxx}{+agent} \ agent/pkcs11/libue{openssl} agent/pkcs11/ { libue{openssl}: {hxx ixx txx cxx}{* -agent -options -*.test...} \ {hxx ixx cxx}{options} \ h{pkcs11} \ ../../libue{openssl} libue{openssl}: cxx.libs += -ldl } libue{openssl}: {hxx ixx txx cxx}{* -options -version -*.test...} \ {hxx ixx cxx}{options} {hxx}{version} $libs hxx{version}: in{version} $src_root/manifest # Unit tests. # exe{*.test}: { test = true install = false } for t: cxx{**.test...} { d = $directory($t) n = $name($t)... ./: $d/exe{$n}: $t $d/{hxx ixx txx}{+$n} $d/testscript{+$n} $d/exe{$n}: $d/libue{openssl}: bin.whole = false } # Generated options parser. # if $cli.configured { cli.cxx{options}: cli{options} client/cli.cxx{options}: client/cli{options} agent/pkcs11/cli.cxx{options}: agent/pkcs11/cli{options} cli.options += -I $src_root --include-with-brackets \ --cxx-prologue "#include " \ --cli-namespace openssl::cli --generate-specifier --generate-parse cli.cxx{options}: cli.options += --include-prefix openssl \ --guard-prefix OPENSSL # No usage. # Usage options. # cli.options += --suppress-undocumented --long-usage --ansi-color \ --page-usage 'openssl::print_$name$_' --option-length 20 client/cli.cxx{options}: cli.options += --include-prefix openssl/client \ --guard-prefix OPENSSL_CLIENT agent/pkcs11/cli.cxx{options}: cli.options += \ --include-prefix openssl/agent/pkcs11 --guard-prefix OPENSSL_AGENT_PKCS11 # Include the generated cli files into the distribution and don't remove # them when cleaning in src (so that clean results in a state identical to # distributed). # cli.cxx{*}: { dist = true clean = ($src_root != $out_root) } }