File: x_ac_lua.m4

package info (click to toggle)
slurm-wlm-contrib 24.11.5-2
  • links: PTS, VCS
  • area: contrib
  • in suites: trixie
  • size: 50,596 kB
  • sloc: ansic: 529,598; exp: 64,795; python: 17,051; sh: 9,411; javascript: 6,528; makefile: 4,030; perl: 3,762; pascal: 131
file content (92 lines) | stat: -rw-r--r-- 2,979 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
##*****************************************************************************
#  AUTHOR:
#    Mark Grondona <mgrondona@llnl.gov>
#
#  SYNOPSIS:
#    AC_LUA
#
#  DESCRIPTION:
#    Check for presence of lua libs and headers
##*****************************************************************************


AC_DEFUN([X_AC_LUA],
[
	AC_MSG_CHECKING([whether to enable lua plugin support])
	AC_ARG_WITH([lua],
		    AS_HELP_STRING(--with-lua,enable lua plugin support),
		    [ case "$withval" in
			yes|"") x_ac_lua=yes ;;
			 no) x_ac_lua=no ;;
			  *) AC_MSG_RESULT([doh!])
			     AC_MSG_ERROR([bad value "$withval" for --with-lua]) ;;
			esac
		    ],
		    [x_ac_lua=yes]
		   )
	if test "x$with_lua" = "xno"; then
		AC_MSG_RESULT([no])
		AC_MSG_NOTICE([lua support is disabled])
	else
		x_ac_lua_pkg_name="lua"
		# First check for lua named package, then check for 5.4, 5.3, 5.2 and 5.1.
		# Modern RHEL uses "lua' for the primary version.
		PKG_CHECK_EXISTS([lua], [x_ac_lua_pkg_name="lua >= 5.1"],
			[PKG_CHECK_EXISTS([lua5.4], [x_ac_lua_pkg_name=lua5.4],
			[PKG_CHECK_EXISTS([lua-5.4], [x_ac_lua_pkg_name=lua-5.4],
			[PKG_CHECK_EXISTS([lua5.3], [x_ac_lua_pkg_name=lua5.3],
			[PKG_CHECK_EXISTS([lua-5.3], [x_ac_lua_pkg_name=lua-5.3],
			[PKG_CHECK_EXISTS([lua5.2], [x_ac_lua_pkg_name=lua5.2],
			[PKG_CHECK_EXISTS([lua-5.2], [x_ac_lua_pkg_name=lua-5.2],
			[PKG_CHECK_EXISTS([lua5.1], [x_ac_lua_pkg_name=lua5.1],
			[PKG_CHECK_EXISTS([lua-5.1], [x_ac_lua_pkg_name=lua-5.1],
			[x_ac_lua_pkg_name="lua >= 5.1"])])])])])])])])])
		PKG_CHECK_MODULES([lua], ${x_ac_lua_pkg_name},
			[x_ac_have_lua="yes"],
			[x_ac_have_lua="no"])

		if test "x$x_ac_have_lua" = "xyes"; then
		  saved_CFLAGS="$CFLAGS"
		  saved_LIBS="$LIBS"
		  lua_CFLAGS="$lua_CFLAGS"
		  CFLAGS="$CFLAGS $lua_CFLAGS"
		  LIBS="$LIBS $lua_LIBS"

		  AC_MSG_CHECKING([for whether we can link to liblua])
		  AC_LINK_IFELSE(
			  [AC_LANG_PROGRAM(
				   [[
				     #include <lua.h>
				     #include <lauxlib.h>
				     #include <lualib.h>
				   ]],
				   [[
				     lua_State *L = luaL_newstate();
				     luaL_openlibs(L);
				   ]],
			   )],
			  [],
			  [x_ac_have_lua="no"])

		  AC_MSG_RESULT([$x_ac_have_lua $x_ac_lua_pkg_name])
		  if test "x$x_ac_have_lua" = "xno"; then
		    AS_IF([test -z "$with_lua"],
			  [AC_MSG_WARN([unable to link against lua libraries])],
			  [AC_MSG_ERROR([unable to link against lua libraries])])
		  else
		    AC_DEFINE(HAVE_LUA, 1, [Define to 1 if we have the Lua library])
		    # We can not define something here to determine version for systems
		    # that use just liblua we will not know what version we are using.
		    # Use LUA_VERSION_NUM as in lua.h it will always be right.
		  fi
		  CFLAGS="$saved_CFLAGS"
		  LIBS="$saved_LIBS"
		else
		  AS_IF([test -z "$with_lua"],
			[AC_MSG_WARN([unable to locate lua package])],
			[AC_MSG_ERROR([unable to locate lua package])])
		fi
	fi

	AM_CONDITIONAL(HAVE_LUA, test "x$x_ac_have_lua" = "xyes")
])