summaryrefslogtreecommitdiff
path: root/devel/djgpp-gcc/scripts/pre-configure
diff options
context:
space:
mode:
Diffstat (limited to 'devel/djgpp-gcc/scripts/pre-configure')
-rw-r--r--devel/djgpp-gcc/scripts/pre-configure160
1 files changed, 160 insertions, 0 deletions
diff --git a/devel/djgpp-gcc/scripts/pre-configure b/devel/djgpp-gcc/scripts/pre-configure
new file mode 100644
index 000000000000..fd75b3c1c1a7
--- /dev/null
+++ b/devel/djgpp-gcc/scripts/pre-configure
@@ -0,0 +1,160 @@
+#! /bin/sh
+
+AUTOCONF_OLD=autoconf213
+AUTOHEADER_OLD=autoheader213
+AUTOCONF=autoconf259
+AUTOHEADER=autoheader259
+
+#
+# List of directories in which we should run autoconf or/and automake
+#
+
+automake_list=
+aclocal_list=
+
+#
+# Build list of patched files
+#
+
+for x in `(cd ${WRKDIR}/diffs/source && find . -type f | sed -e 's/\.\///g')`; do
+ case $x in
+ *.diff | *.diff.in)
+ cd $top
+ diff=${WRKDIR}/$x;
+ fname=`echo $x | sed -e 's/\.diff//g'`
+ if [ -f $gcc_dir/$fname ] ; then
+ case $fname in
+ */acinclude.m4)
+ dir=`echo $gcc_dir/$fname | sed -e 's/\/acinclude.m4//g'`
+ aclocal_list="$aclocal_list $dir"
+ ;;
+ */Makefile.am)
+ dir=`echo $gcc_dir/$fname | sed -e 's/\/Makefile.am//g'`
+ automake_list="$automake_list $dir"
+ ;;
+ esac
+ fi
+ ;;
+ *)
+ ;;
+ esac
+done
+
+for dir in build.gcc install.gcc; do
+ for x in `(cd ${WRKDIR}/diffs/$dir && find . -type f | sed -e 's/\.\///g')`; do
+ mkdir -p `dirname ${WRKDIR}/gnu/$dir/$x`
+ echo "Writing $dir/$x"
+ cat ${WRKDIR}/diffs/$dir/$x |\
+ sed -e "s:@SRCDIR@:$dir_name:g" >${WRKDIR}/gnu/$dir/$x
+ done
+done
+
+#
+# Run aclocal where needed
+#
+( cd $gcc_dir/libgfortran && aclocal19 -I ../config || exit 1)
+( cd $gcc_dir/libstdc++-v3 && aclocal19 -I . -I .. -I ../config || exit 1)
+
+#for dir in $aclocal_list ; do
+# if cd $dir ; then
+# echo Running aclocal in `pwd`...
+# if ! aclocal -I . -I $gcc_dir -I $gcc_dir/config ; then
+# echo "aclocal failed in directory `pwd`"
+# cd $top
+# exit 1
+# fi
+# fi
+# cd $top
+#done
+
+#
+# Run automake where needed
+#
+
+for dir in $automake_list; do
+ if cd $dir ; then
+ echo "Directory $dir: must run automake ...";
+ if ! [ -f configure.in ] ; then
+ if ! [ -f configure.ac ] ; then
+ cd ..;
+ if ! [ -f configure.in ] ; then
+ if ! [ -f configure.ac ] ; then
+ cd ..
+ fi
+ fi
+ fi
+ fi
+ echo "Running automake..."
+ if ! automake19; then
+ echo "automake failed in directory `pwd`"
+ cd $top
+ exit 1
+ fi
+ fi
+ cd $top
+done
+
+#
+# Run autoconf where needed
+#
+
+for c in `find $gcc_dir -name 'configure.in' -o -name 'configure.ac'`; do
+ d=`dirname $c`
+ n=`basename $c`
+ if cd $d ; then
+ AC_PREREQ=`grep 'AC_PREREQ(' $n | sed 's#.*(##' | sed 's#)##'`;
+
+ case $AC_PREREQ in
+ 2.1*) echo Running autoconf-2.13 in `pwd` ...;
+ if ! $AUTOCONF_OLD ; then
+ echo "autoconf failed in directory `pwd`"
+ cd $top
+ exit 1
+ fi
+ ;;
+ *2.5*) echo Running autoconf-2.5X in `pwd` ...;
+ if ! $AUTOCONF ; then
+ echo "autoconf failed in directory `pwd`"
+ cd $top
+ exit 1
+ fi
+ ;;
+ *) echo Unknown autoconf version $AC_PREREQ required
+ exit 1
+ ;;
+ esac
+ fi
+ cd $top
+done
+
+#
+# Run autoheader where needed
+#
+
+if cd $gcc_dir/gcc ; then
+ echo Running autoheader in `pwd` ...;
+ if [ -f configure.ac ] ; then
+ if ! $AUTOHEADER ; then
+ echo "autoheader failed in directory `pwd`"
+ cd $top
+ exit 1
+ fi
+ elif ! $AUTOHEADER_OLD ; then
+ echo "autoheader failed in directory `pwd`"
+ cd $top
+ exit 1
+ fi
+ rm -f cstamp-h.in
+ echo timestamp >cstamp-h.in
+fi
+
+if [ -f $gcc_dir/contrib/gcc_update ] ; then
+ echo Running contrib/gcc_update --touch
+ cd $gcc_dir;
+ ./contrib/gcc_update --touch
+ cd $top
+fi
+
+for x in `find . -type d -a -name 'autom4te.cache'`; do
+ rm -rf $x
+done