add needed configure magic and header includes
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 04 Dec 2006 08:03:28 +0100
changeset 165 33a2c446e6dc
parent 164 ec0f3aa7f047
child 166 022a8d414b3b
add needed configure magic and header includes
SConstruct
src/simulator/cairo-wideint-private.h
--- a/SConstruct	Mon Dec 04 07:33:45 2006 +0100
+++ b/SConstruct	Mon Dec 04 08:03:28 2006 +0100
@@ -48,6 +48,7 @@
 ns3.add(simu)
 simu.add_dep('core')
 simu.add_sources([
+    'cairo-wideint.c',
     'high-precision.cc',
     'time.cc',
     'event-id.cc',
@@ -60,6 +61,7 @@
     'simulator.cc',
     ])
 simu.add_headers([
+    'cairo-wideint-private.h',
     'scheduler-heap.h',
     'scheduler-map.h',
     'scheduler-list.h'
@@ -73,6 +75,17 @@
     'scheduler.h',
     'scheduler-factory.h',
     ])
+def config_simulator (env, config):
+    retval = []
+    if config.CheckCHeader ('stdint.h') == 1:
+        retval.append ('#define HAVE_STDINT_H 1')
+    elif config.CheckCHeader ('inttypes.h') == 1:
+        retval.append ('#define HAVE_INTTYPES_H 1')
+    elif config.CheckCHeader ('sys/inttypes.h') == 1:
+        retval.append ('#define HAVE_SYS_INT_TYPES_H 1')
+    return retval
+simu.add_config (config_simulator)
+    
 
 #
 # The Common module
--- a/src/simulator/cairo-wideint-private.h	Mon Dec 04 07:33:45 2006 +0100
+++ b/src/simulator/cairo-wideint-private.h	Mon Dec 04 08:03:28 2006 +0100
@@ -32,6 +32,9 @@
 #ifndef CAIRO_WIDEINT_H
 #define CAIRO_WIDEINT_H
 
+#include "ns3/simulator-config.h"
+#define cairo_private 
+
 #if   HAVE_STDINT_H
 # include <stdint.h>
 #elif HAVE_INTTYPES_H
@@ -63,6 +66,10 @@
 #error Cannot find definitions for fixed-width integral types (uint8_t, uint32_t, etc.)
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /*
  * 64-bit datatypes.  Two separate implementations, one using
  * built-in 64-bit signed/unsigned types another implemented
@@ -313,4 +320,9 @@
 
 #undef I
 
+#ifdef __cplusplus
+};
+#endif
+
+
 #endif /* CAIRO_WIDEINT_H */