From b153ddbb83f65e5151e646fa276b7ed4da0ea928 Mon Sep 17 00:00:00 2001 From: Peter Jackson Date: Thu, 18 Aug 2011 20:43:12 +0100 Subject: [PATCH] Convert the build notes to html. Copied from Perforce Change: 175905 ServerID: perforce.ravenbrook.com --- mps/manual/build-notes/index.html | 372 ++++++++++++++++++++++++++++++ mps/manual/build-notes/index.txt | 243 ------------------- 2 files changed, 372 insertions(+), 243 deletions(-) create mode 100644 mps/manual/build-notes/index.html delete mode 100644 mps/manual/build-notes/index.txt diff --git a/mps/manual/build-notes/index.html b/mps/manual/build-notes/index.html new file mode 100644 index 00000000000..cedf1fb05aa --- /dev/null +++ b/mps/manual/build-notes/index.html @@ -0,0 +1,372 @@ + + + + + + + + + + + Memory Pool System Build Notes + + + + + +
+ +

+Ravenbrook / +Projects / +Memory Pool System / +Master Product Sources / +Product Manuals +

+ +

Memory Pool System Project

+ +
+ +

Memory Pool System Build Notes

+ +
+MPS staff, +Ravenbrook Limited +
+ +
+ +
+

Contents

+ + +
+ +

Introduction

+ +

+This document contains build notes for the Memory Pool System Kit. +

+

+The readership of this document is anyone who wants to build MPS +binaries from the sources. Read the readme.txt file first. +

+ +

+This document is not complete; the MPS kit is buildable on many +platforms that are not mentioned in these notes. The MPS kit is +easy to modify such that it builds on many more. +

+

+This document is not confidential. +

+ +

Platform support

+ + +

+The MPS has historically been built on many platforms that are either +now obsolete or to which we don't have convenient access. +

+ +
+Operating Systems
+
+  OS????
+
+  ia    Irix 6 N32 ABI
+  li    Linux
+  o1    OSF/1 aka Tru64
+  so    Solaris 5.x and successors
+  su    SunOS 4.x
+  s7    Mac OS 7 through 9
+
+CPU Architectures
+
+  ??AR??
+
+  al    ALPHA AXP
+  i3    Intel IA-32
+  i4    Same as i3 (a mistake)
+  m4    MIPS IV
+  pp    PowerPC (32-bit)
+  s8    SPARC v8
+  s9    SPARC v9 (32-bit)
+  m6    Motorola 68K family
+
+Compiler Toolchains
+
+  ????CC
+
+  cc    Vendor Supplied CC
+  gc    GCC
+  eg    EGCS
+  cx    SunPro C CXREF tool
+  gp    GCC with profiling
+  mv    Microsoft Visual C
+  m9    Microsoft Visual C 9.0 (temporary designation)
+  sc    SunPro C
+  ac    Apple Mr C
+  mw    Metrowerks Codewarrior
+
+The full list of platforms that have ever been supported:
+
+fri4gc  Maintained
+i5m2cc  Not maintained (no makefile)
+iam4cc  Not maintained
+lii3eg  Not maintained
+lii4gc  Maintained
+lippgc  Not maintained
+o1alcc  Not maintained
+o1algc  Not maintained
+s7m6mw  Not maintained (no makefile)
+s7ppac  Not maintained
+s7ppmw  Not maintained
+sos8cx  Not maintained
+sos8gc  Not maintained
+sos8gp  Not maintained
+sos9sc  Not maintained
+sus8gc  Not maintained
+w3almv  Not maintained (no makefile in trunk)
+w3i3mv  Maintained
+w3i3m9  Maintained
+w3ppmv  Not Maintained (no makefile in trunk)
+xci3gc  Maintained
+xcppgc  Maintained (in sunset)
+
+

+Platforms listed as "maintained" are used at Ravenbrook and the MPS +should work well on them. OS X on PowerPC (xcppgc) is in decline as +Apple have moved to Intel architecture and are no longer shipping +PowerPC based systems. +

+

+Platforms are generally listed as "not maintained" if Ravenbrook +doesn't have access to a suitable machine. Should you have access +to such a platform though, you should find that the MPS works on +it. You may have to spring-clean and update the relevant makefiles +(which we have left for exactly this purpose, even though we are unable +to maintain them). New files are added and sometimes reorganised +which sometimes requires changes to makefiles; we can't do this for +platforms we don't have access to. Also compiler options often +need tweaking from release to release. +

+

+Generally support is modularised in way that makes it fairly easy to +"fill in the gaps". So that, for example, the MPS support for the SPARC +architecture could in principle be used on a Linux/SPARC platform. In +practice the interfaces to architecture dependent stuff tends to be +dependent on the operating system and toolchain being used. For +combinations like FreeBSD/MIPS, Solaris/IA-32 which exist, but which +we've never had access to, it wouldn't be hard to get the MPS going on +them. +

+ +

Unix

+ +

+Note that the first build in a clean directory will produce warnings +because the dependency files (*.d) do not yet exist. The warnings look +like this:
+comm.gmk:533: xcppgc/hi/mpsi.d: No such file or directory +
+The warnings are normal and do not indicate a problem. After the +warning is emitted, the build-system makes the dependency file. +Subsequent builds in the non-clean directory see these dependency files +and do not emit the warning. +

+ +

Mac OS X

+ +

+2005-02-02
+Building on early releases of Mac OS X (DP3? 10.1?) required various +workarounds to get a clean compile. These workarounds have now been +removed from master sources. RHSK. +See +<ravenbrook.com/project/mps/issue/job000602/> + +

+ +

+2006-10-10
+Intel Macs. It's now possible to use xci3gc.gmk to build on Intel +architectures. Threads not supported. +

+

+2007-12-21
+Building on early releases of Mac OS X (DP3? 10.1?) required various +(now unnecessary) compiler flags to suppress warnings from Mac OS X +header files. These warnings are no loner suppressed. +Additionally, an obsolete flag for GDB (debugging) output is beleived +no longer necessary, and has been reverted. +See +<ravenbrook.com/project/mps/issue/job001714/> +

+ + +

Windows

+

+2005-10-06 (1.105)
+All MPS versions are now built with /Gs (for compilations) and /GZ +(for linking). This suppresses stack probe / stack check, which +would otherwise require __chkesp from C library. This change was +necessary to enable the new DLL version of the MPS, "mpsdy.dll". +RHSK. +See +<ravenbrook.com/project/mps/master/manual/supplement/dll-notes/> +

+ +

+2010-03-03 (1.109.0)
+New platform "w3i3m9" -- using Microsoft Visual C++ 9.0
+This platform is a clone of w3i3mv; the only differences are: +

+The only reason for this to be separate from the w3i3mv platform is +to enable builds with version 6.0 and version 9.0 compilers to be +kept separate, to enable performance comparisons. The w3i3m9 +clone may merge back into w3i3mv in the future.
+See +<ravenbrook.com/project/mps/issue/job001944/> +

+ +

+The Windows linker can accept a .def file to allow re-export of MPS +functions from a client executable that includes the MPS, such that +other client DLLs can link to and call those MPS functions. See the +w3gen.def file (renamed mps-fns.def for Configura releases). A +suitable command-line fragment might be "/def:w3gen.def". +See +<ravenbrook.com/project/mps/issue/job001936/> + +

+ +

References

+ + +

Document history

+ + +
2005-02-02 RHSK
+
Created based on mps kit readme.txt.
+
2006-10-10 DRJ
+
Note re Intel Macs.
+
2007-07-18 DRJ
+
Added platform support section.
+
2007-12-21 RHSK
+
Note re PPC Mac compiler flags.
+
2008-10-23 RHSK
+
Note re w3i3m9 (Windows Visual C++ 9.0) platform
+
2008-12-09 RHSK
+
Remove w3almv and w3ppmv makefiles.
+
2010-03-03 RHSK
+
More w3i3m9 details. Linker .def file for re-export.
+
2011-08-18 PNJ
+
Converted to HTML so the hyperlinks work, ready for further +enhancements.
+ +

C. Copyright and License

+ +

This document is copyright © 2005,2006,2007,2008,2010,2011 +Ravenbrook Limited. +All rights reserved. This is an open source license. +Contact Ravenbrook for commercial licensing options.

+ +

Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met:

+ +
    + +
  1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer.
  2. + +
  3. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +
  4. + +
  5. Redistributions in any form must be accompanied by information on +how to obtain complete source code for this software and any +accompanying software that uses this software. The source code must +either be included in the distribution or be available for no more than +the cost of distribution plus a nominal fee, and must be freely +redistributable under reasonable conditions. For an executable file, +complete source code means the source code for all modules it contains. +It does not include source code for modules or files that typically +accompany the major components of the operating system on which the +executable file runs.
  6. + +
+ +

This software is provided by the copyright holders and +contributors "as is" and any express or implied warranties, including, +but not limited to, the implied warranties of merchantability, fitness +for a particular purpose, or non-infringement, are disclaimed. In no +event shall the copyright holders and contributors be liable for any +direct, indirect, incidental, special, exemplary, or consequential +damages (including, but not limited to, procurement of substitute goods +or services; loss of use, data, or profits; or business interruption) +however caused and on any theory of liability, whether in contract, +strict liability, or tort (including negligence or otherwise) arising +in any way out of the use of this software, even if advised of the +possibility of such damage.

+ +
+ +
+ +

$Id$

+ +

+Ravenbrook / +Projects / +Memory Pool System / +Master Product Sources / +Product Manuals +

+ +
+ + + + + diff --git a/mps/manual/build-notes/index.txt b/mps/manual/build-notes/index.txt deleted file mode 100644 index 32705e3cd31..00000000000 --- a/mps/manual/build-notes/index.txt +++ /dev/null @@ -1,243 +0,0 @@ -MEMORY POOL SYSTEM BUILD NOTES - -Richard Kistruck, Ravenbrook Limited; document started 2005-02-02 - - -CONTENTS - - 1. Introduction - 2. Platform support - 3. Unix - 3.1. Mac OS X - 4. Windows - A. References - B. Document history - C. Copyright and license - - -1. INTRODUCTION - -This document contains build notes for the Memory Pool System Kit. - -The readership of this document is anyone who wants to build MPS -binaries from the sources. Read the readme.txt file first. - -This document is not complete; the MPS kit is buildable on many -platforms that are not mentioned in these notes. The MPS kit is -easy to modify such that it builds on many more. - -This document is not confidential. - - -2. PLATFORM SUPPORT - -The MPS has historically been built on many platforms that are either -now obsolete or to which we don't have convenient access. - -Operating Systems - - OS???? - - ia Irix 6 N32 ABI - li Linux - o1 OSF/1 aka Tru64 - so Solaris 5.x and successors - su SunOS 4.x - s7 Mac OS 7 through 9 - -CPU Architectures - - ??AR?? - - al ALPHA AXP - i3 Intel IA-32 - i4 Same as i3 (a mistake) - m4 MIPS IV - pp PowerPC (32-bit) - s8 SPARC v8 - s9 SPARC v9 (32-bit) - m6 Motorola 68K family - -Compiler Toolchains - - ????CC - - cc Vendor Supplied CC - gc GCC - eg EGCS - cx SunPro C CXREF tool - gp GCC with profiling - mv Microsoft Visual C - m9 Microsoft Visual C 9.0 (temporary designation) - sc SunPro C - ac Apple Mr C - mw Metrowerks Codewarrior - -The full list of platforms that have ever been supported: - -fri4gc Maintained -i5m2cc Not maintained (no makefile) -iam4cc Not maintained -lii3eg Not maintained -lii4gc Maintained -lippgc Not maintained -o1alcc Not maintained -o1algc Not maintained -s7m6mw Not maintained (no makefile) -s7ppac Not maintained -s7ppmw Not maintained -sos8cx Not maintained -sos8gc Not maintained -sos8gp Not maintained -sos9sc Not maintained -sus8gc Not maintained -w3almv Not maintained (no makefile in trunk) -w3i3mv Maintained -w3i3m9 Maintained -w3ppmv Not Maintained (no makefile in trunk) -xci3gc Maintained -xcppgc Maintained (in sunset) - -Platforms listed as "maintained" are used at Ravenbrook and the MPS -should work well on them. OS X on PowerPC (xcppgc) is in decline as -Apple have moved to Intel architecture and are no longer shipping -PowerPC based systems. - -Platforms are generally listed as "not maintained" if Ravenbrook -doesn't have access to a suitable machine. Should you have access -to such a platform though, you should find that the MPS works on -it. You may have to spring-clean and update the relevant makefiles -(which we have left for exactly this purpose, even though we are unable -to maintain them). New files are added and sometimes reorganised -which sometimes requires changes to makefiles; we can't do this for -platforms we don't have access to. Also compiler options often -need tweaking from release to release. - -Generally support is modularised in way that makes it fairly easy to -"fill in the gaps". So that, for example, the MPS support for the SPARC -architecture could in principle be used on a Linux/SPARC platform. In -practice the interfaces to architecture dependent stuff tends to be -dependent on the operating system and toolchain being used. For -combinations like FreeBSD/MIPS, Solaris/IA-32 which exist, but which -we've never had access to, it wouldn't be hard to get the MPS going on -them. - - -3. UNIX - -Note that the first build in a clean directory will produce warnings -because the dependency files (*.d) do not yet exist. The warnings look -like this: - comm.gmk:533: xcppgc/hi/mpsi.d: No such file or directory -The warnings are normal and do not indicate a problem. After the -warning is emitted, the build-system makes the dependency file. -Subsequent builds in the non-clean directory see these dependency files -and do not emit the warning. - - -3.1. MAC OS X - -2005-02-02 -Building on early releases of Mac OS X (DP3? 10.1?) required various -workarounds to get a clean compile. These workarounds have now been -removed from master sources. RHSK. -See - -2006-10-10 -Intel Macs. It's now possible to use xci3gc.gmk to build on Intel -architectures. Threads not supported. - -2007-12-21 -Building on early releases of Mac OS X (DP3? 10.1?) required various -(now unnecessary) compiler flags to suppress warnings from Mac OS X -header files. These warnings are no loner suppressed. -Additionally, an obsolete flag for GDB (debugging) output is beleived -no longer necessary, and has been reverted. -See - - -4. WINDOWS - -2005-10-06 (1.105) -All MPS versions are now built with /Gs (for compilations) and /GZ -(for linking). This suppresses stack probe / stack check, which -would otherwise require __chkesp from C library. This change was -necessary to enable the new DLL version of the MPS, "mpsdy.dll". -RHSK. -See - -2010-03-03 (1.109.0) -New platform "w3i3m9" -- using Microsoft Visual C++ 9.0 -This platform is a clone of w3i3mv; the only differences are: - - compiler & linker options (see commpre9.nmk); - - use w3i3m9.nmk (not w3i3mv.nmk) to build it; - - the MPS_PF_STRING in version.c is "w3i3m9" (not "w3i3mv"). -The only reason for this to be separate from the w3i3mv platform is -to enable builds with version 6.0 and version 9.0 compilers to be -kept separate, to enable performance comparisons. The w3i3m9 -clone may merge back into w3i3mv in the future. -See - -The Windows linker can accept a .def file to allow re-export of MPS -functions from a client executable that includes the MPS, such that -other client DLLs can link to and call those MPS functions. See the -w3gen.def file (renamed mps-fns.def for Configura releases). A -suitable command-line fragment might be "/def:w3gen.def". -See - - -A. REFERENCES - - -B. DOCUMENT HISTORY - -2005-02-02 RHSK Created based on mps kit readme.txt. -2006-10-10 DRJ Note re Intel Macs. -2007-07-18 DRJ Added platform support section. -2007-12-21 RHSK Note re PPC Mac compiler flags. -2008-10-23 RHSK Note re w3i3m9 (Windows Visual C++ 9.0) platform -2008-12-09 RHSK Remove w3almv and w3ppmv makefiles. -2010-03-03 RHSK More w3i3m9 details. Linker .def file for re-export. - - -C. COPYRIGHT AND LICENSE - -Copyright (C) 2005,2006,2007,2008,2010 Ravenbrook Limited . -All rights reserved. This is an open source license. Contact -Ravenbrook for commercial licensing options. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Redistributions in any form must be accompanied by information on how -to obtain complete source code for this software and any -accompanying software that uses this software. The source code must -either be included in the distribution or be available for no more than -the cost of distribution plus a nominal fee, and must be freely -redistributable under reasonable conditions. For an executable file, -complete source code means the source code for all modules it contains. -It does not include source code for modules or files that typically -accompany the major components of the operating system on which the -executable file runs. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -$Id$