#!/bin/sh # # $Id: xdt-autogen.in 24486 2007-01-15 17:47:49Z benny $ # # Copyright (c) 2002-2006 # The Xfce development team. All rights reserved. # # Written for Xfce by Benedikt Meurer . # # 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., 59 Temple # Place, Suite 330, Boston, MA 02111-1307 USA # # xdt-autogen - Part of the Xfce developer tools. # ## ## Helper function to lookup configure.{in,ac} files recursively. ## Sets $CONFIGURE_FILES to the list of configure files found. ## lookup_configure_files() { if test -f "$1/configure.ac"; then configure_file="$1/configure.ac"; elif test -f "$1/configure.in"; then configure_file="$1/configure.in"; else cat >&2 </dev/null 2>/dev/null; then MAKE="gmake" elif (type make) >/dev/null 2>/dev/null; then MAKE="make" else cat >&2 </dev/null 2>&1 echo "Cleaning generated files in ${directory}..." (cd ${directory} ; rm -f config.* configure configure.lineno aclocal.m4 ; rm -f compile depcomp ltmain.sh missing install-sh ; rm -f po/Makefile.in.in ; rm -f stamp-h1 *.spec ; rm -f mkinstalldirs libtool ; rm -rf autom4te.cache ; rm -f intltool-* gtk-doc.make) # determine the output files used in this package directory output_files=`tr '\\n\\t\\\\' ' ' < ${configure_file} | sed -ne 's|.*AC_OUTPUT(\[\{0,1\}\([[:alnum:]_@/\. -]\{1,\}\).*|\1|p'`; for output_file in $output_files; do if test x`basename $output_file` = x"Makefile"; then rm -f "${directory}/${output_file}.in"; rm -f "${directory}/${output_file}.in.in"; fi rm -f "${directory}/${output_file}"; done # determine translations used in this package directory # translations=`tr '\\n\\\\' ' ' < ${configure_file} | sed -ne 's/.*XDT_I18N(\[\{0,1\}\([a-zA-Z_@ ]\{1,\}\).*/\1/p'`; # for translation in $translations; do # rm -f "${directory}/po/${translation}.gmo"; # done rm -f ${directory}/po/*.gmo; done exit 0 fi ## ## Check for autoconf, first trying autoconf-2.59, then autoconf-2.58, then ## autoconf-2.57, then autoconf-2.53, and finally simply autoconf. ## test -z "${XDT_PROG_AUTOCONF}" && for i in autoconf-2.61 autoconf-2.60 autoconf-2.59 autoconf-2.58 autoconf-2.57 autoconf-2.53 autoconf; do (${i} --version) /dev/null 2>&1 && XDT_PROG_AUTOCONF=${i} && break done test -z "${XDT_PROG_AUTOCONF}" && { cat >&2 </dev/null 2>&1; then (${XDT_PROG_INTLTOOLIZE} --version) /dev/null 2>&1 || { cat >&2 </dev/null 2>&1; then (${XDT_PROG_LIBTOOLIZE} --version) /dev/null 2>&0 || { cat >&2 </dev/null 2>&1 || { cat >&2 </dev/null 2>&1; then (${XDT_PROG_GTKDOCIZE} --version) /dev/null 2>&1 || { cat >&2 </dev/null 2>&1 && XDT_PROG_ACLOCAL=${i} && break done test -z "${XDT_PROG_ACLOCAL}" && { cat >&2 </dev/null 2>&1; then for i in autoheader-2.61 autoheader-2.60 autoheader-2.59 autoheader-2.58 autoheader-2.57 autoheader-2.53 autoheader; do (${i} --version) /dev/null 2>&1 && XDT_PROG_AUTOHEADER=${i} && break done test -z "${XDT_PROG_AUTOHEADER}" && { cat >&2 </dev/null 2>&1 && XDT_PROG_AUTOMAKE=${i} && break done test -z "${XDT_PROG_AUTOMAKE}" && { cat >&2 < "${source_dir}/aclocal.m4") || exit 1 fi (echo "Running ${XDT_PROG_GLIB_GETTEXTIZE} --force --copy..." && ${XDT_PROG_GLIB_GETTEXTIZE} --force --copy) || exit 1 if test -f "${source_dir}/aclocal.m4" -a ! -w "${source_dir}/aclocal.m4"; then (echo "Making ${source_dir}/aclocal.m4 writable..." && chmod u+w "${source_dir}/aclocal.m4") || exit 1 fi fi if grep "^AC_PROG_INTLTOOL" "${configure_file}" >/dev/null 2>&1; then (echo "Running ${XDT_PROG_INTLTOOLIZE} --automake --copy --force" && cd "${source_dir}" && ${XDT_PROG_INTLTOOLIZE} --automake --copy --force) || exit 1 fi # patch the po/Makefile.in.in to take into account the setting of # XGETTEXT_ARGS properly if test -f "${source_dir}/po/Makefile.in.in"; then grep -q '^XGETTEXT_ARGS[ ]*=[ ]*@XGETTEXT_ARGS@$' \ "${source_dir}/po/Makefile.in.in" 2> /dev/null if test $? -ne 0; then echo "Patching file 'po/Makefile.in.in'" sed \ -e 's/^\(XGETTEXT[ ]*=[ ]*@XGETTEXT@\)[ ]*$/\1 $(XGETTEXT_ARGS)/' \ -e 's/^\(MSGMERGE[ ]*=\)[ ]*\(INTLTOOL_EXTRACT=\)/\1 XGETTEXT_ARGS="$(XGETTEXT_ARGS)" \2/' \ -e 's/^\(GENPOT[ ]*=\)[ ]*\(INTLTOOL_EXTRACT=\)/\1 XGETTEXT_ARGS="$(XGETTEXT_ARGS)" \2/' \ -e "/^XGETTEXT = @XGETTEXT@/{ i\\ XGETTEXT_ARGS = @XGETTEXT_ARGS@ }" < "${source_dir}/po/Makefile.in.in" > "${source_dir}/po/Makefile.in.in.tmp" if test $? -eq 0; then mv -f "${source_dir}/po/Makefile.in.in.tmp" \ "${source_dir}/po/Makefile.in.in" || exit 1 fi fi fi if grep "^AC_PROG_LIBTOOL" "${configure_file}" >/dev/null 2>&1; then (echo "Running ${XDT_PROG_LIBTOOLIZE} --force --copy..." && cd "${source_dir}" && ${XDT_PROG_LIBTOOLIZE} --force --copy) || exit 1 fi if grep "^GTK_DOC_CHECK" "${configure_file}" >/dev/null 2>&1; then (echo "Running ${XDT_PROG_GTKDOCIZE} --copy..." && cd ${source_dir} && ${XDT_PROG_GTKDOCIZE} --copy) || exit 1 fi (echo "Running ${XDT_PROG_ACLOCAL} ${ACLOCAL_FLAGS}..." && cd ${source_dir} && ${XDT_PROG_ACLOCAL} ${ACLOCAL_FLAGS}) || exit 1 if grep "^AM_CONFIG_HEADER" "${configure_file}" >/dev/null 2>&1; then (echo "Running ${XDT_PROG_AUTOHEADER}..." && cd ${source_dir} && ${XDT_PROG_AUTOHEADER}) || exit 1 fi (echo "Running ${XDT_PROG_AUTOMAKE} --force-missing --add-missing --copy --gnu..." && cd ${source_dir} && ${XDT_PROG_AUTOMAKE} --force-missing --add-missing --copy --gnu) || exit 1 (echo "Running ${XDT_PROG_AUTOCONF}..." && cd ${source_dir} && ${XDT_PROG_AUTOCONF}) || exit 1 echo done ## ## Run configure ## if test x"${NOCONFIGURE}" = x""; then (echo "Running ${MASTER_DIR}/configure ${CONFIGURE_FLAGS}..." && cd "${MASTER_DIR}" && ./configure ${CONFIGURE_FLAGS} && echo "Now type \"make\" to compile.") || exit 1 else echo "Skipping configure process." fi # vi:set ts=2 sw=2 et ai: