init the printer in the new selfcheck UI
[Evergreen.git] / configure.ac
index 645716a..91b24c3 100644 (file)
@@ -1,5 +1,7 @@
 # Copyright (C) 2008 Equinox Software, Inc.
 # Kevin Beswick <kevinbeswick00@gmail.com>
+# Copyright (C) 2010 Laurentian University 
+# Dan Scott <dscott@laurentian.ca>
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
@@ -17,7 +19,7 @@
 #---------------------------
 
 export PATH=${PATH}:/usr/sbin
-AC_PREREQ(2.59)
+AC_PREREQ(2.61)
 AC_INIT(Open-ILS, trunk, open-ils-dev@list.georgialibraries.org)
 AM_INIT_AUTOMAKE([OpenILS], [trunk])
 AC_REVISION($Revision: 0.1 $)
@@ -30,11 +32,14 @@ AC_SUBST([abs_top_builddir])
 # Checks for programs.
 #-----------------------------------
 
+
 AC_PROG_LIBTOOL
 AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
+AC_PROG_MKDIR_P
+AM_PROG_CC_C_O
 
 #-----------------------------------
 # Install options 
@@ -56,12 +61,12 @@ AC_PROG_MAKE_SET
 #[openils_all=false])
 
 # install evergreen-core?
-AC_ARG_ENABLE([evergreen-core],
-[  --disable-evergreen-core    disables the installation of the evergreen core components ],
+AC_ARG_ENABLE([core],
+[  --disable-core    disables installation of the Evergreen core components ],
 [case "${enableval}" in
     yes) openils_core=true ;;
     no)  openils_core=false ;;
-  *) AC_MSG_ERROR([please choose another value for --disable-evergreen-core (supported values are yes or no])
+  *) AC_MSG_ERROR([please choose another value for --disable-core (supported values are yes or no])
 esac],
 [openils_core=true])
 
@@ -69,25 +74,37 @@ AM_CONDITIONAL([BUILDILSCORE], [test x$openils_core = xtrue])
 
 # install evergreen-web?
 
-AC_ARG_ENABLE([evergreen-web],
-[  --disable-evergreen-web    disables the installation of the openils web modules ],
+AC_ARG_ENABLE([web],
+[  --disable-web    disables installation of the Evergreen web modules ],
 [case "${enableval}" in
     yes) openils_web=true ;;
     no)  openils_web=false ;;
-  *) AC_MSG_ERROR([please choose another value for --disable-evergreen-web (supported values are yes or no])
+  *) AC_MSG_ERROR([please choose another value for --disable-web (supported values are yes or no])
 esac],
 [openils_web=true])
 
 AM_CONDITIONAL([BUILDILSWEB], [test x$openils_web = xtrue])
 
+# install Evergreen Apache modules?
+AC_ARG_ENABLE([apache-modules],
+[  --disable-apache-modules    disables installation of the Evergreen Apache modules ],
+[case "${enableval}" in
+    yes) build_apachemods=true ;;
+    no)  build_apachemods=false ;;
+  *) AC_MSG_ERROR([please choose another value for --disable-apache-modules (supported values are yes or no])
+esac],
+[build_apachemods=true])
+
+AM_CONDITIONAL([BUILDAPACHEMODS], [test x$build_apachemods = xtrue])
+
 # build evergreen-reporter ?
 
-AC_ARG_ENABLE([evergreen-reporter],
-[  --disable-evergreen-reporter    disables the installation of the evergreen reporter module ],
+AC_ARG_ENABLE([reporter],
+[  --disable-reporter    disables installation of the Evergreen reporter module ],
 [case "${enableval}" in
     yes) openils_reporter=true ;;
     no)  openils_reporter=false ;;
-  *) AC_MSG_ERROR([please choose another value for --disable-evergreen-reporter (supported values are yes or no])
+  *) AC_MSG_ERROR([please choose another value for --disable-reporter (supported values are yes or no])
 esac],
 [openils_reporter=true])
 
@@ -95,12 +112,12 @@ AM_CONDITIONAL([BUILDILSREPORTER], [test x$openils_reporter = xtrue])
 
 # build evergreen-client ?
 
-AC_ARG_ENABLE([evergreen-client],
-[  --disable-evergreen-client    disables the installation of the evergreen staff client ],
+AC_ARG_ENABLE([client],
+[  --disable-client    disables installation of the Evergreen staff client ],
 [case "${enableval}" in
     yes) openils_client=true ;;
     no)  openils_client=false ;;
-  *) AC_MSG_ERROR([please choose another value for --disable-evergreen-client (supported values are yes or no])
+  *) AC_MSG_ERROR([please choose another value for --disable-client (supported values are yes or no])
 esac],
 [openils_client=true])
 
@@ -109,12 +126,12 @@ AM_CONDITIONAL([BUILDILSCLIENT], [test x$openils_client = xtrue])
 
 # build evergreen java ?
 
-AC_ARG_ENABLE([evergreen-java],
-[  --enable-evergreen-java    enables the installation of the evergreen java components ],
+AC_ARG_ENABLE([java],
+[  --enable-java    enables installation of the Evergreen Java components ],
 [case "${enableval}" in
     yes) evergreen_java=true ;;
     no)  evergreen_java=false ;;
-  *) AC_MSG_ERROR([please choose another value for --enable-evergreen-java (supported values are yes or no])
+  *) AC_MSG_ERROR([please choose another value for --enable-java (supported values are yes or no])
 esac],
 [evergreen_java=false])
 
@@ -123,171 +140,222 @@ AM_CONDITIONAL([BUILDEGJAVA], [test x$evergreen_java = xtrue])
 
 # build the evergreen python modules?
 
-AC_ARG_ENABLE([evergreen-python],
-[  --enable-evergreen-python    enables the installation of the evergreen python modules ],
+AC_ARG_ENABLE([python],
+[  --enable-python    enables installation of the Evergreen Python modules ],
 [case "${enableval}" in
     yes) EG_PYTHON_INSTALL=true ;;
     no)  EG_PYTHON_INSTALL=false ;;
-  *) AC_MSG_ERROR([please choose another value for --enable-python-install (supported values are yes or no)])
+  *) AC_MSG_ERROR([please choose another value for --enable-python (supported values are yes or no)])
 esac],
 [EG_PYTHON_INSTALL=false])
 
 AM_CONDITIONAL([BUILDEGPYTHON], [test x$EG_PYTHON_INSTALL = xtrue])
 
-
-
 #-----------------------------------
 # Check for dependencies 
 #-----------------------------------
 
-AC_CHECK_PROG([MEMCACHED],memcached,yes,no)
-if test $MEMCACHED = "no"; then
-       AC_MSG_ERROR([*** memcached not found, aborting])
-fi
-
-AC_CHECK_PROG([ASPELL],aspell,yes,no)
-if test $ASPELL = "no"; then
-       AC_MSG_ERROR([*** aspell not found, aborting])
-fi
-
-AC_CHECK_PROG([CPAN],cpan,yes,no)
-if test $CPAN = "no"; then
-       AC_MSG_ERROR([*** cpan not found, aborting])
-fi
-
-AC_CHECK_PROG([YAZ],yaz-config,yes,no)
-if test $YAZ = "no"; then
-       AC_MSG_ERROR([*** yaz not found, aborting])
-fi
-
-AC_CHECK_PROG([PERL],perl,yes,no)
-if test $PERL = "no"; then 
-       AC_MSG_ERROR([*** perl not found, aborting])
-fi
-
+AC_ARG_WITH([opensrf-headers],
+[  --with-opensrf-headers=path location of the OpenSRF header files (default is /openils/include/)],
+[OPENSRF_HEADERS=${withval}],
+[OPENSRF_HEADERS=/openils/include/])
+AC_SUBST([OPENSRF_HEADERS])
 
-#-----------------------------------
-# Set install path variables 
-#-----------------------------------
+# We need this for JavaScript
+AC_ARG_WITH([opensrf-libs],
+[  --with-opensrf-libs=path    location of the OpenSRF libraries (default is /openils/lib/)],
+[OPENSRF_LIBS=${withval}],
+[OPENSRF_LIBS=/openils/lib/])
+AC_SUBST([OPENSRF_LIBS])
 
 AC_ARG_WITH([tmp],
-[ --with-tmp=path              location for the tmp dir for OpenILS (default is /tmp) ],
+[  --with-tmp=path             location of the Evergreen temporary directory (default is /tmp) ],
 [TMP=${withval}],
 [TMP=/tmp])
 AC_SUBST([TMP])
 
-
-APXS2=`apxs2 -q BINDIR`/apxs2
+AC_ARG_WITH([apxs],
+[  --with-apxs=path            location of the apxs Apache configuration tool (default is /usr/bin/apxs2)],
+[APXS2=${withval}],
+[APXS2=/usr/bin/apxs2])
+
+# If the passed in value doesn't work, try some reasonable defaults
+# Fedora puts the file in /usr/sbin/apxs, for example
+if ! test -x "$APXS2"; then
+       for i in /usr/bin /usr/sbin /usr/local/apache/bin /usr/local/apache2/bin ; do
+               for j in apxs apxs2 ; do
+                       if test -x "$i/$j"; then
+                               APXS2="$i/$j"
+                               break
+                       fi
+               done
+       done
+fi
 AC_SUBST([APXS2])
 
-APACHE2_HEADERS=`apxs2 -q INCLUDEDIR`
+AC_ARG_WITH([apache],
+[  --with-apache=path          location of the Apache headers (default is /usr/include/apache2)],
+[APACHE2_HEADERS=${withval}],
+[APACHE2_HEADERS=/usr/include/apache2])
 AC_SUBST([APACHE2_HEADERS])
 
-APR_HEADERS=`apr-config --includedir`
+AC_ARG_WITH([apr],
+[  --with-apr=path             location of the Apache Portable Runtime (APR) headers (default is /usr/include/apr-1.0/)],
+[APR_HEADERS=${withval}],
+[APR_HEADERS=/usr/include/apr-1.0])
 AC_SUBST([APR_HEADERS])
 
-AC_ARG_WITH([libxml],
-[  --with-libxml=path         location of the libxml headers (default is /usr/include/libxml2)],
+AC_ARG_WITH([libxml2],
+[  --with-libxml2=path         location of the libxml2 headers (default is /usr/include/libxml2)],
 [LIBXML2_HEADERS=${withval}],
 [LIBXML2_HEADERS=/usr/include/libxml2/])
 AC_SUBST([LIBXML2_HEADERS])
 
 AC_ARG_WITH([dbi],
-[  --with-dbi=path             location of the libdbi libraries (default is /usr/local/lib/dbd)],
+[  --with-dbi=path             location of the libdbi driver libraries (default is /usr/local/lib/dbd)],
 [DBI_LIBS=${withval}],
 [DBI_LIBS=/usr/local/lib/dbd/])
-AC_SUBST([DBI_LIBS])
-
-AC_ARG_WITH([opensrf-headers],
-[  --with-opensrf-headers=path         location of the opensrf header files (default is /openils/include/)],
-[OPENSRF_HEADERS=${withval}],
-[OPENSRF_HEADERS=/openils/include/])
-AC_SUBST([OPENSRF_HEADERS])
-
-AC_ARG_WITH([opensrf-libs],
-[  --with-opensrf-libs=path            location of the opensrf libraries (default is /openils/lib/)],
-[OPENSRF_LIBS=${withval}],
-[OPENSRF_LIBS=/openils/lib/])
-AC_SUBST([OPENSRF_LIBS])
-
-#------------------------------------
-# Checks for libraries. 
-#------------------------------------
-
-# Check for the existance of libraries in non-standard locations
 
-AC_MSG_CHECKING(for -lopensrf)
-if test -e ${OPENSRF_LIBS}/libopensrf.so; then
-AC_MSG_RESULT([yes])
-else
-AC_MSG_ERROR([*** libopensrf not found (or not in location specified to configure), aborting])
+# If the passed in value doesn't work, fall back to reasonable defaults
+# Distributions are starting to package a good version of libdbi / libdbd
+if ! test -d "$DBI_LIBS"; then
+       for i in /usr/lib/dbd/ /usr/local/lib/dbd/ ; do
+               if test -d "$i"; then
+                       DBI_LIBS="$i"
+                       break
+               fi
+       done
 fi
+AC_SUBST([DBI_LIBS])
 
-# Check for the rest of the libraries
-
-#check for dynamic linking functions
-AC_CHECK_LIB(dl,dlopen)
-
-#check for the libdbi library
-AC_CHECK_LIB(dbi,dbi_initialize)
-
-#to check for the availability and function of a particular
-#driver we need a runtime check (since the driver is loaded
-#dynamically). This example checks for the mysql driver
-AC_MSG_CHECKING([for libdbi pgsql driver (dynamic load)])
-AC_RUN_IFELSE(
-  [AC_LANG_PROGRAM(,
-    [[dbi_initialize(0); return(dbi_conn_new("pgsql") ? 0 : 1);]])],
-  [AC_MSG_RESULT("yes")],
-  [AC_MSG_FAILURE("pgsql driver not installed?")])
-
-AC_CHECK_LIB([expat], [main], [], AC_MSG_ERROR(*** OpenILS requires libexpat))
-AC_CHECK_LIB([readline], [main], [], AC_MSG_ERROR(*** OpenILS requires libreadline))
-AC_CHECK_LIB([xml2], [main], [], AC_MSG_ERROR(*** OpenILS requires libxml2))
-AC_CHECK_LIB([xslt], [main], [], AC_MSG_ERROR(*** OpenILS requires libxslt))
-AC_CHECK_LIB([perl], [main], [], AC_MSG_ERROR(*** OpenILS requires libperl-dev))
-AC_CHECK_LIB([pq], [main], [], AC_MSG_ERROR(*** OpenILS requires libpq))
-
-
-#------------------------------------
-# Checks for header files.
-#------------------------------------
-
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h langinfo.h locale.h stdlib.h string.h unistd.h])
-
-#-------------------------------------------------------------------
-# Checks for typedefs, structures, and compiler characteristics.
-#-------------------------------------------------------------------
+if test "x$openils_core" = "xtrue"; then
+
+       AC_CHECK_PROG([MEMCACHED],memcached,yes,no)
+       if test $MEMCACHED = "no"; then
+               AC_MSG_ERROR([*** memcached not found, aborting])
+       fi
+
+       AC_CHECK_PROG([ASPELL],aspell,yes,no)
+       if test $ASPELL = "no"; then
+               AC_MSG_ERROR([*** aspell not found, aborting])
+       fi
+
+       AC_CHECK_PROG([CPAN],cpan,yes,no)
+       if test $CPAN = "no"; then
+               AC_MSG_ERROR([*** cpan not found, aborting])
+       fi
+
+       AC_CHECK_PROG([YAZ],yaz-config,yes,no)
+       if test $YAZ = "no"; then
+               AC_MSG_ERROR([*** yaz not found, aborting])
+       fi
+
+       AC_CHECK_PROG([PERL],perl,yes,no)
+       if test $PERL = "no"; then 
+               AC_MSG_ERROR([*** perl not found, aborting])
+       fi
+
+       #------------------------------------
+       # Checks for libraries. 
+       #------------------------------------
+
+       # Check for the existence of libraries in non-standard locations
+
+       AC_MSG_CHECKING(for -lopensrf)
+       if test -e ${OPENSRF_LIBS}/libopensrf.so; then
+       AC_MSG_RESULT([yes])
+       else
+       AC_MSG_ERROR([*** libopensrf not found (or not in location specified to configure), aborting])
+       fi
+
+       # Check for the rest of the libraries
+
+       #check for dynamic linking functions
+       AC_CHECK_LIB(dl,dlopen)
+
+       #check for the libdbi library
+       AC_CHECK_LIB(dbi,dbi_initialize)
+
+       #to check for the availability and function of a particular
+       #driver we need a runtime check (since the driver is loaded
+       #dynamically). This example checks for the mysql driver
+       AC_MSG_CHECKING([for libdbi pgsql driver (dynamic load)])
+       AC_RUN_IFELSE(
+         [AC_LANG_PROGRAM(,
+           [[dbi_initialize(0); return(dbi_conn_new("pgsql") ? 0 : 1);]])],
+         [AC_MSG_RESULT("yes")],
+         [AC_MSG_FAILURE("pgsql driver not installed?")])
+
+       AC_CHECK_LIB([expat], [main], [], AC_MSG_ERROR(*** OpenILS requires libexpat))
+       AC_CHECK_LIB([readline], [main], [], AC_MSG_ERROR(*** OpenILS requires libreadline))
+       AC_CHECK_LIB([xml2], [main], [], AC_MSG_ERROR(*** OpenILS requires libxml2))
+       AC_CHECK_LIB([xslt], [main], [], AC_MSG_ERROR(*** OpenILS requires libxslt))
+       AC_CHECK_LIB([perl], [main], [], AC_MSG_ERROR(*** OpenILS requires libperl-dev))
+       AC_CHECK_LIB([pq], [main], [], AC_MSG_ERROR(*** OpenILS requires libpq))
+
+
+       #------------------------------------
+       # Checks for header files.
+       #------------------------------------
+
+       AC_HEADER_STDC
+       AC_CHECK_HEADERS([fcntl.h langinfo.h locale.h stdlib.h string.h unistd.h])
+
+       #-------------------------------------------------------------------
+       # Checks for typedefs, structures, and compiler characteristics.
+       #-------------------------------------------------------------------
+
+       AC_C_CONST
+       AC_TYPE_SIZE_T
+       AC_STRUCT_TM
+       AC_HEADER_STDBOOL
+
+       #-------------------------------------------------------------------
+       # Checks for library functions.
+       #-------------------------------------------------------------------
+
+       AC_FUNC_STRFTIME
+       AC_FUNC_STRTOD
+       AC_CHECK_FUNCS([localtime_r memset nl_langinfo setlocale strcasecmp strchr strdup strerror strncasecmp])
+
+       #----------------------------
+       # Create Makefiles/Output
+       #----------------------------
+
+       AC_CONFIG_FILES([Open-ILS/examples/Makefile
+                        Open-ILS/src/c-apps/Makefile
+                        Open-ILS/src/extras/Makefile
+                        Open-ILS/src/java/Makefile
+                        Open-ILS/src/python/Makefile])
+fi
 
-AC_C_CONST
-AC_TYPE_SIZE_T
-AC_STRUCT_TM
-AC_HEADER_STDBOOL
+if test "x$build_apachemods" = "xtrue"; then
 
-#-------------------------------------------------------------------
-# Checks for library functions.
-#-------------------------------------------------------------------
+       #-----------------------------------
+       # Set install path variables 
+       #-----------------------------------
 
-AC_FUNC_STRFTIME
-AC_FUNC_STRTOD
-AC_CHECK_FUNCS([localtime_r memset nl_langinfo setlocale strcasecmp strchr strdup strerror strncasecmp])
+       #APACHE PREFORK DEV TEST
+       AC_MSG_CHECKING([APXS2])
+       if test -x "${APXS2}"; then
+       AC_MSG_RESULT([yes])
+       else
+       AC_MSG_ERROR([*** apxs not found in ${APXS2}, aborting])
+       fi  
 
-#----------------------------
-# Create Makefiles/Output
-#----------------------------
+       AC_CONFIG_FILES([Open-ILS/src/apachemods/Makefile])
+fi
 
 AC_CONFIG_FILES([Makefile
-                 Open-ILS/examples/Makefile
-                 Open-ILS/src/Makefile
-                 Open-ILS/src/apachemods/Makefile
-                 Open-ILS/src/c-apps/Makefile
-                 Open-ILS/src/extras/Makefile
-                 Open-ILS/src/java/Makefile
-                 Open-ILS/src/python/Makefile
-                 Open-ILS/xul/staff_client/Makefile
-                 Open-ILS/src/offline/offline-config.pl
-                 Open-ILS/src/extras/eg_config],  [if test -e "./Open-ILS/src/extras/eg_config"; then chmod 755 Open-ILS/src/extras/eg_config; fi])
+                Open-ILS/src/Makefile
+                Open-ILS/web/Makefile
+                Open-ILS/xul/staff_client/Makefile
+                Open-ILS/src/extras/eg_config
+                Open-ILS/src/extras/fast-extract],
+               [
+                       if test -e "./Open-ILS/src/extras/eg_config"; then chmod 755 Open-ILS/src/extras/eg_config; fi;
+                       if test -e "./Open-ILS/src/extras/fast-extract"; then chmod 755 Open-ILS/src/extras/fast-extract; fi;
+               ])
 AC_OUTPUT
 
 #-------------------------------------------------
@@ -304,6 +372,11 @@ if test "$openils_core" = "true" ; then
 else
        AC_MSG_RESULT([Evergreen Core:                  no])
 fi
+if test "$build_apachemods" = "true" ; then
+        AC_MSG_RESULT([Evergreen Apache module:        yes])
+else
+        AC_MSG_RESULT([Evergreen Apache module:        no])
+fi
 if test "$openils_web" = "true" ; then
         AC_MSG_RESULT([Evergreen Web:                  yes])
 else
@@ -331,15 +404,15 @@ else
 fi
 AC_MSG_RESULT([]) 
 AC_MSG_RESULT([-------- Installation Directories --------])
-AC_MSG_RESULT(Installation dir prefix:                  ${prefix})
-AC_MSG_RESULT(Temporary dir location:                   ${TMP})
-AC_MSG_RESULT(APXS2 dir location:                       ${APXS2})
+AC_MSG_RESULT(Installation directory prefix:            ${prefix})
+AC_MSG_RESULT(Temporary directory:                      ${TMP})
+AC_MSG_RESULT(APXS2 location:                           ${APXS2})
 AC_MSG_RESULT(Apache headers location:                  ${APACHE2_HEADERS})
 AC_MSG_RESULT(APR headers location:                     ${APR_HEADERS})
-AC_MSG_RESULT(libxml headers location:                  ${LIBXML2_HEADERS})
-AC_MSG_RESULT(libdbi dir location:                      ${DBI_LIBS})
-AC_MSG_RESULT(OpenSRF Headers location:                 ${OPENSRF_HEADERS})
-AC_MSG_RESULT(OpenSRF Libraries location:               ${OPENSRF_LIBS})
+AC_MSG_RESULT(libxml2 headers location:                 ${LIBXML2_HEADERS})
+AC_MSG_RESULT(libdbi location:                          ${DBI_LIBS})
+AC_MSG_RESULT(OpenSRF headers location:                 ${OPENSRF_HEADERS})
+AC_MSG_RESULT(OpenSRF libraries location:               ${OPENSRF_LIBS})
 
 AC_MSG_RESULT([----------------------------------------------------------------------])