Add macro definitions that make it possible to do cpu/os/both
ifdeffery in a sane way where it's absolutely unavoidable. When
building the core, eg on amd64-linux, the following preprocessor
symbols are defined:
VGA_amd64
VGO_linux
VGP_amd64_linux
etc on other platforms.
Also, include/basic_types.h now defines VG_WORDSIZE and this is what
should be used for ifdefs that need to know the host word size.
ifdefs based on the C compilers built-ins such as __amd64__ etc
are deprecated and will be done away with.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3590 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/Makefile.core-AM_CPPFLAGS.am b/Makefile.core-AM_CPPFLAGS.am
index 736bb22..a0b4578 100644
--- a/Makefile.core-AM_CPPFLAGS.am
+++ b/Makefile.core-AM_CPPFLAGS.am
@@ -8,7 +8,10 @@
-I$(top_srcdir)/include/$(VG_ARCH) \
-I$(top_srcdir)/include/$(VG_OS) \
-I$(top_srcdir)/include/$(VG_PLATFORM) \
- -I@VEX_DIR@/pub
+ -I@VEX_DIR@/pub \
+ -DVGA_$(VG_ARCH)=1 \
+ -DVGO_$(VG_OS)=1 \
+ -DVGP_$(VG_ARCH)_$(VG_OS)=1
AM_CPPFLAGS = $(add_includes)
AM_CCASFLAGS = $(add_includes) @ARCH_CORE_AM_CCASFLAGS@ -Wa,-gstabs
diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
index 07839aa..808a352 100644
--- a/coregrind/Makefile.am
+++ b/coregrind/Makefile.am
@@ -13,8 +13,8 @@
m_sigframe m_aspacemgr demangle .
AM_CPPFLAGS += -DVG_LIBDIR="\"$(valdir)"\" -I$(srcdir)/demangle \
- -DKICKSTART_BASE=@KICKSTART_BASE@ \
- -DVG_PLATFORM="$(VG_PLATFORM)"
+ -DKICKSTART_BASE=@KICKSTART_BASE@
+
AM_CFLAGS = $(WERROR) -Wmissing-prototypes -Winline -Wall -Wshadow -O -g @ARCH_CORE_AM_CFLAGS@
AM_CFLAGS += -fno-omit-frame-pointer
diff --git a/include/basic_types.h b/include/basic_types.h
index 728c367..913da8f 100644
--- a/include/basic_types.h
+++ b/include/basic_types.h
@@ -57,6 +57,11 @@
typedef Word OffT; // 32 64
+
+/* This is going to be either 4 or 8. */
+#define VG_WORDSIZE VEX_HOST_WORDSIZE
+
+
/* ---------------------------------------------------------------------
non-builtin types
------------------------------------------------------------------ */