[gst-devel] wrobell's work on the build system

Thomas Vander Stichele thomas at urgent.rug.ac.be
Sat Dec 8 15:56:02 CET 2001


Hi gang,
as we're gearing up for a new release it's obvious the build system can
use some more work.

As luck would have it, wrobell is working on that in the other branch.
He mailed me and Wim with his ideas on the build system and what he's
implemented.

So I guess we should discuss this and if everyone agrees with it, move
forward with it.
We should also consider if we want to move to this new build system before
the next release (which maybe we can get out tomorrow) or after.
Since a lot of people seem to agree on the fact that plugins should be
moved to a separate module ASAP, we might want to hold off on changing the
build first.

Below are his mails on the subject :



(MAIL 1)

I have got permission from omega and making some changes
in branch tagged with BRANCH-BUILD1.

After making a branch I have applied my patch you have
applied to the main trunk. The patch has been committed
with few changes. Changelog below:

----------
- do not overwrite CFLAGS/CPPFLAGS/LDFLAGS/ASFLAGS
  in configure.ac - they are for users, not developers;
  now it is possible for users to pass its own cflags,
  i.e. ./configure CFLAGS="-march=i686 -Os"
- LIBGST_CFLAGS/LIBS contain flags to build gst;
  GST_CFLAGS/LIBS contain flags to build other objects
- no CORE_CLFAGS and CORE_LIBS, use GST_CFLAGS or GST_LIBS
  instead, ie:                        [***NOTE: IT IS DIFFERENT, READ BELOW***]
      lib_CFLAGS = $(GST_CFLAGS)
      lib_LIBADD = $(GST_LIBS)
      prog_LDADD = $(GST_LIBS)
- GLIB_CFLAGS/LIBS contains gtk+ flags and glib flags
  when glib 1.2 used or glib 2.0 flags when glib2 is
  used
- simplified SDL detection
- some am 1.5 and ac 2.52 fixes
----------

Then I have merged with main trunk and resolved the conflicts.
Some other changes commited too...
Following directories are updated to the rules defined in changelog above:

    editor
    gst
    gstplay
    libs
    plugins/oss
    plugins/esd
    plugins/mp3decode/mad

So it is what I call stage1. To finish this level I need your help
and agreement on some rules. I want to thank you for the great
job you have done with Makefile.am files changes. It has been
very helpfull in changes on BRANCH-BUILD1. Please read on...

My original patch forced people to use XML_CFLAGS/LIBS and GLIB_CFLAGS/LIBS
in Makefile.am files. I have analyzed this after you have applied the
patch. I think that it is not good idea:
1. When libgst.so libraries dependencies are going to be enhanced
   or minimalized (i.e. get rid of libxml) then all Makefile.am files
   should be changed.
2. Such rule (using XML_CFLAGS/LIBS and GLIB_CFLAGS/LIBS) could cause
   situation when somebody would not use one of the var above because
   such libs/cflags would be provided with another var.
   For example: GNOME_LIBS - somebody can omit GLIB_CFLAGS because
   the first one contains the second one.
   But if GNOME_LIBS (or other var) changes so it will not contain
   flags/switches needed for compilation, then there will be the
   error and fix will be needed.

So I think that it is better to have GST_CFLAGS/LIBS which
will contain XML/GLIB stuff. When somebody wants to compile
some external application, then gstreamer-config will be used
and vars like GST_CFLAGS/LIBS. If such scheme is going to
be used externally in several projects... why not internally?
Please note that I really removed CORE_CFLAGS/LIBS. There
is no need for them. There are private libgst.so LIBGST_CFLAGS/LIBS flags
and for plugins/apps/examples should be used GST_CFLAGS/GST_LIBS.

So... if you agree with method described above, please help me.
Otherwise let's discuss it. As I said on irc, I am not able
to provide fast massive changes and it will take weeks to complete
the build system. If you can help me... We could divide work
between us and finish it soon I hope. So... please...

(MAIL 2 follows)

The Dave/Dina Project : future TV today ! - http://davedina.apestaart.org/
<-*-                      -*->
If I was twice the man I could be
I'd still be only half of what you need
<-*- thomas at apestaart.org -*->
URGent, the best radio on the Internet - 24/7 ! - http://urgent.rug.ac.be/





More information about the gstreamer-devel mailing list