[glib] Generate $module-public-headers.txt file, feed it to gtk-doc



commit ab0e9dbfa76e056f875e969c0d7b6e133ec75431
Author: Colin Walters <walters verbum org>
Date:   Fri Jun 3 14:53:27 2011 -0400

    Generate $module-public-headers.txt file, feed it to gtk-doc
    
    Rather than having the gtk-doc build machinery have a list of header
    files to exclude, change the GLib build to dump a list of public
    header files generated from the maintained Makefile.am files for
    each of glib/, gobject/, gio/.
    
    Also, for glib, always install glib-unix.h, even on non-Unix
    platforms, for the same reason we install gwin32.h even on Unix.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=651745

 docs/reference/gio/Makefile.am     |    2 +-
 docs/reference/glib/Makefile.am    |   28 +---------------------------
 docs/reference/gobject/Makefile.am |    7 +------
 gio/Makefile.am                    |   10 +++++++++-
 glib/Makefile.am                   |   12 +++++++++---
 gobject/Makefile.am                |    8 ++++++++
 6 files changed, 29 insertions(+), 38 deletions(-)
---
diff --git a/docs/reference/gio/Makefile.am b/docs/reference/gio/Makefile.am
index a2b0842..768a34d 100644
--- a/docs/reference/gio/Makefile.am
+++ b/docs/reference/gio/Makefile.am
@@ -15,7 +15,7 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED"
 # The directory containing the source code. Relative to $(srcdir)
 DOC_SOURCE_DIR=$(top_srcdir)/gio
 
-HFILE_GLOB=$(top_srcdir)/gio/*.h
+HFILE_GLOB=$(addprefix $(top_srcdir)/gio/,$(shell cat $(top_srcdir)/gio/gio-public-header-files.txt))
 CFILE_GLOB=$(top_srcdir)/gio/*.c
 
 # Headers to ignore
diff --git a/docs/reference/glib/Makefile.am b/docs/reference/glib/Makefile.am
index 2838106..da7554f 100644
--- a/docs/reference/glib/Makefile.am
+++ b/docs/reference/glib/Makefile.am
@@ -19,35 +19,9 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" --ignore-decorators="GLI
 MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
 
 # Used for dependencies
-HFILE_GLOB=$(top_srcdir)/glib/*.h $(top_srcdir)/gmodule/*.h
+HFILE_GLOB=$(addprefix $(top_srcdir)/glib/,$(shell cat $(top_srcdir)/glib/glib-public-header-files.txt)) $(top_srcdir)/gmodule/*.h
 CFILE_GLOB=$(top_srcdir)/glib/*.c $(top_srcdir)/gmodule/*.c
 
-# Headers to ignore
-IGNORE_HFILES=			\
-	gdatasetprivate.h	\
-	glibintl.h		\
-	gbsearcharray.h		\
-	gmoduleconf.h		\
-	gunibreak.h		\
-	gunicomp.h		\
-	gunidecomp.h		\
-	gunichartables.h	\
-	glib_trace.h		\
-	libcharset.h		\
-	gdebug.h		\
-	gprintfint.h		\
-	gmirroringtable.h	\
-	gscripttable.h		\
-	glib-mirroring-tab	\
-	gnulib			\
-	pcre			\
-	update-pcre		\
-	gbufferprivate.h	\
-	gvariant-internal.h	\
-	gvariant-serialiser.h	\
-	gvariant-core.h		\
-	gvarianttypeinfo.h
-
 # Images to copy into HTML directory
 HTML_IMAGES =  				\
 	file-name-encodings.png		\
diff --git a/docs/reference/gobject/Makefile.am b/docs/reference/gobject/Makefile.am
index 61de126..2a99814 100644
--- a/docs/reference/gobject/Makefile.am
+++ b/docs/reference/gobject/Makefile.am
@@ -20,14 +20,9 @@ SCAN_OPTIONS=--deprecated-guards="G_DISABLE_DEPRECATED" \
 MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g
 
 # Used for dependencies
-HFILE_GLOB=$(top_srcdir)/gobject/*.h
+HFILE_GLOB=$(addprefix $(top_srcdir)/gobject/,$(shell cat $(top_srcdir)/gobject/gobject-public-header-files.txt))
 CFILE_GLOB=$(top_srcdir)/gobject/*.c
 
-# Headers to ignore
-IGNORE_HFILES = \
-	gobject_trace.h			\
-	gatomicarray.h
-
 # CFLAGS and LDFLAGS for compiling scan program. Only needed
 # if $(DOC_MODULE).types is non-empty.
 INCLUDES = \
diff --git a/gio/Makefile.am b/gio/Makefile.am
index 32ad95a..3c7aec7 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -596,6 +596,14 @@ CLEANFILES = 			\
 	$(marshal_sources)	\
 	$(NULL)
 
+# This is read by gobject-introspection/misc/ and gtk-doc
+gio-public-headers.txt: Makefile
+	echo $(gioinclude_HEADERS) > $  tmp && mv $  tmp $@
+
+CLEANFILES += gio-public-headers.txt
+
+all-local: gio-public-headers.txt
+
 gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
 	$(AM_V_GEN) ( top_builddir=`cd $(top_builddir) && pwd`; \
 	  cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \
@@ -668,7 +676,7 @@ dist-hook: $(BUILT_EXTRA_DIST) ../build/win32/vs9/gio.vcproj ../build/win32/vs10
 	done | sort -u >libgio.sourcefiles
 	$(CPP) -P - <$(top_srcdir)/build/win32/vs9/gio.vcprojin >$@
 	rm libgio.sourcefiles
-	
+
 ../build/win32/vs10/gio.vcxproj: $(top_srcdir)/build/win32/vs10/gio.vcxprojin
 	for F in `echo $(libgio_2_0_la_SOURCES) $(win32_actual_sources) $(win32_actual_more_sources_for_vcproj) | tr '/' '\\'`; do \
 		case $$F in \
diff --git a/glib/Makefile.am b/glib/Makefile.am
index becfcaa..f74f78f 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -215,12 +215,10 @@ EXTRA_libglib_2_0_la_SOURCES = \
 
 glibincludedir=$(includedir)/glib-2.0
 glibinclude_HEADERS =   \
+	glib-unix.h     \
 	glib-object.h	\
 	glib.h
 
-if OS_UNIX
-glibinclude_HEADERS += glib-unix.h
-endif
 
 glibsubincludedir=$(includedir)/glib-2.0/glib
 glibsubinclude_HEADERS =   \
@@ -291,6 +289,14 @@ glibsubinclude_HEADERS =   \
 	gwin32.h	\
 	gprintf.h
 
+# This is read by gobject-introspection/misc/ and gtk-doc
+glib-public-headers.txt: Makefile
+	echo $(glibinclude_HEADERS) $(glibsubinclude_HEADERS) > $  tmp && mv $  tmp $@
+
+CLEANFILES += glib-public-headers.txt
+
+all-local: glib-public-headers.txt
+
 install-data-local: install-ms-lib install-def-file
 	@if test -f $(glibincludedir)/glist.h ; then					\
 	  echo "*** Old headers found in $(glibincludedir). You should remove the" ;	\
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 0ddb627..8c6da9b 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -179,6 +179,14 @@ EXTRA_DIST += \
 	$(gobject_extra_sources) 	\
 	marshal-genstrings.pl
 
+# This is read by gobject-introspection/misc/ and gtk-doc
+gobject-public-headers.txt: Makefile
+	echo $(gobject_public_h_sources) > $  tmp && mv $  tmp $@
+
+CLEANFILES += gobject-public-headers.txt
+
+all-local: gobject-public-headers.txt
+
 #
 # rules to generate built sources
 #



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]