Conditional compilation of gtk2 components
[melted] / src / modules / gtk2 / configure
index a4d0e49..bfc06e3 100755 (executable)
@@ -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