# initialise autoconf and set up some basic information about the program we’re packaging AC_INIT([lua], [0.5.2b], [xsang.le@gmail.com]) # We’re going to use automake for this project # [subdir-objects] if needed AM_INIT_AUTOMAKE([subdir-objects]) # dependencies # C compiler AC_PROG_CC # libtool for linking AC_PROG_LIBTOOL has_antd=no # check for lib antd AC_CHECK_HEADER([antd/plugin.h],[ has_antd=yes # check if the library exists ],[ AC_MSG_ERROR([Unable to find antd, please install it first]) ]) AC_CHECK_LIB([antd],[antd_send],[],[ if test "$has_antd" = "yes"; then AC_MSG_ERROR([Unable to find antd shared library, please install it first]) fi ]) # check if sqlite3 header exists use_db=no AC_CHECK_HEADER([sqlite3.h],[ AC_DEFINE([USE_DB], [1],[Use sqlite3]) use_db=yes # check if the library exists ],[]) AC_CHECK_LIB([sqlite3],[sqlite3_open],[],[ if test "$use_db" = "yes"; then AC_MSG_ERROR([Unable to find sqlite3 shared library]) fi ]) # check for pthread AC_CHECK_LIB([pthread], [pthread_create], [], [ AC_MSG_ERROR([libpthread is not found])]) # check for dl AC_CHECK_LIB([dl], [dlopen], [], [ AC_MSG_ERROR([unable to find libdl]) ]) # check for lm AC_CHECK_LIB([m],[cos],[],[ AC_MSG_ERROR([unable to find libm]) ]) # check for libreadline AC_CHECK_HEADER([readline/readline.h],[],[ AC_MSG_ERROR([unable to find libreadline headers]) ]) AC_CHECK_LIB([readline],[read_history],[],[ AC_MSG_ERROR([unable to find libreadline]) ]) AC_DEFINE([_GNU_SOURCE], [1],[Use GNU source]) # AC_CANONICAL_HOST is needed to access the 'host_os' variable # debug option AC_ARG_ENABLE([debug], [ --enable-debug Turn on debugging], [case "${enableval}" in yes) AC_DEFINE([DEBUG], [1],[Enable debug]) ;; no) ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-debug]) ;; esac],[debug=false]) AC_CANONICAL_HOST build_linux=no build_windows=no build_mac=no # Detect the target system case "${host_os}" in linux*) AC_DEFINE([LINUX], [1],[Linux system]) build_linux=yes ;; darwin*) build_mac=yes AC_DEFINE([MACOS], [1],[MacOS system]) ;; *) AC_MSG_ERROR(["OS $host_os is not supported"]) ;; esac if test "$build_linux" = "yes"; then AC_CHECK_LIB([crypt],[crypt],[],[ AC_MSG_ERROR([unable to find libcrypt]) ]) fi # case for window: # cygwin*|mingw*) # build_windows=yes # ;; # Pass the conditionals to automake AM_CONDITIONAL([DB], [test "$use_db" = "yes"]) AM_CONDITIONAL([LINUX], [test "$build_linux" = "yes"]) AM_CONDITIONAL([WINDOWS], [test "$build_windows" = "yes"]) AM_CONDITIONAL([OSX], [test "$build_mac" = "yes"]) # find a file called Makefile.in, substitute placeholders # like @PACKAGE_VERSION@ with values like 0.1.0a, # and write the results to Makefile. AC_CONFIG_FILES([3rd/Makefile Makefile lib/Makefile lib/ulib/Makefile lib/wurl/Makefile]) # output the script: AC_OUTPUT