diff options
| author | Richard Kistruck | 2008-10-20 17:31:57 +0100 |
|---|---|---|
| committer | Richard Kistruck | 2008-10-20 17:31:57 +0100 |
| commit | f8d35dd8eca621cc1d9bacb54ca720c0496e44f3 (patch) | |
| tree | 6bd18a97428d1613f21e32fb30cf46a5dcae01e5 /mps/code | |
| parent | fc9c9ef7b337ad45bfe09a5790a6497c80084e58 (diff) | |
| download | emacs-f8d35dd8eca621cc1d9bacb54ca720c0496e44f3.tar.gz emacs-f8d35dd8eca621cc1d9bacb54ca720c0496e44f3.zip | |
Mps br/vc9: new w3i3m9 clone-platform:
- w3i3m9.nmk: use commpre9.nmk (not commpre.nmk), for VC9 compiler
and linker options;
- w3i3m[v9].nmk: declare CONFIG_PF_...
- mpstd.h: if CONFIG_PF_... is declared, check that the correct
compiler really is in use.
Copied from Perforce
Change: 166505
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/mpstd.h | 25 | ||||
| -rw-r--r-- | mps/code/w3i3m9.nmk | 4 | ||||
| -rw-r--r-- | mps/code/w3i3mv.nmk | 2 |
3 files changed, 28 insertions, 3 deletions
diff --git a/mps/code/mpstd.h b/mps/code/mpstd.h index 152bf819206..005c8b69d56 100644 --- a/mps/code/mpstd.h +++ b/mps/code/mpstd.h | |||
| @@ -81,6 +81,26 @@ | |||
| 81 | #define MPS_WORD_SHIFT 5 | 81 | #define MPS_WORD_SHIFT 5 |
| 82 | #define MPS_PF_ALIGN 4 | 82 | #define MPS_PF_ALIGN 4 |
| 83 | 83 | ||
| 84 | /* w3i3m9 clone-platform, differs from w3i3mv only in MPS_PF_STRING | ||
| 85 | * and compiler options. | ||
| 86 | */ | ||
| 87 | |||
| 88 | #elif defined(CONFIG_PF_W3I3M9) \ | ||
| 89 | || defined(_MSC_VER) && (_MSC_VER >= 1500) && defined(_WIN32) && defined(_M_IX86) | ||
| 90 | #if defined(CONFIG_PF_W3I3M9) \ | ||
| 91 | && ! ( defined(_MSC_VER) && (_MSC_VER >= 1500) && defined(_WIN32) && defined(_M_IX86) ) | ||
| 92 | #error "CONFIG_PF_W3I3M9 inconsistent with target platform detected" | ||
| 93 | #endif | ||
| 94 | #define MPS_PF_W3I3MV | ||
| 95 | #define MPS_PF_STRING "w3i3m9" | ||
| 96 | #define MPS_OS_W3 | ||
| 97 | #define MPS_ARCH_I3 | ||
| 98 | #define MPS_BUILD_MV | ||
| 99 | #define MPS_T_WORD unsigned long | ||
| 100 | #define MPS_WORD_WIDTH 32 | ||
| 101 | #define MPS_WORD_SHIFT 5 | ||
| 102 | #define MPS_PF_ALIGN 8 | ||
| 103 | |||
| 84 | /* Visual C++ 2.0, Books Online, C/C++ Book, Preprocessor Reference, | 104 | /* Visual C++ 2.0, Books Online, C/C++ Book, Preprocessor Reference, |
| 85 | * Chapter 1: The Preprocessor, Macros, Predefined Macros. | 105 | * Chapter 1: The Preprocessor, Macros, Predefined Macros. |
| 86 | * Alignment of 4 would work, but the MS library uses 8 bytes for | 106 | * Alignment of 4 would work, but the MS library uses 8 bytes for |
| @@ -90,6 +110,11 @@ | |||
| 90 | 110 | ||
| 91 | #elif defined(CONFIG_PF_W3I3MV) \ | 111 | #elif defined(CONFIG_PF_W3I3MV) \ |
| 92 | || defined(_MSC_VER) && defined(_WIN32) && defined(_M_IX86) | 112 | || defined(_MSC_VER) && defined(_WIN32) && defined(_M_IX86) |
| 113 | #if defined(CONFIG_PF_W3I3MV) \ | ||
| 114 | && ! ( defined(_MSC_VER) && (_MSC_VER < 1500) && defined(_WIN32) && defined(_M_IX86) ) | ||
| 115 | #error "CONFIG_PF_W3I3MV inconsistent with target platform detected" | ||
| 116 | /* (See w3i3m9 clone-platform, above) */ | ||
| 117 | #endif | ||
| 93 | #define MPS_PF_W3I3MV | 118 | #define MPS_PF_W3I3MV |
| 94 | #define MPS_PF_STRING "w3i3mv" | 119 | #define MPS_PF_STRING "w3i3mv" |
| 95 | #define MPS_OS_W3 | 120 | #define MPS_OS_W3 |
diff --git a/mps/code/w3i3m9.nmk b/mps/code/w3i3m9.nmk index 435e5703b07..852b640f0ad 100644 --- a/mps/code/w3i3m9.nmk +++ b/mps/code/w3i3m9.nmk | |||
| @@ -23,7 +23,7 @@ DONGLELIB = $(RAINBOWPATH)\spromeps.lib | |||
| 23 | # /Gs appears to be necessary to suppress stack checks. Stack checks | 23 | # /Gs appears to be necessary to suppress stack checks. Stack checks |
| 24 | # (if not suppressed) generate a dependency on the C library, __chkesp, | 24 | # (if not suppressed) generate a dependency on the C library, __chkesp, |
| 25 | # which causes the linker step to fail when building the DLL, mpsdy.dll. | 25 | # which causes the linker step to fail when building the DLL, mpsdy.dll. |
| 26 | PFMDEFS = /DWIN32 /D_WINDOWS /Gs /I$(RAINBOWPATH) | 26 | PFMDEFS = /DCONFIG_PF_W3I3M9 /DWIN32 /D_WINDOWS /Gs /I$(RAINBOWPATH) |
| 27 | 27 | ||
| 28 | MPM = <ring> <mpm> <bt> <protocol> <boot> \ | 28 | MPM = <ring> <mpm> <bt> <protocol> <boot> \ |
| 29 | <arenavm> <arenacl> <locus> <arena> <global> <tract> <reserv> \ | 29 | <arenavm> <arenacl> <locus> <arena> <global> <tract> <reserv> \ |
| @@ -54,7 +54,7 @@ POOLN = <pooln> | |||
| 54 | TESTLIB = <testlib> | 54 | TESTLIB = <testlib> |
| 55 | 55 | ||
| 56 | 56 | ||
| 57 | !INCLUDE commpre.nmk | 57 | !INCLUDE commpre9.nmk |
| 58 | 58 | ||
| 59 | 59 | ||
| 60 | # Source to object file mappings and CFLAGS amalgamation | 60 | # Source to object file mappings and CFLAGS amalgamation |
diff --git a/mps/code/w3i3mv.nmk b/mps/code/w3i3mv.nmk index fc9509cd87b..daac11abd89 100644 --- a/mps/code/w3i3mv.nmk +++ b/mps/code/w3i3mv.nmk | |||
| @@ -11,7 +11,7 @@ DONGLELIB = $(RAINBOWPATH)\spromeps.lib | |||
| 11 | # /Gs appears to be necessary to suppress stack checks. Stack checks | 11 | # /Gs appears to be necessary to suppress stack checks. Stack checks |
| 12 | # (if not suppressed) generate a dependency on the C library, __chkesp, | 12 | # (if not suppressed) generate a dependency on the C library, __chkesp, |
| 13 | # which causes the linker step to fail when building the DLL, mpsdy.dll. | 13 | # which causes the linker step to fail when building the DLL, mpsdy.dll. |
| 14 | PFMDEFS = /DWIN32 /D_WINDOWS /Gs /I$(RAINBOWPATH) | 14 | PFMDEFS = /DCONFIG_PF_W3I3MV /DWIN32 /D_WINDOWS /Gs /I$(RAINBOWPATH) |
| 15 | 15 | ||
| 16 | MPM = <ring> <mpm> <bt> <protocol> <boot> \ | 16 | MPM = <ring> <mpm> <bt> <protocol> <boot> \ |
| 17 | <arenavm> <arenacl> <locus> <arena> <global> <tract> <reserv> \ | 17 | <arenavm> <arenacl> <locus> <arena> <global> <tract> <reserv> \ |