mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools: build golang tools if go compiler is present
By default, if the go compiler is found by the configure script, build the golang tools. If the compiler is not found, and --enable-golang was not explicitly set, do not build to the golang tools. The corresponding make variable is CONFIG_GOLANG. Remove CONFIG_GOLANG from tools/Rules.mk since the variable is now set by configure in config/Tools.mk. Signed-off-by: Nick Rosbrook <rosbrookn@ainfosec.com> Acked-by: Wei Liu <wl@xen.org> Acked-by: George Dunlap <george.dunlap@citrix.com>
This commit is contained in:
1 parent
8d4c17a90b
commit
1e13ea98bb
5 files changed
+155
-2
No files matched your search
@@ -55,6 +55,7 @@ CONFIG_QEMU_TRAD := @qemu_traditional@
|
||||
CONFIG_QEMU_XEN := @qemu_xen@
|
||||
CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@
|
||||
CONFIG_LIBNL := @libnl@
|
||||
CONFIG_GOLANG := @golang@
|
||||
|
||||
CONFIG_SYSTEMD := @systemd@
|
||||
SYSTEMD_CFLAGS := @SYSTEMD_CFLAGS@
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
AC_DEFUN([AC_PROG_GO], [
|
||||
dnl Check for the go compiler
|
||||
AC_CHECK_TOOL([GO],[go],[no])
|
||||
])
|
||||
@@ -35,8 +35,6 @@ XENSTORE_XENSTORED ?= y
|
||||
debug ?= y
|
||||
debug_symbols ?= $(debug)
|
||||
|
||||
# Set CONFIG_GOLANG=y in .config (or in make) to build golang
|
||||
CONFIG_GOLANG ?= n
|
||||
XEN_GOPATH = $(XEN_ROOT)/tools/golang
|
||||
XEN_GOCODE_URL = golang.xenproject.org
|
||||
|
||||
|
||||
Vendored
+138
@@ -664,6 +664,7 @@ pyconfig
|
||||
PYTHONPATH
|
||||
CHECKPOLICY
|
||||
XENSTORED
|
||||
GO
|
||||
OCAMLFIND
|
||||
OCAMLBUILD
|
||||
OCAMLDOC
|
||||
@@ -705,6 +706,7 @@ LD86
|
||||
AS86
|
||||
qemu_traditional
|
||||
LINUX_BACKEND_MODULES
|
||||
golang
|
||||
seabios
|
||||
ovmf
|
||||
xsmpolicy
|
||||
@@ -807,6 +809,7 @@ enable_ocamltools
|
||||
enable_xsmpolicy
|
||||
enable_ovmf
|
||||
enable_seabios
|
||||
enable_golang
|
||||
with_linux_backend_modules
|
||||
enable_qemu_traditional
|
||||
enable_rombios
|
||||
@@ -1493,6 +1496,7 @@ Optional Features:
|
||||
--disable-xsmpolicy Disable XSM policy compilation (default is ENABLED)
|
||||
--enable-ovmf Enable OVMF (default is DISABLED)
|
||||
--disable-seabios Disable SeaBIOS (default is ENABLED)
|
||||
--disable-golang Disable Go tools (default is ENABLED)
|
||||
--enable-qemu-traditional
|
||||
Enable qemu traditional device model, (DEFAULT is on
|
||||
for Linux or NetBSD x86, otherwise off)
|
||||
@@ -3870,6 +3874,8 @@ esac
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4200,6 +4206,29 @@ seabios=$ax_cv_seabios
|
||||
|
||||
|
||||
|
||||
# Check whether --enable-golang was given.
|
||||
if test "${enable_golang+set}" = set; then :
|
||||
enableval=$enable_golang;
|
||||
fi
|
||||
|
||||
|
||||
if test "x$enable_golang" = "xno"; then :
|
||||
|
||||
ax_cv_golang="n"
|
||||
|
||||
elif test "x$enable_golang" = "xyes"; then :
|
||||
|
||||
ax_cv_golang="y"
|
||||
|
||||
elif test -z $ax_cv_golang; then :
|
||||
|
||||
ax_cv_golang="y"
|
||||
|
||||
fi
|
||||
golang=$ax_cv_golang
|
||||
|
||||
|
||||
|
||||
|
||||
# Check whether --with-linux-backend-modules was given.
|
||||
if test "${with_linux_backend_modules+set}" = set; then :
|
||||
@@ -6694,6 +6723,115 @@ fi
|
||||
|
||||
fi
|
||||
|
||||
if test "x$golang" = "xy"; then :
|
||||
|
||||
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}go", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}go; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_prog_GO+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$GO"; then
|
||||
ac_cv_prog_GO="$GO" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_prog_GO="${ac_tool_prefix}go"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
GO=$ac_cv_prog_GO
|
||||
if test -n "$GO"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GO" >&5
|
||||
$as_echo "$GO" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
if test -z "$ac_cv_prog_GO"; then
|
||||
ac_ct_GO=$GO
|
||||
# Extract the first word of "go", so it can be a program name with args.
|
||||
set dummy go; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_prog_ac_ct_GO+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$ac_ct_GO"; then
|
||||
ac_cv_prog_ac_ct_GO="$ac_ct_GO" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_prog_ac_ct_GO="go"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
ac_ct_GO=$ac_cv_prog_ac_ct_GO
|
||||
if test -n "$ac_ct_GO"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GO" >&5
|
||||
$as_echo "$ac_ct_GO" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
if test "x$ac_ct_GO" = x; then
|
||||
GO="no"
|
||||
else
|
||||
case $cross_compiling:$ac_tool_warned in
|
||||
yes:)
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
|
||||
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
||||
ac_tool_warned=yes ;;
|
||||
esac
|
||||
GO=$ac_ct_GO
|
||||
fi
|
||||
else
|
||||
GO="$ac_cv_prog_GO"
|
||||
fi
|
||||
|
||||
|
||||
if test "x$GO" = "xno"; then :
|
||||
|
||||
if test "x$enable_golang" = "xyes"; then :
|
||||
|
||||
as_fn_error $? "Go tools enabled, but missing go compiler" "$LINENO" 5
|
||||
|
||||
fi
|
||||
golang="n"
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -73,6 +73,7 @@ m4_include([../m4/fetcher.m4])
|
||||
m4_include([../m4/ax_compare_version.m4])
|
||||
m4_include([../m4/paths.m4])
|
||||
m4_include([../m4/systemd.m4])
|
||||
m4_include([../m4/golang.m4])
|
||||
|
||||
AX_XEN_EXPAND_CONFIG()
|
||||
|
||||
@@ -84,6 +85,7 @@ AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
|
||||
AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
|
||||
AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
|
||||
AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
|
||||
AX_ARG_DEFAULT_ENABLE([golang], [Disable Go tools])
|
||||
|
||||
AC_ARG_WITH([linux-backend-modules],
|
||||
AS_HELP_STRING([--with-linux-backend-modules="mod1 mod2"],
|
||||
@@ -320,6 +322,16 @@ AS_IF([test "x$ocamltools" = "xy"], [
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test "x$golang" = "xy"], [
|
||||
AC_PROG_GO
|
||||
AS_IF([test "x$GO" = "xno"], [
|
||||
AS_IF([test "x$enable_golang" = "xyes"], [
|
||||
AC_MSG_ERROR([Go tools enabled, but missing go compiler])
|
||||
])
|
||||
golang="n"
|
||||
])
|
||||
])
|
||||
|
||||
m4_include([../m4/xenstored.m4])
|
||||
AX_XENSTORE_OPTIONS
|
||||
AX_XENSTORE_SET
|
||||
|
||||