| dnl Process this file with autoconf to produce a configure script. |
| AC_INIT(cgi/cgi.c) |
| AC_CONFIG_HEADER(cs_config.h) |
| |
| dnl Checks for programs. |
| AC_PROG_CC |
| AC_PROG_CPP |
| AC_PROG_LN_S |
| AC_CHECK_PROGS(AR, ar aal, ar) |
| AC_PROG_RANLIB |
| |
| AC_PROG_MAKE_SET |
| AC_PROG_INSTALL |
| |
| dnl Checks for Neotonic Paths |
| AC_MSG_CHECKING(for Neotonic Paths) |
| if test -d /neo/opt/include; then |
| AC_MSG_RESULT(found) |
| CPPFLAGS="$CPPFLAGS -I/neo/opt/include" |
| LDFLAGS="$LDFLAGS -L/neo/opt/lib" |
| else |
| AC_MSG_RESULT(not found) |
| fi |
| |
| dnl Checks for header files. |
| AC_HEADER_DIRENT |
| AC_HEADER_STDC |
| AC_HEADER_SYS_WAIT |
| AC_CHECK_HEADERS(fcntl.h stdarg.h varargs.h limits.h strings.h sys/ioctl.h sys/time.h unistd.h features.h) |
| |
| dnl Checks for typedefs, structures, and compiler characteristics. |
| AC_C_CONST |
| AC_TYPE_MODE_T |
| AC_TYPE_OFF_T |
| AC_TYPE_PID_T |
| AC_TYPE_SIZE_T |
| AC_HEADER_TIME |
| AC_STRUCT_TM |
| AC_STRUCT_TIMEZONE |
| |
| dnl Checks for library functions. |
| AC_TYPE_SIGNAL |
| AC_FUNC_STRFTIME |
| AC_FUNC_VPRINTF |
| AC_FUNC_WAIT3 |
| AC_CHECK_FUNCS(gettimeofday mktime putenv strerror strspn strtod strtol strtoul) |
| AC_CHECK_FUNCS(random rand drand48) |
| |
| dnl Checks for libraries. |
| EXTRA_UTL_OBJS= |
| EXTRA_UTL_SRC= |
| cs_cv_wdb=no |
| AC_ARG_ENABLE(apache, [ --disable-wdb Disables building of wdb], |
| [if test $enableval = no; then |
| AC_MSG_RESULT(Disabling wdb code) |
| else |
| AC_SEARCH_LIBS(db_open, db db2, [cs_cv_wdb=yes]) |
| if test $cs_cv_wdb = yes; then |
| AC_DEFINE(HAVE_DB2) |
| EXTRA_UTL_SRC="$EXTRA_UTL_SRC wdb.c" |
| fi |
| fi]) |
| |
| dnl Check for locks |
| AC_CHECK_FUNC(lockf, [ |
| AC_DEFINE(HAVE_LOCKF) |
| EXTRA_UTL_SRC="$EXTRA_UTL_SRC ulocks.c rcfs.c" |
| |
| cs_cv_pthread=no |
| AC_CHECK_HEADER(pthread.h, [cs_cv_pthread=yes]) |
| if test $cs_cv_pthread = yes; then |
| AC_DEFINE(HAVE_PTHREADS) |
| EXTRA_UTL_SRC="$EXTRA_UTL_SRC skiplist.c dict.c" |
| fi |
| ]) |
| |
| AC_MINGW32() |
| if test "x$MINGW32" = "xyes"; then |
| CPPFLAGS="$CPPFLAGS -D__WINDOWS_GCC__" |
| USE_MINGW32="USE_MINGW32 = 1" |
| else |
| EXTRA_UTL_SRC="$EXTRA_UTL_SRC filter.c neo_net.c neo_server.c" |
| fi |
| |
| dnl Check for snprintf and vsnprintf |
| cs_cv_snprintf=no |
| SNPRINTFOBJS="" |
| AC_CHECK_FUNC(snprintf, [AC_DEFINE(HAVE_SNPRINTF)], [cs_cv_snprintf=yes]) |
| AC_CHECK_FUNC(vsnprintf, [AC_DEFINE(HAVE_VSNPRINTF)], [cs_cv_snprintf=yes]) |
| if test $cs_cv_snprintf = yes; then |
| EXTRA_UTL_OBJS="$EXTRA_UTL_OBJS snprintf.o" |
| fi |
| |
| |
| dnl Check for missing re-entrant functions |
| cs_cv_missing=no |
| cs_cv_need_reentrant=no |
| dnl copied from libcurl |
| AC_CHECK_FUNCS(localtime_r, [ |
| AC_MSG_CHECKING(whether localtime_r is declared) |
| AC_EGREP_CPP(localtime_r,[ |
| #include <time.h>],[ |
| AC_DEFINE(HAVE_LOCALTIME_R) |
| AC_MSG_RESULT(yes)],[ |
| AC_MSG_RESULT(no) |
| AC_MSG_CHECKING(whether localtime_r with -D_REENTRANT is declared) |
| AC_EGREP_CPP(localtime_r,[ |
| #define _REENTRANT |
| #include <time.h>],[ |
| cs_cv_need_reentrant=yes |
| AC_MSG_RESULT(yes)],[ |
| cs_cv_missing=yes |
| AC_MSG_RESULT(no)])])], [cs_cv_missing=yes]) |
| |
| AC_CHECK_FUNCS(gmtime_r, [ |
| AC_MSG_CHECKING(whether gmtime_r is declared) |
| AC_EGREP_CPP(gmtime_r,[ |
| #include <time.h>],[ |
| AC_DEFINE(HAVE_GMTIME_R) |
| AC_MSG_RESULT(yes)],[ |
| AC_MSG_RESULT(no) |
| AC_MSG_CHECKING(whether gmtime_r with -D_REENTRANT is declared) |
| AC_EGREP_CPP(gmtime_r,[ |
| #define _REENTRANT |
| #include <time.h>],[ |
| cs_cv_need_reentrant=yes |
| AC_MSG_RESULT(yes)],[ |
| cs_cv_missing=yes |
| AC_MSG_RESULT(no)])])], [cs_cv_missing=yes]) |
| |
| AC_CHECK_FUNCS(strtok_r, [ |
| AC_MSG_CHECKING(whether strtok_r is declared) |
| AC_EGREP_CPP(strtok_r,[ |
| #include <string.h>],[ |
| AC_DEFINE(HAVE_STRTOK_R) |
| AC_MSG_RESULT(yes)],[ |
| AC_MSG_RESULT(no) |
| AC_MSG_CHECKING(whether strtok_r with -D_REENTRANT is declared) |
| AC_EGREP_CPP(strtok_r,[ |
| #define _REENTRANT |
| #include <string.h>],[ |
| cs_cv_need_reentrant=yes |
| AC_MSG_RESULT(yes)],[ |
| cs_cv_missing=yes |
| AC_MSG_RESULT(no)])])], [cs_cv_missing=yes]) |
| |
| AC_CHECK_FUNC(mkstemp, [AC_DEFINE(HAVE_MKSTEMP)], [cs_cv_missing=yes]) |
| if test $cs_cv_missing = yes; then |
| EXTRA_UTL_OBJS="$EXTRA_UTL_OBJS missing.o" |
| fi |
| if test $cs_cv_need_reentrant = yes; then |
| CPPFLAGS="$CPPFLAGS -D_REENTRANT" |
| fi |
| |
| cs_cv_regex=yes |
| AC_CHECK_FUNC(regexec, [AC_DEFINE(HAVE_REGEX)], [cs_cv_regex=no]) |
| if test $cs_cv_regex = no; then |
| CPPFLAGS="$CPPFLAGS -I\$(NEOTONIC_ROOT)/util/regex" |
| EXTRA_UTL_SRC="$EXTRA_UTL_SRC regex/regex.c" |
| fi |
| |
| cs_cv_compression=yes |
| AC_CHECK_LIB(z, deflate, [cs_cv_compression=yes], [cs_cv_compression=no]) |
| AC_ARG_ENABLE(compression, [ --disable-compression Disables HTML Compression support], |
| [if test $enableval = no; then |
| cs_cv_compression=no; |
| AC_MSG_RESULT(Disabling HTML Compression support) |
| fi]) |
| |
| if test $cs_cv_compression = yes; then |
| AC_DEFINE(HTML_COMPRESSION) |
| LIBS="$LIBS -lz" |
| fi |
| |
| AC_ARG_ENABLE(remote-debugger, [ --enable-remote-debugger Enables remote X CGI debugging], |
| [if test $enableval = yes; then |
| AC_DEFINE(ENABLE_REMOTE_DEBUG) |
| AC_MSG_RESULT(Enabling CGI X Remote debugger) |
| fi]) |
| |
| dnl Check for Apache apxs |
| cs_cv_apache=yes |
| AC_ARG_ENABLE(apache, [ --disable-apache Disables building of apache 1.3.x module], |
| [if test $enableval = no; then |
| cs_cv_apache=no; |
| AC_MSG_RESULT(Disabling Apache 1.3.x Module) |
| fi]) |
| AC_ARG_WITH(apache, [ --with-apache=path Set location of Apache installation], [cs_cv_apache_path="$withval"], [cs_cv_apache_path=]) |
| |
| if test $cs_cv_apache = yes; then |
| AC_MSG_CHECKING(for apache apxs) |
| apxs_path=no |
| apache_search_path="$cs_cv_apache_path /neo/opt /usr/local /usr" |
| for path in $apache_search_path; do |
| if test -x $path/httpd/bin/apxs; then |
| apxs_path=$path/httpd/bin/apxs |
| httpd_path=$path/httpd/bin/httpd |
| break |
| fi |
| if test -x $path/httpd/sbin/apxs; then |
| apxs_path=$path/httpd/sbin/apxs |
| httpd_path=$path/httpd/sbin/httpd |
| break |
| fi |
| if test -x $path/bin/apxs; then |
| apxs_path=$path/bin/apxs |
| httpd_path=$path/bin/httpd |
| break |
| fi |
| if test -x $path/sbin/apxs; then |
| apxs_path=$path/sbin/apxs |
| httpd_path=$path/sbin/httpd |
| break |
| fi |
| done |
| if test "x$apxs_path" = "xno"; then |
| AC_MSG_RESULT(not found) |
| else |
| AC_MSG_RESULT(found $apxs_path) |
| AC_MSG_CHECKING(for apache 1.3.x) |
| changequote(<<, >>)dnl |
| apache_version="`$httpd_path -v | grep 'Server version' | sed -e 's/.*Apache\/\([0-9]*\.[0-9]*\.[0-9]*\).*/\1/'`" |
| apache_major_version=`echo $apache_version | sed -e 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'` |
| apache_minor_version=`echo $apache_version | sed -e 's/.*\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'` |
| changequote([, ])dnl |
| if test "$apache_major_version" = "1" -a "$apache_minor_version" = "3"; then |
| AC_MSG_RESULT(found $apache_version) |
| APXS_PATH="$apxs_path" |
| BUILD_WRAPPERS="$BUILD_WRAPPERS mod_ecs" |
| else |
| AC_MSG_RESULT(found $apache_version - disabling module build) |
| fi |
| fi |
| fi |
| |
| dnl Check for Python library/includes |
| cs_cv_python=yes |
| AC_ARG_ENABLE(python, [ --disable-python Disables building of python module], |
| [if test $enableval = no; then |
| cs_cv_python=no; |
| AC_MSG_RESULT(Disabling python module) |
| fi]) |
| AC_ARG_WITH(python, [ --with-python=path Set location of Python Interpreter], [cs_cv_python_path="$withval"], [cs_cv_python_path=no]) |
| |
| if test $cs_cv_python = yes; then |
| AC_MSG_CHECKING(for python includes) |
| python_inc=no |
| python_lib=no |
| python_search_path="/neo/opt /usr/local /usr /c" |
| python_versions="2.4 2.3 2.2 2.1 2.0 1.5 24 23 22 21 20 15" |
| if test $cs_cv_python_path != "no" -a -x $cs_cv_python_path; then |
| python_bin=$cs_cv_python_path |
| vers=`$python_bin -c "import sys; print sys.version[[:3]]"` |
| py_inst_dir=`$python_bin -c "import sys; print sys.exec_prefix"` |
| python_inc=$py_inst_dir/include/python$vers |
| python_lib="-L$py_inst_dir/lib/python$vers/config -lpython$vers" |
| python_site=$py_inst_dir/lib/python$vers/site-packages |
| else |
| for vers in $python_versions; do |
| for path in $python_search_path; do |
| if test -x $path/bin/python$vers; then |
| python_bin=$path/bin/python$vers |
| major_vers=`echo $vers | cut -b 1` |
| if test $major_vers -ge 2; then |
| python_base=`$python_bin -c "import sys, os; print os.path.dirname([[x for x in sys.path if x.find('site-packages') != -1]][[0]])"` |
| else |
| python_base=`$python_bin -c "import site, os; print os.path.dirname(site.sitedirs[[0]])"` |
| fi |
| if test -d $python_base; then |
| python_lib="-L$python_base/config -lpython$vers" |
| python_site=$python_base/site-packages |
| fi |
| fi |
| if test -f $path/include/python$vers/Python.h; then |
| python_inc=$path/include/python$vers |
| fi |
| if test "x$python_lib" = "xno"; then |
| if test -d $path/lib/python$vers; then |
| python_lib="-L$path/lib/python$vers/config -lpython$vers" |
| python_site=$path/lib/python$vers/site-packages |
| fi |
| if test -d $path/lib64/python$vers; then |
| python_lib="-L$path/lib64/python$vers/config -lpython$vers" |
| python_site=$path/lib64/python$vers/site-packages |
| fi |
| fi |
| dnl This is currently special cased mostly for Windows |
| dnl installs, but we only use python_lib for windows anyways |
| if test -f $path/python$vers/include/Python.h; then |
| python_inc=$path/python$vers/include |
| python_lib="-L$path/python$vers/libs -lpython$vers" |
| python_site=$path/python$vers/Lib/site-packages |
| break 2 |
| fi |
| if test "x$python_inc" != "xno" -a "x$python_lib" != "xno"; then |
| break 2 |
| fi |
| done |
| done |
| fi |
| if test "x$python_inc" = "xno"; then |
| AC_MSG_RESULT(not found) |
| PYTHON= |
| PYTHON_INC= |
| PYTHON_LIB= |
| PYTHON_SITE= |
| else |
| AC_MSG_RESULT(found $python_inc) |
| PYTHON=$python_bin |
| PYTHON_INC="-I$python_inc" |
| PYTHON_LIB=$python_lib |
| if test "x$PYTHON_SITE" = "x"; then |
| PYTHON_SITE=$python_site |
| fi |
| BUILD_WRAPPERS="$BUILD_WRAPPERS python" |
| fi |
| fi |
| |
| dnl Check for Perl binary |
| cs_cv_perl=yes |
| AC_ARG_ENABLE(perl, [ --disable-perl Disables building of perl module], |
| [if test $enableval = no; then |
| cs_cv_perl=no; |
| AC_MSG_RESULT(Disabling perl module) |
| fi]) |
| AC_ARG_WITH(perl, [ --with-perl=path Set location of Perl binary], [cs_cv_perl_path="$withval"], [cs_cv_perl_path=no]) |
| |
| if test $cs_cv_perl = yes; then |
| AC_MSG_CHECKING(for perl >= 5.006) |
| perl_path=no |
| perl_search_path="/neo/opt /usr/local /usr" |
| if test $cs_cv_perl_path != "no" -a -x $cs_cv_perl_path; then |
| perl_path=$cs_cv_perl_path |
| else |
| for path in $perl_search_path; do |
| if test -x $path/bin/perl; then |
| require_error=`$path/bin/perl -e 'require 5.006' 2>&1` |
| if test "x$require_error" = "x"; then |
| perl_path=$path/bin/perl |
| break |
| fi |
| fi |
| done |
| fi |
| if test "x$perl_path" = "xno"; then |
| AC_MSG_RESULT(not found) |
| PERL= |
| else |
| AC_MSG_RESULT(found $perl_path) |
| PERL="$perl_path" |
| BUILD_WRAPPERS="$BUILD_WRAPPERS perl" |
| fi |
| fi |
| |
| dnl Check for Ruby binary |
| cs_cv_ruby=yes |
| AC_ARG_ENABLE(ruby, [ --disable-ruby Disables building of ruby module], |
| [if test $enableval = no; then |
| cs_cv_ruby=no; |
| AC_MSG_RESULT(Disabling ruby module) |
| fi]) |
| AC_ARG_WITH(ruby, [ --with-ruby=path Set location of Ruby binary], [cs_cv_ruby_path="$withval"], [cs_cv_ruby_path=no]) |
| |
| if test $cs_cv_ruby = yes; then |
| AC_MSG_CHECKING(for ruby) |
| ruby_path=no |
| ruby_search_path="/neo/opt /usr/local /usr" |
| if test $cs_cv_ruby_path != "no" -a -x $cs_cv_ruby_path; then |
| ruby_path=$cs_cv_ruby_path |
| else |
| for path in $ruby_search_path; do |
| if test -x $path/bin/ruby; then |
| ruby_path=$path/bin/ruby |
| break |
| fi |
| done |
| fi |
| if test "x$ruby_path" = "xno"; then |
| AC_MSG_RESULT(not found) |
| RUBY= |
| else |
| AC_MSG_RESULT(found $ruby_path) |
| RUBY="$ruby_path" |
| BUILD_WRAPPERS="$BUILD_WRAPPERS ruby" |
| fi |
| fi |
| |
| dnl Check for Java library/includes |
| cs_cv_java=yes |
| AC_ARG_ENABLE(java, [ --disable-java Disables building of java module], |
| [if test $enableval = no; then |
| cs_cv_java=no; |
| AC_MSG_RESULT(Disabling java module) |
| fi]) |
| AC_ARG_WITH(java, [ --with-java=path Set location of J2SDK], [cs_cv_java_path="$withval"], [cs_cv_java_path=no]) |
| |
| if test $cs_cv_java = yes; then |
| AC_MSG_CHECKING(for j2sdk path) |
| java_path=no |
| if test $cs_cv_java_path != "no" -a -d $cs_cv_java_path; then |
| java_path=$cs_cv_java_path |
| else |
| java_search_path="/neo/opt /usr/local /usr /usr/lib" |
| for path in $java_search_path; do |
| if test -d $path/java/j2sdk; then |
| java_path=$path/java/j2sdk |
| break |
| fi |
| if test -d $path/j2sdk; then |
| java_path=$path/j2sdk |
| break |
| fi |
| possible="$path/java/j2sdk*" |
| for pos_path in $possible; do |
| if test -d $pos_path; then |
| java_path=$pos_path |
| break 2 |
| fi |
| done |
| possible="$path/j2sdk*" |
| for pos_path in $possible; do |
| if test -d $pos_path; then |
| java_path=$pos_path |
| break 2 |
| fi |
| done |
| done |
| fi |
| if test "x$java_path" = "xno"; then |
| AC_MSG_RESULT(not found) |
| JAVA_PATH= |
| JAVA_INCLUDE_PATH= |
| else |
| AC_MSG_RESULT(found $java_path) |
| JAVA_PATH="$java_path" |
| JAVAC="$java_path/bin/javac" |
| _ACJNI_JAVAC=$JAVAC |
| AC_JNI_INCLUDE_DIR |
| for JNI_INCLUDE_DIR in $JNI_INCLUDE_DIRS |
| do |
| JAVA_INCLUDE_PATH="$JAVA_INCLUDE_PATH -I$JNI_INCLUDE_DIR" |
| done |
| BUILD_WRAPPERS="$BUILD_WRAPPERS java-jni" |
| fi |
| fi |
| |
| dnl Check for C# library/includes |
| cs_cv_csharp=yes |
| AC_ARG_ENABLE(csharp, [ --disable-csharp Disables building of csharp module], |
| [if test $enableval = no; then |
| cs_cv_csharp=no; |
| AC_MSG_RESULT(Disabling csharp module) |
| fi]) |
| AC_ARG_WITH(csharp, [ --with-csharp=path Set location of csharp], [cs_cv_csharp_path="$withval"], [cs_cv_csharp_path=no]) |
| if test $cs_cv_csharp = yes; then |
| AC_MSG_CHECKING(for csharp path) |
| csharp_path=no |
| if test $cs_cv_csharp_path != "no" -a -d $cs_cv_csharp_path; then |
| csharp_path=$cs_cv_csharp_path |
| else |
| csharp_search_path="/neo/opt /usr/local /usr" |
| for path in $csharp_search_path; do |
| if test -f $path/bin/mcs; then |
| csharp_path=$path |
| break |
| fi |
| done |
| fi |
| if test "x$csharp_path" = "xno"; then |
| AC_MSG_RESULT(not found) |
| CSHARP_PATH= |
| else |
| AC_MSG_RESULT(found $csharp_path/bin/mcs) |
| CSHARP_PATH="$csharp_path" |
| BUILD_WRAPPERS="$BUILD_WRAPPERS dso csharp" |
| fi |
| fi |
| |
| AC_ARG_ENABLE(gettext, [ --enable-gettext Enables gettext message translation], |
| [if test $enableval = yes; then |
| dnl Check for gettext |
| AC_CHECK_FUNC(gettext, [ |
| cs_cv_libintl=no |
| AC_CHECK_HEADER(libintl.h, [cs_cv_libintl=yes]) |
| if test $cs_cv_libintl = yes; then |
| AC_DEFINE(ENABLE_GETTEXT) |
| AC_MSG_RESULT(Enabling gettext message translation) |
| else |
| AC_MSG_RESULT(not found) |
| fi |
| ]) |
| fi]) |
| |
| |
| AC_SUBST(RANLIB) |
| AC_SUBST(AR) |
| AC_SUBST(USE_MINGW32) |
| AC_SUBST(APXS_PATH) |
| AC_SUBST(PERL) |
| AC_SUBST(RUBY) |
| AC_SUBST(BUILD_WRAPPERS) |
| AC_SUBST(JAVA_PATH) |
| AC_SUBST(JAVA_INCLUDE_PATH) |
| AC_SUBST(PYTHON) |
| AC_SUBST(PYTHON_INC) |
| AC_SUBST(PYTHON_LIB) |
| AC_SUBST(PYTHON_SITE) |
| AC_SUBST(EXTRA_UTL_SRC) |
| AC_SUBST(EXTRA_UTL_OBJS) |
| AC_SUBST(CSHARP_PATH) |
| |
| AC_OUTPUT(rules.mk) |