dnl Try to detect/use GNU features
CFLAGS="$CFLAGS -D_GNU_SOURCE"
+dnl check for -Werror separatly
+dnl (quite a few autotool checks don't work with -Werror; also, the
+dnl check for -Werror fails after checking and adding the other flags)
+AC_CACHE_CHECK([if gcc likes the -Werror flag], rd_cv_gcc_flag__Werror,
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[]], [[return 0 ]])],
+ [rd_cv_gcc_flag__Werror="yes"],
+ [rd_cv_gcc_flag__Werror="no"])])
+if test "x$rd_cv_gcc_flag__Werror" = "xyes"; then
+ WERROR="-Werror"
+else
+ WERROR=""
+fi
+AC_SUBST(WERROR)
+
dnl which flags does the compiler support?
if test "x$GCC" = "xyes"; then
for flag in -fno-strict-aliasing -Wall -std=c99 -pedantic -Wundef -Wshadow -Wpointer-arith -Wcast-align -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline -Wold-style-definition -W; do
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
AC_MSG_RESULT(${COMP_PERL:-No Perl Modules will be built})
# Options to pass when configuring perl module
-ppref=$prefix
-test "$ppref" = "NONE" && ppref=$ac_default_prefix
+langpref=$prefix
+test "$langpref" = "$(DESTDIR)NONE" && langpref='$(DESTDIR)'$ac_default_prefix
+test "$langpref" = "NONE" && langpref=$ac_default_prefix
-PERL_MAKE_OPTIONS="PREFIX=$ppref LIB=$ppref/lib/perl/$PERL_VERSION"
+PERL_MAKE_OPTIONS="PREFIX=$langpref LIB=$langpref/lib/perl/$PERL_VERSION"
dnl pass additional perl options when generating Makefile from Makefile.PL
AC_ARG_ENABLE(perl-site-install,
fi
fi
-
dnl pass additional ruby options when generating Makefile from Makefile.PL
AC_ARG_ENABLE(ruby-site-install,
[ --enable-ruby-site-install by default the rrdtool ruby modules are installed
together with rrdtool in $prefix/lib/ruby. You have to
- add $prefix/lib/ruby/$ruby_version/$sitearch to you $: variable
+ add $prefix/lib/ruby/$ruby_version/$sitearch to your $: variable
for ruby to find the RRD.so file.],
-[RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir="'$(DESTDIR)'"$prefix/lib/ruby"])
+[RUBY_MAKE_OPTIONS=],[RUBY_MAKE_OPTIONS="sitedir=$langpref/lib/ruby"])
AC_ARG_WITH(ruby-options,
AC_SUBST(RUBY)
AC_SUBST(COMP_RUBY)
+dnl Check for Lua.
+AC_PATH_PROG(LUA, lua, no)
+
+AC_ARG_ENABLE(lua,[ --disable-lua do not build the lua modules],
+[],[enable_lua=yes])
+
+COMP_LUA=
+if test "$LUA" = "no" -o "$enable_lua" = "no"; then
+ enable_lua=no
+else
+ AC_MSG_CHECKING(for lua >= 5.0)
+ read LUA_MAJOR LUA_MINOR LUA_POINT <<LUA_EOF
+ $($LUA -v 2>&1 | cut -f2 -d' ' | sed -e 's/\./ /g')
+LUA_EOF
+ if test 0$LUA_MAJOR -lt 5; then
+ AC_MSG_RESULT([no, version found is $LUA_MAJOR.$LUA_MINOR])
+ else
+ AC_MSG_RESULT([$LUA_MAJOR.$LUA_MINOR found])
+ lua_vdot=$LUA_MAJOR.$LUA_MINOR
+ lua_vndot=$LUA_MAJOR$LUA_MINOR
+ lua_version=$LUA_MAJOR.$LUA_MINOR.$LUA_POINT
+ 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$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,
+ [AC_CHECK_HEADERS(lualib.h,
+ [AC_CHECK_HEADER(lauxlib.h,
+ [lua_headerdir=""],
+ [lua_headerdir="no"])],
+ [])],
+ [])])])
+
+ if test "$lua_headerdir" = "no"; then
+ enable_lua=no
+ else
+ COMP_LUA=lua
+ fi
+
+ if test "$COMP_LUA" != "lua"; then
+ enable_lua=no
+ 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$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
+ LIBS=
+
+ # Options to pass when configuring Lua module
+ if test "$lua_havelib" != "no"; then
+ # OK, headers and libs found. Try to set lua flags
+ # and modules installation dirs with pkg-config
+ if test "$PKGCONFIG" != "no"; 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$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
+
+ 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
+
+ # 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
+ 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 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_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_INSTALL_CMOD)
+ AC_SUBST(LUA_INSTALL_LMOD)
+ AC_SUBST(LUA_CFLAGS)
+ AC_SUBST(LUA_LFLAGS)
+ 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])
+ fi
+ 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
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])
AC_CONFIG_COMMANDS([default],[[ chmod +x examples/*.pl]],[[]])
AC_OUTPUT
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 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"