[librsvg] Use standalone gdk-pixbuf



commit 4098d4e287ec5aaa989b025292511abf860164c9
Author: Christian Persch <chpe gnome org>
Date:   Sat Jun 26 15:06:46 2010 +0200

    Use standalone gdk-pixbuf
    
    Go back to just building one librsvg, using the standalone
    gdk-pixbuf-2.0.
    
    Bug #622790.

 Makefile.am                            |  143 +++++++++++++++++++++--------
 configure.in                           |  157 +++++++++++++++++---------------
 doc/Makefile.am                        |    2 +-
 gdk-pixbuf-loader/Makefile.am          |   55 ++++++-----
 gtk-engine/Makefile.am                 |   92 +++++++++++++++----
 gtk-engine/examples/bubble/Makefile.am |   15 +++-
 6 files changed, 306 insertions(+), 158 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 2dd9149..dde4e73 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,9 +2,12 @@ SUBDIRS = . gdk-pixbuf-loader gtk-engine data tests tools doc
 
 lib_LTLIBRARIES = librsvg- RSVG_API_MAJOR_VERSION@.la
 
-bin_PROGRAMS = rsvg-convert- RSVG_API_MAJOR_VERSION@
-if HAVE_GTK
-bin_PROGRAMS += rsvg-view- RSVG_API_MAJOR_VERSION@
+bin_PROGRAMS = rsvg-convert
+if HAVE_GTK_2
+bin_PROGRAMS += rsvg-view
+endif
+if HAVE_GTK_3
+bin_PROGRAMS += rsvg-view-3
 endif
 
 if OS_WIN32
@@ -20,7 +23,7 @@ enum_sources = \
 	librsvg-enum-types.h	\
 	librsvg-enum-types.c
 
-librsvg_ RSVG_API_MAJOR_VERSION@_la_SOURCES = 		\
+librsvg_ RSVG_API_MAJOR_VERSION@_la_SOURCES = \
 	rsvg-affine.c		\
 	librsvg-features.c 	\
 	rsvg-bpath-util.c 	\
@@ -66,8 +69,26 @@ librsvg_ RSVG_API_MAJOR_VERSION@_la_SOURCES = 		\
 	rsvg-xml.c		\
 	rsvg-xml.h
 
-librsvg_ RSVG_API_MAJOR_VERSION@_la_LDFLAGS = -version-info @RSVG_LT_VERSION_INFO@ -export-dynamic -no-undefined -export-symbols $(srcdir)/librsvg.def
-librsvg_ RSVG_API_MAJOR_VERSION@_la_LIBADD = $(LIBGSF_LIBS) $(LIBCROCO_LIBS) $(LIBRSVG_LIBS) -lm
+librsvg_ RSVG_API_MAJOR_VERSION@_la_CPPFLAGS = \
+	-I$(top_srcdir) 			\
+	-I$(top_builddir) 			\
+	-DG_LOG_DOMAIN=\"librsvg\" 		\
+	-DLIBRSVG_DATADIR="\"$(datadir)\""	\
+	$(AM_CPPFLAGS)
+
+librsvg_ RSVG_API_MAJOR_VERSION@_la_CFLAGS = \
+	$(LIBRSVG_CFLAGS) 	\
+	$(LIBCROCO_CFLAGS)	\
+	$(LIBGSF_CFLAGS)	\
+	$(AM_CFLAGS)
+
+librsvg_ RSVG_API_MAJOR_VERSION@_la_LDFLAGS = -version-info @RSVG_LT_VERSION_INFO@ -export-dynamic -no-undefined -export-symbols $(srcdir)/librsvg.def $(AM_LDFLAGS)
+
+librsvg_ RSVG_API_MAJOR_VERSION@_la_LIBADD = \
+	$(LIBRSVG_LIBS) 	\
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS)		\
+	$(libm)
 
 librsvgincdir = $(includedir)/librsvg-$(RSVG_API_VERSION)/librsvg
 librsvginc_HEADERS = 	\
@@ -75,39 +96,86 @@ librsvginc_HEADERS = 	\
 	librsvg-features.h \
 	librsvg-enum-types.h
 
-INCLUDES =				\
-	-I$(top_srcdir) 		\
-	-I$(top_builddir) 		\
-	$(LIBGSF_CFLAGS)		\
-	$(LIBCROCO_CFLAGS)		\
-	$(LIBRSVG_CFLAGS) 		\
-	$(GTK_CFLAGS)			\
-	-DG_LOG_DOMAIN=\"librsvg\" 	\
-	-DLIBRSVG_DATADIR="\"$(datadir)\""
-
-DEPS = $(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la
-LDADDS =				\
-	$(LIBGSF_LIBS)			\
-	$(GLIB_LIBS)			\
-	$(LIBCROCO_LIBS)		\
-	$(LIBRSVG_LIBS) 		\
-	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la
-
-if GTK_API_VERSION_2
+if HAVE_GTK_2
 nodist_bin_SCRIPTS = rsvg
-man_MANS = rsvg.1
+dist_man_MANS = rsvg.1
 endif
 
-rsvg_convert_ RSVG_API_MAJOR_VERSION@_SOURCES=rsvg-convert.c
-rsvg_convert_ RSVG_API_MAJOR_VERSION@_LDFLAGS =
-rsvg_convert_ RSVG_API_MAJOR_VERSION@_DEPENDENCIES = $(DEPS)
-rsvg_convert_ RSVG_API_MAJOR_VERSION@_LDADD = $(LDADDS) $(libm)
+rsvg_convert_SOURCES = \
+	rsvg-convert.c
+
+rsvg_convert_CPPFLAGS = \
+	-I$(top_srcdir) 			\
+	-I$(top_builddir) 			\
+	-DLIBRSVG_DATADIR="\"$(datadir)\""	\
+	$(AM_CPPFLAGS)
+
+rsvg_convert_CFLAGS =\
+	$(LIBRSVG_CFLAGS) 	\
+	$(LIBCROCO_CFLAGS)	\
+	$(LIBGSF_CFLAGS)	\
+	$(AM_CFLAGS)
+
+rsvg_convert_LDFLAGS = $(AM_LDFLAGS)
 
-rsvg_view_ RSVG_API_MAJOR_VERSION@_SOURCES = 		\
+rsvg_convert_LDADD = \
+	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la	\
+	$(LIBRSVG_LIBS)		\
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS)		\
+	$(libm)
+
+rsvg_view_SOURCES = \
+	test-display.c
+
+rsvg_view_CPPFLAGS = \
+	-I$(top_srcdir) 			\
+	-I$(top_builddir) 			\
+	-DLIBRSVG_DATADIR="\"$(datadir)\""	\
+	$(AM_CPPFLAGS)
+
+rsvg_view_CFLAGS =\
+	$(GTK2_CFLAGS)		\
+	$(LIBRSVG_CFLAGS) 	\
+	$(LIBCROCO_CFLAGS)	\
+	$(LIBGSF_CFLAGS)	\
+	$(AM_CFLAGS)
+
+rsvg_view_LDFLAGS =
+
+rsvg_view_LDADD = \
+	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la \
+	$(GTK2_LIBS)		\
+	$(LIBRSVG_LIBS)		\
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS)		\
+	$(libm)
+
+rsvg_view_3_SOURCES = \
 	test-display.c
-rsvg_view_ RSVG_API_MAJOR_VERSION@_LDFLAGS =
-rsvg_view_ RSVG_API_MAJOR_VERSION@_DEPENDENCIES = $(DEPS)
-rsvg_view_ RSVG_API_MAJOR_VERSION@_LDADD = $(GTK_LIBS) $(libm) $(LDADDS)
+
+rsvg_view_3_CPPFLAGS = \
+	-I$(top_srcdir) 			\
+	-I$(top_builddir) 			\
+	-DLIBRSVG_DATADIR="\"$(datadir)\""	\
+	$(AM_CPPFLAGS)
+
+rsvg_view_3_CFLAGS =\
+	$(GTK3_CFLAGS)		\
+	$(LIBRSVG_CFLAGS) 	\
+	$(LIBCROCO_CFLAGS)	\
+	$(LIBGSF_CFLAGS)	\
+	$(AM_CFLAGS)
+
+rsvg_view_3_LDFLAGS =
+
+rsvg_view_3_LDADD = \
+	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la \
+	$(GTK3_LIBS)		\
+	$(LIBRSVG_LIBS)		\
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS)		\
+	$(libm)
 
 EXTRA_DIST =				\
 	MAINTAINERS			\
@@ -119,7 +187,6 @@ EXTRA_DIST =				\
 	librsvg-zip.in 			\
 	rsvg.in				\
 	librsvg.def			\
-	$(man_MANS)			\
 	gtk-doc.make
 
 CLEANFILES = \
@@ -165,9 +232,3 @@ s-enum-types-c: $(headers) Makefile
 	&& echo timestamp > $(@F)
 
 DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
-
-if GTK_API_VERSION_2
-install-exec-hook:
-	@test -e "$(DESTDIR)$(bindir)/rsvg-convert" || (cd $(DESTDIR)$(bindir) && $(LN_S) rsvg-convert-2 rsvg-convert)
-	@test -e "$(DESTDIR)$(bindir)/rsvg-view" || (cd $(DESTDIR)$(bindir) && $(LN_S) rsvg-view-2 rsvg-view)
-endif
diff --git a/configure.in b/configure.in
index f311ade..79f2893 100644
--- a/configure.in
+++ b/configure.in
@@ -16,6 +16,16 @@ m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AM_MAINTAINER_MODE([enable])
 
 dnl ===========================================================================
+dnl API versioning
+dnl ===========================================================================
+
+RSVG_API_VERSION=2.0
+RSVG_API_MAJOR_VERSION=2
+
+AC_SUBST([RSVG_API_VERSION])
+AC_SUBST([RSVG_API_MAJOR_VERSION])
+
+dnl ===========================================================================
 
 FONTCONFIG_REQUIRED=1.0.1	dnl Same as in Pango, ???
 GLIB_REQUIRED=2.12.0
@@ -24,48 +34,17 @@ LIBXML_REQUIRED=2.4.7
 CAIRO_REQUIRED=1.2.0
 PANGOFT2_REQUIRED=1.2.0
 PANGOCAIRO_REQUIRED=1.10.0
+GDK_PIXBUF_REQUIRED=1.3.7
+GTK2_REQUIRED=2.16.0
+GTK3_REQUIRED=2.90.0
 
 # ===========================================================================
 
-AC_MSG_CHECKING([which gtk+ version to compile against])
-AC_ARG_WITH([gtk],
-  [AS_HELP_STRING([--with-gtk=2.0|3.0],[which gtk+ version to compile against (default: 2.0)])],
-  [case "$with_gtk" in
-     2.0|3.0) ;;
-     *) AC_MSG_ERROR([invalid gtk version specified]) ;;
-   esac],
-  [with_gtk=2.0])
-AC_MSG_RESULT([$with_gtk])
-
-case "$with_gtk" in
-  2.0) RSVG_API_VERSION=2.0
-       RSVG_API_MAJOR_VERSION=2
-       GTK_API_VERSION=2.0
-       GDK_PIXBUF_REQUIRED=1.3.7
-       GTK_REQUIRED=2.16.0
-       GTK_X11_REQUIRED=2.0.0
-       ;;
-  3.0) RSVG_API_VERSION=3.0
-       RSVG_API_MAJOR_VERSION=3
-       GTK_API_VERSION=3.0
-       GDK_PIXBUF_REQUIRED=2.90.0
-       GTK_REQUIRED=2.90.0
-       GTK_X11_REQUIRED=2.90.0
-       ;;
-esac
-
-AC_SUBST([RSVG_API_VERSION])
-AC_SUBST([RSVG_API_MAJOR_VERSION])
-AC_SUBST([GTK_API_VERSION])
-
 AC_SUBST([RSVG_LT_VERSION_INFO],[rsvg_lt_version_info])
 AC_SUBST([LIBRSVG_MAJOR_VERSION],[rsvg_major_version])
 AC_SUBST([LIBRSVG_MINOR_VERSION],[rsvg_minor_version])
 AC_SUBST([LIBRSVG_MICRO_VERSION],[rsvg_micro_version])
 
-AM_CONDITIONAL([GTK_API_VERSION_2],[test "$GTK_API_VERSION" = "2.0"])
-AM_CONDITIONAL([GTK_API_VERSION_3],[test "$GTK_API_VERSION" = "3.0"])
-
 dnl ===========================================================================
 
 AC_PROG_LN_S
@@ -120,7 +99,7 @@ GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
 AC_SUBST(GLIB_MKENUMS)
 
 PKG_CHECK_MODULES(LIBRSVG, \
-	gdk-pixbuf-$GTK_API_VERSION >= $GDK_PIXBUF_REQUIRED \
+	gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED \
 	glib-2.0 >= $GLIB_REQUIRED \
 	gio-2.0 >= $GIO_REQUIRED \
 	libxml-2.0 >= $LIBXML_REQUIRED \
@@ -248,49 +227,82 @@ else
         AC_MSG_RESULT(no)
 fi
 
-have_gtk=no
-PKG_CHECK_MODULES(GTK, gtk+-$GTK_API_VERSION >= $GTK_REQUIRED, have_gtk=yes,
-		       have_gtk=no)
+dnl ===========================================================================
+dnl GTK theme engine
+dnl ===========================================================================
 
-GTK_VERSION=
-if test "x$have_gtk" = "xyes"; then
-   GTK_BINARY_VERSION=`$PKG_CONFIG --variable=gtk_binary_version gtk+-$GTK_API_VERSION`
-fi
-AC_SUBST(GTK_CFLAGS)
-AC_SUBST(GTK_LIBS)
-AC_SUBST(GTK_BINARY_VERSION)
-AM_CONDITIONAL(HAVE_GTK, test "x$have_gtk" = "xyes")
-
-AC_ARG_ENABLE(gtk-theme,
-    [  --enable-gtk-theme  Enable a RSVG based GTK+ theme engine [default=auto]],,
-    enable_gtk_theme=yes)
-
-if test "x$enable_gtk_theme" = "xyes"; then
-   if test "x$have_gtk" = "xno"; then
-      enable_gtk_theme=no;
-   fi
+AC_MSG_CHECKING([whether to build the GTK+ theme engine])
+AC_ARG_ENABLE([gtk-theme],
+  [AS_HELP_STRING([--disable-gtk-theme],[Disable a RSVG based GTK+ theme engine (default=yes)])],
+  [],[enable_gtk_theme=yes])
+AC_MSG_RESULT([$enable_gtk_theme])
+
+have_gtk_2=no
+have_gtk_3=no
+GTK2_BINARY_VERSION=
+GTK3_BINARY_VERSION=
+
+if test "x$enable_gtk_theme" = "xyes" -o "x$enable_pixbuf_loader" = "xyes"; then
+  PKG_CHECK_MODULES([GTK2],[gtk+-2.0 >= $GTK2_REQUIRED],[have_gtk_2=yes],[have_gtk_2=no])
+  PKG_CHECK_MODULES([GTK3],[gtk+-3.0 >= $GTK3_REQUIRED],[have_gtk_3=yes],[have_gtk_3=no])
+
+  if test "$have_gtk_2" = "yes"; then
+     GTK2_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`"
+  fi
+  if test "$have_gtk_3" = "yes"; then
+     GTK3_BINARY_VERSION="`$PKG_CONFIG --variable=gtk_binary_version gtk+-3.0`"
+  fi
 fi
 
-AM_CONDITIONAL(ENABLE_GTK_ENGINE, test "x$enable_gtk_theme" = "xyes")
+AC_SUBST([GTK2_BINARY_VERSION])
+AC_SUBST([GTK3_BINARY_VERSION])
 
-case "$with_gtk" in
-  2.0) AC_PATH_PROG([GDK_PIXBUF_QUERYLOADERS],[gdk-pixbuf-query-loaders],[true]) ;;
-  3.0) AC_PATH_PROG([GDK_PIXBUF_QUERYLOADERS],[gdk-pixbuf-query-loaders-3],[true]) ;;
-esac
+AM_CONDITIONAL([ENABLE_GTK_ENGINE],[test "$enable_gtk_theme" = "yes"])
+AM_CONDITIONAL([HAVE_GTK_2],[test "$have_gtk_2" = "yes"])
+AM_CONDITIONAL([HAVE_GTK_3],[test "$have_gtk_3" = "yes"])
+
+dnl ===========================================================================
+dnl GDK-Pixbuf SVG loader
+dnl ===========================================================================
 
-AC_ARG_ENABLE(pixbuf-loader,
-    [  --enable-pixbuf-loader  Enable a RSVG based GdkPixbuf loader [default=auto]],
-    enable_pixbuf_loader="$enableval", enable_pixbuf_loader=auto)
+AC_MSG_CHECKING([whether to build the GDK-Pixbuf SVG loader])
+AC_ARG_ENABLE([pixbuf-loader],
+  [AS_HELP_STRING([--disable-pixbuf-loader],[Disable a RSVG based GdkPixbuf loader (default=yes)])],
+  [],[enable_pixbuf_loader=yes])
+AC_MSG_RESULT([$enable_pixbuf_loader])
 
-if test "x$enable_pixbuf_loader" = xauto ; then
-    if test "x$GDK_PIXBUF_QUERYLOADERS" != x ; then
-        enable_pixbuf_loader=yes
-    else
-        enable_pixbuf_loader=no
-    fi
+gdk_pixbuf_moduledir=
+if test "$enable_pixbuf_loader" = "yes"; then
+  PKG_CHECK_MODULES([GDK_PIXBUF],[gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED])
+
+  AC_PATH_PROG([GDK_PIXBUF_QUERYLOADERS],[gdk-pixbuf-query-loaders],[none])
+
+  if test "x$GDK_PIXBUF_QUERYLOADERS" = "xnone"; then
+    AC_MSG_ERROR([gdk-pixbuf-query-loaders not found in path])
+  fi
+
+  # First try the standalone gdk-pixbuf
+  gdk_pixbuf_binary_version="`$PKG_CONFIG --variable=gdk_pixbuf_binary_version gdk-pixbuf-2.0`"
+  gdk_pixbuf_binarydir="`$PKG_CONFIG --variable=gdk_pixbuf_binarydir gdk-pixbuf-2.0`"
+  gdk_pixbuf_moduledir=`$PKG_CONFIG --variable gdk_pixbuf_moduledir gdk-pixbuf-2.0`
+  gdk_pixbuf_cache_file=`$PKG_CONFIG --variable gdk_pixbuf_cache_file gdk-pixbuf-2.0`
+
+  # If that didn't work, fall back to the gtk+-2.0 one
+  if test "x$gdk_pixbuf_moduledir" = "x"; then
+    gtk_binary_version="`$PKG_CONFIG --variable=gtk_binary_version gtk+-2.0`"
+    gdk_pixbuf_binarydir='${sysconfdir}/gtk-2.0'
+    gdk_pixbuf_moduledir='${libdir}/gtk-2.0/'
+    gdk_pixbuf_moduledir="$gdk_pixbuf_moduledir/$gtk_binary_version/loaders"
+    gdk_pixbuf_cache_file='${gdk_pixbuf_binarydir}/gdk-pixbuf.loaders'
+  fi
 fi
 
-AM_CONDITIONAL(ENABLE_PIXBUF_LOADER, test x$enable_pixbuf_loader = xyes)
+AC_SUBST([gdk_pixbuf_binary_version])
+AC_SUBST([gdk_pixbuf_binarydir])
+AC_SUBST([gdk_pixbuf_moduledir])
+AC_SUBST([gdk_pixbuf_cache_file])
+
+AM_CONDITIONAL([ENABLE_PIXBUF_LOADER],[test "$enable_pixbuf_loader" = "yes"])
 
 ##################################################
 # Checks for gtk-doc and docbook-tools
@@ -299,7 +311,8 @@ AM_CONDITIONAL(ENABLE_PIXBUF_LOADER, test x$enable_pixbuf_loader = xyes)
 GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
 
 AC_SUBST([GLIB_PREFIX],[$($PKG_CONFIG --variable=prefix glib-2.0)])
-AC_SUBST([GTK_PREFIX],[$($PKG_CONFIG --variable=prefix gdk-pixbuf-$GTK_API_VERSION)])
+AC_SUBST([GDK_PIXBUF_PREFIX],[$($PKG_CONFIG --variable=prefix gdk-pixbuf-2.0)])
+AC_SUBST([GTK_PREFIX],[$($PKG_CONFIG --variable=prefix gdk-pixbuf-2.0)])
 AC_SUBST([CAIRO_PREFIX],[$($PKG_CONFIG --variable=prefix cairo)])
 
 dnl ===========================================================================
@@ -366,7 +379,7 @@ AC_OUTPUT
 
 dnl =============================================================================================
 echo "
-librsvg-$VERSION for gtk+-$GTK_API_VERSION
+librsvg-$VERSION
 
 	prefix:                         ${prefix}
 	compiler:                       ${CC}
diff --git a/doc/Makefile.am b/doc/Makefile.am
index c53e607..d883ec2 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -46,8 +46,8 @@ MKHTML_OPTIONS = --path="$(abs_builddir)"
 FIXXREF_OPTIONS = \
 	--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/glib \
 	--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html/gio \
+	--extra-dir=$(GDK_PIXBUF_PREFIX)/share/gtk-doc/html/gdk-pixbuf \
 	--extra-dir=$(GTK_PREFIX)/share/gtk-doc/html/gdk \
-	--extra-dir=$(GTK_PREFIX)/share/gtk-doc/html/gdk-pixbuf \
 	--extra-dir=$(CAIRO_PREFIX)/share/gtk-doc/html/cairo
 
 # Used for dependencies. The docs will be rebuilt if any of these change.
diff --git a/gdk-pixbuf-loader/Makefile.am b/gdk-pixbuf-loader/Makefile.am
index baf1bbe..55ecbe4 100644
--- a/gdk-pixbuf-loader/Makefile.am
+++ b/gdk-pixbuf-loader/Makefile.am
@@ -1,34 +1,41 @@
-loaderdir = $(libdir)/gtk-$(GTK_API_VERSION)/$(GTK_BINARY_VERSION)/loaders
+if ENABLE_PIXBUF_LOADER
 
-if PLATFORM_WIN32
-no_undefined = -no-undefined
-endif
+gdk_pixbuf_module_LTLIBRARIES = libpixbufloader-svg.la
 
-INCLUDES = \
-	-I$(top_srcdir) \
-	$(LIBRSVG_CFLAGS) \
-	$(LIBGSF_CFLAGS) \
-	$(LIBCROCO_CFLAGS)\
-	-DGDK_PIXBUF_ENABLE_BACKEND
+libpixbufloader_svg_la_SOURCES = \
+	io-svg.c
 
-if ENABLE_PIXBUF_LOADER
-target_pixbuf_loader = svg_loader.la 
-else
-target_pixbuf_loader = 
-endif
+libpixbufloader_svg_la_CPPFLAGS = \
+	-I$(top_srcdir) 			\
+	-I$(top_builddir)			\
+	-DGDK_PIXBUF_ENABLE_BACKEND		\
+	-DG_LOG_DOMAIN=\"libpixbufloader-svg\" 	\
+	$(AM_CPPFLAGS)
 
-svg_loader_la_SOURCES = io-svg.c
-svg_loader_la_LDFLAGS = -avoid-version -module $(no_undefined)
-svg_loader_la_LIBADD = \
+libpixbufloader_svg_la_CFLAGS = \
+	$(GDK_PIXBUF_CFLAGS)	\
+	$(LIBRSVG_CFLAGS)	\
+	$(LIBCROCO_CFLAGS)	\
+	$(LIBGSF_CFLAGS)	\
+	$(AM_CFLASG)
+
+libpixbufloader_svg_la_LDFLAGS = -avoid-version -module $(AM_LDFLAGS)
+
+libpixbufloader_svg_la_LIBADD = \
 	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la	\
+	$(GDK_PIXBUF_LIBS)	\
 	$(LIBRSVG_LIBS) 	\
-	$(LIBGSF_LIBS) $(LIBCROCO_LIBS)
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS) 
 
-loader_LTLIBRARIES = $(target_pixbuf_loader)
+if PLATFORM_WIN32
+libpixbufloader_svg_la_LDFLAGS += -no-undefined
+endif
 
-install-data-hook: 
-	if [ -z "$(DESTDIR)" ] ; then \
-	  $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-$(GTK_API_VERSION) ; \
-	  $(GDK_PIXBUF_QUERYLOADERS) > $(DESTDIR)$(sysconfdir)/gtk-$(GTK_API_VERSION)/gdk-pixbuf.loaders ; \
+install-data-hook:
+	if test -z "$(DESTDIR)"; then \
+		$(mkinstalldirs) $(DESTDIR)$(gdk_pixbuf_binary_dir) ; \
+		$(GDK_PIXBUF_QUERYLOADERS) > $(DESTDIR)$(gdk_pixbuf_cache_file) ; \
 	fi
 
+endif # ENABLE_PIXBUF_LOADER
diff --git a/gtk-engine/Makefile.am b/gtk-engine/Makefile.am
index ad6ffb3..e8c21b4 100644
--- a/gtk-engine/Makefile.am
+++ b/gtk-engine/Makefile.am
@@ -1,25 +1,58 @@
-DIST_SUBDIRS= examples
+SUBDIRS =
+DIST_SUBDIRS = examples
 
-if PLATFORM_WIN32
-no_undefined = -no-undefined
-endif
+if ENABLE_GTK_ENGINE
 
-INCLUDES = -I$(top_srcdir) $(GTK_CFLAGS) $(LIBGSF_CFLAGS) $(LIBCROCO_CFLAGS) $(LIBRSVG_CFLAGS)
+SUBDIRS += examples
+
+gtk2_enginedir = $(libdir)/gtk-2.0/$(GTK2_BINARY_VERSION)/engines
+gtk3_enginedir = $(libdir)/gtk-3.0/$(GTK3_BINARY_VERSION)/engines
 
-enginedir = $(libdir)/gtk-$(GTK_API_VERSION)/$(GTK_BINARY_VERSION)/engines
 themedir = $(datadir)/themes
 
-if ENABLE_GTK_ENGINE
-target_rsvg_engine = libsvg.la
-SUBDIRS =
-else
-target_rsvg_engine =
-SUBDIRS =
+if HAVE_GTK_2
+gtk2_engine_LTLIBRARIES = libsvg.la
+
+libsvg_la_SOURCES = 		\
+	svg-draw.c		\
+	svg-main.c		\
+	svg-render.c		\
+	svg-rc-style.c		\
+	svg-rc-style.h		\
+	svg-style.h		\
+	svg.h
+
+libsvg_la_CPPFLAGS = \
+	-I$(top_srcdir)		\
+	-I$(top_builddir)	\
+	-DG_LOG_DOMAIN=\"rsvg-engine-2\" \
+	$(AM_CPPFLAGS)
+
+libsvg_la_CFLAGS = \
+	$(GTK2_CFLAGS)		\
+	$(LIBRSVG_CFLAGS)	\
+	$(LIBCROCO_CFLAGS) 	\
+	$(LIBGSF_CFLAGS) 	\
+	$(AM_CFLAGS)
+
+libsvg_la_LDFLAGS =  -avoid-version -module $(AM_LDFLAGS)
+libsvg_la_LIBADD = \
+	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la \
+	$(GTK2_LIBS) 		\
+	$(LIBRSVG_LIBS)		\
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS)
+
+if PLATFORM_WIN32
+libsvg_la_LDFLAGS += -no-undefined
 endif
 
-engine_LTLIBRARIES = $(target_rsvg_engine)
+endif # HAVE_GTK_2
 
-libsvg_la_SOURCES = 		\
+if HAVE_GTK_3
+gtk3_engine_LTLIBRARIES = libsvg-3.la
+
+libsvg_3_la_SOURCES = 		\
 	svg-draw.c		\
 	svg-main.c		\
 	svg-render.c		\
@@ -28,7 +61,32 @@ libsvg_la_SOURCES = 		\
 	svg-style.h		\
 	svg.h
 
-libsvg_la_LDFLAGS =  -avoid-version -module $(no_undefined)
-libsvg_la_LIBADD = $(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la $(GTK_LIBS) $(LIBRSVG_LIBS) $(LIBCROCO_LIBS)
+libsvg_3_la_CPPFLAGS = \
+	-I$(top_srcdir)		\
+	-I$(top_builddir)	\
+	-DG_LOG_DOMAIN=\"rsvg-engine-3\" \
+	$(AM_CPPFLAGS)
+
+libsvg_3_la_CFLAGS = \
+	$(GTK3_CFLAGS)		\
+	$(LIBRSVG_CFLAGS)	\
+	$(LIBCROCO_CFLAGS) 	\
+	$(LIBGSF_CFLAGS) 	\
+	$(AM_CFLAGS)
+
+libsvg_3_la_LDFLAGS =  -avoid-version -module $(AM_LDFLAGS)
+
+libsvg_3_la_LIBADD = \
+	$(top_builddir)/librsvg- RSVG_API_MAJOR_VERSION@.la \
+	$(GTK3_LIBS) 		\
+	$(LIBRSVG_LIBS) 	\
+	$(LIBCROCO_LIBS)	\
+	$(LIBGSF_LIBS)
+
+if PLATFORM_WIN32
+libsvg_3_la_LDFLAGS += -no-undefined
+endif
+
+endif # HAVE_GTK_3
 
-EXTRA_DIST = $(libsvg_la_SOURCES)
+endif # ENABLE_GTK_ENGINE
diff --git a/gtk-engine/examples/bubble/Makefile.am b/gtk-engine/examples/bubble/Makefile.am
index 5b34f88..858bb15 100644
--- a/gtk-engine/examples/bubble/Makefile.am
+++ b/gtk-engine/examples/bubble/Makefile.am
@@ -1,5 +1,7 @@
-themedir = $(datadir)/themes/bubble/gtk-$(GTK_API_VERSION)
-theme_DATA = \
+gtk2_themedir = $(datadir)/themes/bubble/gtk-2.0
+gtk3_themedir = $(datadir)/themes/bubble/gtk-3.0
+
+theme_files = \
 	gtkrc		\
 	blue.svg	\
 	green.svg	\
@@ -7,6 +9,13 @@ theme_DATA = \
 	purple.svg	\
 	red.svg
 
+if HAVE_GTK_2
+gtk2_theme_DATA = $(theme_files)
+endif
+if HAVE_GTK_3
+gtk3_theme_DATA = $(theme_files)
+endif
+
 EXTRA_DIST = \
-	$(theme_DATA)	\
+	$(theme_files)	\
 	README



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]