[Opensrf-commits] r1348 - in trunk: . bin examples/math_xul_client src src/c-apps src/gateway src/java src/jserver src/libopensrf src/ports/strn_compat src/python src/router src/srfsh

svn at svn.open-ils.org svn at svn.open-ils.org
Wed Jun 25 14:50:08 EDT 2008


Author: dbs
Date: 2008-06-25 14:50:00 -0400 (Wed, 25 Jun 2008)
New Revision: 1348

Added:
   trunk/AUTHORS
   trunk/ChangeLog
   trunk/Makefile.am
   trunk/NEWS
   trunk/README
   trunk/autogen.sh
   trunk/bin/osrf_config.in
   trunk/configure.ac
   trunk/examples/math_xul_client/Makefile.in
   trunk/src/Makefile.am
   trunk/src/c-apps/Makefile.am
   trunk/src/gateway/Makefile.am
   trunk/src/java/Makefile.in
   trunk/src/jserver/Makefile.am
   trunk/src/libopensrf/Makefile.am
   trunk/src/ports/strn_compat/Makefile.in
   trunk/src/python/Makefile.in
   trunk/src/router/Makefile.am
   trunk/src/srfsh/Makefile.am
Removed:
   trunk/Makefile
   trunk/examples/math_xul_client/Makefile
   trunk/install.conf
   trunk/src/Makefile
   trunk/src/c-apps/Makefile
   trunk/src/gateway/Makefile
   trunk/src/java/Makefile
   trunk/src/jserver/Makefile
   trunk/src/libopensrf/Makefile
   trunk/src/ports/strn_compat/Makefile
   trunk/src/python/Makefile
   trunk/src/router/Makefile
   trunk/src/srfsh/Makefile
Modified:
   trunk/bin/osrf_ctl.sh
Log:
Patch from Kevin Beswick to use autotools for OpenSRF configuration and build

Included is a patch for a working implementation of the GNU Autotools
to OpenSRF. Some of the perks of this system are: the user is given
the ability to install OpenSRF to non-standard locations,
dependency/library checking, gives a user the ability to only install
certain components, more portable to other operating systems, etc.

To test, simply run:
autogen.sh
configure
make
make install

Options for configure can be found using:
./configure --help

Also, the patch contains a new file, osrf_config, which is generated
by running the configure script. Running this file will print all
build options a user has chosen when compiling/installing Opensrf.
Command line arguments can be added to return each single build option
as well. This is useful to developers in that they are able to locate
a certain installation directory on a non-standard installation of
OpenSRF. To see the available command line options, run: osrf_config --help



Added: trunk/AUTHORS
===================================================================
--- trunk/AUTHORS	                        (rev 0)
+++ trunk/AUTHORS	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1 @@
+#AUTHORS

Added: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	                        (rev 0)
+++ trunk/ChangeLog	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1 @@
+#ChangeLog

Deleted: trunk/Makefile
===================================================================
--- trunk/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,23 +0,0 @@
-SHELL=/bin/bash
-all:
-	@echo -e "\n * Run 'make verbose' to see full make output\n"
-	source install.conf && make -s -C src all
-
-verbose:
-	source install.conf && make -C src all
-
-jserver:
-	source install.conf && make -s -C src jserver
-
-install:
-	source install.conf && make -s -C src install
-
-jserver-install:
-	source install.conf && make -s -C src jserver-install
-
-javascript-install:
-	source install.conf && make -s -C src javascript-install
-
-clean:
-	make -s -C src clean
-

Added: trunk/Makefile.am
===================================================================
--- trunk/Makefile.am	                        (rev 0)
+++ trunk/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,42 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+export PREFIX                   = @prefix@
+export TMP                      = @TMP@
+export LIBXML2_HEADERS          = @LIBXML2_HEADERS@
+export APR_HEADERS              = @APR_HEADERS@
+export ETCDIR                   = @sysconfdir@
+export APXS2                    = @APXS2@
+export APACHE2_HEADERS          = @APACHE2_HEADERS@
+export DEF_CFLAGS		= -D_LARGEFILE64_SOURCE -pipe -g -Wall -O2 -fPIC -I at abs_top_builddir@/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) @INCLUDES@
+export DEF_LDFLAGS		= -Wl, -rpath=$(LIBDIR) -L$(TMPDIR) @LIBDIRS@
+export DEF_LDLIBS		= -lobjson -lopensrf
+export PID			= @localstatedir@/run/opensrf
+export SOCK			= @localstatedir@/lock/opensrf
+export LOG			= @localstatedir@/log/opensrf
+
+AM_CFLAGS = $(DEF_CFLAGS)
+LDFLAGS = $(DEF_LDFLAGS) -L./src/
+
+SUBDIRS = src
+
+jserver:
+	make -s -C src jserver
+
+jserver-install:
+	make -s -C src jserver-install
+
+javascript-install:
+	make -s -C src javascript-install
+

Added: trunk/NEWS
===================================================================
--- trunk/NEWS	                        (rev 0)
+++ trunk/NEWS	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1 @@
+#NEWS

Added: trunk/README
===================================================================
--- trunk/README	                        (rev 0)
+++ trunk/README	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1 @@
+#README

Added: trunk/autogen.sh
===================================================================
--- trunk/autogen.sh	                        (rev 0)
+++ trunk/autogen.sh	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,21 @@
+#!/bin/sh
+# autogen.sh - generates configure using the autotools
+
+: ${LIBTOOLIZE=libtoolize}
+: ${ACLOCAL=aclocal}
+: ${AUTOHEADER=autoheader}
+: ${AUTOMAKE=automake}
+: ${AUTOCONF=autoconf}
+
+
+${LIBTOOLIZE} --force --copy
+${ACLOCAL}
+${AUTOMAKE} --add-missing
+
+
+${AUTOCONF}
+
+echo 
+echo "---------------------------------------------"
+echo "autogen finished running, now run ./configure"
+echo "---------------------------------------------"

Added: trunk/bin/osrf_config.in
===================================================================
--- trunk/bin/osrf_config.in	                        (rev 0)
+++ trunk/bin/osrf_config.in	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,126 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+
+# Shows configuration options of OSRF
+
+prefix=@prefix@
+exec_prefix=@prefix@
+datarootdir=@datarootdir@
+
+function showInstalled {
+	 JAVA=@OSRF_INSTALL_JAVA@
+	 PYTHON=@OSRF_INSTALL_PYTHON@
+	 JSON=@OSRF_LEGACY_JSON@
+	 if test "$JAVA" = "true"; then
+	    echo "OSRF_JAVA"
+	 fi
+	 if test "$PYTHON" = "true"; then
+	    echo "OSRF_PYTHON"
+	 fi
+	 if test "$JSON" = "true"; then
+	    echo "OSRF_LEGACY_JSON"
+	 fi
+}
+
+function showAll {
+	 echo @PACKAGE_STRING@	
+	 echo PREFIX=@prefix@
+	 echo BINDIR=@bindir@
+	 echo LIBDIR=@libdir@
+	 echo TMP=@TMP@
+	 echo INCLUDEDIR=@includedir@
+	 echo SYSCONFDIR=@sysconfdir@
+	 echo APXS2=@APXS2@
+	 echo APACHE2_HEADERS=@APACHE2_HEADERS@
+	 echo APR_HEADERS=@APR_HEADERS@
+	 echo LIBXML2_HEADERS=@LIBXML2_HEADERS@
+	 echo 
+	 echo "Installed modules:"
+	 showInstalled;
+}
+
+function showHelp {
+	 echo 
+	 echo "------------------------------------------------------------"
+	 echo " osrf_config                                                "
+	 echo " Shows configuration of opensrf                             "
+	 echo "------------------------------------------------------------"
+	 echo
+	 echo "Usage: osrf_config [--option]"
+	 echo 
+	 echo "Options: "
+	 echo
+	 echo "--help                  displays help"
+	 echo "--version               displays version number of osrf"
+	 echo "--installed             displays options that were installed"
+	 echo "--prefix                displays prefix"
+	 echo "--bindir                displays bindir"
+	 echo "--libdir                displays libdir"
+	 echo "--tmp                   displays tmp"
+	 echo "--includedir            displays includedir"
+	 echo "--sysconfdir            displays sysconfdir"
+	 echo "--apxs                  displays location of apxs"
+	 echo "--apache                displays location of apache2 headers"
+	 echo "--apr                   displays location of apr headers"
+	 echo "--libxml                displays location of libxml2 headers" 
+	 echo
+}
+
+case "$1" in
+     --installed)
+		showInstalled;
+		;;
+     --libxml)
+		echo @LIBXML2_HEADERS@;
+		;;
+     --apr)
+		echo @APR_HEADERS@;
+		;;
+     --apache)
+		echo @APACHE2_HEADERS@;
+		;;
+     --prefix)
+		echo @prefix@
+		;;
+     --version) 
+		echo @PACKAGE_STRING@;
+		;;
+     --bindir)
+		echo @bindir@
+		;;
+     --libdir)
+		echo @libdir@;
+		;;
+     --sysconfdir)
+		echo @sysconfdir@;
+		;;
+     --tmpdir)
+		echo @TMP@;
+		;;
+     --apxs)
+		echo @APXS@;
+		;;
+     --includedir)
+		echo @includedir@;
+		;;
+     --docdir)
+		echo @docdir@;
+		;;
+     --help)
+		showHelp;
+		;;
+     *)
+		showAll;
+		;;
+esac

Modified: trunk/bin/osrf_ctl.sh
===================================================================
--- trunk/bin/osrf_ctl.sh	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/bin/osrf_ctl.sh	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,5 +1,16 @@
 #!/bin/bash
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
 
+
 OPT_ACTION=""
 OPT_CONFIG=""
 OPT_PID_DIR=""
@@ -76,12 +87,14 @@
 	esac;
 done
 
-[ -z "$OPT_CONFIG" ] && OPT_CONFIG="$BASEDIR/conf/opensrf_core.xml";
+OSRF_CONFIG=`find $BASEDIR -name osrf_config`
+
+[ -z "$OPT_CONFIG" ] && OPT_CONFIG=`$OSRF_CONFIG --sysconfdir`/opensrf_core.xml;
 if [ ! -r "$OPT_CONFIG" ]; then
 	echo "Please specify the location of the opensrf_core.xml file using the -c flag";
 	exit 1;
 fi;
-[ -z "$OPT_PID_DIR" ] && OPT_PID_DIR=/tmp;
+[ -z "$OPT_PID_DIR" ] && OPT_PID_DIR=`$OSRF_CONFIG --sysconfdir`/run;
 [ -z "$OPT_ACTION" ] && usage;
 
 PID_ROUTER="$OPT_PID_DIR/router.pid";

Added: trunk/configure.ac
===================================================================
--- trunk/configure.ac	                        (rev 0)
+++ trunk/configure.ac	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,310 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# Process this file with autoconf to produce a configure script.
+
+
+#-------------------------------
+# Initialization
+#-------------------------------
+
+export PATH=${PATH}:/usr/sbin
+AC_PREREQ(2.59)
+AC_INIT([OpenSRF],[trunk],[open-ils-dev at list.georgialibraries.org])
+AM_INIT_AUTOMAKE([OpenSRF], [trunk])
+AC_REVISION($Revision: 0.1 $)
+AC_CONFIG_SRCDIR([configure.ac])
+AC_PREFIX_DEFAULT([/openils/])
+
+
+AC_SUBST(prefix)
+
+
+AC_DEFUN([AC_PYTHON_MOD],[
+    if test -z $PYTHON;
+    then
+        PYTHON="python"
+    fi
+    AC_MSG_CHECKING($PYTHON_NAME module: $1)
+        $PYTHON -c "import $1" 2>/tmp/null
+        if test $? -eq 0;
+        then
+                AC_MSG_RESULT(yes)
+                eval AS_TR_CPP(HAVE_PYMOD_$1)=yes
+        else
+                AC_MSG_ERROR(failed to find required module $1)
+		exit 1
+        fi
+])
+
+
+
+#-------------------------------
+# Installation options
+#-------------------------------
+
+# build and install the java libs?
+AC_ARG_ENABLE([java],
+[  --enable-java    enable building and installing the java libraries],
+[case "${enableval}" in
+    yes) OSRF_INSTALL_JAVA=true ;;
+    no) OSRF_INSTALL_JAVA=false ;; 
+  *) AC_MSG_ERROR([please choose another value for --enable-java (supported values are yes or no)]) ;;
+esac],
+[OSRF_INSTALL_JAVA=false])
+
+AM_CONDITIONAL([BUILDJAVA], [test x$OSRF_INSTALL_JAVA = xtrue])
+AC_SUBST([OSRF_INSTALL_JAVA])
+
+# build and install the python modules
+AC_ARG_ENABLE([python],
+[  --disable-python  disable building and installing python modules],
+[case "${enableval}" in
+  yes) OSRF_INSTALL_PYTHON=true ;;
+  no) OSRF_INSTALL_PYTHON=false ;;
+  *) AC_MSG_ERROR([please choose another value for --enable-python (supported values are yes or no)]) ;;
+esac],
+[OSRF_INSTALL_PYTHON=true])
+
+AM_CONDITIONAL([BUILDPYTHON], [test x$OSRF_INSTALL_PYTHON = xtrue])
+AC_SUBST([OSRF_INSTALL_PYTHON])
+
+# create the legacy JSON headers and .so file for backwards compatibility?
+AC_ARG_ENABLE([legacyjson],
+[  --disable-legacyjson    disable the legacy json headers and .so file for backwards compatibility],
+[case "${enableval}" in
+    yes) OSRF_LEGACY_JSON=true ;;
+    no)  OSRF_LEGACY_JSON=false ;;
+  *) AC_MSG_ERROR([please choose another value for --disable-legacyjson (supported values are yes or no)]) ;;
+esac],
+[OSRF_LEGACY_JSON=true])
+
+AM_CONDITIONAL([BUILDJSON], [test x$OSRF_LEGACY_JSON = xtrue])
+AC_SUBST([OSRF_LEGACY_JSON])
+
+# enable debug?
+
+AC_ARG_ENABLE(debug,
+[  --enable-debug    Turn on debugging],
+[case "${enableval}" in
+  yes) debug=true ;;
+  no)  debug=false ;;
+  *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+esac],[debug=false])
+AM_CONDITIONAL(DEBUG, test x$debug = xtrue)
+ 
+
+# path to the directory containing the java dependency jar files (included if java installs)
+if test $OSRF_INSTALL_JAVA; then
+	AC_SUBST([OSRF_JAVA_DEPSDIR], [/opt/java])
+fi
+
+
+
+#--------------------------------
+# Checks for programs.
+#--------------------------------
+
+AC_PROG_LIBTOOL
+AC_PROG_AWK
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_PROG_MAKE_SET
+
+#------------------------------
+# Set install path variables
+#------------------------------
+AC_ARG_WITH([tmp],
+[  --with-tmp=path              location for the tmp dir for openSRF (/tmp/osrftmp by default)],
+[TMP=${withval}],
+[TMP=/tmp/osrftmp])
+AC_SUBST([TMP])
+
+AC_ARG_WITH([apxs],
+[  --with-apxs=path                 location of apxs (default is /usr/bin/apxs2)],
+[APXS2=${withval}],
+[APXS2=/usr/bin/apxs2])
+AC_SUBST([APXS2])
+
+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])
+
+AC_ARG_WITH([apr],
+[  --with-apr=path                  location of the 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/))],
+[LIBXML2_HEADERS=${withval}],
+[LIBXML2_HEADERS=/usr/include/libxml2/])
+AC_SUBST([LIBXML2_HEADERS])
+
+AC_ARG_WITH([includes],
+[  --with-includes=DIRECTORIES      a colon-separated list of directories that will be added to the list the compiler searches for header files (Example: --with-includes=/path/headers:/anotherpath/moreheaders)],
+[EXTRA_USER_INCLUDES=${withval}])
+
+AC_ARG_WITH([libraries],
+[  --with-libraries=DIRECTORIES     a colon-separated list of directories to search for libraries (Example: --with-libraries=/lib:/usr/lib)],
+[EXTRA_USER_LIBRARIES=${withval}])
+
+# Change these lists to proper compiler/linker options
+
+IFSBAK=${IFS}
+IFS="${IFS}:"
+
+for dir in $EXTRA_USER_INCLUDES; do
+	if test -d "$dir"; then
+	  INCLUDES="$INCLUDES -I$dir"
+	else
+	  AC_MSG_WARN([*** Include directory $dir does not exist.])
+	fi
+done
+AC_SUBST(INCLUDES)
+
+for dir in $EXTRA_USER_LIBRARIES; do
+	if test -d "$dir"; then
+	  LIBDIRS="$LIBDIRS -L$dir"
+	else
+	  AC_MSG_WARN([*** Library directory $dir does not exist.])
+	fi
+done
+AC_SUBST(LIBDIRS)
+
+IFS=${IFSBAK}
+
+#--------------------------------
+# Check for dependencies.
+#--------------------------------
+
+#APACHE PREFORK DEV TEST
+AC_MSG_CHECKING([APXS])
+if test -f "${APXS2}"; then
+AC_MSG_RESULT([yes])
+else
+AC_MSG_ERROR([*** apxs not found, aborting])
+fi  
+
+#PYTHON TESTS
+if test x$OSRF_INSTALL_PYTHON = xtrue; then
+        AC_CHECK_PROG([HAVE_PYTHON],python,yes,no)
+        if test $HAVE_PYTHON = "no"; then
+                AC_MSG_ERROR([*** python not found, aborting])
+        fi
+        AC_PYTHON_MOD([setuptools])
+fi
+
+
+#-----------------------------
+# Checks for libraries.
+#-----------------------------
+
+AC_CHECK_LIB([dl], [dlerror], [],AC_MSG_ERROR(***OpenSRF requires libdl))
+AC_CHECK_LIB([memcache], [mc_req_free], [], AC_MSG_ERROR(***OpenSRF requires memcache development headers))
+AC_CHECK_LIB([ncurses], [initscr], [], AC_MSG_ERROR(***OpenSRF requires ncurses development headers))
+AC_CHECK_LIB([readline], [readline], [], AC_MSG_ERROR(***OpenSRF requires readline development headers))
+AC_CHECK_LIB([xml2], [xmlAddID], [], AC_MSG_ERROR(***OpenSRF requires xml2 development headers))
+
+
+
+#-----------------------------
+# Checks for header files.
+#-----------------------------
+
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h malloc.h netdb.h netinet/in.h stdlib.h string.h strings.h sys/socket.h sys/time.h sys/timeb.h syslog.h unistd.h])
+
+#------------------------------------------------------------------
+# Checks for typedefs, structures, and compiler characteristics.
+#------------------------------------------------------------------
+
+AC_C_CONST
+AC_C_INLINE
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+AC_HEADER_TIME
+AC_STRUCT_TM
+
+#----------------------------------
+# Checks for library functions.
+#----------------------------------
+
+AC_FUNC_FORK
+AC_FUNC_MALLOC
+AC_FUNC_SELECT_ARGTYPES
+AC_TYPE_SIGNAL
+AC_FUNC_STRFTIME
+AC_FUNC_STRTOD
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS([bzero dup2 gethostbyname gethostname gettimeofday memset select socket strcasecmp strchr strdup strerror strncasecmp strndup strrchr strtol])
+
+#------------------------------------
+# Configuration and output
+#------------------------------------
+
+AC_CONFIG_FILES([Makefile
+                 examples/math_xul_client/Makefile
+                 src/Makefile
+                 src/c-apps/Makefile
+                 src/gateway/Makefile
+                 src/java/Makefile
+                 src/jserver/Makefile
+                 src/libopensrf/Makefile
+                 src/ports/strn_compat/Makefile
+                 src/python/Makefile
+                 src/router/Makefile
+                 src/srfsh/Makefile
+		 bin/osrf_config], [if test -e "./bin/osrf_config"; then chmod 755 bin/osrf_config; fi])
+
+
+AC_OUTPUT
+
+AC_MSG_RESULT([])
+AC_MSG_RESULT([--------------------- Configuration options:  -----------------------])
+
+if test "$OSRF_INSTALL_JAVA" = "true" ; then
+	AC_MSG_RESULT([OSRF install java?:              yes])
+	AC_MSG_RESULT([Java deps dir:                   $OSRF_JAVA_DEPSDIR])
+else
+	AC_MSG_RESULT([OSRF install java?:              no])
+fi
+
+if test "$OSRF_INSTALL_PYTHON" = "true" ; then
+        AC_MSG_RESULT([OSRF install python?:            yes])
+else
+        AC_MSG_RESULT([OSRF install python?:            no])
+fi
+
+if test "$OSRF_LEGACY_JSON" = "true" ; then
+        AC_MSG_RESULT([OSRF install legacy json?:       yes])
+else
+        AC_MSG_RESULT([OSRF install legacy json?:	no])
+fi
+
+	AC_MSG_RESULT(Installation directory prefix:		${prefix})
+	AC_MSG_RESULT(Tmp dir location:				${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(libxml2 headers location:			${LIBXML2_HEADERS})
+
+
+
+
+
+AC_MSG_RESULT([----------------------------------------------------------------------])

Deleted: trunk/examples/math_xul_client/Makefile
===================================================================
--- trunk/examples/math_xul_client/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/examples/math_xul_client/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,19 +0,0 @@
-all: clean client
-	@echo
-
-client:
-	@echo We need the OpenSRF javascript code...
-	mkdir math/content/OpenSRF/
-	cp ../../src/javascript/*.js math/content/OpenSRF/
-	@echo We need a log directory...
-	mkdir math/content/log
-	touch math/content/log/preserve.directory.when.zipping
-	@echo We also need a math/content/conf/client_config.xml pointing to a running OpenSRF Math application.
-	@echo Then we package this into a Mozilla XPI file...
-	zip -q -r math.xpi install.js math/
-	@echo After installing the XPI, use the chrome URL:
-	@echo chrome://math/content/
-
-clean:
-	@echo Removing the OpenSRF javascript code, the log directory, and math.xpi...
-	rm -rf math/content/OpenSRF/ math/content/log math.xpi

Added: trunk/examples/math_xul_client/Makefile.in
===================================================================
--- trunk/examples/math_xul_client/Makefile.in	                        (rev 0)
+++ trunk/examples/math_xul_client/Makefile.in	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,19 @@
+all: clean client
+	@echo
+
+client:
+	@echo We need the OpenSRF javascript code...
+	mkdir math/content/OpenSRF/
+	cp ../../src/javascript/*.js math/content/OpenSRF/
+	@echo We need a log directory...
+	mkdir math/content/log
+	touch math/content/log/preserve.directory.when.zipping
+	@echo We also need a math/content/conf/client_config.xml pointing to a running OpenSRF Math application.
+	@echo Then we package this into a Mozilla XPI file...
+	zip -q -r math.xpi install.js math/
+	@echo After installing the XPI, use the chrome URL:
+	@echo chrome://math/content/
+
+clean:
+	@echo Removing the OpenSRF javascript code, the log directory, and math.xpi...
+	rm -rf math/content/OpenSRF/ math/content/log math.xpi

Deleted: trunk/install.conf
===================================================================
--- trunk/install.conf	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/install.conf	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,26 +0,0 @@
-export PREFIX=/openils
-export BINDIR=/openils/bin
-export LIBDIR=/openils/lib
-export PERLDIR=/openils/lib/perl5
-export INCLUDEDIR=/openils/include
-export ETCDIR=/openils/conf
-export SOCK=/openils/var/sock
-export PID=/openils/var/pid
-export LOG=/openils/var/log
-export TMP=/tmp/ilstemp
-export APXS2=/usr/bin/apxs2
-export APACHE2_HEADERS=/usr/include/apache2
-export APR_HEADERS=/usr/include/apr-1.0
-export LIBXML2_HEADERS=/usr/include/libxml2
-
-# uncomment to create the legacy JSON headers and .so file for backwards compatibility
-export OSRF_LEGACY_JSON=1
-
-# uncomment to build and install the java libs
-#export OSRF_INSTALL_JAVA=1
-
-# path to the directory containing the Java dependency jar files
-#export OSRF_JAVA_DEPSDIR=/opt/java
-
-# uncomment to build and install the Python modules
-export OSRF_INSTALL_PYTHON=1

Deleted: trunk/src/Makefile
===================================================================
--- trunk/src/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,152 +0,0 @@
-# TOP level 'src' makefile for OpenSRF
-
-export TMPDIR	= $(TMP)/opensrf
-export OPENSRF	= opensrf
-export BINDIR	= $(PREFIX)/bin
-export LIBDIR	= $(PREFIX)/lib
-export PERLDIR	= $(LIBDIR)/perl5
-export JSDIR	= $(LIBDIR)/javascript
-export INCLUDEDIR= $(PREFIX)/include
-
-export LDLIBS	+= 
-export LDFLAGS	+= -Wl,-rpath=$(LIBDIR) -L $(TMPDIR) -L .
-export CFLAGS	+= -D_LARGEFILE64_SOURCE -pipe -g -Wall -O2 -fPIC -I ../../include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS) 
-
-ifneq ($(DEBUG), 1)
-export CFLAGS += -DNDEBUG
-endif
-
-ifeq ($(OSRF_LEGACY_JSON), 1)
-export LDLIBS += -lobjson
-endif
-
-all: 	prep \
-	opensrf \
-	router \
-	srfsh \
-	jserver \
-	gateway \
-	java \
-	python-build
-
-install: 	install-prep \
-		opensrf-install \
-		gateway-install	\
-		router-install \
-		srfsh-install \
-		jserver-install \
-		javascript-install \
-		perl-install \
-		python-install \
-		java-install
-
-
-# --------------------------------------------------------------------------------
-# BINARIES and LIBS
-# --------------------------------------------------------------------------------
-
-prep:
-	mkdir -p $(TMPDIR)
-
-opensrf:	prep
-	make -C libopensrf
-	make -C c-apps
-
-router: opensrf
-	@echo $@
-	make -C router 
-
-srfsh: opensrf
-	@echo $@
-	make -C srfsh
-
-gateway:	opensrf
-	@echo $@
-	make -C gateway
-
-jserver:	opensrf
-	@echo $@
-	make -C jserver
-
-
-java:	prep
-	if [ -n "$(OSRF_INSTALL_JAVA)" ]; then echo $@; cd java && . deps.inc && make; fi;
-
-python-build:
-	if [ -n "$(OSRF_INSTALL_PYTHON)" ]; then echo $@; make -C python build; fi;
-
-# --------------------------------------------------------------------------------
-# INSTALL
-# --------------------------------------------------------------------------------
-
-# make sure the install directories exist
-install-prep:	
-	@echo $@
-	mkdir -p $(LIBDIR)
-	mkdir -p $(BINDIR)
-	mkdir -p $(JSDIR)
-	mkdir -p $(PERLDIR)
-	mkdir -p $(INCLUDEDIR)
-	mkdir -p $(ETCDIR)
-
-# installs libopensrf.so, opensrf-c, headers, example configs, and osrf_ctl.sh
-opensrf-install:	install-prep
-	@echo $@
-	cp $(TMPDIR)/libopensrf.so $(LIBDIR)/libopensrf.so
-	cp -r ../include/opensrf $(INCLUDEDIR)
-	cp libopensrf/opensrf $(BINDIR)/opensrf-c
-	make -C c-apps install
-	cp ../bin/osrf_ctl.sh $(BINDIR)
-	cp ../examples/opensrf.xml.example $(ETCDIR)
-	cp ../examples/opensrf_core.xml.example $(ETCDIR)
-	cp ../examples/srfsh.xml.example $(ETCDIR)
-	if [ ! -z "$(OSRF_LEGACY_JSON)" ]; then\
-		cp -r ../include/objson $(INCLUDEDIR);\
-		cp $(TMPDIR)/libobjson.so $(LIBDIR);\
-	fi
-
-gateway-install:	install-prep opensrf-install	
-	@echo $@
-	make -C gateway install
-
-router-install:	install-prep opensrf-install
-	@echo $@
-	make -C router install
-
-srfsh-install:	install-prep opensrf-install 
-	@echo $@
-	make -C srfsh install
-
-jserver-install:	install-prep 
-	@echo $@
-	make -C jserver install
-
-javascript-install:	install-prep
-	@echo $@
-	cp -r javascript/* $(JSDIR)/
-
-perl-install:	install-prep
-	@echo $@
-	cp -r perlmods/* $(PERLDIR)/
-
-python-install:
-	if [ -n "$(OSRF_INSTALL_PYTHON)" ]; then echo $@; make -C python install; fi;
-
-java-install:
-	if [ -n "$(OSRF_INSTALL_JAVA)" ]; then echo $@; cd java && . deps.inc && make install; fi;
-
-# --------------------------------------------------------------------------------
-# CLEAN	
-# --------------------------------------------------------------------------------
-clean:
-	make -C libopensrf clean
-	make -C router clean
-	make -C gateway clean
-	make -C jserver clean
-	make -C srfsh clean
-	make -C c-apps clean
-	make -C java clean
-	if [ -n "$(OSRF_INSTALL_PYTHON)" ]; then echo $@; make -C python clean; fi;
-	/bin/rm -rf $(TMPDIR) *.o
-
-

Added: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am	                        (rev 0)
+++ trunk/src/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,64 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+# Declare some directory variables
+
+export TMPDIR	= $(TMP)/opensrf
+export OPENSRF	= opensrf
+export BINDIR	= @bindir@
+export LIBDIR	= @libdir@
+export PERLDIR	= $(LIBDIR)/perl5
+export JSDIR	= $(LIBDIR)/javascript
+export INCLUDEDIR= @includedir@
+export OSRF_JAVA_DEPSDIR = @OSRF_JAVA_DEPSDIR@
+
+AM_LDFLAGS = $(DEF_LDFLAGS)
+AM_CFLAGS = $(DEF_CFLAGS)
+
+if DEBUG
+AM_CFLAGS += -DNDEBUG
+endif
+
+if BUILDJSON
+LDADD = -lobjson
+BJSON=1
+endif
+
+if BUILDPYTHON
+MAYBE_PY = python
+endif 
+
+if BUILDJAVA
+MAYBE_JA = java
+endif
+
+SUBDIRS = libopensrf c-apps router srfsh jserver gateway $(MAYBE_PY) $(MAYBE_JA)
+
+install-data-local:
+	mkdir -p $(JSDIR)
+	mkdir -p $(PERLDIR)
+	mkdir -p $(ETCDIR)
+	cp -r ../include/opensrf $(INCLUDEDIR)
+	mv $(BINDIR)/opensrf $(BINDIR)/opensrf-c
+	cp ../bin/osrf_config $(BINDIR)
+	cp ../bin/osrf_ctl.sh $(BINDIR)
+	cp ../examples/opensrf.xml.example $(ETCDIR)
+	cp ../examples/opensrf_core.xml.example $(ETCDIR)
+	cp ../examples/srfsh.xml.example $(ETCDIR)
+	cp -r ../include/objson $(INCLUDEDIR)
+	cp -r javascript/* $(JSDIR)/
+	cp -r perlmods/* $(PERLDIR)/
+	mv $(INCLUDEDIR)/apachetools.h $(INCLUDEDIR)/opensrf/apachetools.h
+
+

Deleted: trunk/src/c-apps/Makefile
===================================================================
--- trunk/src/c-apps/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/c-apps/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,29 +0,0 @@
-LDLIBS += -lopensrf
-CFLAGS += -D_LARGEFILE64_SOURCE -DOSRF_LOG_PARAMS
-
-all:	osrf_math.so osrf_dbmath.so osrf_version.so timejson
-
-timejson.o: timejson.c
-osrf_math.o: osrf_math.c
-osrf_dbmath.o: osrf_dbmath.c
-osrf_version.o: osrf_version.c
-
-timejson: timejson.o
-	$(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) timejson.o -o $(TMPDIR)/timejson
-
-osrf_math.so: osrf_math.o
-	$(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) osrf_math.o -o $(TMPDIR)/osrf_math.so
-
-osrf_dbmath.so: osrf_dbmath.o
-	$(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) osrf_dbmath.o -o $(TMPDIR)/osrf_dbmath.so
-
-osrf_version.so: osrf_version.o
-	$(CC) -shared -W1 $(LDLIBS) $(LDFLAGS) osrf_version.o -o $(TMPDIR)/osrf_version.so
-
-install:
-	cp $(TMPDIR)/osrf_math.so $(LIBDIR)/
-	cp $(TMPDIR)/osrf_dbmath.so $(LIBDIR)/
-	cp $(TMPDIR)/osrf_version.so $(LIBDIR)/
-
-clean:
-	rm -f *.o *.so

Added: trunk/src/c-apps/Makefile.am
===================================================================
--- trunk/src/c-apps/Makefile.am	                        (rev 0)
+++ trunk/src/c-apps/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,36 @@
+# Copyright (C) 2007-2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+# for libtool
+tmpdir = $(TMP)
+
+AM_CFLAGS = $(DEF_CFLAGS) -DORSF_LOG_PARAMS 
+LDADD = $(DEF_LDLIBS)
+AM_LDFLAGS = $(DEF_LDFLAGS) -L$(TMP)/opensrf/ -L../libopensrf/.libs/ -L.  
+
+tmp_PROGRAMS = timejson
+lib_LTLIBRARIES = libosrf_dbmath.la libosrf_math.la libosrf_version.la
+
+timejson_SOURCES = timejson.c
+libosrf_dbmath_la_SOURCES = osrf_dbmath.c 
+libosrf_math_la_SOURCES = osrf_math.c
+libosrf_version_la_SOURCES = osrf_version.c 
+
+## rename libraries (libtool requires the prefix lib, but we dont use that here)
+## remove extra library files created by libtool
+install-exec-hook:
+	cp $(LIBDIR)/libosrf_math.so $(LIBDIR)/osrf_math.so
+	cp $(LIBDIR)/libosrf_dbmath.so $(LIBDIR)/osrf_dbmath.so
+	cp $(LIBDIR)/libosrf_version.so $(LIBDIR)/osrf_version.so	
+	rm $(LIBDIR)/libosrf*

Deleted: trunk/src/gateway/Makefile
===================================================================
--- trunk/src/gateway/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/gateway/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,25 +0,0 @@
-#CFLAGS	+= -DASSUME_STATELESS -DOSRF_GATEWAY_NASTY_DEBUG
-CFLAGS	+= -DASSUME_STATELESS 
-LDLIBS	+= -lopensrf
-
-all: osrf_json_gateway.so copy
-
-install: 
-	$(APXS2) -i -a -n osrf_json_gateway osrf_json_gateway.so
-	cp apachetools.h $(INCLUDEDIR)/opensrf/
-
-copy:
-	cp apachetools.h $(TMPDIR)
-
-apachetools.o:	apachetools.h apachetools.c
-	$(CC) -c $(CFLAGS) apachetools.c -o $@
-
-osrf_json_gateway.o:	osrf_json_gateway.c
-	$(CC) -c $(CFLAGS) osrf_json_gateway.c -o $@
-
-osrf_json_gateway.so:	copy apachetools.o osrf_json_gateway.o
-	$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) -shared -W1 apachetools.o osrf_json_gateway.o -o osrf_json_gateway.so
-
-
-clean:
-	/bin/rm -f *.o *.so 

Added: trunk/src/gateway/Makefile.am
===================================================================
--- trunk/src/gateway/Makefile.am	                        (rev 0)
+++ trunk/src/gateway/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,28 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+AM_LDFLAGS = $(DEF_LDFLAGS)
+AM_CFLAGS = $(DEF_CFLAGS) -DASSUME_STATELESS -L../libopensrf/.libs/ 
+LDADD = $(DEF_LDLIBS)
+
+curdir = @abs_top_builddir@/src/gateway/
+
+cur_LTLIBRARIES = libosrf_json_gateway.la
+libosrf_json_gateway_la_SOURCES = apachetools.c apachetools.h osrf_json_gateway.c
+
+include_HEADERS = apachetools.h
+
+install-exec-local: 
+	cp .libs/libosrf_json_gateway.so osrf_json_gateway.so
+	$(APXS2) -i -a -n osrf_json_gateway osrf_json_gateway.so

Deleted: trunk/src/java/Makefile
===================================================================
--- trunk/src/java/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/java/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,60 +0,0 @@
-JAVAC=javac -J-Xmx256m
-JAVA=java -Xmx256m 
-JAVA_LIBDIR = .lib
-JAVA_LIBS = .:$(OSRF_JAVA_DEPSDIR)/$(WSTX):$(OSRF_JAVA_DEPSDIR)/$(STAX):$(OSRF_JAVA_DEPSDIR)/$(MEMCACHE):$(OSRF_JAVA_DEPSDIR)/$(JSON)
-JAVA_SRC = \
-	org/opensrf/net/xmpp/*.java \
-	org/opensrf/util/*.java \
-	org/opensrf/*.java \
-	org/opensrf/test/*.java 
-
-#------------------------------------------------------------------
-
-all:	verify_deps dirs jar
-
-verify_deps:
-	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(WSTX)" ]; then echo -e "\nmissing dependency $(WSTX)!\n" && exit 1; fi
-	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(STAX)" ]; then echo -e "\nmissing dependency $(STAX)!\n" && exit 1; fi
-	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(MEMCACHE)" ]; then echo -e "\nmissing dependency $(MEMCACHE)!\n" && exit 1; fi
-	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(JSON)" ]; then echo -e "\nmissing dependency $(JSON)!\n" && exit 1; fi
-
-dirs:
-	mkdir -p $(JAVA_LIBDIR)
-
-opensrf:
-	$(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 
-
-jar:	opensrf
-	rm -f opensrf.jar
-	jar cf opensrf.jar -C $(JAVA_LIBDIR) org
-
-# only prints the first 30 lines of errors
-slim:
-	mkdir -p $(JAVA_LIBDIR)
-	$(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30
-	@echo -e "\nTruncating at 30 lines"
-
-check:
-	mkdir -p $(JAVA_LIBDIR)
-	$(JAVAC) -Xlint:unchecked -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30
-	@echo -e "\nTruncating at 30 lines"
-
-run:
-	$(JAVA) -cp $(JAVA_LIBS):opensrf.jar $(JAVA_EXE) $(JAVA_ARGS)
-
-docs:
-	find . -name *.java > files;
-	javadoc -classpath $(JAVA_LIBS) -d doc @files;
-	rm files;
-
-install:
-	mkdir -p $(LIBDIR)/java
-	cp opensrf.jar $(LIBDIR)/java
-
-clean:	
-	rm -fr opensrf.jar $(JAVA_LIBDIR)
-
-dep_clean:
-	rm -rf deps
-
- 	

Added: trunk/src/java/Makefile.in
===================================================================
--- trunk/src/java/Makefile.in	                        (rev 0)
+++ trunk/src/java/Makefile.in	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,60 @@
+JAVAC=javac -J-Xmx256m
+JAVA=java -Xmx256m 
+JAVA_LIBDIR = .lib
+JAVA_LIBS = .:$(OSRF_JAVA_DEPSDIR)/$(WSTX):$(OSRF_JAVA_DEPSDIR)/$(STAX):$(OSRF_JAVA_DEPSDIR)/$(MEMCACHE):$(OSRF_JAVA_DEPSDIR)/$(JSON)
+JAVA_SRC = \
+	org/opensrf/net/xmpp/*.java \
+	org/opensrf/util/*.java \
+	org/opensrf/*.java \
+	org/opensrf/test/*.java 
+
+#------------------------------------------------------------------
+
+all:	verify_deps dirs jar
+
+verify_deps:
+	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(WSTX)" ]; then echo -e "\nmissing dependency $(WSTX)!\n" && exit 1; fi
+	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(STAX)" ]; then echo -e "\nmissing dependency $(STAX)!\n" && exit 1; fi
+	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(MEMCACHE)" ]; then echo -e "\nmissing dependency $(MEMCACHE)!\n" && exit 1; fi
+	@if [ ! -e "$(OSRF_JAVA_DEPSDIR)/$(JSON)" ]; then echo -e "\nmissing dependency $(JSON)!\n" && exit 1; fi
+
+dirs:
+	mkdir -p $(JAVA_LIBDIR)
+
+opensrf:
+	$(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 
+
+jar:	opensrf
+	rm -f opensrf.jar
+	jar cf opensrf.jar -C $(JAVA_LIBDIR) org
+
+# only prints the first 30 lines of errors
+slim:
+	mkdir -p $(JAVA_LIBDIR)
+	$(JAVAC) -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30
+	@echo -e "\nTruncating at 30 lines"
+
+check:
+	mkdir -p $(JAVA_LIBDIR)
+	$(JAVAC) -Xlint:unchecked -d $(JAVA_LIBDIR) -cp $(JAVA_LIBS) $(JAVA_SRC) 2>&1 | head -n 30
+	@echo -e "\nTruncating at 30 lines"
+
+run:
+	$(JAVA) -cp $(JAVA_LIBS):opensrf.jar $(JAVA_EXE) $(JAVA_ARGS)
+
+docs:
+	find . -name *.java > files;
+	javadoc -classpath $(JAVA_LIBS) -d doc @files;
+	rm files;
+
+install:
+	mkdir -p $(LIBDIR)/java
+	cp opensrf.jar $(LIBDIR)/java
+
+clean:	
+	rm -fr opensrf.jar $(JAVA_LIBDIR)
+
+dep_clean:
+	rm -rf deps
+
+ 	

Deleted: trunk/src/jserver/Makefile
===================================================================
--- trunk/src/jserver/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/jserver/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,17 +0,0 @@
-LDLIBS	+= -lopensrf  -lxml2
-CFLAGS	+= -D_GNU_SOURCE
-
-all: chopchop
-
-chopchop: osrf_chat.o osrf_chat_main.o
-	$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) osrf_chat.o osrf_chat_main.o -o $@
-
-osrf_chat.o: osrf_chat.c osrf_chat.h
-osrf_chat_main.o: osrf_chat_main.c
-
-install: 
-	cp chopchop $(BINDIR)
-
-clean:
-	/bin/rm -f *.o chopchop
-

Added: trunk/src/jserver/Makefile.am
===================================================================
--- trunk/src/jserver/Makefile.am	                        (rev 0)
+++ trunk/src/jserver/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,21 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+LDADD = -lxml2 $(DEF_LDLIBS)
+AM_CFLAGS = $(DEF_CFLAGS) -D_GNU_SOURCE -L../libopensrf/.libs/
+AM_LDFLAGS = $(DEF_LDFLAGS)
+
+bin_PROGRAMS = chopchop
+chopchop_SOURCES = osrf_chat.c osrf_chat.h osrf_chat_main.c
+

Deleted: trunk/src/libopensrf/Makefile
===================================================================
--- trunk/src/libopensrf/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/libopensrf/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,119 +0,0 @@
-# ------------------------------------------------------------------
-# To build the standalone JSON lib libosrf_json.so:
-# 	$ make libosrf_json.so
-# To build the standalone JSON lib libosrf_json.so with XML utils 
-# 	support, use something like the following:
-# 	$ CFLAGS="-DOSRF_JSON_ENABLE_XML_UTILS -I/usr/include/libxml2" LDLIBS=-lxml2 make libosrf_json.so
-#
-# The compiler flag -DOSRF_JSON_ALLOW_COMMENTS tells the parser to 
-# allow legacy JSON comments like /* comment */
-# ------------------------------------------------------------------
-
-CFLAGS	+=  -DASSUME_STATELESS  -DOSRF_STRICT_PARAMS -rdynamic -fno-strict-aliasing -I../../include -fPIC -Wall -DOSRF_JSON_ENABLE_XML_UTILS
-LDLIBS	+= -lxml2 -ldl -lmemcache 
-export OSRF_INC = ../../include/opensrf/
-
-TARGETS = 	osrf_message.o \
-			osrf_app_session.o \
-			osrf_stack.o \
-			osrf_system.o \
-			osrf_settings.o \
-			osrf_prefork.o \
-			osrfConfig.o \
-			osrf_application.o \
-			osrf_cache.o \
-			osrf_transgroup.o \
-			osrf_list.o \
-			osrf_hash.o \
-			xml_utils.o \
-			transport_message.o\
-			transport_session.o\
-			transport_client.o\
-			md5.o\
-			log.o\
-			utils.o\
-			socket_bundle.o\
-			sha.o\
-			string_array.o
-
-JSON_TARGETS = 	osrf_json_object.o\
-				osrf_json_parser.o \
-				osrf_json_tools.o \
-				osrf_legacy_json.o \
-				osrf_json_xml.o
-
-# use these when building the standalone JSON module
-JSON_DEPS = osrf_list.o\
-			osrf_hash.o\
-			utils.o\
-			log.o\
-			md5.o\
-			string_array.o
-
-
-all: opensrf
-
-# Build the OpenSRF C binary
-opensrf:	opensrf.o libopensrf.so
-	@echo $@
-	$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) -lopensrf opensrf.o -o $@
-
-
-# Build the OpenSRF library
-libopensrf.so:	$(TARGETS) json
-	if [ ! -z "$(OSRF_LEGACY_JSON)" ]; then\
-		$(CC) -shared -W1 $(LDFLAGS) $(LDLIBS) $(TARGETS) -o $(TMPDIR)/libopensrf.so;\
-	else\
-		$(CC) -shared -W1 $(LDFLAGS) $(LDLIBS) $(TARGETS) $(JSON_TARGETS) -o $(TMPDIR)/libopensrf.so;\
-	fi; 
-
-
-json:	$(JSON_TARGETS) $(JSON_DEPS)
-	if [ ! -z "$(OSRF_LEGACY_JSON)" ]; then \
-		$(CC) -shared -W1  $(CFLAGS) \
-			$(LDFLAGS) $(JSON_TARGETS) $(JSON_DEPS) -o $(TMPDIR)/libobjson.so;\
-	fi;
-
-libosrf_json.so:	$(JSON_TARGETS) $(JSON_DEPS)
-	$(CC) -shared -W1 $(CFLAGS) \
-		$(LDFLAGS) $(LDLIBS) $(JSON_TARGETS) $(JSON_DEPS) -o $@
-
-
-osrf_json_test:	osrf_json_test.o $(JSON_TARGETS) $(JSON_DEPS)
-
-
-opensrf.o:	opensrf.c
-transport_message.o:	transport_message.c $(OSRF_INC)/transport_message.h	
-transport_session.o:	transport_session.c $(OSRF_INC)/transport_session.h	
-transport_client.o:	transport_client.c $(OSRF_INC)/transport_client.h	
-osrf_message.o:	osrf_message.c $(OSRF_INC)/osrf_message.h
-osrf_app_session.o:	osrf_app_session.c $(OSRF_INC)/osrf_app_session.h
-osrf_stack.o:	osrf_stack.c $(OSRF_INC)/osrf_stack.h
-osrf_system.o:	osrf_system.c $(OSRF_INC)/osrf_system.h
-osrf_settings.o:	osrf_settings.c $(OSRF_INC)/osrf_settings.h
-osrf_prefork.o:	osrf_prefork.c $(OSRF_INC)/osrf_prefork.h
-osrfConfig.o:	osrfConfig.c $(OSRF_INC)/osrfConfig.h xml_utils.o
-osrf_application.o: osrf_application.c $(OSRF_INC)/osrf_application.h
-osrf_cache.o:	osrf_cache.c $(OSRF_INC)/osrf_cache.h
-osrf_list.o:	osrf_list.c $(OSRF_INC)/osrf_list.h
-osrf_hash.o:	osrf_hash.c $(OSRF_INC)/osrf_hash.h
-md5.o:	md5.c $(OSRF_INC)/md5.h
-log.o:	log.c $(OSRF_INC)/log.h	
-utils.o:	utils.c $(OSRF_INC)/utils.h
-socket_bundle.o:	socket_bundle.c $(OSRF_INC)/socket_bundle.h
-sha.o:	sha.c $(OSRF_INC)/sha.h
-string_array.o:	string_array.c $(OSRF_INC)/string_array.h
-osrf_json_object.o:	osrf_json_object.c $(OSRF_INC)/osrf_json.h $(OSRF_INC)/osrf_json_utils.h
-osrf_json_parser.o:	osrf_json_parser.c $(OSRF_INC)/osrf_json.h $(OSRF_INC)/osrf_json_utils.h
-osrf_json_tools.o:	osrf_json_tools.c $(OSRF_INC)/osrf_json.h $(OSRF_INC)/osrf_json_utils.h
-osrf_legacy_json.o:	osrf_legacy_json.c $(OSRF_INC)/osrf_json.h $(OSRF_INC)/osrf_json_utils.h
-osrf_json_xml.o:	osrf_json_xml.c $(OSRF_INC)/osrf_json.h $(OSRF_INC)/osrf_json_xml.h
-osrf_json_test.o:	osrf_json_test.c
-
-
-clean:
-	/bin/rm -f *.o *.so opensrf osrf_json_test
-
-
-
-

Added: trunk/src/libopensrf/Makefile.am
===================================================================
--- trunk/src/libopensrf/Makefile.am	                        (rev 0)
+++ trunk/src/libopensrf/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,139 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+AM_CFLAGS = $(DEF_CFLAGS) -DASSUME_STATELESS  -DOSRF_STRICT_PARAMS -rdynamic -fno-strict-aliasing -I./.libs/ -DOSRF_JSON_ENABLE_XML_UTILS
+AM_LDFLAGS = $(DEF_LDFLAGS)
+LDADD = -lxml2 -ldl -lmemcache -lopensrf -lobjson
+
+export OSRF_INC = @abs_top_builddir@/include/opensrf/
+
+TARGS = 		osrf_message.c \
+			osrf_app_session.c \
+			osrf_stack.c \
+			osrf_system.c \
+			osrf_settings.c \
+			osrf_prefork.c \
+			osrfConfig.c \
+			osrf_application.c \
+			osrf_cache.c \
+			osrf_transgroup.c \
+			osrf_list.c \
+			osrf_hash.c \
+			xml_utils.c \
+			transport_message.c\
+			transport_session.c\
+			transport_client.c\
+			md5.c\
+			log.c\
+			utils.c\
+			socket_bundle.c\
+			sha.c\
+			string_array.c
+
+TARGS_HEADS = 	 $(OSRF_INC)/transport_message.h \
+		 $(OSRF_INC)/transport_session.h \
+		 $(OSRF_INC)/transport_client.h \
+		 $(OSRF_INC)/osrf_message.h \
+		 $(OSRF_INC)/osrf_app_session.h \
+		 $(OSRF_INC)/osrf_stack.h \
+		 $(OSRF_INC)/osrf_system.h \
+		 $(OSRF_INC)/osrf_settings.h \
+		 $(OSRF_INC)/osrf_prefork.h \
+		 $(OSRF_INC)/osrfConfig.h \
+		 $(OSRF_INC)/osrf_application.h \
+		 $(OSRF_INC)/osrf_cache.h \
+		 $(OSRF_INC)/osrf_list.h \
+		 $(OSRF_INC)/osrf_hash.h \
+		 $(OSRF_INC)/md5.h \
+		 $(OSRF_INC)/log.h \
+		 $(OSRF_INC)/utils.h \
+		 $(OSRF_INC)/socket_bundle.h \
+		 $(OSRF_INC)/sha.h \
+		 $(OSRF_INC)/string_array.h \
+		 $(OSRF_INC)/osrf_json_utils.h \
+		 $(OSRF_INC)/osrf_json_xml.h 
+
+JSON_TARGS = 			osrf_json_object.c\
+				osrf_json_parser.c \
+				osrf_json_tools.c \
+				osrf_legacy_json.c \
+				osrf_json_xml.c
+
+# use these when building the standalone JSON module
+JSON_DEP = 		osrf_list.c\
+			osrf_hash.c\
+			utils.c\
+			log.c\
+			md5.c\
+			string_array.c
+
+JSON_TARGS_HEADS = 		$(OSRF_INC)/osrf_json_object.h\
+				$(OSRF_INC)/osrf_json_parser.h \
+				$(OSRF_INC)/osrf_json_tools.h \
+				$(OSRF_INC)/osrf_legacy_json.h \
+				$(OSRF_INC)/osrf_json_xml.h
+
+JSON_DEP_HEADS = 	$(OSRF_INC)/osrf_list.h\
+			$(OSRF_INC)/osrf_hash.h\
+			$(OSRF_INC)/utils.h\
+			$(OSRF_INC)/log.h\
+			$(OSRF_INC)/md5.h\
+			$(OSRF_INC)/string_array.h
+
+
+noinst_PROGRAMS = osrf_json_test
+
+bin_PROGRAMS = opensrf
+opensrf_SOURCES = opensrf.c
+opensrf_DEPENDENCIES = libopensrf.la
+
+osrf_json_test_SOURCES = osrf_json_test.c $(JSON_TARGS) $(JSON_DEP) $(JSON_TARGS_HEADS) $(JSON_DEP_HEADS)
+
+noinst_LTLIBRARIES = libosrf_json.la
+lib_LTLIBRARIES = libobjson.la libopensrf.la
+
+if BUILDJSON
+libobjson_la_SOURCES = $(JSON_TARGS) $(JSON_DEP) $(JSON_TARGS_HEADS) $(JSON_DEP_HEADS)
+libobjson_la_CFLAGS = $(AM_CFLAGS)
+endif
+
+libosrf_json_la_SOURCES = $(JSON_TARGS) $(JSON_DEP) $(JSON_TARGS_HEADS) $(JSON_DEP_HEADS)
+libosrf_json_la_CFLAGS = $(AM_CFLAGS)
+
+if BUILDJSON
+libosrf_json_la_DEPENDENCIES = libobjson.la
+endif
+
+libopensrf_la_CFLAGS = $(AM_CFLAGS)
+libopensrf_la_DEPENDENCIES = libosrf_json.la
+
+if BUILDJSON
+libopensrf_la_SOURCES = $(TARGS) $(TARGS_HEADS)
+else
+libopensrf_la_SOURCES = $(TARGS) $(TARGS_HEADS) $(JSON_TARGS) $(JSON_TARGS_HEADS)
+endif
+
+install-exec-hook:
+	## Remove extra lib files created by libtool.
+	rm $(LIBDIR)/libobjson.a
+	rm $(LIBDIR)/libobjson.la
+	rm $(LIBDIR)/libobjson.so
+	mv $(LIBDIR)/libobjson.so.*.*.* $(LIBDIR)/libobjson.so
+	rm $(LIBDIR)/libobjson.so.*
+
+	rm $(LIBDIR)/libopensrf.a
+	rm $(LIBDIR)/libopensrf.la
+	rm $(LIBDIR)/libopensrf.so
+	mv $(LIBDIR)/libopensrf.so.*.*.* $(LIBDIR)/libopensrf.so
+	rm $(LIBDIR)/libopensrf.so.*

Deleted: trunk/src/ports/strn_compat/Makefile
===================================================================
--- trunk/src/ports/strn_compat/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/ports/strn_compat/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,20 +0,0 @@
-# OSRF_LOG_PARAMS log all incoming method params at OSRF_INFO log level. 
-# OSRF_STRICT_PARAMS instructs the app handler to return an error if the number of method arguments
-#	provided to any method is not at least as large as the 'argc' setting for the method
-
-CFLAGS	+=  -rdynamic -fno-strict-aliasing -fPIC
-
-TARGETS = strndup.o strnlen.o
-HEADERS = strndup.h strnlen.h
-
-all: libfreebsd_str_compat.so $(TARGETS)
-
-libfreebsd_str_compat.so: $(TARGETS)
-	$(CC) -shared -W1 $(TARGETS) -o $@
-
-strndup.o:	strndup.c strndup.h
-strnlen.o:	strnlen.c strnlen.h
-
-clean:
-	/bin/rm -f *o
-

Added: trunk/src/ports/strn_compat/Makefile.in
===================================================================
--- trunk/src/ports/strn_compat/Makefile.in	                        (rev 0)
+++ trunk/src/ports/strn_compat/Makefile.in	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,20 @@
+# OSRF_LOG_PARAMS log all incoming method params at OSRF_INFO log level. 
+# OSRF_STRICT_PARAMS instructs the app handler to return an error if the number of method arguments
+#	provided to any method is not at least as large as the 'argc' setting for the method
+
+CFLAGS	+=  -rdynamic -fno-strict-aliasing -fPIC
+
+TARGETS = strndup.o strnlen.o
+HEADERS = strndup.h strnlen.h
+
+all: libfreebsd_str_compat.so $(TARGETS)
+
+libfreebsd_str_compat.so: $(TARGETS)
+	$(CC) -shared -W1 $(TARGETS) -o $@
+
+strndup.o:	strndup.c strndup.h
+strnlen.o:	strnlen.c strnlen.h
+
+clean:
+	/bin/rm -f *o
+

Deleted: trunk/src/python/Makefile
===================================================================
--- trunk/src/python/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/python/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,22 +0,0 @@
-# makefile for OpenSRF Python modules and scripts
-
-# ------------------------------------------------------------------------------
-# BUILD
-# ------------------------------------------------------------------------------
-build:
-	@echo $@
-	python setup.py build
-
-# ------------------------------------------------------------------------------
-# INSTALL
-# ------------------------------------------------------------------------------
-install:	build
-	@echo $@
-	python setup.py install
-
-# ------------------------------------------------------------------------------
-# CLEAN	
-# ------------------------------------------------------------------------------
-clean:
-	python setup.py clean --all
-

Added: trunk/src/python/Makefile.in
===================================================================
--- trunk/src/python/Makefile.in	                        (rev 0)
+++ trunk/src/python/Makefile.in	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,24 @@
+# makefile for OpenSRF Python modules and scripts
+
+all: build
+
+# ------------------------------------------------------------------------------
+# BUILD
+# ------------------------------------------------------------------------------
+build:
+	@echo $@
+	python setup.py build
+
+# ------------------------------------------------------------------------------
+# INSTALL
+# ------------------------------------------------------------------------------
+install:	build
+	@echo $@
+	python setup.py install
+
+# ------------------------------------------------------------------------------
+# CLEAN	
+# ------------------------------------------------------------------------------
+clean:
+	python setup.py clean --all
+

Deleted: trunk/src/router/Makefile
===================================================================
--- trunk/src/router/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/router/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,23 +0,0 @@
-#MALLOC_CHECK_=1 # XXX debug only
-
-LDLIBS	+= -lxml2 -lopensrf 
-CFLAGS	+= -D_ROUTER
-
-all: opensrf_router 
-#osrf_router
-
-install: 
-	cp opensrf_router $(BINDIR)
-
-#opensrf_router:	router.o 
-#	$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) router.o -o $@
-#router.o:	router.c router.h
-
-opensrf_router:	osrf_router.o osrf_router_main.o
-	$(CC) $(CFLAGS) $(LDFLAGS) $(LDLIBS) osrf_router.o osrf_router_main.o -o $@
-osrf_router.o: osrf_router.c osrf_router.h
-osrf_router_main.o: osrf_router_main.c 
-
-clean:
-	/bin/rm -f *.o opensrf_router
-

Added: trunk/src/router/Makefile.am
===================================================================
--- trunk/src/router/Makefile.am	                        (rev 0)
+++ trunk/src/router/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,21 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+LDADD = -lxml2 $(DEF_LDLIBS) 
+AM_CFLAGS = $(DEF_CFLAGS) -D_ROUTER -L../libopensrf/.libs/
+AM_LDFLAGS = $(DEF_LDFLAGS)
+
+bin_PROGRAMS = opensrf_router
+opensrf_router_SOURCES = osrf_router.c osrf_router_main.c osrf_router.h 
+

Deleted: trunk/src/srfsh/Makefile
===================================================================
--- trunk/src/srfsh/Makefile	2008-06-24 20:47:49 UTC (rev 1347)
+++ trunk/src/srfsh/Makefile	2008-06-25 18:50:00 UTC (rev 1348)
@@ -1,15 +0,0 @@
-# if EXEC_DEFAULT is defined, then srfsh will send all unknown commands to the shell for execution
-
-LDLIBS	+= -lreadline -lxml2 -lopensrf -lncurses 
-LDFLAGS	+= -DEXEC_DEFAULT
-
-all: srfsh
-
-srfsh:	srfsh.o
-srfsh.o:	srfsh.c 
-
-install: 
-	cp srfsh $(BINDIR)
-
-clean:
-	/bin/rm -f *.o srfsh

Added: trunk/src/srfsh/Makefile.am
===================================================================
--- trunk/src/srfsh/Makefile.am	                        (rev 0)
+++ trunk/src/srfsh/Makefile.am	2008-06-25 18:50:00 UTC (rev 1348)
@@ -0,0 +1,20 @@
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00 at gmail.com>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+
+LDADD = -lreadline -lxml2 -lncurses $(DEF_LDLIBS) 
+AM_CFLAGS = $(DEF_CFLAGS) -DEXEC_DEFAULT -L../libopensrf/.libs/ 
+AM_LDFLAGS = $(DEF_LDFLAGS)
+
+bin_PROGRAMS = srfsh
+srfsh_SOURCES = srfsh.c



More information about the opensrf-commits mailing list