[med-svn] [aghermann] 06/13: precompile all headers at the top, before any cc source

andrei zavada hmmr-guest at alioth.debian.org
Wed Aug 28 22:10:22 UTC 2013


This is an automated email from the git hooks/post-receive script.

hmmr-guest pushed a commit to branch master
in repository aghermann.

commit e6b5023ec7d6235457e1590fabcf463e4a90808d
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Mon Aug 19 01:19:51 2013 +0300

    precompile all headers at the top, before any cc source
    
    to prevent spurious mis-compiles
---
 upstream/src/Makefile.am                     |   82 ++++++++++++++++++++++++++
 upstream/src/aghermann/Makefile.am           |    3 +-
 upstream/src/aghermann/expdesign/Makefile.am |   13 ----
 upstream/src/aghermann/ica/Makefile.am       |    6 --
 upstream/src/aghermann/model/Makefile.am     |   12 ----
 upstream/src/aghermann/patterns/Makefile.am  |   13 +---
 upstream/src/aghermann/rk1968/Makefile.am    |    9 ---
 upstream/src/aghermann/ui/Makefile.am        |   13 ----
 upstream/src/aghermann/ui/mf/Makefile.am     |   10 ----
 upstream/src/aghermann/ui/mw/Makefile.am     |   11 ----
 upstream/src/aghermann/ui/sf/Makefile.am     |   15 -----
 upstream/src/aghermann/ui/sm/Makefile.am     |    9 ---
 upstream/src/common/Makefile.am              |   16 -----
 upstream/src/libmetrics/Makefile.am          |   15 -----
 upstream/src/libsigfile/Makefile.am          |   14 -----
 upstream/src/libsigproc/Makefile.am          |   18 +-----
 16 files changed, 88 insertions(+), 171 deletions(-)

diff --git a/upstream/src/Makefile.am b/upstream/src/Makefile.am
index 8ba6c61..4ffd280 100644
--- a/upstream/src/Makefile.am
+++ b/upstream/src/Makefile.am
@@ -3,3 +3,85 @@ SUBDIRS := \
 	libsigproc libsigfile libmetrics \
 	aghermann \
 	tools
+
+# by trial and error, the _CFLAGS mentioned are the minimum required to pre-build all headers
+AM_CXXFLAGS := \
+	-Wall -std=c++0x -fno-rtti \
+	$(GTK_CFLAGS)  $(UNIQUE_CFLAGS) \
+	$(OPENMP_CXXFLAGS) \
+	-I$(top_srcdir)/src -I.. \
+	-DHAVE_CONFIG_H \
+	-DBUILT_BY=\"@user@\"
+
+if DO_PCH
+BUILT_SOURCES = \
+	common/string.hh.gch \
+	common/alg.hh.gch \
+	common/fs.hh.gch \
+	common/subject_id.hh.gch \
+	common/lang.hh.gch \
+	common/config-validate.hh.gch \
+	common/containers.hh.gch \
+	libsigproc/sigproc.hh.gch \
+	libsigproc/winfun.hh.gch \
+	libsigproc/exstrom.hh.gch \
+	libsigproc/ext-filters.hh.gch \
+	libsigfile/edf.hh.gch \
+	libsigfile/page.hh.gch \
+	libsigfile/channel.hh.gch \
+	libsigfile/typed-source.hh.gch \
+	libsigfile/tsv.hh.gch \
+	libsigfile/source-base.hh.gch \
+	libsigfile/all.hh.gch \
+	libsigfile/forward-decls.hh.gch \
+	libmetrics/mc-artifacts.hh.gch \
+	libmetrics/mc.hh.gch \
+	libmetrics/psd.hh.gch \
+	libmetrics/swu.hh.gch \
+	libmetrics/all.hh.gch \
+	libmetrics/page-metrics-base.hh.gch \
+	libmetrics/bands.hh.gch \
+	libmetrics/forward-decls.hh.gch \
+	aghermann/model/achermann-tunable.hh.gch \
+	aghermann/model/achermann.hh.gch \
+	aghermann/model/beersma.hh.gch \
+	aghermann/model/forward-decls.hh.gch \
+	aghermann/expdesign/subject.hh.gch \
+	aghermann/expdesign/recording.hh.gch \
+	aghermann/expdesign/profile.hh.gch \
+	aghermann/expdesign/expdesign.hh.gch \
+	aghermann/expdesign/forward-decls.hh.gch \
+	aghermann/rk1968/rk1968.hh.gch \
+	aghermann/globals.hh.gch \
+	aghermann/patterns/patterns.hh.gch \
+	aghermann/ica/ica.hh.gch \
+	aghermann/ui/mf/mf.hh.gch \
+	aghermann/ui/mf/mf_cb.hh.gch \
+	aghermann/ui/ui.hh.gch \
+	aghermann/ui/misc.hh.gch \
+	aghermann/ui/sf/d/artifacts-simple.hh.gch \
+	aghermann/ui/sf/d/filters.hh.gch \
+	aghermann/ui/sf/d/artifacts.hh.gch \
+	aghermann/ui/sf/d/patterns.hh.gch \
+	aghermann/ui/sf/d/phasediff.hh.gch \
+	aghermann/ui/sf/sf_cb.hh.gch \
+	aghermann/ui/sf/sf.hh.gch \
+	aghermann/ui/sf/widgets.hh.gch \
+	aghermann/ui/globals.hh.gch \
+	aghermann/ui/sm/sm_cb.hh.gch \
+	aghermann/ui/sm/sm.hh.gch \
+	aghermann/ui/mw/mw.hh.gch \
+	aghermann/ui/mw/mw_cb.hh.gch \
+	aghermann/ui/mw/widgets.hh.gch \
+	aghermann/ui/ui++.hh.gch \
+	aghermann/ui/forward-decls.hh.gch
+
+%.hh.gch: %.hh
+# for some reason $(CXXCOMPILE) is just... "c", whereas when seen in
+# any sub/Makefile.am, it does the trick alright, so spell it out in full
+	$(CXX) $(AM_CXXFLAGS) -c $<
+
+CLEANFILES = \
+	$(BUILT_SOURCES)
+
+endif
diff --git a/upstream/src/aghermann/Makefile.am b/upstream/src/aghermann/Makefile.am
index 0081baf..8f8575e 100644
--- a/upstream/src/aghermann/Makefile.am
+++ b/upstream/src/aghermann/Makefile.am
@@ -1,8 +1,7 @@
 SUBDIRS := \
-	ica \
 	expdesign \
 	patterns \
-	rk1968 model \
+	rk1968 model ica \
 	ui
 
 AM_CXXFLAGS := \
diff --git a/upstream/src/aghermann/expdesign/Makefile.am b/upstream/src/aghermann/expdesign/Makefile.am
index cde7b3d..d78963c 100644
--- a/upstream/src/aghermann/expdesign/Makefile.am
+++ b/upstream/src/aghermann/expdesign/Makefile.am
@@ -15,16 +15,3 @@ liba_a_SOURCES := \
 	recording.hh \
 	subject.cc \
 	tree-scanner.cc
-
-if DO_PCH
-BUILT_SOURCES := \
-	forward-decls.hh.gch \
-	profile.hh.gch \
-	recording.hh.gch \
-	subject.hh.gch \
-	expdesign.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/ica/Makefile.am b/upstream/src/aghermann/ica/Makefile.am
index d744e5c..fbb50e6 100644
--- a/upstream/src/aghermann/ica/Makefile.am
+++ b/upstream/src/aghermann/ica/Makefile.am
@@ -2,11 +2,5 @@ AM_CXXFLAGS := \
 	-Wall -std=c++0x -fno-rtti \
 	-I$(top_srcdir)/src
 
-
-# BUILT_SOURCES = \
-# 	ica.hh.gch
-# %.hh.gch: %.hh
-# 	$(CXXCOMPILE) -c $<
-
 EXTRA_DIST := \
 	ica.hh
diff --git a/upstream/src/aghermann/model/Makefile.am b/upstream/src/aghermann/model/Makefile.am
index 71ef17e..27b443e 100644
--- a/upstream/src/aghermann/model/Makefile.am
+++ b/upstream/src/aghermann/model/Makefile.am
@@ -14,15 +14,3 @@ liba_a_SOURCES := \
 	borbely.cc \
 	beersma.hh \
 	forward-decls.hh
-
-if DO_PCH
-BUILT_SOURCES := \
-	achermann.hh.gch \
-	beersma.hh.gch \
-	achermann-tunable.hh.gch \
-	forward-decls.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/patterns/Makefile.am b/upstream/src/aghermann/patterns/Makefile.am
index 23c6193..29e2fe0 100644
--- a/upstream/src/aghermann/patterns/Makefile.am
+++ b/upstream/src/aghermann/patterns/Makefile.am
@@ -7,14 +7,5 @@ noinst_LIBRARIES := liba.a
 liba_a_SOURCES := \
 	patterns.cc patterns.hh patterns.ii
 
-if DO_PCH
-BUILT_SOURCES := \
-	patterns.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
-
-EXTRA_DIST := \
-	patterns.ii
+# EXTRA_DIST := \
+# 	patterns.ii
diff --git a/upstream/src/aghermann/rk1968/Makefile.am b/upstream/src/aghermann/rk1968/Makefile.am
index 79afdbb..2f5d2ed 100644
--- a/upstream/src/aghermann/rk1968/Makefile.am
+++ b/upstream/src/aghermann/rk1968/Makefile.am
@@ -7,12 +7,3 @@ noinst_LIBRARIES := liba.a
 liba_a_SOURCES := \
 	rk1968.cc \
 	rk1968.hh
-
-if DO_PCH
-BUILT_SOURCES := \
-	rk1968.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/ui/Makefile.am b/upstream/src/aghermann/ui/Makefile.am
index dd17719..65d36d8 100644
--- a/upstream/src/aghermann/ui/Makefile.am
+++ b/upstream/src/aghermann/ui/Makefile.am
@@ -18,16 +18,3 @@ liba_a_SOURCES := \
 	ui++.hh \
 	ui.cc \
 	ui.hh
-
-if DO_PCH
-BUILT_SOURCES := \
-	forward-decls.hh.gch \
-	globals.hh.gch \
-	misc.hh.gch \
-	ui++.hh.gch \
-	ui.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/ui/mf/Makefile.am b/upstream/src/aghermann/ui/mf/Makefile.am
index 5779d6f..6a5fe89 100644
--- a/upstream/src/aghermann/ui/mf/Makefile.am
+++ b/upstream/src/aghermann/ui/mf/Makefile.am
@@ -13,13 +13,3 @@ liba_a_SOURCES := \
 	mf.hh \
 	mf_cb.cc \
 	mf_cb.hh
-
-if DO_PCH
-BUILT_SOURCES := \
-	mf.hh.gch \
-	mf_cb.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/ui/mw/Makefile.am b/upstream/src/aghermann/ui/mw/Makefile.am
index a833d39..4a5bd8c 100644
--- a/upstream/src/aghermann/ui/mw/Makefile.am
+++ b/upstream/src/aghermann/ui/mw/Makefile.am
@@ -25,14 +25,3 @@ liba_a_SOURCES = \
 	mw.hh \
 	mw_cb.cc \
 	mw_cb.hh
-
-if DO_PCH
-BUILT_SOURCES = \
-	mw.hh.gch \
-	widgets.hh.gch \
-	mw_cb.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/ui/sf/Makefile.am b/upstream/src/aghermann/ui/sf/Makefile.am
index 795bdd6..b41a578 100644
--- a/upstream/src/aghermann/ui/sf/Makefile.am
+++ b/upstream/src/aghermann/ui/sf/Makefile.am
@@ -46,18 +46,3 @@ liba_a_SOURCES := \
 	d/phasediff.cc \
 	d/phasediff-construct.cc \
 	d/phasediff_cb.cc
-
-if DO_PCH
-BUILT_SOURCES = \
-	sf.hh.gch \
-	sf_cb.hh.gch \
-	widgets.hh.gch \
-	d/artifacts.hh.gch \
-	d/patterns.hh.gch \
-	d/filters.hh.gch \
-	d/phasediff.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/aghermann/ui/sm/Makefile.am b/upstream/src/aghermann/ui/sm/Makefile.am
index bc3641e..3f31317 100644
--- a/upstream/src/aghermann/ui/sm/Makefile.am
+++ b/upstream/src/aghermann/ui/sm/Makefile.am
@@ -16,12 +16,3 @@ liba_a_SOURCES := \
 
 CLEANFILES := \
 	liba.la
-if DO_PCH
-BUILT_SOURCES := \
-	sm.hh.gch \
-	sm_cb.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES += \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/common/Makefile.am b/upstream/src/common/Makefile.am
index 84ef9b3..7a24aec 100644
--- a/upstream/src/common/Makefile.am
+++ b/upstream/src/common/Makefile.am
@@ -6,7 +6,6 @@ noinst_LIBRARIES := \
 	liba.a
 
 liba_a_SOURCES := \
-	../libsigfile/source-base.hh \
 	alg.hh \
 	config-validate.hh \
 	containers.hh \
@@ -16,18 +15,3 @@ liba_a_SOURCES := \
 	string.hh \
 	subject_id.cc \
 	subject_id.hh
-
-if DO_PCH
-BUILT_SOURCES := \
-	config-validate.hh.gch \
-	string.hh.gch \
-	alg.hh.gch \
-	containers.hh.gch \
-	fs.hh.gch \
-	subject_id.hh.gch
-
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/libmetrics/Makefile.am b/upstream/src/libmetrics/Makefile.am
index 76bb986..0f6543e 100644
--- a/upstream/src/libmetrics/Makefile.am
+++ b/upstream/src/libmetrics/Makefile.am
@@ -26,18 +26,3 @@ libmetrics_la_LDFLAGS := \
 	-avoid-version \
 	-rpath $(libdir)/$(PACKAGE) \
 	-shared -module
-
-if DO_PCH
-BUILT_SOURCES := \
-	forward-decls.hh.gch \
-	bands.hh.gch \
-	page-metrics-base.hh.gch \
-	psd.hh.gch \
-	swu.hh.gch \
-	mc.hh.gch \
-	mc-artifacts.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
diff --git a/upstream/src/libsigfile/Makefile.am b/upstream/src/libsigfile/Makefile.am
index 4dbc020..bec4be6 100644
--- a/upstream/src/libsigfile/Makefile.am
+++ b/upstream/src/libsigfile/Makefile.am
@@ -37,20 +37,6 @@ libsigfile_la_LDFLAGS := \
 # 	edf.hh \
 # 	page.hh
 
-if DO_PCH
-BUILT_SOURCES := \
-	forward-decls.hh.gch \
-	channel.hh.gch \
-	source-base.hh.gch \
-	typed-source.hh.gch \
-	edf.hh.gch \
-	tsv.hh.gch \
-	page.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
 
 if DO_UPDATE_MIME_DB
 xdgdatadir := $(XDGDATADIR)
diff --git a/upstream/src/libsigproc/Makefile.am b/upstream/src/libsigproc/Makefile.am
index ce51628..0b2da12 100644
--- a/upstream/src/libsigproc/Makefile.am
+++ b/upstream/src/libsigproc/Makefile.am
@@ -16,18 +16,6 @@ libsigproc_la_LDFLAGS := \
 	-rpath $(libdir)/$(PACKAGE) \
 	-shared -module
 
-if DO_PCH
-BUILT_SOURCES := \
-	ext-filters.hh.gch \
-	exstrom.hh.gch \
-	winfun.hh.gch \
-	sigproc.hh.gch
-%.hh.gch: %.hh
-	$(CXXCOMPILE) -c $<
-CLEANFILES = \
-	$(BUILT_SOURCES)
-endif
-
-EXTRA_DIST := \
-	sigproc.ii \
-	ext-filters.ii
+# EXTRA_DIST := \
+# 	sigproc.ii \
+# 	ext-filters.ii

-- 
Alioth's /git/debian-med/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git



More information about the debian-med-commit mailing list