X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=configure.ac;h=f08b4e97be8c369bef0e227197158ccdc2f953c7;hp=a2ece2b988a6e48b22cc4190434eba347248397d;hb=2ba0dac41cd82d69b612b5b4526f6e6f85c8abdc;hpb=e0fde57e050da8ae29bf1a95aee958dfff2510e2 diff --git a/configure.ac b/configure.ac index a2ece2b..f08b4e9 100644 --- a/configure.ac +++ b/configure.ac @@ -367,7 +367,7 @@ CONFIGURE_PART(Resolve Portability Issues) dnl Do we need getopt_long build_getopt=no -RRD_GETOPT_LONG="#" +RRD_GETOPT_LONG="LIBC_HAS_GETOPT_LONG" AC_CHECK_FUNC(getopt_long,[],[ RRD_GETOPT_LONG="getopt_long" build_getopt=yes @@ -651,19 +651,19 @@ LUA_EOF AC_MSG_RESULT([no, version found is $LUA_MAJOR.$LUA_MINOR]) else AC_MSG_RESULT([$LUA_MAJOR.$LUA_MINOR found]) - vdot=$LUA_MAJOR.$LUA_MINOR - vndot=$LUA_MAJOR$LUA_MINOR + lua_vdot=$LUA_MAJOR.$LUA_MINOR + lua_vndot=$LUA_MAJOR$LUA_MINOR lua_version=$LUA_MAJOR.$LUA_MINOR.$LUA_POINT - AC_CHECK_HEADERS(lua$vndot/lua.h, - [AC_CHECK_HEADERS(lua$vndot/lualib.h, - [AC_CHECK_HEADER(lua$vndot/lauxlib.h, - [lua_headerdir=lua$vndot], + AC_CHECK_HEADERS(lua$lua_vndot/lua.h, + [AC_CHECK_HEADERS(lua$lua_vndot/lualib.h, + [AC_CHECK_HEADER(lua$lua_vndot/lauxlib.h, + [lua_headerdir=lua$lua_vndot], [])], [])], - [AC_CHECK_HEADERS(lua$vdot/lua.h, - [AC_CHECK_HEADERS(lua$vdot/lualib.h, - [AC_CHECK_HEADER(lua$vdot/lauxlib.h, - [lua_headerdir=lua$vdot], + [AC_CHECK_HEADERS(lua$lua_vdot/lua.h, + [AC_CHECK_HEADERS(lua$lua_vdot/lualib.h, + [AC_CHECK_HEADER(lua$lua_vdot/lauxlib.h, + [lua_headerdir=lua$lua_vdot], [])], [])], [AC_CHECK_HEADERS(lua.h, @@ -682,23 +682,20 @@ LUA_EOF if test "$COMP_LUA" != "lua"; then enable_lua=no - AC_MSG_WARN([Lua $vdot found but not lua.h, lualib.h and lauxlib.h! Please install the -dev packages for Lua $vdot]) + AC_MSG_WARN([Lua $lua_vdot found but not lua.h, lualib.h and lauxlib.h! Please install the -dev packages for Lua $lua_vdot]) else # OK, headers found, let's check the libraries (LIBS is not used) LIBS= lua_havelib=no LUA_HAVE_COMPAT51=DONT_HAVE_COMPAT51 - AC_SEARCH_LIBS(lua_call, lua$vdot lua$vndot lua, - [AC_SEARCH_LIBS(luaL_register, lua$vdot lua$vndot lua, - [lua_havelib=LUA$vndot], - [AC_SEARCH_LIBS(luaL_module, lualib$vndot lualib$vdot lualib, - [lua_havelib=$vndot ; - AC_CHECK_HEADERS(lua$vndot/compat-5.1.h, - [LUA_HAVE_COMPAT51=HAVE_COMPAT51], [], - [[#include - #include ]])], - [AC_SEARCH_LIBS(luaL_openlib, lualib$vdot lualib$vndot lualib, - [lua_havelib=$vndot], + AC_SEARCH_LIBS(lua_call, lua$lua_vdot lua$lua_vndot lua, + [AC_SEARCH_LIBS(luaL_register, lua$lua_vdot lua$lua_vndot lua, + [lua_havelib=LUA$lua_vndot], + [AC_SEARCH_LIBS(luaL_module, lualib$lua_vndot lualib$lua_vdot lualib, + [lua_havelib=$lua_vndot; $LUA -l compat-5.1 2>/dev/null; + test "$?" = "0" && LUA_HAVE_COMPAT51=HAVE_COMPAT51], + [AC_SEARCH_LIBS(luaL_openlib, lualib$lua_vdot lualib$lua_vndot lualib, + [lua_havelib=$lua_vndot], [COMP_LUA=], [-lm])], [-lm])], [-lm])], [COMP_LUA=], [-lm]) lua_libs=$LIBS @@ -706,69 +703,70 @@ LUA_EOF # Options to pass when configuring Lua module if test "$lua_havelib" != "no"; then - # OK, headers and libs found - # try to set lua include, lib and C installation dirs with pkg-config + # OK, headers and libs found. Try to set lua flags + # and modules installation dirs with pkg-config if test "$PKGCONFIG" != "no"; then - if test "$vndot" = "50"; then + if test "$lua_vndot" = "50"; then lua_pkg_prefix=lualib else lua_pkg_prefix=lua fi # try with dot, without dot and finally without version - for f in $lua_pkg_prefix$vdot $lua_pkg_prefix$vndot $lua_pkg_prefix; do - lua_cflags=$($PKGCONFIG --cflags $f 2>/dev/null) - if test "$lua_cflags" != ""; then - # OK, found CFLAGS. Get Lua LFLAGS and lib install dir - LUA_CFLAGS=$lua_cflags - LUA_LFLAGS=$($PKGCONFIG --libs $f) - LUA_INSTALL_CMOD=$($PKGCONFIG --variable=INSTALL_CMOD $f) - break + for f in $lua_pkg_prefix$lua_vdot $lua_pkg_prefix$lua_vndot $lua_pkg_prefix; do + lua_exec_prefix=`$PKGCONFIG --variable=prefix $f 2>/dev/null` + # same binaries? + if test "$lua_exec_prefix/bin/lua" = "$LUA"; then + # OK, found CFLAGS. Get Lua LFLAGS and modules install dir + LUA_CFLAGS=`$PKGCONFIG --cflags $f 2>/dev/null` + LUA_LFLAGS=`$PKGCONFIG --libs $f 2>/dev/null` + LUA_INSTALL_CMOD=`$PKGCONFIG --variable=INSTALL_CMOD $f 2>/dev/null` + LUA_INSTALL_LMOD=`$PKGCONFIG --variable=INSTALL_LMOD $f 2>/dev/null` + break fi done fi - # if not set with pkg-config, use default values in src package - if test "$LUA_CFLAGS" = ""; then - AC_MSG_WARN(Setting Lua include and lib dirs to defaults in src package) - LUA_CFLAGS="-I/usr/local/include -I/usr/local/include/lua -I/usr/local/include/lua/$vdot" - LUA_LFLAGS="-L/usr/local/lib -L/usr/local/lib/lua -L/usr/local/lib/lua/$vdot $lua_libs" - LUA_INSTALL_CMOD="/usr/local/lib/lua/$vdot" + LUA_RRD_LIBDIR="$langpref/lib/lua/$lua_vdot" + # if lua 5.0 can't find compat-5.1, force installation of + # compat-5.1.lua together with RRDtool. + if test "$lua_vdot" = "5.0" -a "$LUA_HAVE_COMPAT51" != "HAVE_COMPAT51"; then + lua_need_compat51=1 + LUA_INSTALL_LMOD="$LUA_RRD_LIBDIR" fi - LUA_SRCS=rrdlua.c - LUA_OBJS=rrdlua.o - # If Lua 5.0, we need compat-5.1. Add ours unless already - # integrated as in Debian/Ubuntu 5.0 -dev packages. - if test "$vdot" = "5.0" -a "$LUA_HAVE_COMPAT51" != "HAVE_COMPAT51"; then - LUA_SRCS="rrdlua.c compat-5.1r5/compat-5.1.c" - LUA_OBJS="rrdlua.o compat-5.1r5/compat-5.1.o" + + # if not set with pkg-config, use default values in src packages compat-5.1, lua 5.1 + if test "$LUA_CFLAGS" = ""; then + AC_MSG_WARN(Setting Lua include and lib flags to defaults in compat-5.1 and lua 5.1 sources) + LUA_CFLAGS="-I/usr/local/include -I/usr/local/include/lua -I/usr/local/include/lua/$lua_vdot" + LUA_LFLAGS="-L/usr/local/lib -L/usr/local/lib/lua -L/usr/local/lib/lua/$lua_vdot $lua_libs" + LUA_INSTALL_CMOD="/usr/local/lib/lua/$lua_vdot" fi dnl pass additional lua options - # if lua-site-install is not set, overwrite LUA_INSTALL_CMOD already - # found and install together with RRDtool, under $langpref. - LUA_RRD_LANGPREF="$langpref/lib/lua" + dnl if lua-site-install is not set, overwrite LUA_INSTALL_CMOD already + dnl found and install together with RRDtool, under $langpref. AC_ARG_ENABLE(lua-site-install, - [ --enable-lua-site-install by default the rrdtool lua modules are installed - together with rrdtool in $prefix/lib/lua. You have to - add $prefix/lib/lua/$lua_version/?.so to package.cpath - for lua to find the rrd.so file. When you set this - option the Lua module will get installed wherever - your Lua setup thinks it is best.], + [ --enable-lua-site-install by default the lua module is installed + together with rrdtool in $prefix/lib/lua/$lua_version. + You have to add $prefix/lib/lua/$lua_version/?.so to + package.cpath for lua to find 'rrd.so'. For lua 5.0 + you may also need to change LUA_PATH to the same dir, + to require 'compat-5.1'. When you set this option the + lua modules will get installed wherever your Lua + setup thinks it is best. + WARNING: if you set this option, system lua modules + compat-5.1.lua and rrd.so, if any, may be overwritten.], [], - [LUA_INSTALL_CMOD="$LUA_RRD_LANGPREF/$vdot"]) + [LUA_INSTALL_CMOD="$LUA_RRD_LIBDIR"; LUA_INSTALL_LMOD="$LUA_RRD_LIBDIR"]) + LUA_DEFINES="-DLUA$lua_vndot -D$LUA_HAVE_COMPAT51" AC_SUBST(LUA) AC_SUBST(COMP_LUA) - AC_SUBST(LUA_MAJOR) - AC_SUBST(LUA_MINOR) - AC_SUBST(LUA_POINT) - AC_SUBST(LUA_RRD_LANGPREF) AC_SUBST(LUA_INSTALL_CMOD) - AC_SUBST(LUA_HAVE_COMPAT51) + AC_SUBST(LUA_INSTALL_LMOD) AC_SUBST(LUA_CFLAGS) AC_SUBST(LUA_LFLAGS) - AC_SUBST(LUA_SRCS) - AC_SUBST(LUA_OBJS) + AC_SUBST(LUA_DEFINES) else enable_lua=no AC_MSG_RESULT([Lua headers found but not the libraries! Please reinstall the dev packages for Lua $LUA_MAJOR.$LUA_MINOR]) @@ -776,7 +774,14 @@ LUA_EOF fi fi fi - +dnl If Lua 5.0, we need compat-5.1. Add ours unless already +dnl integrated as in Debian/Ubuntu 5.0 -dev packages. +AM_CONDITIONAL(LUA_NEED_OUR_COMPAT51, + [test "$lua_vdot" = "5.0" -a "$LUA_HAVE_COMPAT51" != "HAVE_COMPAT51"]) +AM_CONDITIONAL(LUA_SITE_CINSTALL, [test "$LUA_INSTALL_CMOD" != "$LUA_RRD_LIBDIR"]) +AM_CONDITIONAL(LUA_SITE_LINSTALL, [test "$LUA_INSTALL_LMOD" != "$LUA_RRD_LIBDIR"]) +AM_CONDITIONAL(LUA50, [test "$lua_vndot" = "50"]) +AM_CONDITIONAL(BUILD_LUA, [test "$enable_lua" = "yes"]) enable_tcl_site=no @@ -868,13 +873,13 @@ AC_CONFIG_FILES([examples/Makefile]) AC_CONFIG_FILES([doc/Makefile]) AC_CONFIG_FILES([po/Makefile.in]) AC_CONFIG_FILES([src/Makefile]) -AC_CONFIG_FILES([src/librrd.sym]) +AC_CONFIG_FILES([src/librrd.sym.in]) AC_CONFIG_FILES([src/librrd.pc]) AC_CONFIG_FILES([bindings/Makefile]) AC_CONFIG_FILES([bindings/tcl/Makefile]) AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl]) AC_CONFIG_FILES([Makefile]) -AC_CONFIG_FILES([bindings/lua/Makefile.lua]) +AC_CONFIG_FILES([bindings/lua/Makefile]) AC_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]]) AC_OUTPUT @@ -908,9 +913,14 @@ echo " Ruby Modules: $COMP_RUBY" echo " Ruby Binary: $RUBY" echo " Ruby Options: $RUBY_MAKE_OPTIONS" echo " Build Lua Bindings: $enable_lua" +if test "$enable_lua" = "yes"; then echo " Lua Binary: $LUA" echo " Lua Version: $lua_version" -echo " Lua module dir: $LUA_INSTALL_CMOD" +echo " Lua C-modules dir: $LUA_INSTALL_CMOD" +if test "$lua_need_compat51" = "1"; then +echo " Lua Lua-modules dir: $LUA_INSTALL_LMOD" +fi +fi echo " Build Tcl Bindings: $enable_tcl" echo " Build Python Bindings: $enable_python" echo " Build rrdcgi: $enable_rrdcgi"