diff --git a/ChangeLog b/ChangeLog index 90b6c6d05..59134364a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2005-08-15 Peter Williams + + * bootstrap-generic: New script, handles bootstrapping stuff generically + and saves bootstrap settings so we can regenerate configure.in from + configure.in.in. + + * bootstrap + * bootstrap-2.4 + * bootstrap-for-the-insane: Modify to use bootstrap-generic + + * Makefile.am (configure.in): Add a rule to run bootstrap.status to + regenerate configure.in if configure.in.in changes. + 2005-08-15 Mike Kestner * bootstrap : update for 2.5.90 release. diff --git a/Makefile.am b/Makefile.am index 497adf223..814062240 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,3 +12,5 @@ EXTRA_DIST = \ #DISTCLEANFILES = AssemblyInfo.cs +configure.in: bootstrap.status configure.in.in + $(SHELL) $< diff --git a/bootstrap b/bootstrap index d4497dc53..15960b066 100755 --- a/bootstrap +++ b/bootstrap @@ -3,119 +3,11 @@ GTK_SHARP_VERSION=2.5.90 ASSEMBLY_VERSION=2.6.0.0 +GTK_REQUIRED_VERSION=2.6.0 +GNOME_REQUIRED_VERSION=2.10.0 +VERSIONCSDEFINES=-define:GTK_SHARP_2_6 +VERSIONCFLAGS=-DGTK_SHARP_2_6 +GTK_API_TAG=2.6 +GNOME_API_TAG=2.10 -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -sed -e "s/@GTK_SHARP_VERSION@/$GTK_SHARP_VERSION/" -e 's/@GTK_REQUIRED_VERSION@/2.6.0/' -e 's/@GNOME_REQUIRED_VERSION@/2.10.0/' -e 's/@VERSIONCSDEFINES@/-define:GTK_SHARP_2_6/' -e 's/@VERSIONCFLAGS@/-DGTK_SHARP_2_6/' -e "s/@ASSEMBLY_VERSION@/$ASSEMBLY_VERSION/" $srcdir/configure.in.in > $srcdir/configure.in - -ln -f $srcdir/pango/pango-api-2.6.raw $srcdir/pango/pango-api.raw -ln -f $srcdir/atk/atk-api-2.6.raw $srcdir/atk/atk-api.raw -ln -f $srcdir/gdk/gdk-api-2.6.raw $srcdir/gdk/gdk-api.raw -ln -f $srcdir/gtk/gtk-api-2.6.raw $srcdir/gtk/gtk-api.raw -ln -f $srcdir/gnomevfs/gnome-vfs-api-2.10.raw $srcdir/gnomevfs/gnome-vfs-api.raw -ln -f $srcdir/gnome/gnome-api-2.10.raw $srcdir/gnome/gnome-api.raw - -DIE=0 - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`autoconf' installed to compile Gtk#." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -if [ -z "$LIBTOOL" ]; then - LIBTOOL=`which glibtool 2>/dev/null` - if [ ! -x "$LIBTOOL" ]; then - LIBTOOL=`which libtool` - fi -fi - -(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { - ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`libtool' installed to compile Gtk#." - echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 - } -} - -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`automake' installed to compile Gtk#." - echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 - NO_AUTOMAKE=yes -} - - -# if no automake, don't bother testing for aclocal -test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: Missing \`aclocal'. The version of \`automake'" - echo "installed doesn't appear recent enough." - echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -if test -z "$*"; then - echo "**Warning**: I am going to run \`configure' with no arguments." - echo "If you wish to pass any to it, please specify them on the" - echo \`$0\'" command line." - echo -fi - -case $CC in -xlc ) - am_opt=--include-deps;; -esac - - -if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then - if test -z "$NO_LIBTOOLIZE" ; then - echo "Running libtoolize..." - libtoolize --force --copy - fi -fi - -echo "Running aclocal $ACLOCAL_FLAGS ..." -aclocal $ACLOCAL_FLAGS || { - echo - echo "**Error**: aclocal failed. This may mean that you have not" - echo "installed all of the packages you need, or you may need to" - echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" - echo "for the prefix where you installed the packages whose" - echo "macros were not found" - exit 1 -} - -if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then - echo "Running autoheader..." - autoheader || { echo "**Error**: autoheader failed."; exit 1; } -fi - -echo "Running automake --gnu $am_opt ..." -automake --add-missing --gnu $am_opt || - { echo "**Error**: automake failed."; exit 1; } -echo "Running autoconf ..." -autoconf || { echo "**Error**: autoconf failed."; exit 1; } - - -conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c - -if test x$NOCONFIGURE = x; then - echo Running $srcdir/configure $conf_flags "$@" ... - $srcdir/configure $conf_flags "$@" \ - && echo Now type \`make\' to compile $PKG_NAME || exit 1 -else - echo Skipping configure process. -fi +. ./bootstrap-generic "$@" diff --git a/bootstrap-2.4 b/bootstrap-2.4 index d89e308b8..8b72b561a 100755 --- a/bootstrap-2.4 +++ b/bootstrap-2.4 @@ -3,119 +3,11 @@ GTK_SHARP_VERSION=2.3.90 ASSEMBLY_VERSION=2.4.0.0 +GTK_REQUIRED_VERSION=2.4.0 +GNOME_REQUIRED_VERSION=2.6.0 +VERSIONCSDEFINES= +VERSIONCFLAGS= +GTK_API_TAG=2.4 +GNOME_API_TAG=2.6 -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -sed -e "s/@GTK_SHARP_VERSION@/$GTK_SHARP_VERSION/" -e 's/@GTK_REQUIRED_VERSION@/2.4.0/' -e 's/@GNOME_REQUIRED_VERSION@/2.6.0/' -e 's/@VERSIONCSDEFINES@//' -e 's/@VERSIONCFLAGS@//' -e "s/@ASSEMBLY_VERSION@/$ASSEMBLY_VERSION/" $srcdir/configure.in.in > $srcdir/configure.in - -ln -f $srcdir/pango/pango-api-2.4.raw $srcdir/pango/pango-api.raw -ln -f $srcdir/atk/atk-api-2.4.raw $srcdir/atk/atk-api.raw -ln -f $srcdir/gdk/gdk-api-2.4.raw $srcdir/gdk/gdk-api.raw -ln -f $srcdir/gtk/gtk-api-2.4.raw $srcdir/gtk/gtk-api.raw -ln -f $srcdir/gnomevfs/gnome-vfs-api-2.6.raw $srcdir/gnomevfs/gnome-vfs-api.raw -ln -f $srcdir/gnome/gnome-api-2.6.raw $srcdir/gnome/gnome-api.raw - -DIE=0 - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`autoconf' installed to compile Gtk#." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -if [ -z "$LIBTOOL" ]; then - LIBTOOL=`which glibtool 2>/dev/null` - if [ ! -x "$LIBTOOL" ]; then - LIBTOOL=`which libtool` - fi -fi - -(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { - ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`libtool' installed to compile Gtk#." - echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 - } -} - -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`automake' installed to compile Gtk#." - echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 - NO_AUTOMAKE=yes -} - - -# if no automake, don't bother testing for aclocal -test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: Missing \`aclocal'. The version of \`automake'" - echo "installed doesn't appear recent enough." - echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -if test -z "$*"; then - echo "**Warning**: I am going to run \`configure' with no arguments." - echo "If you wish to pass any to it, please specify them on the" - echo \`$0\'" command line." - echo -fi - -case $CC in -xlc ) - am_opt=--include-deps;; -esac - - -if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then - if test -z "$NO_LIBTOOLIZE" ; then - echo "Running libtoolize..." - libtoolize --force --copy - fi -fi - -echo "Running aclocal $ACLOCAL_FLAGS ..." -aclocal $ACLOCAL_FLAGS || { - echo - echo "**Error**: aclocal failed. This may mean that you have not" - echo "installed all of the packages you need, or you may need to" - echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" - echo "for the prefix where you installed the packages whose" - echo "macros were not found" - exit 1 -} - -if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then - echo "Running autoheader..." - autoheader || { echo "**Error**: autoheader failed."; exit 1; } -fi - -echo "Running automake --gnu $am_opt ..." -automake --add-missing --gnu $am_opt || - { echo "**Error**: automake failed."; exit 1; } -echo "Running autoconf ..." -autoconf || { echo "**Error**: autoconf failed."; exit 1; } - - -conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c - -if test x$NOCONFIGURE = x; then - echo Running $srcdir/configure $conf_flags "$@" ... - $srcdir/configure $conf_flags "$@" \ - && echo Now type \`make\' to compile $PKG_NAME || exit 1 -else - echo Skipping configure process. -fi +. ./bootstrap-generic "$@" diff --git a/bootstrap-for-the-insane b/bootstrap-for-the-insane index 36ea55ba2..a22b7b074 100755 --- a/bootstrap-for-the-insane +++ b/bootstrap-for-the-insane @@ -1,128 +1,13 @@ -echo "**********************************************************************" -echo "This bootstrap is totally untested and unsupported." -echo "Use at your own risk. Don't expect any sort of timely bugfixes." -echo "You have acknowledged your insanity by executing this script." -echo "Seek psychiatric help..." -echo "**********************************************************************" - #!/bin/sh # Run this to set configure.in up for an API version. GTK_SHARP_VERSION=2.7.0.99 ASSEMBLY_VERSION=2.8.0.0 +GTK_REQUIRED_VERSION=2.7.0 +GNOME_REQUIRED_VERSION=2.10.0 +VERSIONCSDEFINES="-define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8" +VERSIONCFLAGS="-DGTK_SHARP_2_6 -DGTK_SHARP_2_8" +GTK_API_TAG=2.8 +GNOME_API_TAG=2.10 -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -sed -e "s/@GTK_SHARP_VERSION@/$GTK_SHARP_VERSION/" -e 's/@GTK_REQUIRED_VERSION@/2.7.0/' -e 's/@GNOME_REQUIRED_VERSION@/2.10.0/' -e 's/@VERSIONCSDEFINES@/-define:GTK_SHARP_2_6 -define:GTK_SHARP_2_8/' -e 's/@VERSIONCFLAGS@/-DGTK_SHARP_2_6 -DGTK_SHARP_2_8/' -e "s/@ASSEMBLY_VERSION@/$ASSEMBLY_VERSION/" $srcdir/configure.in.in > $srcdir/configure.in - -ln -f $srcdir/pango/pango-api-2.8.raw $srcdir/pango/pango-api.raw -ln -f $srcdir/atk/atk-api-2.8.raw $srcdir/atk/atk-api.raw -ln -f $srcdir/gdk/gdk-api-2.8.raw $srcdir/gdk/gdk-api.raw -ln -f $srcdir/gtk/gtk-api-2.8.raw $srcdir/gtk/gtk-api.raw -ln -f $srcdir/gnomevfs/gnome-vfs-api-2.10.raw $srcdir/gnomevfs/gnome-vfs-api.raw -ln -f $srcdir/gnome/gnome-api-2.10.raw $srcdir/gnome/gnome-api.raw - -DIE=0 - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`autoconf' installed to compile Gtk#." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" - DIE=1 -} - -if [ -z "$LIBTOOL" ]; then - LIBTOOL=`which glibtool 2>/dev/null` - if [ ! -x "$LIBTOOL" ]; then - LIBTOOL=`which libtool` - fi -fi - -(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { - ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`libtool' installed to compile Gtk#." - echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 - } -} - -(automake --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: You must have \`automake' installed to compile Gtk#." - echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 - NO_AUTOMAKE=yes -} - - -# if no automake, don't bother testing for aclocal -test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "**Error**: Missing \`aclocal'. The version of \`automake'" - echo "installed doesn't appear recent enough." - echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" - echo "(or a newer version if it is available)" - DIE=1 -} - -if test "$DIE" -eq 1; then - exit 1 -fi - -if test -z "$*"; then - echo "**Warning**: I am going to run \`configure' with no arguments." - echo "If you wish to pass any to it, please specify them on the" - echo \`$0\'" command line." - echo -fi - -case $CC in -xlc ) - am_opt=--include-deps;; -esac - - -if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then - if test -z "$NO_LIBTOOLIZE" ; then - echo "Running libtoolize..." - libtoolize --force --copy - fi -fi - -echo "Running aclocal $ACLOCAL_FLAGS ..." -aclocal $ACLOCAL_FLAGS || { - echo - echo "**Error**: aclocal failed. This may mean that you have not" - echo "installed all of the packages you need, or you may need to" - echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" - echo "for the prefix where you installed the packages whose" - echo "macros were not found" - exit 1 -} - -if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then - echo "Running autoheader..." - autoheader || { echo "**Error**: autoheader failed."; exit 1; } -fi - -echo "Running automake --gnu $am_opt ..." -automake --add-missing --gnu $am_opt || - { echo "**Error**: automake failed."; exit 1; } -echo "Running autoconf ..." -autoconf || { echo "**Error**: autoconf failed."; exit 1; } - - -conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c - -if test x$NOCONFIGURE = x; then - echo Running $srcdir/configure $conf_flags "$@" ... - $srcdir/configure $conf_flags "$@" \ - && echo Now type \`make\' to compile $PKG_NAME || exit 1 -else - echo Skipping configure process. -fi +. ./bootstrap-generic "$@" diff --git a/bootstrap-generic b/bootstrap-generic new file mode 100755 index 000000000..4ce4212c7 --- /dev/null +++ b/bootstrap-generic @@ -0,0 +1,137 @@ +#!/bin/sh +# Run this to set configure.in up for an API version. + +if [ x"$GTK_SHARP_VERSION" = x ] ; then + echo "error: this script should not be run directly; use bootstrap instead" 1>&2 + exit 1 +fi + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +cat >bootstrap.status < $srcdir/configure.in + +ln -f $srcdir/pango/pango-api-$GTK_API_TAG.raw $srcdir/pango/pango-api.raw +ln -f $srcdir/atk/atk-api-$GTK_API_TAG.raw $srcdir/atk/atk-api.raw +ln -f $srcdir/gdk/gdk-api-$GTK_API_TAG.raw $srcdir/gdk/gdk-api.raw +ln -f $srcdir/gtk/gtk-api-$GTK_API_TAG.raw $srcdir/gtk/gtk-api.raw +ln -f $srcdir/gnomevfs/gnome-vfs-api-$GNOME_API_TAG.raw $srcdir/gnomevfs/gnome-vfs-api.raw +ln -f $srcdir/gnome/gnome-api-$GNOME_API_TAG.raw $srcdir/gnome/gnome-api.raw +EOF + +chmod +x bootstrap.status +./bootstrap.status + +DIE=0 + +(autoconf --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`autoconf' installed to compile Gtk#." + echo "Download the appropriate package for your distribution," + echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/" + DIE=1 +} + +if [ -z "$LIBTOOL" ]; then + LIBTOOL=`which glibtool 2>/dev/null` + if [ ! -x "$LIBTOOL" ]; then + LIBTOOL=`which libtool` + fi +fi + +(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && { + ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`libtool' installed to compile Gtk#." + echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + } +} + +(automake --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: You must have \`automake' installed to compile Gtk#." + echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 + NO_AUTOMAKE=yes +} + + +# if no automake, don't bother testing for aclocal +test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || { + echo + echo "**Error**: Missing \`aclocal'. The version of \`automake'" + echo "installed doesn't appear recent enough." + echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz" + echo "(or a newer version if it is available)" + DIE=1 +} + +if test "$DIE" -eq 1; then + exit 1 +fi + +if test -z "$*"; then + echo "**Warning**: I am going to run \`configure' with no arguments." + echo "If you wish to pass any to it, please specify them on the" + echo \`$0\'" command line." + echo +fi + +case $CC in +xlc ) + am_opt=--include-deps;; +esac + + +if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then + if test -z "$NO_LIBTOOLIZE" ; then + echo "Running libtoolize..." + libtoolize --force --copy + fi +fi + +echo "Running aclocal $ACLOCAL_FLAGS ..." +aclocal $ACLOCAL_FLAGS || { + echo + echo "**Error**: aclocal failed. This may mean that you have not" + echo "installed all of the packages you need, or you may need to" + echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\"" + echo "for the prefix where you installed the packages whose" + echo "macros were not found" + exit 1 +} + +if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then + echo "Running autoheader..." + autoheader || { echo "**Error**: autoheader failed."; exit 1; } +fi + +echo "Running automake --gnu $am_opt ..." +automake --add-missing --gnu $am_opt || + { echo "**Error**: automake failed."; exit 1; } +echo "Running autoconf ..." +autoconf || { echo "**Error**: autoconf failed."; exit 1; } + + +conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c + +if test x$NOCONFIGURE = x; then + echo Running $srcdir/configure $conf_flags "$@" ... + $srcdir/configure $conf_flags "$@" \ + && echo Now type \`make\' to compile $PKG_NAME || exit 1 +else + echo Skipping configure process. +fi