From: lilo_booter Date: Wed, 13 Apr 2005 12:47:11 +0000 (+0000) Subject: Conditional compilation of gtk2 components X-Git-Url: http://research.m1stereo.tv/gitweb?a=commitdiff_plain;h=b21ea9a5416460213574bd00ce8f61be3d1b63c5;p=melted Conditional compilation of gtk2 components git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@696 d19143bc-622f-0410-bfdd-b5b2a6649095 --- diff --git a/src/modules/gtk2/Makefile b/src/modules/gtk2/Makefile index b04e00a..9019333 100644 --- a/src/modules/gtk2/Makefile +++ b/src/modules/gtk2/Makefile @@ -1,22 +1,33 @@ include ../../../config.mak +include config.mak TARGET = ../libmltgtk2$(LIBSUF) -OBJS = factory.o \ - consumer_gtk2.o \ - producer_pixbuf.o \ - producer_pango.o \ - pixops.o \ - filter_rescale.o +OBJS = factory.o + +ifdef USE_GTK2 +OBJS += consumer_gtk2.o +CFLAGS += `pkg-config gtk+-2.0 --cflags` +LDFLAGS += `pkg-config gtk+-2.0 --libs` +endif + +ifdef USE_PIXBUF +OBJS += producer_pixbuf.o pixops.o filter_rescale.o +CFLAGS += `pkg-config gdk-pixbuf-2.0 --cflags` +LDFLAGS += `pkg-config gdk-pixbuf-2.0 --libs` +endif ifdef MMX_FLAGS ASM_OBJS = have_mmx.o scale_line_22_yuv_mmx.o endif -CFLAGS += `pkg-config gtk+-2.0 --cflags` `pkg-config gdk-pixbuf-2.0 --cflags` `pkg-config pangoft2 --cflags` -I../.. - -LDFLAGS += `pkg-config gtk+-2.0 --libs` `pkg-config gdk-pixbuf-2.0 --libs` `pkg-config pangoft2 --libs` +ifdef USE_PANGO +OBJS += producer_pango.o +CFLAGS += `pkg-config pangoft2 --cflags` +LDFLAGS += `pkg-config pangoft2 --libs` +endif +CFLAGS += -I../.. LDFLAGS+=-L../../framework -lmlt SRCS := $(OBJS:.o=.c) diff --git a/src/modules/gtk2/configure b/src/modules/gtk2/configure index a4d0e49..bfc06e3 100755 --- a/src/modules/gtk2/configure +++ b/src/modules/gtk2/configure @@ -3,18 +3,41 @@ if [ "$help" != "1" ] then -cat << EOF >> ../producers.dat -pixbuf libmltgtk2$LIBSUF -pango libmltgtk2$LIBSUF -EOF + pkg-config gtk+-2.0 2> /dev/null + disable_gtk2=$? -cat << EOF >> ../filters.dat -gtkrescale libmltgtk2$LIBSUF -EOF + pkg-config gdk-pixbuf-2.0 2> /dev/null + disable_pixbuf=$? -cat << EOF >> ../consumers.dat -gtk2_preview libmltgtk2$LIBSUF -EOF + pkg-config pangoft2 2> /dev/null + disable_pango=$? + if [ "$disable_gtk2" != "0" -a "$disable_pixbuf" != 0 -a "$disable_pango" != "0" ] + then + echo No GTK2 components found - disabling + touch ../disable-gtk2 + exit 0 + fi + + [ "$disable_gtk2" != "0" ] && echo "- gtk2 not found: gtk2 preview disabled" + [ "$disable_pixbuf" != "0" ] && echo "- pixbuf not found: pixbuf loader and rescaler disabled" + [ "$disable_pango" != "0" ] && echo "- pango not found: pango titler disabled" + + echo > config.h + [ "$disable_gtk2" == "0" ] && echo "#define USE_GTK2" >> config.h + [ "$disable_pixbuf" == "0" ] && echo "#define USE_PIXBUF" >> config.h + [ "$disable_pango" == "0" ] && echo "#define USE_PANGO" >> config.h + + echo > config.mak + [ "$disable_gtk2" == "0" ] && echo "USE_GTK2=1" >> config.mak + [ "$disable_pixbuf" == "0" ] && echo "USE_PIXBUF=1" >> config.mak + [ "$disable_pango" == "0" ] && echo "USE_PANGO=1" >> config.mak + + [ "$disable_pixbuf" == "0" ] && echo "pixbuf libmltgtk2$LIBSUF" >> ../producers.dat + [ "$disable_pango" == "0" ] && echo "pango libmltgtk2$LIBSUF" >> ../producers.dat + [ "$disable_pixbuf" == "0" ] && echo "gtkrescale libmltgtk2$LIBSUF" >> ../filters.dat + [ "$disable_gtk2" == "0" ] && echo "gtk2_preview libmltgtk2$LIBSUF" >> ../consumers.dat + + exit 0 fi diff --git a/src/modules/gtk2/factory.c b/src/modules/gtk2/factory.c index 5fd1962..5a093dd 100644 --- a/src/modules/gtk2/factory.c +++ b/src/modules/gtk2/factory.c @@ -18,12 +18,22 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include "config.h" #include + +#ifdef USE_PIXBUF #include -#include "consumer_gtk2.h" #include "producer_pixbuf.h" -#include "producer_pango.h" #include "filter_rescale.h" +#endif + +#ifdef USE_GTK2 +#include "consumer_gtk2.h" +#endif + +#ifdef USE_PANGO +#include "producer_pango.h" +#endif static void initialise( ) { @@ -38,18 +48,29 @@ static void initialise( ) void *mlt_create_producer( char *id, void *arg ) { initialise( ); + +#ifdef USE_PIXBUF if ( !strcmp( id, "pixbuf" ) ) return producer_pixbuf_init( arg ); - else if ( !strcmp( id, "pango" ) ) +#endif + +#ifdef USE_PANGO + if ( !strcmp( id, "pango" ) ) return producer_pango_init( arg ); +#endif + return NULL; } void *mlt_create_filter( char *id, void *arg ) { initialise( ); + +#ifdef USE_PIXBUF if ( !strcmp( id, "gtkrescale" ) ) return filter_rescale_init( arg ); +#endif + return NULL; } @@ -61,8 +82,12 @@ void *mlt_create_transition( char *id, void *arg ) void *mlt_create_consumer( char *id, void *arg ) { initialise( ); + +#ifdef USE_GTK2 if ( !strcmp( id, "gtk2_preview" ) ) return consumer_gtk2_preview_init( arg ); +#endif + return NULL; }