From f985019e4c0fc321a4f054d94a4a23a67f434587 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sat, 9 Feb 2002 21:05:12 +0000 Subject: [PATCH] more build cleanups (using as-version and as-libtool) some release doc notes from the previous release Original commit message from CVS: * more build cleanups (using as-version and as-libtool) * some release doc notes from the previous release --- TODO | 1 - acconfig.h | 1 + autogen.sh | 210 +++++------------------ common | 2 +- configure.ac | 48 +----- docs/random/release | 9 + gst/Makefile.am | 2 +- gst/autoplug/Makefile.am | 10 +- gst/elements/Makefile.am | 2 +- gst/schedulers/Makefile.am | 2 +- gst/types/Makefile.am | 2 +- plugins/elements/Makefile.am | 2 +- tests/old/testsuite/Makefile.am | 2 +- tests/old/testsuite/elements/Makefile.am | 1 + testsuite/Makefile.am | 2 +- testsuite/elements/Makefile.am | 1 + 16 files changed, 71 insertions(+), 226 deletions(-) diff --git a/TODO b/TODO index b0b22eed3e..3a08466e94 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,3 @@ - - property proxy in compount elements. - implement events in all plugins. - app must be able to catch events? diff --git a/acconfig.h b/acconfig.h index 2069d87df3..c3a0e4e7d2 100644 --- a/acconfig.h +++ b/acconfig.h @@ -1,5 +1,6 @@ #undef PACKAGE #undef VERSION +#undef GST_VERSION #undef GST_VERSION_RELEASE /* Gettext stuff */ diff --git a/autogen.sh b/autogen.sh index a8edfb17dc..890a3f564d 100755 --- a/autogen.sh +++ b/autogen.sh @@ -2,189 +2,62 @@ # Run this to generate all the initial makefiles, etc. DIE=0 -package=GStreamer -srcfile=gst/gstobject.h -#DEBUG=defined +package=gstreamer +srcfile=gst/gst.c +# a quick cvs co to ease the transition if test ! -d common; then echo "+ getting common from cvs"; cvs co common fi if test ! -d libs/ext/cothreads; then - echo "+ getting cothreads from cvs"; cvs co -d libs/ext cothreads + echo "+ getting cothreads from cvs"; cvs co gst-cothreads fi -CONFIGURE_OPT='--enable-maintainer-mode --enable-plugin-builddir' - -for i in $@; do - if test "$i" = "--autogen-noconfigure"; then - NOCONFIGURE=defined - echo "+ configure run disabled" - elif test "$i" = "--autogen-nocheck"; then - NOCHECK=defined - echo "+ autotools version check disabled" - elif test "$i" = "--autogen-debug"; then - DEBUG=defined - echo "+ debug output enabled" - elif test "$i" = "--help"; then - echo "autogen.sh help options: " - echo " --autogen-noconfigure don't run the configure script" - echo " --autogen-nocheck don't do version checks" - echo " --autogen-debug debug the autogen process" - echo "continuing with the autogen in order to get configure help messages..." - fi -done - -debug () -# print out a debug message if DEBUG is a defined variable -{ - if test ! -z "$DEBUG" - then - echo "DEBUG: $1" - fi -} - -version_check () -# check the version of a package -# first argument : package name (executable) -# second argument : source download url -# rest of arguments : major, minor, micro version -{ - PACKAGE=$1 - URL=$2 - MAJOR=$3 - MINOR=$4 - MICRO=$5 - - WRONG= - - debug "major $MAJOR minor $MINOR micro $MICRO" - VERSION=$MAJOR - if test ! -z "$MINOR"; then VERSION=$VERSION.$MINOR; else MINOR=0; fi - if test ! -z "$MICRO"; then VERSION=$VERSION.$MICRO; else MICRO=0; fi - - debug "major $MAJOR minor $MINOR micro $MICRO" - - test -z "$NOCHECK" && { - echo -n "+ checking for $1 >= $VERSION ... " - } || { - return 0 - } - - ($PACKAGE --version) < /dev/null > /dev/null 2>&1 || - { - echo - echo "You must have $PACKAGE installed to compile $package." - echo "Download the appropriate package for your distribution," - echo "or get the source tarball at $URL" - return 1 - } - # the following line is carefully crafted sed magic - pkg_version=`$PACKAGE --version|head -n 1|sed 's/^[a-zA-z\.\ ()]*//;s/ .*$//'` - debug "pkg_version $pkg_version" - pkg_major=`echo $pkg_version | cut -d. -f1` - pkg_minor=`echo $pkg_version | cut -d. -f2` - pkg_micro=`echo $pkg_version | cut -d. -f3` - test -z "$pkg_minor" && pkg_minor=0 - test -z "$pkg_micro" && pkg_micro=0 - - debug "found major $pkg_major minor $pkg_minor micro $pkg_micro" - - #start checking the version - debug "version check" - - if [ ! "$pkg_major" -gt "$MAJOR" ]; then - debug "$pkg_major -le $MAJOR" - if [ "$pkg_major" -lt "$MAJOR" ]; then - WRONG=1 - elif [ ! "$pkg_minor" -gt "$MINOR" ]; then - if [ "$pkg_minor" -lt "$MINOR" ]; then - WRONG=1 - elif [ "$pkg_micro" -lt "$MICRO" ]; then - WRONG=1 - fi - fi - fi - - if test ! -z "$WRONG"; then - echo "found $pkg_version, not ok !" - echo - echo "You must have $PACKAGE $VERSION or greater to compile $package." - echo "Get the latest version from $URL" - return 1 - else - echo "found $pkg_version, ok." - fi -} - -# autoconf 2.52d has a weird issue involving a yes:no error -# so don't allow it's use -ac_version=`autoconf --version|head -n 1|sed 's/^[a-zA-z\.\ ()]*//;s/ .*$//'` -if test "$ac_version" = "2.52d"; then - echo "autoconf 2.52d has an issue with our current build." - echo "We don't know who's to blame however. So until we do, get a" - echo "regular version. RPM's of a working version are on the gstreamer site." +# source helper functions +if test ! -f common/gst-autogen.sh; +then + echo There is something wrong with your source tree. + echo You are missing common/gst-autogen.sh exit 1 fi +. common/gst-autogen.sh +autogen_options $@ -if test -z "$*"; then - echo "This autogen script will automatically run ./configure as:" - echo "./configure $CONFIGURE_OPT" - echo "To pass any other options, please specify them on the $0" - echo "command line." - echo -fi - +echo -n "+ check for build tools" +if test ! -z $NOCHECK; then echo " skipped"; else echo; fi version_check "autoconf" "ftp://ftp.gnu.org/pub/gnu/autoconf/" 2 52 || DIE=1 version_check "automake" "ftp://ftp.gnu.org/pub/gnu/automake/" 1 5 || DIE=1 version_check "libtool" "ftp://ftp.gnu.org/pub/gnu/libtool/" 1 4 0 || DIE=1 version_check "pkg-config" "http://www.freedesktop.org/software/pkgconfig" 0 8 0 || DIE=1 -if test "$DIE" -eq 1; then - exit 1 +autoconf_2.52d_check || DIE=1 + +CONFIGURE_DEF_OPT='--enable-maintainer-mode --enable-plugin-builddir' +# if no arguments specified then this will be printed +if test -z "$*"; then + echo "+ checking for autogen.sh options" + echo " This autogen script will automatically run ./configure as:" + echo " ./configure $CONFIGURE_DEF_OPT" + echo " To pass any additional options, please specify them on the $0" + echo " command line." fi -test -f $srcfile || { - echo "You must run this script in the top-level $package directory" - exit 1 -} +toplevel_check $srcfile -echo "+ running aclocal ..." -cat m4/*.m4 >acinclude.m4;aclocal $ACLOCAL_FLAGS || { - echo - echo "aclocal failed - check that all needed development files are present on system" - exit 1 -} +tool_run "aclocal" "-I m4 -I common/m4 $ACLOCAL_FLAGS" # FIXME : why does libtoolize keep complaining about aclocal ? -echo "+ not running libtoolize until libtool fix has flown downstream" -#echo "+ running libtoolize ..." -#libtoolize --copy --force || { -# echo -# echo "libtoolize failed" -# exit 1 -#} -echo "+ running autoheader ... " -autoheader || { - echo - echo "autoheader failed" - exit 1 -} +echo "+ not running libtoolize until libtool fix has flown downstream" +# tool_run "libtoolize" "--copy --force" +tool_run "autoheader" + # touch the stamp-h.in build stamp so we don't re-run autoheader in maintainer mode -- wingo echo timestamp > stamp-h.in 2> /dev/null -echo "+ running autoconf ... " -autoconf || { - echo - echo "autoconf failed" - exit 1 -} -echo "+ running automake ... " -automake -a -c || { - echo - echo "automake failed" - exit 1 -} + +tool_run "autoconf" +tool_run "automake" "-a -c" echo echo "+ running autogen.sh in libs/ext/cothreads..." @@ -198,21 +71,20 @@ popd > /dev/null echo test -n "$NOCONFIGURE" && { - echo "skipping configure stage for package $package, as requested." - echo "autogen.sh done." - exit 0 + echo "skipping configure stage for package $package, as requested." + echo "autogen.sh done." + exit 0 } echo "+ running configure ... " -echo "./configure default flags: $CONFIGURE_OPT" -echo "using: $CONFIGURE_OPT $@" +test ! -z "$CONFIGURE_DEF_OPT" && echo " ./configure default flags: $CONFIGURE_DEF_OPT" +test ! -z "$CONFIGURE_EXT_OPT" && echo " ./configure external flags: $CONFIGURE_EXT_OPT" echo -./configure $CONFIGURE_OPT "$@" || { - echo - echo "configure failed" - exit 1 +./configure $CONFIGURE_OPT $CONFIGURE_EXT_OPT || { + echo " configure failed" + exit 1 } -echo echo "Now type 'make' to compile $package." + diff --git a/common b/common index c2d7711457..49b794f833 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit c2d7711457d468d527890f2057883c133b50c3b7 +Subproject commit 49b794f8334e88f00ad5adc04570a433dd61ea7b diff --git a/configure.ac b/configure.ac index 143b51c5fc..3b3c1a9e11 100644 --- a/configure.ac +++ b/configure.ac @@ -1,54 +1,18 @@ dnl Note: this file is now the main autoconf file AC_INIT -AC_CONFIG_SRCDIR([gst/gstobject.h]) - AC_CANONICAL_TARGET([]) +dnl when going to/from release please set the nano (fourth number) right ! +AS_VERSION(gstreamer, GST_VERSION, 0, 3, 2, 1) +AS_LIBTOOL(GST, 0, 0, 0, yes) + +AC_CONFIG_SRCDIR([gst/gst.c]) AM_CONFIG_HEADER(config.h) -GST_VERSION_MAJOR=0 -GST_VERSION_MINOR=3 -GST_VERSION_MICRO=2 - -dnl we use a datestamped release tag and a fourth version ".1" number -dnl during CVS development -GST_VERSION_RELEASE=`date +%Y%m%d` -GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO.1 -dnl we use a normal release tag increased manually when releasing -dnl GST_VERSION_RELEASE=1 -dnl GST_VERSION=$GST_VERSION_MAJOR.$GST_VERSION_MINOR.$GST_VERSION_MICRO - -PACKAGE=gstreamer -VERSION=$GST_VERSION - -AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") -AC_DEFINE_UNQUOTED(VERSION, "$VERSION") -AC_SUBST(PACKAGE) -AC_SUBST(VERSION) -AC_DEFINE_UNQUOTED(GST_VERSION_RELEASE, "$GST_VERSION_RELEASE") -AC_SUBST(GST_VERSION_RELEASE) - -dnl libtool -GST_CURRENT=0 -GST_REVISION=0 -GST_AGE=0 -GST_LIBVERSION=$GST_CURRENT:$GST_REVISION:$GST_AGE - -AM_INIT_AUTOMAKE($PACKAGE, $VERSION) dnl Add parameters for aclocal dnl (This must come after AM_INIT_AUTOMAKE, since it modifies ACLOCAL) ACLOCAL="cat m4/*.m4 >acinclude.m4;$ACLOCAL $ACLOCAL_FLAGS" -AC_SUBST(GST_VERSION_MAJOR) -AC_SUBST(GST_VERSION_MINOR) -AC_SUBST(GST_VERSION_MICRO) -AC_SUBST(GST_VERSION) - -AC_SUBST(GST_CURRENT) -AC_SUBST(GST_REVISION) -AC_SUBST(GST_AGE) -AC_SUBST(GST_LIBVERSION) - AM_MAINTAINER_MODE AC_PROG_CC @@ -62,8 +26,6 @@ AC_ISC_POSIX dnl We disable static building for development, for time savings dnl *NOTE*: dnl this line before release, so release does static too dnl AM_DISABLE_STATIC -AC_LIBTOOL_DLOPEN -AM_PROG_LIBTOOL AC_HEADER_STDC([]) diff --git a/docs/random/release b/docs/random/release index 428e3ef0a3..4e399b14b1 100644 --- a/docs/random/release +++ b/docs/random/release @@ -20,8 +20,14 @@ system stabilizes. * add release notes to cvs -- why? +* take a FRESH cvs checkout + +* make distcheck should pass + * test suite should pass +* rpms should build and install + * autotools have latest config.{guess,sub} This is needed in order to support newer platforms. On Debian install the autotools-dev package to get these. @@ -39,6 +45,9 @@ registers fine, runs the media tests fine, and uninstalls as well http://gstreamer.net/dev/cvs.php add tag to above page +* relink current and cvs in the redhat dir and copy the symlinks from the + current to the new release treee + * update web site release notes: added to cvs - change the releases/current symbolic link - text version of release announcement can be made from diff --git a/gst/Makefile.am b/gst/Makefile.am index 12793517fc..b9e80bb722 100644 --- a/gst/Makefile.am +++ b/gst/Makefile.am @@ -159,6 +159,6 @@ libgst_la_CFLAGS = -D_GNU_SOURCE -DGST_CONFIG_DIR=\""$(GST_CONFIG_DIR)"\" \ libcothreads_la_CFLAGS = $(libgst_la_CFLAGS) -O2 libgst_la_LIBADD = $(LIBGST_LIBS) libcothreads.la -libgst_la_LDFLAGS = -version-info $(GST_LIBVERSION) -release $(GST_VERSION) +libgst_la_LDFLAGS = @GST_LT_LDFLAGS@ -version @GST_LIBVERSION@ EXTRA_DIST = ROADMAP diff --git a/gst/autoplug/Makefile.am b/gst/autoplug/Makefile.am index 5b2d2cfa46..76ee6e04b7 100644 --- a/gst/autoplug/Makefile.am +++ b/gst/autoplug/Makefile.am @@ -10,27 +10,27 @@ plugin_LTLIBRARIES = \ libgststaticautoplug_la_SOURCES = gststaticautoplug.c libgststaticautoplug_la_CFLAGS = $(GST_CFLAGS) libgststaticautoplug_la_LIBADD = $(GST_LIBS) -libgststaticautoplug_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgststaticautoplug_la_LDFLAGS = @GST_LT_LDFLAGS@ libgststaticautoplugrender_la_SOURCES = gststaticautoplugrender.c libgststaticautoplugrender_la_CFLAGS = $(GST_CFLAGS) libgststaticautoplugrender_la_LIBADD = $(GST_LIBS) -libgststaticautoplugrender_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgststaticautoplugrender_la_LDFLAGS = @GST_LT_LDFLAGS@ libgstautoplugcache_la_SOURCES = gstautoplugcache.c libgstautoplugcache_la_CFLAGS = $(GST_CFLAGS) libgstautoplugcache_la_LIBADD = $(GST_LIBS) -libgstautoplugcache_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgstautoplugcache_la_LDFLAGS = @GST_LT_LDFLAGS@ libgstautoplugger_la_SOURCES = gstautoplugger.c libgstautoplugger_la_CFLAGS = $(GST_CFLAGS) libgstautoplugger_la_LIBADD = $(GST_LIBS) -libgstautoplugger_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgstautoplugger_la_LDFLAGS = @GST_LT_LDFLAGS@ libgstspider_la_SOURCES = gstspider.c gstspideridentity.c gstsearchfuncs.c libgstspider_la_CFLAGS = $(GST_CFLAGS) libgstspider_la_LIBADD = $(GST_LIBS) -libgstspider_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgstspider_la_LDFLAGS = @GST_LT_LDFLAGS@ noinst_HEADERS = gststaticautoplug.h gststaticautoplugrender.h \ gstspider.h gstspideridentity.h gstsearchfuncs.h diff --git a/gst/elements/Makefile.am b/gst/elements/Makefile.am index 650d3f9688..48ec960dc2 100644 --- a/gst/elements/Makefile.am +++ b/gst/elements/Makefile.am @@ -20,7 +20,7 @@ libgstelements_la_SOURCES = \ gstmd5sink.c libgstelements_la_CFLAGS = $(GST_CFLAGS) libgstelements_la_LIBADD = $(GST_LIBS) -libgstelements_la_LDFLAGS = @GST_PLUGIN_LDFLAGS@ +libgstelements_la_LDFLAGS = @GST_PLUGIN_LDFLAGS@ @GST_LT_LDFLAGS@ noinst_HEADERS = \ gstfakesrc.h \ diff --git a/gst/schedulers/Makefile.am b/gst/schedulers/Makefile.am index 77d21e5952..3a9051fd94 100644 --- a/gst/schedulers/Makefile.am +++ b/gst/schedulers/Makefile.am @@ -5,4 +5,4 @@ plugin_LTLIBRARIES = libgstbasicscheduler.la libgstbasicscheduler_la_SOURCES = gstbasicscheduler.c libgstbasicscheduler_la_CFLAGS = $(GST_CFLAGS) libgstbasicscheduler_la_LIBADD = $(GST_LIBS) -libgstbasicscheduler_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgstbasicscheduler_la_LDFLAGS = @GST_LT_LDFLAGS@ diff --git a/gst/types/Makefile.am b/gst/types/Makefile.am index be464ea725..ff24f475c2 100644 --- a/gst/types/Makefile.am +++ b/gst/types/Makefile.am @@ -5,4 +5,4 @@ plugin_LTLIBRARIES = libgsttypes.la libgsttypes_la_SOURCES = gsttypes.c libgsttypes_la_CFLAGS = $(GST_CFLAGS) libgsttypes_la_LIBADD = $(GST_LIBS) -libgsttypes_la_LDFLAGS = -version-info $(GST_LIBVERSION) +libgsttypes_la_LDFLAGS = @GST_LT_LDFLAGS@ diff --git a/plugins/elements/Makefile.am b/plugins/elements/Makefile.am index 650d3f9688..48ec960dc2 100644 --- a/plugins/elements/Makefile.am +++ b/plugins/elements/Makefile.am @@ -20,7 +20,7 @@ libgstelements_la_SOURCES = \ gstmd5sink.c libgstelements_la_CFLAGS = $(GST_CFLAGS) libgstelements_la_LIBADD = $(GST_LIBS) -libgstelements_la_LDFLAGS = @GST_PLUGIN_LDFLAGS@ +libgstelements_la_LDFLAGS = @GST_PLUGIN_LDFLAGS@ @GST_LT_LDFLAGS@ noinst_HEADERS = \ gstfakesrc.h \ diff --git a/tests/old/testsuite/Makefile.am b/tests/old/testsuite/Makefile.am index 597b3d414d..a8c1676bc5 100644 --- a/tests/old/testsuite/Makefile.am +++ b/tests/old/testsuite/Makefile.am @@ -1,5 +1,5 @@ # FIXME : refcounting threads bytestream cleanup -SUBDIRS = caps plugin # elements +SUBDIRS = caps plugin elements testprogs = test_gst_init diff --git a/tests/old/testsuite/elements/Makefile.am b/tests/old/testsuite/elements/Makefile.am index 7631e70377..eb852354fa 100644 --- a/tests/old/testsuite/elements/Makefile.am +++ b/tests/old/testsuite/elements/Makefile.am @@ -4,6 +4,7 @@ TESTS = $(testprogs) check_PROGRAMS = $(testprogs) +EXTRA_DIST = events.h LDADD = $(GST_LIBS) CFLAGS = $(GST_CFLAGS) diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 597b3d414d..a8c1676bc5 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -1,5 +1,5 @@ # FIXME : refcounting threads bytestream cleanup -SUBDIRS = caps plugin # elements +SUBDIRS = caps plugin elements testprogs = test_gst_init diff --git a/testsuite/elements/Makefile.am b/testsuite/elements/Makefile.am index 7631e70377..eb852354fa 100644 --- a/testsuite/elements/Makefile.am +++ b/testsuite/elements/Makefile.am @@ -4,6 +4,7 @@ TESTS = $(testprogs) check_PROGRAMS = $(testprogs) +EXTRA_DIST = events.h LDADD = $(GST_LIBS) CFLAGS = $(GST_CFLAGS)