| From 2e53f331104b29db7caf1641a30d3e9316b57184 Mon Sep 17 00:00:00 2001 |
| From: Uri Simchoni <uri@samba.org> |
| Date: Sun, 20 Oct 2019 00:03:14 +0300 |
| Subject: [PATCH] build: find pre-built heimdal build tools in case of embedded |
| heimdal |
| |
| This patch fixes the case of finding asn1_compile and compile_et for |
| building embedded heimdal, by setting |
| --bundled-libraries='!asn1_compile,!compile_et' as configure flags. |
| |
| The Heimdal build tools compile_et and asn1_compile are needed *only* |
| if we use the embedded heimdal (otherwise we don't build heimdal and |
| use headers that have been generated by those tools elsewhere). |
| |
| For cross-compilation with embedded heimdal, it is vital to use host build |
| tools, and so asn1_compile and compile_et must be supplied and not |
| built. One way of doing this would be to set the COMPILE_ET and |
| ASN1_COMPILE env vars to the location of supplied binaries. Another way, |
| which is more commonly used, is to exclude asn1_compile and compile_et |
| from bundled packages via the switch |
| -bundled-libraries='!asn1_compile,!compile_et'. When this is done, |
| the build script searches the path for those tools and sets the |
| ASN1_COMPILE and COMPILE_ET vars accordingly. (this is admittedly |
| kind of a round-about way of doing things but this has become the |
| de-facto standard amongst embedded distro builders). |
| |
| In commit 8061983d4882f3ba3f12da71443b035d7b672eec, this process of |
| finding the binaris has been moved to be carried out only in the |
| system heimdal case. As explained above, we only need these tools, |
| and hence the check, in bundled mode. |
| |
| BUG: https://bugzilla.samba.org/show_bug.cgi?id=14164 |
| |
| Signed-off-by: Uri Simchoni <uri@samba.org> |
| Signed-off-by: Bernd Kuhls <bernd@kuhls.net> |
| [Bernd: rebased for version 4.11.13, 4.17.7 & 4.20.3] |
| --- |
| wscript_configure_embedded_heimdal | 11 +++++++++++ |
| wscript_configure_system_heimdal | 11 ----------- |
| 2 files changed, 11 insertions(+), 11 deletions(-) |
| |
| diff --git a/wscript_configure_embedded_heimdal b/wscript_configure_embedded_heimdal |
| index 8c55ae2..4fdae80 100644 |
| --- a/wscript_configure_embedded_heimdal |
| +++ b/wscript_configure_embedded_heimdal |
| @@ -13,3 +13,14 @@ |
| # when this will be available also in |
| # system libraries... |
| conf.define('HAVE_CLIENT_GSS_C_CHANNEL_BOUND_FLAG', 1) |
| + |
| +def check_system_heimdal_binary(name): |
| + if conf.LIB_MAY_BE_BUNDLED(name): |
| + return False |
| + if not conf.find_program(name, var=name.upper()): |
| + return False |
| + conf.define('USING_SYSTEM_%s' % name.upper(), 1) |
| + return True |
| + |
| +check_system_heimdal_binary("compile_et") |
| +check_system_heimdal_binary("asn1_compile") |
| -- |
| 2.20.1 |
| |