]> rtime.felk.cvut.cz Git - omk/sssa.git/commitdiff
Fixed a bug where LOCAL_CONFIG_H colide with default CFLAGS.
authorMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 24 Jul 2007 11:35:00 +0000 (11:35 +0000)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Tue, 24 Jul 2007 11:35:00 +0000 (11:35 +0000)
If LOCAL_CONFIG_H was used and no custum CFLAGS were assigned, default
CFLAGS were not used. Also, if CFLAGS was set from make command line,
LOCAL_CONFIG_H didn't work.

darcs-hash:20070724113519-f2ef6-6291c69c95c7004552597e153b9b71b85ba9345d.gz

rulesdef.py
snippets/config_h
tests/headers/generated/lincan/configtest.c
tests/headers/generated/runtest
tests/headers/generated/runtest-default-cflags [new file with mode: 0755]

index a952e65bebb2e40ee71baffa438dfa15f514dbf9..9a84d4695dcb2850987eed5c18305860195d0c5a 100755 (executable)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 
 rules = {
-    'sysless': [ 'sysless-setup', 'base', 'gcc', 'config_h', 'include', 'sysless', 'sources-list', 'localeval' ],
-    'sysless-keil51': [ 'sysless-setup', 'base', 'keil51', 'config_h', 'include', 'sysless', 'sources-list', 'localeval' ],
-    'sysless-keil16x': [ 'sysless-setup', 'base', 'keil16x', 'config_h', 'include', 'sysless', 'sources-list', 'localeval' ],
-    'linux':   [ 'linux-setup', 'base', 'config_h', 'include', 'linux', 'qt', 'sources-list' ],
-    'rtems':   [ 'rtems-setup', 'base', 'config_h', 'include', 'rtems', 'sources-list' ],
-    'vxworks':   [ 'vxworks-setup', 'base', 'config_h', 'include', 'vxworks', 'sources-list' ],
+    'sysless': [ 'sysless-setup', 'base', 'gcc', 'include', 'sysless', 'config_h', 'sources-list', 'localeval' ],
+    'sysless-keil51': [ 'sysless-setup', 'base', 'keil51', 'include', 'sysless', 'config_h', 'sources-list', 'localeval' ],
+    'sysless-keil16x': [ 'sysless-setup', 'base', 'keil16x', 'include', 'sysless', 'config_h', 'sources-list', 'localeval' ],
+    'linux':   [ 'linux-setup', 'base', 'include', 'linux', 'config_h', 'qt', 'sources-list' ],
+    'rtems':   [ 'rtems-setup', 'base', 'include', 'rtems', 'config_h', 'sources-list' ],
+    'vxworks':   [ 'vxworks-setup', 'base', 'include', 'vxworks', 'config_h', 'sources-list' ],
     }
index 212ed9eefd5288fbffce063ec74f620928defbee..b753be49a1cc77eca06db592175dbf458d6dbdf0 100644 (file)
@@ -30,7 +30,9 @@ endef
 
 ifdef LOCAL_CONFIG_H
 
-CFLAGS += -I.
+# This must be declared after the default cflags are assigned!
+# Override is used to override command line assignemnt.
+override CFLAGS += -I.
 $(eval $(call BUILD_CONFIG_H_template,$(LOCAL_CONFIG_H),default_CONFIG,_LOCAL_CONFIG_H) )
 
 endif
index 5c5d3b9bb66753282dfad09c4038eeee01f2c3ba..166ab99c6d22d9e2764db8f974c072e514a928cf 100644 (file)
@@ -1,2 +1,6 @@
 #include "lincan_config.h"
-void main(void) {}
+
+int main(void) 
+{
+    /* With default CFLAGS a warning should be produced: control reaches end of non-void function */
+}
index 7778c7b5a2a3592a894d055ab95e3c68e7d9e130..09f9b95a8a65b632911047c74f622510c6b3f838 100755 (executable)
@@ -11,6 +11,7 @@ test -f "$GC" || canttest "Can't find the produced global config"
 grep -Fv "/* config file:" $GC | diff -u correct/global.h - || error "Global config differs"
 
 make || canttest "Can't run make to produce local config"
+make CFLAGS=-Wall || canttest "Make failed with custom CFLAGS"
 LC=$(find _build -wholename '*/lincan/lincan_config.h')
 test -f "$LC" || canttest "Can't find the produced local config"
 grep -Fv "/* config file:" $LC | diff -u correct/lincan_config.h - || error "Local config differs"
diff --git a/tests/headers/generated/runtest-default-cflags b/tests/headers/generated/runtest-default-cflags
new file mode 100755 (executable)
index 0000000..a62df03
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+source ../../functions.sh
+
+make default-config || canttest
+
+make 2> stderr || canttest
+grep "control reaches end of non-void function" stderr || error "Default CFLAGS are not applied"