]> Pileus Git - ~andy/gtk/blobdiff - gdk-pixbuf/Makefile.am
If major.minor of required and available glib versions are the same, add
[~andy/gtk] / gdk-pixbuf / Makefile.am
index 1031ce8e597a71edc91c9c4539dd955bf16de42e..d279928deced9308b518a3eb3fa1e378e2ea2bfc 100644 (file)
@@ -6,21 +6,22 @@ no_undefined = -no-undefined
 endif
 
 if OS_WIN32
-gdk_pixbuf_def = gdk_pixbuf.def
+gdk_pixbuf_def = $(srcdir)/gdk_pixbuf.def
 gdk_pixbuf_symbols = -export-symbols $(gdk_pixbuf_def)
 
-gdk_pixbuf_win32res_lo = gdk_pixbuf-win32res.lo
+gdk_pixbuf_win32_res = gdk_pixbuf-win32-res.o
+gdk_pixbuf_win32_res_ldflag = -Wl,$(gdk_pixbuf_win32_res)
 
-gdk_pixbuf-win32res.lo : gdk_pixbuf.rc
-       $(top_srcdir)/build/win32/lt-compile-resource gdk_pixbuf.rc gdk_pixbuf-win32res.lo
+gdk_pixbuf-win32-res.o : gdk_pixbuf.rc
+       $(WINDRES) gdk_pixbuf.rc $@
 
-install-libtool-import-lib:
-       $(INSTALL) .libs/libgdk_pixbuf-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
-uninstall-libtool-import-lib:
-       -rm $(DESTDIR)$(libdir)/libgdk_pixbuf-$(GTK_API_VERSION).dll.a
+install-def-file:
+       $(INSTALL) $(gdk_pixbuf_def) $(DESTDIR)$(libdir)/gdk_pixbuf-2.0.def
+uninstall-def-file:
+       -rm $(DESTDIR)$(libdir)/gdk_pixbuf-2.0.def
 else
-install-libtool-import-lib:
-uninstall-libtool-import-lib:
+install-def-file:
+uninstall-def-file:
 endif
 
 if MS_LIB_AVAILABLE
@@ -39,6 +40,19 @@ install-ms-lib:
 uninstall-ms-lib:
 endif
 
+gdk_pixbuf.def: gdk-pixbuf.symbols
+       (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gdk-pixbuf.symbols | sed -e '/^$$/d' -e 's/^/     /' -e 's/G_GNUC_[^ ]*//g') > gdk_pixbuf.def
+
+gdk-pixbuf-alias.h: gdk-pixbuf.symbols
+        $(PERL) $(srcdir)/makegdkpixbufalias.pl < $(srcdir)/gdk-pixbuf.symbols > gdk-pixbuf-alias.h
+
+gdk-pixbuf-aliasdef.c: gdk-pixbuf.symbols
+        $(PERL) $(srcdir)/makegdkpixbufalias.pl -def < $(srcdir)/gdk-pixbuf.symbols > gdk-pixbuf-aliasdef.c
+
+if OS_LINUX
+TESTS = abicheck.sh
+endif
+
 lib_LTLIBRARIES =              \
        libgdk_pixbuf-2.0.la
 
@@ -150,6 +164,14 @@ libpixbufloader_tga_la_SOURCES = io-tga.c
 libpixbufloader_tga_la_LDFLAGS = -avoid-version -module $(no_undefined)
 libpixbufloader_tga_la_LIBADD = $(module_libs)
 
+#
+# The PCX loader
+#
+libpixbufloader_static_pcx_la_SOURCES = io-pcx.c
+libpixbufloader_pcx_la_SOURCES = io-pcx.c
+libpixbufloader_pcx_la_LDFLAGS = -avoid-version -module $(no_undefined)
+libpixbufloader_pcx_la_LIBADD = $(module_libs)
+
 if HAVE_PNG
 PNG_LIB = libpixbufloader-png.la
 STATIC_PNG_LIB = libpixbufloader-static-png.la
@@ -195,6 +217,9 @@ STATIC_XBM_LIB = libpixbufloader-static-xbm.la
 TGA_LIB = libpixbufloader-tga.la
 STATIC_TGA_LIB = libpixbufloader-static-tga.la
 
+PCX_LIB = libpixbufloader-pcx.la
+STATIC_PCX_LIB = libpixbufloader-static-pcx.la
+
 if BUILD_DYNAMIC_MODULES
 
 loader_LTLIBRARIES =   \
@@ -210,7 +235,8 @@ loader_LTLIBRARIES =        \
        $(BMP_LIB)      \
        $(WBMP_LIB)     \
        $(XBM_LIB)      \
-       $(TGA_LIB)
+       $(TGA_LIB)      \
+       $(PCX_LIB)
 
 
 extra_sources = 
@@ -231,7 +257,8 @@ noinst_LTLIBRARIES =                \
        $(STATIC_BMP_LIB)       \
        $(STATIC_WBMP_LIB)      \
        $(STATIC_XBM_LIB)       \
-       $(STATIC_TGA_LIB)
+       $(STATIC_TGA_LIB)       \
+       $(STATIC_PCX_LIB)
 
 builtin_objs = @INCLUDED_LOADER_OBJ@
 
@@ -246,8 +273,8 @@ INCLUDES = \
        -DGTK_SYSCONFDIR=\"$(sysconfdir)\"      \
        -DGTK_VERSION=\"$(GTK_VERSION)\"        \
        -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"  \
-       -DG_DISABLE_DEPRECATED                  \
        -DGDK_PIXBUF_DISABLE_DEPRECATED         \
+       -DGTK_PREFIX=\"$(prefix)\"              \
        $(INCLUDED_LOADER_DEFINE)               \
        $(GTK_DEBUG_FLAGS)                      \
        $(GDK_PIXBUF_DEP_CFLAGS)                \
@@ -269,42 +296,41 @@ gdk_pixbuf_query_loaders_LDADD = $(LDADDS)
 gdk_pixbuf_query_loaders_SOURCES = queryloaders.c
 
 
-#
-# manual pages to install
-#
-man_MANS = gdk-pixbuf-csource.1
-
-
 #
 # The GdkPixBuf library
 #
 libgdk_pixbufincludedir = $(includedir)/gtk-2.0/gdk-pixbuf
-libgdk_pixbuf_2_0_la_SOURCES =  \
-       gdk-pixbuf-i18n.h       \
-       gdk-pixbuf.c            \
-       gdk-pixbuf-animation.c  \
-       gdk-pixbuf-data.c       \
-       gdk-pixbuf-io.c         \
-       gdk-pixbuf-loader.c     \
-       gdk-pixbuf-scale.c      \
-       gdk-pixbuf-util.c       \
-       gdk-pixdata.c           \
+libgdk_pixbuf_2_0_la_SOURCES =   \
+       gdk-pixbuf-i18n.h        \
+       gdk-pixbuf.c             \
+       gdk-pixbuf-animation.c   \
+       gdk-pixbuf-data.c        \
+       gdk-pixbuf-io.c          \
+       gdk-pixbuf-loader.c      \
+       gdk-pixbuf-scale.c       \
+       gdk-pixbuf-simple-anim.c \
+       gdk-pixbuf-util.c        \
+       gdk-pixdata.c            \
        gdk-pixbuf-enum-types.c
 
 libgdk_pixbuf_2_0_la_LDFLAGS = \
+       $(gdk_pixbuf_win32_res_ldflag)          \
        -version-info $(LT_VERSION_INFO)        \
        $(LIBTOOL_EXPORT_OPTIONS)               \
        $(no_undefined)                         \
        $(gdk_pixbuf_symbols)
 
 
-libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_win32res_lo) $(GDK_PIXBUF_DEP_LIBS)
-libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32res_lo)
+libgdk_pixbuf_2_0_la_LIBADD = pixops/libpixops.la $(builtin_objs) $(GDK_PIXBUF_DEP_LIBS)
+libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pixbuf_def) $(gdk_pixbuf_win32_res)
 
 gdk_pixbuf_headers =                   \
        gdk-pixbuf.h                    \
+       gdk-pixbuf-core.h               \
+       gdk-pixbuf-transform.h          \
        gdk-pixbuf-io.h                 \
        gdk-pixbuf-animation.h          \
+       gdk-pixbuf-simple-anim.h        \
        gdk-pixbuf-loader.h
 
 libgdk_pixbufinclude_HEADERS =         \
@@ -315,16 +341,26 @@ libgdk_pixbufinclude_HEADERS =    \
        gdk-pixdata.h
 
 noinst_HEADERS =               \
-       gdk-pixbuf-private.h
-
-BUILT_SOURCES = gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.c \
-  gdk-pixbuf-marshal.h gdk-pixbuf-marshal.c
+       gdk-pixbuf-alias.h      \
+       gdk-pixbuf-private.h    \
+       xpm-color-table.h
+
+BUILT_SOURCES =                \
+       gdk-pixbuf-alias.h      \
+       gdk-pixbuf-aliasdef.c   \
+       gdk-pixbuf-enum-types.h \
+       gdk-pixbuf-enum-types.c \
+       gdk-pixbuf-marshal.h    \
+       gdk-pixbuf-marshal.c
 
 CLEANFILES =
-MAINTAINERCLEANFILES = \
-  gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.c \
-  gdk-pixbuf-marshal.h gdk-pixbuf-marshal.c \
-  gdk-pixbuf.loaders
+MAINTAINERCLEANFILES =                 \
+       gdk-pixbuf-aliasdef.c   \
+       gdk-pixbuf-enum-types.h \
+       gdk-pixbuf-enum-types.c \
+       gdk-pixbuf-marshal.h    \
+       gdk-pixbuf-marshal.c    \
+       gdk-pixbuf.loaders
 
 #
 # gdk-pixbuf-enum-types.h
@@ -333,10 +369,10 @@ gdk-pixbuf-enum-types.h: s-enum-types-h
        @true
 
 s-enum-types-h: @REBUILD@ $(gdk_pixbuf_headers) Makefile
-       ( cd $(srcdir) && glib-mkenums \
+       ( cd $(srcdir) && $(GLIB_MKENUMS) \
                        --fhead "#ifndef __GDK_PIXBUF_ENUM_TYPES_H__\n#define __GDK_PIXBUF_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
                        --fprod "/* enumerations from \"@filename@\" */\n" \
-                       --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
+                       --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
                        --ftail "G_END_DECLS\n\n#endif /* __GDK_PIXBUF_ENUM_TYPES_H__ */" \
                $(gdk_pixbuf_headers) ) > tmp-gdk-pixbuf-enum-types.h \
        && (cmp -s tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h || cp tmp-gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.h ) \
@@ -350,12 +386,13 @@ MAINTAINERCLEANFILES += s-enum-types-h
 # gdk-pixbuf-enum-types.c
 #
 gdk-pixbuf-enum-types.c: @REBUILD@ $(gdk_pixbuf_headers) Makefile
-       (cd $(srcdir) && glib-mkenums \
-               --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \
+       (cd $(srcdir) && $(GLIB_MKENUMS) \
+               --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>\n#include \"gdk-pixbuf-alias.h\"\n" \
                --fprod "\n/* enumerations from \"@filename@\" */" \
+               --ftail "\n#define __GDK_PIXBUF_ENUM_TYPES_C__\n#include \"gdk-pixbuf-aliasdef.c\"" \
                --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"       \
                --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
-               --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
+               --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (g_intern_static_string (\"@EnumName@\"), values);\n  }\n  return etype;\n}\n" \
                  $(gdk_pixbuf_headers)) > gdk-pixbuf-enum-types.c
 
 #
@@ -365,7 +402,7 @@ gdk-pixbuf-marshal.h: @REBUILD@ stamp-gdk-pixbuf-marshal.h
        @true
 
 stamp-gdk-pixbuf-marshal.h: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
-       $(GLIB_GENMARSHAL) --prefix=gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --header >> xgen-gmh \
+       $(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --header >> xgen-gmh \
        && (cmp -s xgen-gmh gdk-pixbuf-marshal.h || cp xgen-gmh gdk-pixbuf-marshal.h) \
        && rm -f xgen-gmh xgen-gmh~ \
        && echo timestamp > $(@F)
@@ -377,7 +414,7 @@ MAINTAINERCLEANFILES += stamp-gdk-pixbuf-marshal.h
 # gdk-pixbuf-marshal.c
 #
 $(srcdir)/gdk-pixbuf-marshal.c: @REBUILD@ $(srcdir)/gdk-pixbuf-marshal.list
-       $(GLIB_GENMARSHAL) --prefix=gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --body >> xgen-gmc \
+       (echo -e "#include <gdk-pixbuf/gdk-pixbuf.h>\n#include \"gdk-pixbuf-alias.h\"" | $(GLIB_GENMARSHAL) --prefix=_gdk_pixbuf_marshal $(srcdir)/gdk-pixbuf-marshal.list --body ) >> xgen-gmc \
        && cp xgen-gmc gdk-pixbuf-marshal.c \
        && rm -f xgen-gmc xgen-gmc~
 
@@ -393,6 +430,9 @@ distclean-local:
 EXTRA_DIST =                                   \
         gdk-pixbuf-csource.1                   \
        makefile.msc                            \
+       gdk-pixbuf.symbols                      \
+       makegdkpixbufalias.pl                   \
+       abicheck.sh                             \
        gdk_pixbuf.def                          \
        gdk_pixbuf.rc                           \
        gdk-pixbuf-marshal.c                    \
@@ -409,7 +449,8 @@ EXTRA_DIST =                                        \
        pixbufloader_tiff.def                   \
        pixbufloader_wbmp.def                   \
        pixbufloader_xbm.def                    \
-       pixbufloader_tga.def
+       pixbufloader_tga.def                    \
+       gen-color-table.pl
 
 if CROSS_COMPILING
 RUN_QUERY_LOADER_TEST=false
@@ -419,7 +460,11 @@ endif
 
 # Running this if cross compiling or if DESTDIR is set is going to
 # not work at all, so skip it
-install-data-local: install-ms-lib install-libtool-import-lib
+# We use install-data-hook here to workaround a bug in automake and/or libtool
+# that makes the install target for the loader libraries a dependency on
+# install-data-am, and not install-exec-am. We need to ensure this gets run
+# after the libraries are installed in their final locations.
+install-data-hook: install-ms-lib install-def-file
        @if $(RUN_QUERY_LOADER_TEST) ; then \
          $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/gtk-2.0 ; \
          $(top_builddir)/gdk-pixbuf/gdk-pixbuf-query-loaders > $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders ; \
@@ -427,12 +472,12 @@ install-data-local: install-ms-lib install-libtool-import-lib
          echo "***" ; \
          echo "*** Warning: gdk-pixbuf.loaders not built" ; \
          echo "***" ; \
-         echo "*** Generate this file manually on on host" ; \
+         echo "*** Generate this file manually on host" ; \
          echo "*** system using gdk-pixbuf-query-loaders" ; \
          echo "***" ; \
        fi
 
-uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
+uninstall-local: uninstall-ms-lib uninstall-def-file
        rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gdk-pixbuf.loaders
 
 if CROSS_COMPILING
@@ -440,6 +485,7 @@ else
 all-local: gdk-pixbuf.loaders
 endif
 
+if BUILD_DYNAMIC_MODULES
 gdk-pixbuf.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders
        LOADERS=`echo libpixbufloader-*.la` ; \
        if test "x$$LOADERS" != 'xlibpixbufloader-*.la' ; then \
@@ -449,4 +495,8 @@ gdk-pixbuf.loaders: $(loader_LTLIBRARIES) gdk-pixbuf-query-loaders
           echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
          touch gdk-pixbuf.loaders; \
        fi
-
+else
+gdk-pixbuf.loaders: 
+       echo "No dynamic modules found; will use only static modules for uninstalled example programs."; \
+       touch gdk-pixbuf.loaders;
+endif