changeset 1313:68ee1bf08a38

Workaround problems with GCC 3.3.x - BUG 1000035
author gthomas
date Wed, 15 Oct 2003 19:58:56 +0000
parents 08edfb52f9cd
children 6c521260528e
files packages/ChangeLog packages/pkgconf/rules.mak
diffstat 2 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/packages/ChangeLog
+++ b/packages/ChangeLog
@@ -1,3 +1,9 @@
+2003-10-15  Gary Thomas  <gary@mlbassoc.com>
+2003-09-23  Andrew Lunn  <andrew.lunn@ascom.ch>
+
+	* pkgconf/rules.mak Only pass C flags to the C compiler.
+	Workaround for BUG #1000035.
+ 
 2003-10-04  Savin Zlobec <savin@elatec.si>
 
 	* ecos.db: New package - Synth wall clock device
--- a/packages/pkgconf/rules.mak
+++ b/packages/pkgconf/rules.mak
@@ -59,6 +59,11 @@ ifneq ($(wildcard *.deps),)
 include $(wildcard *.deps)
 endif
 
+# Separate C++ flags out from C flags.
+ACTUAL_CFLAGS = $(CFLAGS)
+ACTUAL_CFLAGS := $(subst -fno-rtti,,$(ACTUAL_CFLAGS))
+ACTUAL_CFLAGS := $(subst -Woverloaded-virtual,,$(ACTUAL_CFLAGS))
+ACTUAL_CFLAGS := $(subst -fvtable-gc,,$(ACTUAL_CFLAGS))
 
 # pattern matching rules to generate a library object from source code
 # object filenames are prefixed to avoid name clashes
@@ -69,7 +74,7 @@ ifeq ($(HOST),CYGWIN)
 else
 	@mkdir -p $(dir $@)
 endif
-	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
+	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
 	@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@
 	@rm $(@:.o.d=.tmp)
 
@@ -99,7 +104,7 @@ ifeq ($(HOST),CYGWIN)
 else
 	@mkdir -p $(dir $@)
 endif	
-	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
+	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.o.d=.tmp) -o $(dir $@)$(OBJECT_PREFIX)_$(notdir $(@:.o.d=.o)) $<
 	@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.o.d=.tmp) > $@
 	@rm $(@:.o.d=.tmp)
 
@@ -112,7 +117,7 @@ ifeq ($(HOST),CYGWIN)
 else
 	@mkdir -p $(dir $@)
 endif
-	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
+	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
 	@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@
 	@rm $(@:.d=.tmp)
 
@@ -142,7 +147,7 @@ ifeq ($(HOST),CYGWIN)
 else
 	@mkdir -p $(dir $@)
 endif	
-	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
+	$(CC) -c $(INCLUDE_PATH) -I$(dir $<) $(ACTUAL_CFLAGS) -Wp,-MD,$(@:.d=.tmp) -o $(@:.d=.o) $<
 	@sed -e '/^ *\\/d' -e "s#.*: #$@: #" $(@:.d=.tmp) > $@
 	@rm $(@:.d=.tmp)