2 # Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
3 # Copyright (C) 2003-2008 Gary Kramlich <grim@reaperworld.com>
5 # This program is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by the Free
7 # Software Foundation; either version 2 of the License, or (at your option)
10 # This program is distributed in the hope that it will be useful, but WITHOUT
11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 # You should have received a copy of the GNU General Public License along with
16 # this program; if not, write to the Free Software Foundation, Inc., 51
17 # Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 ###############################################################################
21 ###############################################################################
22 # This script uses a config file that can be used to stash common arguments
23 # passed to configure or environment variables that need to be set before
24 # configure is called. The configuration file is a simple shell script that
27 # By default, the config file that is used is named 'autogen.args'. This can
28 # be configured below.
30 # Available options that are handled are as follow:
31 # ACLOCAL_FLAGS - command line arguments to pass to aclocal
32 # AUTOCONF_FLAGS - command line arguments to pass to autoconf
33 # AUTOHEADER_FLAGS - command line arguments to pass to autoheader
34 # AUTOMAKE_FLAGS - command line arguments to pass to automake flags
35 # CONFIGURE_FLAGS - command line arguments to pass to configure
36 # GLIB_GETTEXTIZE_FLAGS - command line arguments to pass to glib-gettextize
37 # INTLTOOLIZE_FLAGS - command line arguments to pass to intltoolize
38 # LIBTOOLIZE_FLAGS - command line arguments to pass to libtoolize
40 # Other helpfull notes:
41 # If you're using a different c compiler, you can override the environment
42 # variable in 'autogen.args'. For example, say you're using distcc, just add
43 # the following to 'autogen.args':
47 # This will work for any influential environment variable to configure.
48 ###############################################################################
50 ARGS_FILE
="autogen.args"
52 libtoolize
="libtoolize"
55 libtoolize
="glibtoolize"
60 ###############################################################################
61 # Some helper functions
62 ###############################################################################
66 printf "%s" "checking for ${CMD}... "
67 BIN
=`which ${CMD} 2> /dev/null`
69 if [ x
"${BIN}" = x
"" ] ; then
71 echo "${CMD} is required to build ${PACKAGE}!"
78 run_or_die
() { # beotch
82 OUTPUT
=`mktemp autogen-XXXXXX`
84 printf "%s" "running ${CMD} ${@}... "
85 ${CMD} ${@} >${OUTPUT} 2>&1
100 ###############################################################################
101 # We really start here, yes, very sneaky!
102 ###############################################################################
103 FIGLET
=`which figlet 2> /dev/null`
104 if [ x
"${FIGLET}" != x
"" ] ; then
105 ${FIGLET} -f small
${PACKAGE}
106 echo "build system is being generated"
108 echo "autogenerating build system for '${PACKAGE}'"
111 ###############################################################################
112 # Look for our args file
113 ###############################################################################
114 printf "%s" "checking for ${ARGS_FILE}: "
115 if [ -f ${ARGS_FILE} ] ; then
117 printf "%s" "sourcing ${ARGS_FILE}: "
124 ###############################################################################
125 # Check for our required helpers
126 ###############################################################################
127 check
"$libtoolize"; LIBTOOLIZE
=${BIN};
128 check
"glib-gettextize"; GLIB_GETTEXTIZE
=${BIN};
129 check
"intltoolize"; INTLTOOLIZE
=${BIN};
130 check
"aclocal"; ACLOCAL
=${BIN};
131 check
"autoheader"; AUTOHEADER
=${BIN};
132 check
"automake"; AUTOMAKE
=${BIN};
133 check
"autoconf"; AUTOCONF
=${BIN};
135 ###############################################################################
136 # Run all of our helpers
137 ###############################################################################
138 run_or_die
${LIBTOOLIZE} ${LIBTOOLIZE_FLAGS:-"-c -f --automake"}
139 run_or_die
${GLIB_GETTEXTIZE} ${GLIB_GETTEXTIZE_FLAGS:-"--force --copy"}
140 run_or_die
${ACLOCAL} ${ACLOCAL_FLAGS:-"-I m4macros"}
141 #run_or_die ${AUTOHEADER} ${AUTOHEADER_FLAGS}
142 run_or_die
${AUTOMAKE} ${AUTOMAKE_FLAGS:-"-a -c --gnu"}
143 run_or_die
${AUTOCONF} ${AUTOCONF_FLAGS}
144 run_or_die
${INTLTOOLIZE} ${INTLTOOLIZE_FLAGS:-"-c -f --automake"}
146 ###############################################################################
148 ###############################################################################
149 echo "running ./configure ${CONFIGURE_FLAGS} $@"
150 .
/configure
--enable-maintainer-mode ${CONFIGURE_FLAGS} $@