From 4dae7ed553b33d7a51308a75022879b98aba8ffd Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Tue, 16 Jun 2009 16:12:54 +0200 Subject: clutter 0.9: update SRCREV, fix gtk-doc properly --- recipes/clutter/clutter-0.9_git.bb | 6 +- recipes/clutter/clutter.inc | 9 +- ...st-videosink-guard-GL-calls-with-ifdef-CL.patch | 96 ++++++++---- recipes/clutter/files/gtk-doc.make | 173 +++++++++++++++++++++ 4 files changed, 252 insertions(+), 32 deletions(-) create mode 100644 recipes/clutter/files/gtk-doc.make diff --git a/recipes/clutter/clutter-0.9_git.bb b/recipes/clutter/clutter-0.9_git.bb index 624ad6e3f1..6155d33fe1 100644 --- a/recipes/clutter/clutter-0.9_git.bb +++ b/recipes/clutter/clutter-0.9_git.bb @@ -1,12 +1,12 @@ require clutter.inc -SRCREV = "745ca8a62ca52eedfad850e556f160f36eb32953" +SRCREV = "b9a53d379d3aaca4b09a90cd44d5a9d9736a2435" PV = "0.9.3" -PR = "r1" +PR = "r2" PR_append = "+git${SRCREV}" -SRC_URI = "git://git.clutter-project.org/clutter.git;protocol=git;branch=1.0-integration \ +SRC_URI = "git://git.clutter-project.org/clutter.git;protocol=git \ file://enable_tests.patch;patch=1 " S = "${WORKDIR}/git" diff --git a/recipes/clutter/clutter.inc b/recipes/clutter/clutter.inc index e900c43209..4e2457946a 100644 --- a/recipes/clutter/clutter.inc +++ b/recipes/clutter/clutter.inc @@ -55,8 +55,13 @@ require clutter-fpu.inc #Fix up some weirdness in the docs do_configure_prepend() { - sed -i s:doc/reference/Makefile::g ${S}/configure.ac - sed -i s:doc::g ${S}/Makefile.am + if [ -e ${WORKDIR}/gtk-doc.make ] ; then + cp ${WORKDIR}/gtk-doc.make ${S}/gtk-doc.make + else + touch ${S}/gtk-doc.make + fi + sed -i s:doc/reference/Makefile::g ${S}/configure.ac + sed -i s:doc::g ${S}/Makefile.am } do_stage () { diff --git a/recipes/clutter/files/0001-clutter-gst-videosink-guard-GL-calls-with-ifdef-CL.patch b/recipes/clutter/files/0001-clutter-gst-videosink-guard-GL-calls-with-ifdef-CL.patch index d73ebe5877..e373bca181 100644 --- a/recipes/clutter/files/0001-clutter-gst-videosink-guard-GL-calls-with-ifdef-CL.patch +++ b/recipes/clutter/files/0001-clutter-gst-videosink-guard-GL-calls-with-ifdef-CL.patch @@ -1,60 +1,102 @@ -From 69f75d284caed6c38ccbdc4479f69fb16bb3ec46 Mon Sep 17 00:00:00 2001 -From: Koen Kooi -Date: Fri, 5 Jun 2009 14:21:34 +0200 -Subject: [PATCH] clutter-gst videosink: guard GL calls with #ifdef CLUTTER_COGL_HAS_GL so it can be compiled against the GLES backend +From 0677f1e6b5221caf78d50d94d2d0611e7f4b0abc Mon Sep 17 00:00:00 2001 +From: Damien Lespiau +Date: Sun, 14 Jun 2009 15:30:04 +0100 +Subject: [PATCH] Fix compilation with OpenGL ES backends +* Don't try to compile ARB fp1.0 shaders on non GL platforms, +* Use CGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS to query the number of + texture units one can use in a shader in a portable fashion. --- - clutter-gst/clutter-gst-video-sink.c | 8 ++++++++ - 1 files changed, 8 insertions(+), 0 deletions(-) + clutter-gst/clutter-gst-video-sink.c | 14 ++++++++++++-- + 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/clutter-gst/clutter-gst-video-sink.c b/clutter-gst/clutter-gst-video-sink.c -index c20fbd7..2f2d27b 100644 +index d6eb6a3..516a42c 100644 --- a/clutter-gst/clutter-gst-video-sink.c +++ b/clutter-gst/clutter-gst-video-sink.c -@@ -245,6 +245,8 @@ _string_array_to_char_array (char *dst, +@@ -236,6 +236,7 @@ _string_array_to_char_array (char *dst, *dst = '\0'; } +#ifdef CLUTTER_COGL_HAS_GL -+ static void clutter_gst_video_sink_fp_paint (ClutterActor *actor, ClutterGstVideoSink *sink) -@@ -284,6 +286,8 @@ clutter_gst_video_sink_set_fp_shader (ClutterGstVideoSink *sink, +@@ -274,6 +275,7 @@ clutter_gst_video_sink_set_fp_shader (ClutterGstVideoSink *sink, + priv->shaders_init = TRUE; } ++#endif -+#endif /* CLUTTER_COGL_HAS_GL */ -+ static void clutter_gst_video_sink_paint (ClutterActor *actor, - ClutterGstVideoSink *sink) -@@ -746,14 +750,17 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms) - { +@@ -532,6 +534,7 @@ static ClutterGstRenderer yv12_glsl_renderer = + * 8 bit Y plane followed by 8 bit 2x2 subsampled V and U planes. + */ + ++#ifdef CLUTTER_COGL_HAS_GL + static void + clutter_gst_yv12_fp_init (ClutterActor *actor, + ClutterGstVideoSink *sink) +@@ -573,6 +576,7 @@ static ClutterGstRenderer yv12_fp_renderer = + clutter_gst_yv12_paint, + clutter_gst_yv12_fp_post_paint, + }; ++#endif + + /* + * I420 +@@ -620,6 +624,7 @@ static ClutterGstRenderer i420_glsl_renderer = + * Basically the same as YV12, but with the 2 chroma planes switched. + */ + ++#ifdef CLUTTER_COGL_HAS_GL + static void + clutter_gst_i420_fp_init (ClutterActor *actor, + ClutterGstVideoSink *sink) +@@ -646,6 +651,7 @@ static ClutterGstRenderer i420_fp_renderer = + clutter_gst_yv12_paint, + clutter_gst_yv12_fp_post_paint, + }; ++#endif + + /* + * AYUV +@@ -707,9 +713,11 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms) &rgb24_renderer, &rgb32_renderer, -+#ifdef CLUTTER_COGL_HAS_GL &yv12_glsl_renderer, - &yv12_fp_renderer, +- &yv12_fp_renderer, &i420_glsl_renderer, ++#ifdef CLUTTER_COGL_HAS_GL ++ &yv12_fp_renderer, &i420_fp_renderer, ++#endif &ayuv_glsl_renderer, -+#endif /* CLUTTER_COGL_HAS_GL */ NULL }; - -+#ifdef CLUTTER_COGL_HAS_GL +@@ -717,11 +725,12 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms) /* get the features */ gl_extensions = (const gchar*) glGetString (GL_EXTENSIONS); - if (cogl_check_extension ("GL_ARB_multitexture", gl_extensions)) -@@ -773,6 +780,7 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms) - features |= CLUTTER_GST_MULTI_TEXTURE; - } - } -+#endif /* CLUTTER_COGL_HAS_GL */ +- glGetIntegerv (GL_MAX_TEXTURE_UNITS, &nb_texture_units); ++ glGetIntegerv (CGL_MAX_COMBINED_TEXTURE_IMAGE_UNITS, &nb_texture_units); + + if (nb_texture_units >= 3) + features |= CLUTTER_GST_MULTI_TEXTURE; + ++#ifdef CLUTTER_COGL_HAS_GL if (cogl_check_extension ("GL_ARB_fragment_program", gl_extensions)) { + /* the shaders we'll feed to the GPU are simple enough, we don't need +@@ -741,6 +750,7 @@ clutter_gst_build_renderers_list (ClutterGstSymbols *syms) + features |= CLUTTER_GST_FP; + } + } ++#endif + + if (cogl_features_available (COGL_FEATURE_SHADERS_GLSL)) + features |= CLUTTER_GST_GLSL; -- -1.6.1 +1.6.3 diff --git a/recipes/clutter/files/gtk-doc.make b/recipes/clutter/files/gtk-doc.make new file mode 100644 index 0000000000..354ffb7c66 --- /dev/null +++ b/recipes/clutter/files/gtk-doc.make @@ -0,0 +1,173 @@ +# -*- mode: makefile -*- + +#################################### +# Everything below here is generic # +#################################### + +if GTK_DOC_USE_LIBTOOL +GTKDOC_CC = $(LIBTOOL) --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +else +GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) +endif + +# We set GPATH here; this gives us semantics for GNU make +# which are more like other make's VPATH, when it comes to +# whether a source that is a target of one rule is then +# searched for in VPATH/GPATH. +# +GPATH = $(srcdir) + +TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) + +EXTRA_DIST = \ + $(content_files) \ + $(HTML_IMAGES) \ + $(DOC_MAIN_SGML_FILE) \ + $(DOC_MODULE)-sections.txt \ + $(DOC_MODULE)-overrides.txt + +DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \ + $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp + +SCANOBJ_FILES = \ + $(DOC_MODULE).args \ + $(DOC_MODULE).hierarchy \ + $(DOC_MODULE).interfaces \ + $(DOC_MODULE).prerequisites \ + $(DOC_MODULE).signals + +REPORT_FILES = \ + $(DOC_MODULE)-undocumented.txt \ + $(DOC_MODULE)-undeclared.txt \ + $(DOC_MODULE)-unused.txt + +CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) + +if ENABLE_GTK_DOC +all-local: html-build.stamp +else +all-local: +endif + +docs: html-build.stamp + +#### scan #### + +scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) + @echo 'gtk-doc: Scanning header files' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && \ + gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES) + if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null 2>&1 ; then \ + CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \ + else \ + cd $(srcdir) ; \ + for i in $(SCANOBJ_FILES) ; do \ + test -f $$i || touch $$i ; \ + done \ + fi + touch scan-build.stamp + +$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp + @true + +#### templates #### + +tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt + @echo 'gtk-doc: Rebuilding template files' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE) $(MKTMPL_OPTIONS) + touch tmpl-build.stamp + +tmpl.stamp: tmpl-build.stamp + @true + +tmpl/*.sgml: + @true + + +#### xml #### + +sgml-build.stamp: tmpl.stamp $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(srcdir)/tmpl/*.sgml $(expand_content_files) + @echo 'gtk-doc: Building XML' + @-chmod -R u+w $(srcdir) + cd $(srcdir) && \ + gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS) + touch sgml-build.stamp + +sgml.stamp: sgml-build.stamp + @true + +#### html #### + +html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) + @echo 'gtk-doc: Building HTML' + @-chmod -R u+w $(srcdir) + rm -rf $(srcdir)/html + mkdir $(srcdir)/html + cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) + test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) + @echo 'gtk-doc: Fixing cross-references' + cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + touch html-build.stamp + +############## + +clean-local: + rm -f *~ *.bak + rm -rf .libs + +distclean-local: + cd $(srcdir) && \ + rm -rf xml $(REPORT_FILES) \ + $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt + +maintainer-clean-local: clean + cd $(srcdir) && rm -rf xml html + +install-data-local: + -installfiles=`echo $(srcdir)/html/*`; \ + if test "$$installfiles" = '$(srcdir)/html/*'; \ + then echo '-- Nothing to install' ; \ + else \ + $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR); \ + for i in $$installfiles; do \ + echo '-- Installing '$$i ; \ + $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ + done; \ + echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR) || :; \ + which gtkdoc-rebase >/dev/null && \ + gtkdoc-rebase --relative --dest-dir=$(DESTDIR) --html-dir=$(DESTDIR)$(TARGET_DIR) ; \ + fi + + +uninstall-local: + rm -f $(DESTDIR)$(TARGET_DIR)/* + +# +# Require gtk-doc when making dist +# +if ENABLE_GTK_DOC +dist-check-gtkdoc: +else +dist-check-gtkdoc: + @echo "*** gtk-doc must be installed and enabled in order to make dist" + @false +endif + +dist-hook: dist-check-gtkdoc dist-hook-local + mkdir $(distdir)/tmpl + mkdir $(distdir)/xml + mkdir $(distdir)/html + -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl + -cp $(srcdir)/xml/*.xml $(distdir)/xml + cp $(srcdir)/html/* $(distdir)/html + -cp $(srcdir)/$(DOC_MODULE).types $(distdir)/ + -cp $(srcdir)/$(DOC_MODULE)-sections.txt $(distdir)/ + cd $(distdir) && rm -f $(DISTCLEANFILES) + -gtkdoc-rebase --online --relative --html-dir=$(distdir)/html + +.PHONY : dist-hook-local docs -- cgit v1.2.3