org.guifications.plugins: 52c76daaa741c9b92df9acc46713dc9d975d0d79
rekkanoryo at guifications.org
rekkanoryo at guifications.org
Sun Nov 4 00:15:05 CDT 2007
-----------------------------------------------------------------
Revision: 52c76daaa741c9b92df9acc46713dc9d975d0d79
Ancestor: 059f5fe9f8ca0624bd74ea4133401c5478e725ef
Author: rekkanoryo at guifications.org
Date: 2007-11-04T05:12:08
Branch: org.guifications.plugins
Modified files:
autogen.sh
ChangeLog:
Port grim's recent autogen.sh stuff from Guifications 3 to the Plugin Pack.
-----------------------------------------------------------------
This revision's diffstat output:
autogen.sh | 162 ++++++++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 124 insertions(+), 38 deletions(-)
-------------- next part --------------
============================================================
--- autogen.sh 736de2b477fd790c8db70483c21352c0e5006fc4
+++ autogen.sh 287da0df94373f30fdf92e618639d92dc9c88268
@@ -1,49 +1,135 @@
#! /bin/sh
-PACKAGE="purple-plugin_pack"
+# Guifications - The end-all, be-all notification framework
+# Copyright (C) 2003-2007 Gary Kramlich <grim at reaperworld.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.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 51
+# Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-(intltoolize --version) < /dev/null > /dev/null 2>&1 || {
- echo;
- echo "You must have intltool installed to compile $PACKAGE";
- echo;
- exit;
-}
+###############################################################################
+# Usage
+###############################################################################
+# This script uses a config file that can be used to stash common arguments
+# passed to configure or environment variables that need to be set before
+# configure is called. The configuration file is a simple shell script that
+# gets sourced.
+#
+# By default, the config file that is used is named 'autogen.args'. This can
+# be configured below.
+#
+# Available options that are handled are as follow:
+# ACLOCAL_FLAGS - command line arguments to pass to aclocal
+# AUTOCONF_FLAGS - command line arguments to pass to autoconf
+# AUTOHEADER_FLAGS - command line arguments to pass to autoheader
+# AUTOMAKE_FLAGS - command line arguments to pass to automake flags
+# CONFIGURE_FLAGS - command line arguments to pass to configure
+# INTLTOOLIZE_FLAGS - command line arguments to pass to intltoolize
+# LIBTOOLIZE_FLAGS - command line arguments to pass to libtoolize
+#
+# Other helpfull notes:
+# If you're using a different c compiler, you can override the environment
+# variable in 'autogen.args'. For example, say you're using distcc, just add
+# the following to 'autogen.args':
+#
+# CC="distcc"
+#
+# This will work for any influential environment variable to configure.
+###############################################################################
+PACKAGE="Purple Plugin Pack"
+ARGS_FILE="autogen.args"
-(libtoolize --version) < /dev/null > /dev/null 2>&1 || {
- echo;
- echo "You must have libtool installed to compile $PACKAGE";
- echo;
- exit;
-}
+###############################################################################
+# Some helper functions
+###############################################################################
+check () {
+ CMD=$1
-(automake --version) < /dev/null > /dev/null 2>&1 || {
- echo;
- echo "You must have automake installed to compile $PACKAGE";
- echo;
- exit;
+ echo -n "checking for ${CMD}... "
+ BIN=`which ${CMD}`
+
+ if [ x"${BIN}" = x"" ] ; then
+ echo "not found."
+ echo "${CMD} is required to build ${PACKAGE}!"
+ exit 1;
+ fi
+
+ echo "${BIN}"
}
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
- echo;
- echo "You must have autoconf installed to compile $PACKAGE";
- echo;
- exit;
+run_or_die () { # beotch
+ CMD=$1
+ shift
+
+ echo -n "running ${CMD} ${@}... "
+ OUTPUT=`${CMD} ${@} 2>&1`
+ if [ $? != 0 ] ; then
+ echo "failed."
+ echo ${OUTPUT}
+ exit 1
+ else
+ echo "done."
+ if [ x"${OUTPUT}" != x"" ] ; then
+ echo ${OUTPUT}
+ fi
+ fi
}
-echo "Generating configuration files for $PACKAGE, please wait...."
-echo;
+###############################################################################
+# We really start here, yes, very sneaky!
+###############################################################################
+FIGLET=`which figlet`
+if [ x"${FIGLET}" != x"" ] ; then
+ ${FIGLET} -f small ${PACKAGE}
+ echo "build system is being generated"
+else
+ echo "autogenerating build system for '${PACKAGE}'"
+fi
-echo "Running libtoolize, please ignore non-fatal messages...."
-echo n | libtoolize --copy --force || exit;
-echo;
+###############################################################################
+# Look for our args file
+###############################################################################
+echo -n "checking for ${ARGS_FILE}: "
+if [ -f ${ARGS_FILE} ] ; then
+ echo "found."
+ echo -n "sourcing ${ARGS_FILE}: "
+ . autogen.args
+ echo "done."
+else
+ echo "not found."
+fi
-libtoolize -c -f --automake
-intltoolize --force --copy
-aclocal -I m4 || exit;
-autoheader || exit;
-automake --add-missing --copy
-autoconf || exit;
-automake || exit;
+###############################################################################
+# Check for our required helpers
+###############################################################################
+check "libtoolize"; LIBTOOLIZE=${BIN};
+check "intltoolize"; INTLTOOLIZE=${BIN};
+check "aclocal"; ACLOCAL=${BIN};
+check "autoheader"; AUTOHEADER=${BIN};
+check "automake"; AUTOMAKE=${BIN};
+check "autoconf"; AUTOCONF=${BIN};
+###############################################################################
+# Run all of our helpers
+###############################################################################
+run_or_die ${LIBTOOLIZE} -c -f --automake ${LIBTOOLIZE_FLAGS}
+run_or_die ${INTLTOOLIZE} -c -f --automake ${INTLTOOLIZE_FLAGS}
+run_or_die ${ACLOCAL} -I m4 ${ACLOCAL_FLAGS}
+run_or_die ${AUTOHEADER} ${AUTOHEADER_FLAGS}
+run_or_die ${AUTOMAKE} -a -c -f --gnu ${AUTOMAKE_FLAGS}
+run_or_die ${AUTOCONF} -f ${AUTOCONF_FLAGS}
+
+###############################################################################
+# Run configure
+###############################################################################
+echo "running ./configure ${CONFIGURE_ARGS} $@"
+./configure ${CONFIGURE_ARGS} $@
-echo "Running ./configure $@"
-echo;
-./configure $@
More information about the Plugins-commits
mailing list