From: Emmanuele Bassi Date: Wed, 18 Nov 2009 17:35:07 +0000 (+0000) Subject: build: Make cogl.h not conditional on driver defines X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5f28c8b654094e27112426c206cf8294428515f9;p=profile%2Fivi%2Fclutter.git build: Make cogl.h not conditional on driver defines The main COGL header cogl.h is currently created at configure time because it conditionally includes the driver-dependent defines. This sometimes leads to a stale cogl.h with old definitions which can break the build until you clean out the whole tree and start from scratch. We can generate a stable cogl-defines.h at build time from the equivalent driver-dependent header and let cogl.h include that file instead. --- diff --git a/.gitignore b/.gitignore index c8b1df7..27000f5 100644 --- a/.gitignore +++ b/.gitignore @@ -17,18 +17,17 @@ clutter/clutter-marshal.[ch] clutter/clutter-version.h clutter/stamp-* /clutter/clutter-json.h -/clutter/cogl/cogl/cogl-defines-gl.h -/clutter/cogl/cogl/cogl-defines-gles.h -/clutter/cogl/cogl/cogl.h +/clutter/cogl/cogl/cogl-defines.h /clutter/cogl/cogl/*.pc /clutter/cogl/cogl/cogl-enum-types.[ch] /clutter/cogl/cogl/stamp-enum-types +/clutter/cogl/cogl/driver/gl/cogl-defines.h +/clutter/cogl/cogl/driver/gles/cogl-defines.h /clutter/cogl/cogl/driver/gles/cogl-fixed-vertex-shader.[ch] /clutter/cogl/cogl/driver/gles/cogl-fixed-fragment-shader.[ch] *.gir *.typelib /clutter/json/*.gir -cogl-defines.h config.* configure depcomp diff --git a/clutter/cogl/cogl/Makefile.am b/clutter/cogl/cogl/Makefile.am index 69ce951..9e757b0 100644 --- a/clutter/cogl/cogl/Makefile.am +++ b/clutter/cogl/cogl/Makefile.am @@ -4,8 +4,8 @@ NULL = SUBDIRS = driver -BUILT_SOURCES = cogl.h -EXTRA_DIST = cogl.h.in cogl.pc.in +BUILT_SOURCES = +EXTRA_DIST = CLEANFILES = DISTCLEANFILES = @@ -23,6 +23,7 @@ cogl-$(COGL_DRIVER)-$(CLUTTER_API_VERSION).pc: cogl.pc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = $(pc_files) +EXTRA_DIST += cogl.pc.in CLEANFILES += $(pc_files) INCLUDES = \ @@ -33,6 +34,12 @@ INCLUDES = \ -I$(top_builddir)/clutter/cogl \ $(NULL) +cogl-defines.h: $(srcdir)/driver/gl/cogl-defines.h $(srcdir)/driver/gles/cogl-defines.h + $(QUIET_GEN)cp -f $(srcdir)/driver/$(COGL_DRIVER)/cogl-defines.h $(@F) + +BUILT_SOURCES += cogl-defines.h +DISTCLEANFILES += cogl-defines.h + # public headers cogl_public_h = \ $(srcdir)/cogl-bitmap.h \ @@ -47,7 +54,7 @@ cogl_public_h = \ $(srcdir)/cogl-texture.h \ $(srcdir)/cogl-types.h \ $(srcdir)/cogl-vertex-buffer.h \ - $(top_builddir)/clutter/cogl/cogl/cogl.h \ + $(srcdir)/cogl.h \ $(NULL) # windowing system; all sources have to be distributed, but we'll @@ -82,6 +89,7 @@ libclutter_cogl_la_LIBADD = -lm $(CLUTTER_LIBS) \ $(top_builddir)/clutter/cogl/cogl/driver/$(COGL_DRIVER)/libclutter-cogl-driver.la libclutter_cogl_la_SOURCES = \ + $(BUILT_SOURCES) \ $(srcdir)/winsys/cogl-winsys.h \ $(srcdir)/winsys/cogl-@COGL_WINSYS@.c \ $(srcdir)/cogl-handle.h \ @@ -127,18 +135,16 @@ libclutter_cogl_la_SOURCES = \ $(srcdir)/cogl-draw-buffer.c \ $(srcdir)/cogl-matrix-mesa.h \ $(srcdir)/cogl-matrix-mesa.c \ - $(BUILT_SOURCES) \ $(NULL) EXTRA_DIST += $(cogl_winsys_sources) - EXTRA_DIST += stb_image.c # COGL installed headers cogl_headers = \ $(cogl_public_h) \ $(srcdir)/cogl-deprecated.h \ - cogl-defines-$(COGL_DRIVER).h \ + cogl-defines.h \ cogl-enum-types.h \ $(NULL) diff --git a/clutter/cogl/cogl/cogl.h.in b/clutter/cogl/cogl/cogl.h similarity index 99% rename from clutter/cogl/cogl/cogl.h.in rename to clutter/cogl/cogl/cogl.h index 5fb5df0..c7e6ba5 100644 --- a/clutter/cogl/cogl/cogl.h.in +++ b/clutter/cogl/cogl/cogl.h @@ -29,7 +29,7 @@ #define __COGL_H_INSIDE__ -#include +#include #include #include diff --git a/configure.ac b/configure.ac index a9fde5a..134d846 100644 --- a/configure.ac +++ b/configure.ac @@ -822,9 +822,8 @@ AC_CONFIG_FILES([ clutter/sdl/Makefile clutter/cogl/Makefile clutter/cogl/cogl/Makefile - clutter/cogl/cogl/cogl.h - clutter/cogl/cogl/cogl-defines-gl.h:clutter/cogl/cogl/driver/gl/cogl-defines.h.in - clutter/cogl/cogl/cogl-defines-gles.h:clutter/cogl/cogl/driver/gles/cogl-defines.h.in + clutter/cogl/cogl/driver/gl/cogl-defines.h + clutter/cogl/cogl/driver/gles/cogl-defines.h clutter/cogl/cogl/cogl.pc clutter/cogl/cogl/driver/Makefile clutter/cogl/cogl/driver/gl/Makefile