On Wednesday 14 May 2008 1:40 Kevin Beswick wrote: > This is an initial patch supporting the effort of porting OpenSRF to > the GNU autotools. > > The goal of this patch is to enable someone to generate a configure > script using autoconf, allow someone to choose various install options > through the generated configure script, and to remove the need for the > install.conf file. > > The configure script makes various checks based on the dependencies of > openSRF, allows users to customize the install directories, and select > various install options (whether or not to install python modules, > java libraries, legacy json headers). It outputs the results of these > custom checks/settings at the end of the default configure script > output. > > The automake Makefile.am's are not included as of yet, instead only > Makefile.in's are included so that configure can generate appropriate > Makefiles based on the already existing ones. > > To test: > automake -a > autoconf > ./configure [--option] > make > make install
Some comments: When I invoke 'automake -a', I get some warnings: configure.ac: no proper invocation of AM_INIT_AUTOMAKE was found. configure.ac: You should verify that configure.ac invokes AM_INIT_AUTOMAKE, configure.ac: that aclocal.m4 is present in the top-level directory, configure.ac: and that aclocal.m4 was recently regenerated (using aclocal). configure.ac: installing `./install-sh' configure.ac: installing `./missing' automake: no `Makefile.am' found for any configure output Should I fear these? ------------------ It's also important to note that if you run ./configure as a non-root user, it may die with: checking for ejabberd... no configure: error: *** ejabberd not found, aborting /usr/sbin, where ejabberd lives on my test system (Debian Lenny), is not in my path. This works fine: PATH=$PATH:/usr/sbin/ ./configure ------------ I ran configure with the defaults and later realized that I needed to update my tmp_dir, since it was already in use by another user on this system. I ran: PATH=$PATH:/usr/sbin/ ./configure --with-tmp_dir=/tmp/osrftmp The configure output reports: Tmp dir location: /tmp/osrftmp However, Makefile[.in] still shows TMP=/tmp/ilstemp, which causes my 'make' attempts to fail. Should re-running configure update that? It's likely my own autoconf ignorance is coming into play here... ----------------- Minor nit: Can we make the default TMP directory /tmp/osrftmp (or similar)? --------------- To prevent filling up the file, can we wrap the mod_placeholder insertion (in 'make install') in a check to see if it's needed? For example: if [ ! $$(grep mod_placeholder /etc/apache2/httpd.conf) ]; then \ echo "#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \ >> /etc/apache2/httpd.conf; \ fi; \ make -s -C src install ---------------------- Kevin, this is looking /very/ good. I didn't realize you had gotten this far until I went for it. Kudos. -bill -- Bill Erickson | VP, Software Development & Integration | Equinox Software, Inc. / The Evergreen Experts | phone: 877-OPEN-ILS (673-6457) | email: [EMAIL PROTECTED] | web: http://esilibrary.com