1
0
Fork 0

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.
This commit is contained in:
Emmanuele Bassi 2009-11-18 17:35:07 +00:00
parent b869e87c86
commit 5f28c8b654
4 changed files with 18 additions and 14 deletions

7
.gitignore vendored
View file

@ -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

View file

@ -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)

View file

@ -29,7 +29,7 @@
#define __COGL_H_INSIDE__
#include <cogl/cogl-defines-@COGL_DRIVER@.h>
#include <cogl/cogl-defines.h>
#include <cogl/cogl-bitmap.h>
#include <cogl/cogl-color.h>

View file

@ -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