[Orca-checkins] rev 181 - in trunk/orca: . config

blair at orcaware.com blair at orcaware.com
Fri Jan 3 17:12:38 PST 2003

Author: blair
Date: 2003-01-03 17:12:27 -0800 (Fri, 03 Jan 2003)
New Revision: 181

Now that Orca and RRDtool are a in revision control system, it's
problematic to maintain the autoconf, automake and libtool generated
build system files (configure, aclocal.m4, etc.) in the repository.
When Orca is checked out, the source build files (e.g. configure.in)
may have a time stamp newer than the generated files (e.g. configure).
When the user runs `make' then, depending upon the Makefile, make may
try to regenerate the generated build files, which is a pain.  This
isn't true of Orca's build, but it is true of RRDtool's build.

The solution is the following:

1) Delete Orca's generated build files: configure and
2) Have a script that generates configure and config/aclocal.m4.  This
   script is named autogen.sh.
3) Have autogen.sh touch the build files in RRDtool in the proper
   chronological order to maintain the relative timestamps to prevent
   spurious rebuilding.

* autogen.sh:
  New script.  Check if autoconf 2.53 is available and quits if it
    isn't.  Touch RRDtool's build files in the correct chronological
    order to maintain the relative timestamps to prevent spurious
  Add property svn:executable set to on.

* configure.in:
  Require autoconf 2.53.

* Makefile.in (distclean):
  Delete configure and config/aclocal.m4.

* HACKING (Getting the source):
  Update the URLs to the Orca Subversion repository to use port 8000
    instead of port 80.
  Add additional instructions with the Subversion command to check out
    Orca HEAD and that you need to run autogen.sh to create the
    configure script.

* config/aclocal.m4:
  Delete, now created by autogen.sh.

* configure.
  Delete, now created by autogen.sh.

Modified: trunk/orca/Makefile.in
--- trunk/orca/Makefile.in	(original)
+++ trunk/orca/Makefile.in	2003-01-03 17:12:37.000000000 -0800
@@ -69,8 +69,8 @@
 		(cd $$dir && $(MAKE) distclean);	\
 	$(RM) -r autom4te*.cache
-	$(RM) config/PerlHead1 config/PerlHead2
-	$(RM) config.cache config.log config.status Makefile
+	$(RM) config/aclocal.m4 config/PerlHead1 config/PerlHead2
+	$(RM) configure config.cache config.log config.status Makefile
 	aclocal -I config --output=config/aclocal.m4

Modified: trunk/orca/configure.in
--- trunk/orca/configure.in	(original)
+++ trunk/orca/configure.in	2003-01-03 17:12:37.000000000 -0800
@@ -6,7 +6,7 @@
 # Minimum Autoconf version required.
 # Remember the command line arguments to configure for use when
 # configure is run again.  Also create the command line options for

Modified: trunk/orca/HACKING
--- trunk/orca/HACKING	(original)
+++ trunk/orca/HACKING	2003-01-03 17:12:37.000000000 -0800
@@ -59,11 +59,11 @@
 The Orca Subversion repository is located at
-   http://svn.orcaware.com/repos/trunk/orca/
+   http://svn.orcaware.com:8000/repos/trunk/orca/
 with tagged releases located at
-   http://svn.orcaware.com/repos/tags/orca/
+   http://svn.orcaware.com:8000/repos/tags/orca/
 The Subversion home page is at
@@ -86,6 +86,25 @@
+Once you've downloaded and installed Subversion, run the following
+command to check out Orca HEAD:
+   % svn co http://svn.orcaware.com:8000/repos/trunk/orca/
+This will create a directory named `orca' in the current working
+You will then need to create the `configure' script by running:
+   % cd orca
+   % ./autogen.sh
+Running this will check if you have the proper version of autoconf on
+your system and build `configure'.
+At this point, you will have the `configure' script in the `orca'
+directory and you can configure and build Orca normally as described
+in the `INSTALL' file.
 What to read

Deleted: trunk/orca/config/aclocal.m4

Added: trunk/orca/autogen.sh
--- trunk/orca/autogen.sh	(original)
+++ trunk/orca/autogen.sh	2003-01-03 17:12:38.000000000 -0800
@@ -0,0 +1,39 @@
+echo "$0: checking installation..."
+# Check for autoconf 2.53 or newer.
+ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|head -1|sed -e 's/^[^0-9]*//' -e 's/[a-z]* *$//'`
+if test -z "$ac_version"; then
+  echo "$0: autoconf not found."
+  echo "           You need autoconf version 2.53 or newer installed"
+  echo "           to build Orca from Subversion."
+  exit 1
+IFS=.; set $ac_version; IFS=' '
+if test "$1" = "2" -a "$2" -lt "53" || test "$1" -lt "2"; then
+  echo "$0: autoconf version $ac_version found."
+  echo "           You need autoconf version 2.53 or newer installed"
+  echo "           to build Orca from Subversion."
+  exit 1
+  echo "$0: autoconf version $ac_version (ok)"
+# The Orca Subversion repository contains RRDtool, which has its own
+# automake, autoconf and libtool setup.  When checking out Orca from
+# Subversion, it does not preserve the relative timestamps of the
+# build environment, which can cause `make' to rebuild RRDtool's build
+# environment.
+# To work around this, touch the build files in chronological order.
+echo "$0: touching RRDtool build files to preserve relative timestamps"
+find packages -name configure.in -o -name Makefile.am | xargs touch
+sleep 2
+find packages -name configure -o -name Makefile.in -o -name stamp-h\* | xargs touch
+echo "$0: building configuration files"
+aclocal -I config --output=config/aclocal.m4
+autoconf --include=config
+rm -fr autom4te*.cache

Deleted: trunk/orca/configure

More information about the Orca-checkins mailing list