]> Pileus Git - ~andy/gtk/blobdiff - gdk-pixbuf/Makefile.am
gdk-pixbuf-animation.c gdk-pixbuf-io.c io-xbm.c io-xpm.c
[~andy/gtk] / gdk-pixbuf / Makefile.am
index 9b1d5b512f814b45d4a611da2bdb754e46da8d3a..46dd1243d465e492d431cc191da437eccf0bc295 100644 (file)
@@ -15,6 +15,13 @@ gdk_pixbuf-win32res.lo : gdk_pixbuf.rc
        $(top_srcdir)/build/win32/lt-compile-resource gdk_pixbuf.rc gdk_pixbuf-win32res.lo
 
 install-libtool-import-lib:
+#      Don't put the binary compatibility entries in the import lib!
+#      (Unfortunately the GNU linker doesn't yet understand the PRIVATE
+#      directive in .def files.)
+       for entry in `grep PRIVATE gdk_pixbuf.def | sed -e 's/PRIVATE//'`; do \
+         file=`nm -A .libs/libgdk_pixbuf-$(GTK_API_VERSION).dll.a | tr -d '\r' | grep -m 1 -E $$entry'$$' | cut -d: -f2`; \
+         ar d .libs/libgdk_pixbuf-$(GTK_API_VERSION).dll.a $$file; \
+       done
        $(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
@@ -39,6 +46,16 @@ install-ms-lib:
 uninstall-ms-lib:
 endif
 
+gdk_pixbuf.def: gdk-pixbuf.symbols
+       (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 - <$(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
+
+if OS_UNIX
+TESTS = abicheck.sh
+endif
+
 lib_LTLIBRARIES =              \
        libgdk_pixbuf-2.0.la
 
@@ -261,6 +278,7 @@ INCLUDES = \
        -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)                \
@@ -310,6 +328,8 @@ libgdk_pixbuf_2_0_la_DEPENDENCIES = pixops/libpixops.la $(builtin_objs) $(gdk_pi
 
 gdk_pixbuf_headers =                   \
        gdk-pixbuf.h                    \
+       gdk-pixbuf-core.h               \
+       gdk-pixbuf-transform.h          \
        gdk-pixbuf-io.h                 \
        gdk-pixbuf-animation.h          \
        gdk-pixbuf-loader.h
@@ -322,16 +342,23 @@ libgdk_pixbufinclude_HEADERS =    \
        gdk-pixdata.h
 
 noinst_HEADERS =               \
+       gdk-pixbuf-alias.h      \
        gdk-pixbuf-private.h
 
-BUILT_SOURCES = gdk-pixbuf-enum-types.h gdk-pixbuf-enum-types.c \
-  gdk-pixbuf-marshal.h gdk-pixbuf-marshal.c
+BUILT_SOURCES =                \
+       gdk-pixbuf-alias.h      \
+       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-enum-types.h \
+       gdk-pixbuf-enum-types.c \
+       gdk-pixbuf-marshal.h    \
+       gdk-pixbuf-marshal.c    \
+       gdk-pixbuf.loaders
 
 #
 # gdk-pixbuf-enum-types.h
@@ -343,7 +370,7 @@ s-enum-types-h: @REBUILD@ $(gdk_pixbuf_headers) Makefile
        ( 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 ) \
@@ -358,7 +385,7 @@ MAINTAINERCLEANFILES += s-enum-types-h
 #
 gdk-pixbuf-enum-types.c: @REBUILD@ $(gdk_pixbuf_headers) Makefile
        (cd $(srcdir) && glib-mkenums \
-               --fhead "#include <gdk-pixbuf/gdk-pixbuf.h>" \
+               --fhead "#include \"gdk-pixbuf-alias.h\"\n#include <gdk-pixbuf/gdk-pixbuf.h>" \
                --fprod "\n/* enumerations from \"@filename@\" */" \
                --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@\" }," \
@@ -372,7 +399,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)
@@ -384,7 +411,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-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~
 
@@ -400,6 +427,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                    \