From 1199befe0975b41b202501984b8db1f39a8893a3 Mon Sep 17 00:00:00 2001 From: Nikos Gorogiannis Date: Thu, 23 Jan 2025 04:18:55 -0800 Subject: [PATCH] [swift] autoconf support Summary: Allow disabling swift and provide variable SWIFTC for makefile use. Reviewed By: geralt-encore Differential Revision: D68548690 fbshipit-source-id: 25372c2b6f663d765b7d187482400e34bb2f1215 --- Makefile.autoconf.in | 1 + configure.ac | 13 +++++++++++++ infer/src/base/Version.ml.in | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Makefile.autoconf.in b/Makefile.autoconf.in index 5d1a0580fe0..0491f788f8b 100644 --- a/Makefile.autoconf.in +++ b/Makefile.autoconf.in @@ -93,6 +93,7 @@ REALPATH := @REALPATH@ REBAR3 := @REBAR3@ SDKROOT := @SDKROOT@ SHASUM := @SHASUM@ +SWIFTC := @SWIFTC@ USER_JAVA_HOME := @USER_JAVA_HOME@ UTOP := @UTOP@ WINDOWS_BUILD := @WINDOWS_BUILD@ diff --git a/configure.ac b/configure.ac index fc6e0a3f4de..df08c939cbc 100644 --- a/configure.ac +++ b/configure.ac @@ -150,6 +150,14 @@ AC_ARG_ENABLE(python-analyzers, BUILD_PYTHON_ANALYZERS=$enable_python_analyzers AC_SUBST([BUILD_PYTHON_ANALYZERS]) +AC_ARG_ENABLE(swift-analyzers, + AS_HELP_STRING([--disable-swift-analyzers], + [do not build the Swift analyzers (default is to build them)]), + , + enable_swift_analyzers=yes) +BUILD_SWIFT_ANALYZERS=$enable_swift_analyzers +AC_SUBST([BUILD_SWIFT_ANALYZERS]) + AC_ARG_WITH(fcp-clang, AS_HELP_STRING([--with-fcp-clang], [use $CLANG_PREFIX/bin/clang to override the default compiler (default is not to override)]), @@ -348,6 +356,10 @@ AS_IF([$HACKC --version >/dev/null 2>/dev/null], [HACKC=no AC_MSG_RESULT([no])]) +if test "x$enable_swift_analyzers" = "xyes"; then + AC_CHECK_TOOL([SWIFTC], [swiftc], [no]) +fi + if test "x$enable_java_analyzers" = "xyes"; then AC_CHECK_TOOL([JAVA], [java], [no]) AC_CHECK_TOOL([JAVAC], [javac], [no]) @@ -420,6 +432,7 @@ ENABLE_OCAML_BINANNOT=$enable_ocaml_bin_annot AC_SUBST([ENABLE_OCAML_BINANNOT]) + # We use Buck to run the Infer tests AS_IF([test x"$is_facebook_tree" = x"yes"], AC_MSG_CHECKING([which .buckjavaversion to use]) diff --git a/infer/src/base/Version.ml.in b/infer/src/base/Version.ml.in index 270a1dbac76..a6896f0228a 100644 --- a/infer/src/base/Version.ml.in +++ b/infer/src/base/Version.ml.in @@ -61,4 +61,4 @@ let python_exe = "@PYTHON@" let python_enabled = is_yes "@BUILD_PYTHON_ANALYZERS@" -let swift_enabled = is_yes "yes" +let swift_enabled = is_yes "@BUILD_SWIFT_ANALYZERS@"