--- /dev/null
+#ChangeLog
+++ /dev/null
-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
-
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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@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
+
--- /dev/null
+#!/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 "---------------------------------------------"
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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
#!/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=""
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";
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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@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([----------------------------------------------------------------------])
+++ /dev/null
-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
--- /dev/null
+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
+++ /dev/null
-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
+++ /dev/null
-# 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
-
-
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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
+
+
+++ /dev/null
-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
--- /dev/null
+# Copyright (C) 2007-2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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*
+++ /dev/null
-#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
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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
+++ /dev/null
-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
-
-
--- /dev/null
+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
+
+
+++ /dev/null
-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
-
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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
+
+++ /dev/null
-# ------------------------------------------------------------------
-# 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
-
-
-
-
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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.*
+++ /dev/null
-# 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
-
--- /dev/null
+# 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
+
+++ /dev/null
-# 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
-
--- /dev/null
+# 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
+
+++ /dev/null
-#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
-
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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
+
+++ /dev/null
-# 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
--- /dev/null
+# Copyright (C) 2008 Equinox Software, Inc.
+# Kevin Beswick <kevinbeswick00@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