Better sparse support.
authorbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Sat, 29 Sep 2007 16:57:39 +0000 (16:57 +0000)
committerbernie <bernie@38d2e660-2303-0410-9eaa-f027e97ec537>
Sat, 29 Sep 2007 16:57:39 +0000 (16:57 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@816 38d2e660-2303-0410-9eaa-f027e97ec537

cfg/cpu_detect.h
cfg/module.h
config.mk
os/hptime.c
os/hptime.h
rules.mk

index a2248cf7846f7d2f153e782bd1fc30832e565752..75c6f13a24c44a39864b13b76a83db4b40f7f6cd 100755 (executable)
 #ifndef CPU_DETECT_H
 #define CPU_DETECT_H
 
-/* sparse? */
-#ifdef __CHECKER__
-       /* Any random CPU will do */
-       #define __arm__
-#endif
-
 #if defined(__arm__) /* GCC */ \
        || defined(__ARM4TM__) /* IAR: defined for all cores >= 4tm */
        #define CPU_ARM                 1
index 750368aac4c63cabb42dba741eb8b459b617c6f1..21f871504f728c07e1a4437502e93a3ab93dacb5 100755 (executable)
@@ -46,7 +46,7 @@
  *
  * \see MOD_INIT(), MOD_CHECK()
  */
-#define MOD_DEFINE(module)   DB(bool module ## _initialized;)
+#define MOD_DEFINE(module)   DB(extern bool module ## _initialized; bool module ## _initialized;)
 
 /**
  * Check that \a module was already initialized.
index e78f4e13de16117a557256db35de76b2033222c2..a7bf757fa88f8f7ee7ec131f88cbd55c8be2ee94 100755 (executable)
--- a/config.mk
+++ b/config.mk
@@ -10,6 +10,9 @@
 # Author: Bernardo Innocenti <bernie@develer.com>
 #
 # $Log$
+# Revision 1.12  2007/09/29 16:57:39  bernie
+# Better sparse support.
+#
 # Revision 1.11  2007/09/29 15:54:14  bernie
 # Make demo Qt emulator compile again.
 #
@@ -86,6 +89,11 @@ RM      = rm -f
 RM_R    = rm -rf
 RN      = mv
 MKDIR_P = mkdir -p
+SHELL   = /bin/sh
+CHECKER = sparse
+DOXYGEN = doxygen
+AVRDUDE = avrdude
+FLEXCAT = $(top_srcdir)/tools/flexcat/flexcat
 
 # For conversion from ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
 COFFCONVERT=$(OBJCOPY) \
@@ -99,11 +107,6 @@ INCDIR  = -I. -Ihw
 LIBDIR  = lib
 OBJDIR  = obj
 OUTDIR  = images
-SHELL   = /bin/sh
-DOXYGEN = doxygen
-UISP    = uisp
-AVRDUDE = avrdude
-FLEXCAT = $(top_srcdir)/tools/flexcat/flexcat
 
 # output format can be srec, ihex (avrobj is always created)
 FORMAT = srec
index 7be9ea206c0c9428871846444b88b8e5f0ababe0..771832307efe1493b58a327ef4541ccf1132070d 100755 (executable)
@@ -36,13 +36,14 @@ hptime_t hptime_get(void)
 
 #elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
 
-#include <sys/time.h>
+#include <sys/time.h> /* for gettimeofday() */
+#include <stddef.h> /* for NULL */
 
 hptime_t hptime_get(void)
 {
        struct timeval tv;
 
-       gettimeofday(&tv, 0);
+       gettimeofday(&tv, NULL);
        return (hptime_t)tv.tv_sec * HPTIME_TICKS_PER_SECOND
                + (hptime_t)tv.tv_usec;
 }
index 9d9336ed3657eb9ff90c3547c5a34bf9d2510185..a5072cca4801c18ae17cd2bc43d6d38287e7d533 100755 (executable)
 #ifndef HPTIME_H
 #define HPTIME_H
 
-/* sparse? */
-#ifdef __CHECKER__
-       /* Any random OS would do */
-       #define __unix__
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
index 990fc39d25c4d1453872986cd6c70d9c5a39bef1..41d1e1cb9e33d948c5df814735c8f11cff2b0154 100755 (executable)
--- a/rules.mk
+++ b/rules.mk
@@ -24,6 +24,12 @@ Q := @
 L := @echo
 endif
 
+# Checker build
+ifeq ($(C),1)
+CC = $(CHECKER)
+CFLAGS += -Wundef -D__x86_64__=1 -D__unix__=1 -D__linux__=1 -D__STDC_VERSION__=199901L
+endif
+
 # Initialize $(top_srcdir) with current directory, unless it was already initialized
 top_srcdir ?= $(shell pwd)