Günther Deschner 8d61cef
From 54c21a99e6ca54bdb963c70d322f6778b57a384f Mon Sep 17 00:00:00 2001
Günther Deschner 8d61cef
From: =?UTF-8?q?G=C3=BCnther=20Deschner?= <gd@samba.org>
Günther Deschner 8d61cef
Date: Wed, 4 Mar 2020 18:51:01 +0100
Günther Deschner 8d61cef
Subject: [PATCH] winexe: add configure option to control whether to build it
Günther Deschner 8d61cef
 (default: auto)
Günther Deschner 8d61cef
Günther Deschner 8d61cef
Guenther
Günther Deschner 8d61cef
Günther Deschner 8d61cef
Signed-off-by: Guenther Deschner <gd@samba.org>
Günther Deschner 8d61cef
Reviewed-by: Andreas Schneider <asn@samba.org>
Günther Deschner 8d61cef
Günther Deschner 8d61cef
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Günther Deschner 8d61cef
Autobuild-Date(master): Mon Mar  9 16:27:21 UTC 2020 on sn-devel-184
Günther Deschner 8d61cef
---
Günther Deschner 8d61cef
 examples/winexe/wscript_build |  3 ++-
Günther Deschner 8d61cef
 source3/wscript               | 17 +++++++++++++++++
Günther Deschner 8d61cef
 2 files changed, 19 insertions(+), 1 deletion(-)
Günther Deschner 8d61cef
Günther Deschner 8d61cef
diff --git a/examples/winexe/wscript_build b/examples/winexe/wscript_build
Günther Deschner 8d61cef
index 43c09717e3d..559ed3fc706 100644
Günther Deschner 8d61cef
--- a/examples/winexe/wscript_build
Günther Deschner 8d61cef
+++ b/examples/winexe/wscript_build
Günther Deschner 8d61cef
@@ -106,4 +106,5 @@ if winexesvc_binaries != '':
Günther Deschner 8d61cef
                           LOADPARM_CTX
Günther Deschner 8d61cef
                           libsmb
Günther Deschner 8d61cef
                           msrpc3
Günther Deschner 8d61cef
-                      ''')
Günther Deschner 8d61cef
+                      ''',
Günther Deschner 8d61cef
+                      enabled=bld.env.build_winexe)
Günther Deschner 8d61cef
diff --git a/source3/wscript b/source3/wscript
Günther Deschner 8d61cef
index 85466b493fa..6d5bd22ca49 100644
Günther Deschner 8d61cef
--- a/source3/wscript
Günther Deschner 8d61cef
+++ b/source3/wscript
Günther Deschner 8d61cef
@@ -63,6 +63,7 @@ def options(opt):
Günther Deschner 8d61cef
     opt.samba_add_onoff_option('cluster-support', default=False)
Günther Deschner 8d61cef
 
Günther Deschner 8d61cef
     opt.samba_add_onoff_option('regedit', default=None)
Günther Deschner 8d61cef
+    opt.samba_add_onoff_option('winexe', default=None)
Günther Deschner 8d61cef
 
Günther Deschner 8d61cef
     opt.samba_add_onoff_option('fake-kaserver',
Günther Deschner 8d61cef
                           help=("Include AFS fake-kaserver support"), default=False)
Günther Deschner 8d61cef
@@ -1782,6 +1783,22 @@ main() {
Günther Deschner 8d61cef
     if conf.CHECK_HEADERS('ftw.h') and conf.CHECK_FUNCS('nftw'):
Günther Deschner 8d61cef
         conf.env.build_mvxattr = True
Günther Deschner 8d61cef
 
Günther Deschner 8d61cef
+    conf.env.build_winexe = False
Günther Deschner 8d61cef
+    if not Options.options.with_winexe == False:
Günther Deschner 8d61cef
+        if conf.CONFIG_SET('HAVE_WINEXE_CC_WIN32') or conf.CONFIG_SET('HAVE_WINEXE_CC_WIN64'):
Günther Deschner 8d61cef
+            conf.env.build_winexe = True
Günther Deschner 8d61cef
+
Günther Deschner 8d61cef
+    if conf.env.build_winexe:
Günther Deschner 8d61cef
+        Logs.info("building winexe")
Günther Deschner 8d61cef
+    else:
Günther Deschner 8d61cef
+        if Options.options.with_winexe == False:
Günther Deschner 8d61cef
+            Logs.info("not building winexe (--without-winexe)")
Günther Deschner 8d61cef
+        elif Options.options.with_winexe == True:
Günther Deschner 8d61cef
+            Logs.error("mingw not available, cannot build winexe")
Günther Deschner 8d61cef
+            conf.fatal("mingw not available, but --with-winexe was specified")
Günther Deschner 8d61cef
+        else:
Günther Deschner 8d61cef
+            Logs.info("mingw not available, not building winexe")
Günther Deschner 8d61cef
+
Günther Deschner 8d61cef
     conf.CHECK_FUNCS_IN('DES_pcbc_encrypt', 'crypto')
Günther Deschner 8d61cef
     if Options.options.with_fake_kaserver == True:
Günther Deschner 8d61cef
         conf.CHECK_HEADERS('afs/param.h afs/stds.h', together=True)
Günther Deschner 8d61cef
-- 
Günther Deschner 8d61cef
2.26.2
Günther Deschner 8d61cef