Ken Brown
15bddbabf9
Support the Cygwin build of MPS
...
* mps/code/prmccyi6.c:
* mps/code/cyi6gc.gmk: New files, for the Cygwin build.
* mps/code/config.h:
* mps/code/lockix.c:
* mps/code/prmcix.c:
* mps/code/protix.c:
* mps/code/protsgix.c:
* mps/code/pthrdext.c:
* mps/code/testthr.h:
* mps/code/thix.c:
* mps/code/vmix.c: Port to Cygwin.
* mps/configure.ac (x86_64-*-cygwin*/no): Add definitions for
Cygwin.
* mps/code/mps.c [MPS_PF_CYI6GC]:
* mps/code/mpstd.h: Define 64-bit Cygwin stuff.
* mps/code/gcbench.c: [MPS_OS_CY]:
* mps/code/djbench.c [MPS_OS_CY]: Include alloca.h.
* mps/code/arenacv.c (TEST_ARENA_SIZE) [MPS_OS_CY]: Increase to
make test pass. (Bug#74805)
* mps/code/arenavm.c (VMArenaCreate): Avoid compiler warning.
2025-10-08 10:33:45 -04:00
Eli Zaretskii
74492583e5
Support the MinGW build of MPS and tests, part 1
...
* mps/code/w3i6gc.gmk:
* mps/code/w3i3gc.gmk:
* mps/code/mingw.gmk: New files, for the MinGW build.
* mps/code/ss.c (StackHot) [__MINGW32__ && __GNUC__ >= 12]: Ignore
dangling-pointer warnings.
* mps/code/global.c (ArenaFinalize): Avoid compiler warnings.
* mps/code/thw3.c (ThreadScan): Avoid compilation errors due to
prototype mismatch.
* mps/code/testlib.h (alloca): Don't redefine for MinGW.
(setenv): Don't redefine for mingw.org's MinGW.
(ulongest_t, longest_t): Separate definitions for MinGW64.
* mps/code/testlib.c (sizelog2) [__MINGW32__]: Fix comparison.
(rnd_align): Avoid name clashes with 'min' and 'max'.
* mps/code/spw3i3.c (StackProbe) [__GNUC__]: Implementation for
MinGW.
* mps/code/protw3.c: Avoid compiler warning.
* mps/code/mpstd.h: Define MinGW (_X86_) and MinGW64 (__X86_64)
configurations.
* mps/code/mpsiw3.c (mps_SEH_filter, mps_SEH_handler): Add
prototypes.
* mps/code/mps.c [MPS_PF_W3I3GC]: Define 32-bit MinGW stuff.
[MPS_PF_W3I6GC]: Define 64-bit MinGW64 stuff.
* mps/code/lockw3.c (RTL_RUN_ONCE, PRTL_RUN_ONCE_INIT_FN)
(RTL_RUN_ONCE_INIT, INIT_ONCE_STATIC_INIT, RTL_RUN_ONCE INIT_ONCE)
(PRTL_RUN_ONCE PINIT_ONCE, PINIT_ONCE_FN, InitOnceExecuteOnce):
Define for mingw.org's MinGW.
* mps/code/comm.gmk (EVENT_TARGETS, EXTRA_TARGETS, TEST_TARGETS)
(UNBUILDABLE_TARGETS): Add $(EXEEXT) to program names.
(TESTTHR): Define correct test for MS-Windows.
Don't fail the build if the *.d dependency files don't exist.
2025-09-24 13:02:30 +03:00
Gareth Rees
1660aea106
New platform lia6gc (linux, arm64, gcc).
2021-06-03 21:58:04 +01:00
Gareth Rees
61d8887ff8
New platform lia6ll (linux, arm64, clang/llvm).
2021-06-03 21:58:04 +01:00
Gareth Rees
ca146d96d6
New platform xca6ll (macos, arm64, clang/llvm).
2021-06-03 21:58:04 +01:00
Gareth Rees
5559f36540
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
5165d75267
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Peter Jackson
1d00afac81
Publish licence updates in code directory.
...
Publish minor changes to readme and configure files in main directory.
Main directory and code directory licence texts are now fully updated.
Copied from Perforce
Change: 196994
2020-06-11 17:05:40 +01:00
Gareth Rees
fd8eba1528
Update urls (mostly http -> https).
...
Copied from Perforce
Change: 195858
2018-12-10 13:07:41 +00:00
Richard Brooksby
af037d483c
Squelching bogus type pun warnings from gcc 4.7 to get a clean build in travis ci.
...
Adding platform XCI6GC to allow faster debugging of CI builds on Mac OS X with MacPorts GCC 4.7 installed. Not otherwise supported.
Copied from Perforce
Change: 191357
ServerID: perforce.ravenbrook.com
2016-04-20 13:59:23 +01:00
Richard Brooksby
87aed22778
Clearing up various fixmes by making the type naming inconsistency clearly visible and intentional.
...
Copied from Perforce
Change: 190980
ServerID: perforce.ravenbrook.com
2016-04-12 10:51:41 +01:00
Richard Brooksby
7d93da3182
Adding new platform fri3ll to support freebsd 10 and above, which have clang and not gcc by default.
...
Copied from Perforce
Change: 189622
ServerID: perforce.ravenbrook.com
2016-03-04 13:20:51 +00:00
Richard Brooksby
a8de8eec7c
Adding new platform fri6ll to support freebsd 10 and above, which have clang and not gcc by default.
...
Copied from Perforce
Change: 189560
ServerID: perforce.ravenbrook.com
2016-03-02 22:00:11 +00:00
Gareth Rees
00ee0bfcc5
64-bit support for pelles c:
...
* New nmake file w3i6pc.nmk.
* New stack scanner ssw3i6pc.c supplies missing jump buffer definition.
* Some platform tests change from defined(MPS_PF_W3I6MV) to defined(MPS_OS_w3) && defined(MPS_ARCH_I6).
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** Ensure that printf formats are consistent with arguments by using PRIuLONGEST and casting to ulongest_t.
** Use size_t for loop variables that index into arrays.
** Suppress "Consider changing type to 'size_t' for loop variable" warnings for the MPS core.
Copied from Perforce
Change: 184996
ServerID: perforce.ravenbrook.com
2014-03-25 10:59:09 +00:00
Gareth Rees
4ef183e62a
Mps compiles and runs using pelles c.
...
Merge code from Bruce Mitchener <https://github.com/Ravenbrook/mps-temporary/pull/2 > and from RB <https://github.com/waywardmonkeys/mps-temporary/pull/1/files >.
Split call to EVENT_LIST so that event.c compiles.
Remove useless call to va_end in seg.c.
Copied from Perforce
Change: 184948
ServerID: perforce.ravenbrook.com
2014-03-21 18:28:39 +00:00
Gareth Rees
b59ba75674
New supported platform lii6ll (linux, x86-64, clang/llvm).
...
Copied from Perforce
Change: 183414
ServerID: perforce.ravenbrook.com
2013-09-11 10:27:22 +01:00
Gareth Rees
7bc31bced8
Don't detect the compiler as gcc when it's actually clang. emit an error instead.
...
Copied from Perforce
Change: 183334
ServerID: perforce.ravenbrook.com
2013-08-20 17:10:36 +01:00
Gareth Rees
3c48eff730
On platform lii6gc, the mps needs a bunch of symbols which are not defined if the -ansi option is given to gcc. these can be enabled by defining features like _gnu_source, but all headers share a common set of features (via <feature.h>) and so all sources in the same compilation unit must turn on the same set of features. make sure this happens by turning on the features in config.h (not mpstd.h).
...
Remove <string.h> from mpsi.h (not needed).
Copied from Perforce
Change: 182124
ServerID: perforce.ravenbrook.com
2013-05-23 19:35:47 +01:00
Richard Brooksby
2f79ef3b9e
Converting design.mps.config to restructuredtext. rewriting, correcting, clarifying, and generally bringing it up-to-date.
...
Removing misplaced obsolete design text from mpstd.h.
Tidying up the format of a couple of other docs.
Copied from Perforce
Change: 181717
ServerID: perforce.ravenbrook.com
2013-05-11 17:53:40 +01:00
Richard Brooksby
c4d6a2de1f
Merging spelling corrections contributed by bruce mitchener.
...
See <1c80ccb634 >.
Copied from Perforce
Change: 180956
ServerID: perforce.ravenbrook.com
2013-02-18 15:46:39 +00:00
Nick Barnes
1330a1a99c
Remove unused mps_t_longest type.
...
Copied from Perforce
Change: 180169
ServerID: perforce.ravenbrook.com
2012-10-30 17:14:45 +00:00
Richard Brooksby
27a3ea8387
Making the error message produced when the mpstd.h fails more helpful.
...
Copied from Perforce
Change: 179597
ServerID: perforce.ravenbrook.com
2012-09-20 18:23:41 +01:00
Richard Brooksby
d3d7860572
Removing unnecessary definition of _reentrant on freebsd. cc -dm -e reveals that this is not set by -pthread, and inspection of headers reveals no effect. checked on freebsd 7 and 9.
...
Copied from Perforce
Change: 179201
ServerID: perforce.ravenbrook.com
2012-09-03 14:48:51 +01:00
Richard Brooksby
b88b9d2d64
Fixing up platform definitions after test build on ubuntu 12.
...
Copied from Perforce
Change: 179181
ServerID: perforce.ravenbrook.com
2012-09-03 01:09:09 +01:00
Richard Brooksby
17977ef9c8
Eliminating pfmdefs from makefiles by moving them to mpstd.h so that the mps can be built with a simpler compiler command.
...
Copied from Perforce
Change: 179180
ServerID: perforce.ravenbrook.com
2012-09-03 00:49:02 +01:00
Richard Brooksby
82ea345724
Correcting misnamed i4 architecture to i3. this distinction was once slightly useful for optimisation, but no longer makes any sense.
...
Copied from Perforce
Change: 178935
ServerID: perforce.ravenbrook.com
2012-08-15 15:37:42 +01:00
Richard Brooksby
a801df50f4
Adding fri6gc (freebsd on amd64/x86_64) platform.
...
Unifying thfr.c with generalised thix.c for Posix threads.
Copied from Perforce
Change: 178928
ServerID: perforce.ravenbrook.com
2012-08-14 17:30:22 +01:00
Richard Brooksby
affc709f25
Merging 64-bit linux port from branch/2012-07-26/linux-catchup
...
Copied from Perforce
Change: 178913
ServerID: perforce.ravenbrook.com
2012-08-13 13:53:20 +01:00
Richard Brooksby
ad517163a9
Removing obsolete platforms:
...
LII3EG Linux on i386 with EGCS
LIPPGC Linux on POWER with GCC
S7PPMW Mac System 7 on PowerPC with Metrowerks Codewarrior
SOS8CX Solaris on SPARC 8 with cxref
SOS8GC Solaris on SPARC 8 with GCC
SOS8GP Solaris on SPARC 8 with GCC and gprof
SOS9SC Solaris on SPARC 9 with SunPro C
XCPPGC Mac OS X on PowerPC with GCC
Copied from Perforce
Change: 178908
ServerID: perforce.ravenbrook.com
2012-08-12 23:27:35 +01:00
David Lovemore
be8a839d83
Made 64 bit linux port lii6gc. i've renamed thlii4.c to thli.c.
...
Copied from Perforce
Change: 178876
ServerID: perforce.ravenbrook.com
2012-08-09 16:05:08 +01:00
Richard Brooksby
215ef086cb
Removed support for old or dead platforms: osf/1, irix, mac system 7, sunos, windows nt on alpha, windows nt on powerpc.
...
See <https://github.com/datafueled/memory-pool-system/pull/3 > for the origin of this change.
Copied from Perforce
Change: 178872
ServerID: perforce.ravenbrook.com
2012-08-08 19:02:57 +01:00
Richard Brooksby
c395667fd7
Merging branch/2012-05-21/build-xci6ll -- build support for 64-bit mac os x.
...
Copied from Perforce
Change: 178560
ServerID: perforce.ravenbrook.com
2012-07-05 14:38:21 +01:00
David Lovemore
06cd8d0b84
Added comments for w3i6mv, and removed speculative xci6gc code, which is done properly on a different branch.
...
Copied from Perforce
Change: 178497
ServerID: perforce.ravenbrook.com
2012-06-18 16:19:02 +01:00
Richard Brooksby
f2f702fc18
Added single compilation unit version of mps library to allow global optimization and universal binary building. minor fixes to other sources to avoid clashing symbols.
...
Separated XCI3GC (gcc) from XCI3LL (clang) platforms, so that we can build both 32- and 64-bit binaries with clang.
Enabled universal (multi architecture) builds.
Copied from Perforce
Change: 178287
ServerID: perforce.ravenbrook.com
2012-05-22 21:27:55 +01:00
Richard Brooksby
5dc28bfc61
Several tests running on xci6ll target.
...
Copied from Perforce
Change: 178286
ServerID: perforce.ravenbrook.com
2012-05-22 20:02:28 +01:00
Richard Brooksby
177133e65a
Basic build of mps library and mpmss test using xcode on xci6ll platform.
...
Copied from Perforce
Change: 178246
ServerID: perforce.ravenbrook.com
2012-05-21 18:58:57 +01:00
Richard Brooksby
3893cede56
Catching up with masters, to bring in work from branch/2012-03-27/longest.
...
Copied from Perforce
Change: 178073
ServerID: perforce.ravenbrook.com
2012-05-01 16:29:25 +01:00
Richard Brooksby
80fe60df02
Added w3i6mv platform and fixed types of arguments to windows api functions for 64-bit.
...
Copied from Perforce
Change: 178063
ServerID: perforce.ravenbrook.com
2012-04-30 14:33:00 +01:00
Richard Brooksby
5225a4be56
Introducing ulongest type. see design/types/#ulongest.
...
Fixing WriteF to take ULongest rather than unsigned long, and fixing intrnal assumption that Word was as big as unsigned long.
Copied from Perforce
Change: 177814
ServerID: perforce.ravenbrook.com
2012-03-27 16:55:31 +01:00
Peter Jackson
d7136bdbc0
Mainline changes to make a standard nt build environment based on nt6.1
...
(Windows7) and its SDK. The w3i3m9 pseudo platform has been removed and
w3i3mv adjusted for this framework.
Copied from Perforce
Change: 175966
ServerID: perforce.ravenbrook.com
2011-08-29 13:09:37 +01:00
Richard Kistruck
7ad16fa35c
Mps br/vc9: mpstd.h: (for all remaining platforms)
...
- fix broken behaviour if CONFIG_PF_* is set (result depends on
order of the various platform elifs!); change it to always use
platform detection by looking at preprocessor symbols, and
then (if CONFIG_PF_STRING *and* CONFIG_PF_* are set) check
that CONFIG and detection match;
xcppgc.gmk: define both CONFIG_PF_STRING and CONFIG_PF_*.
Copied from Perforce
Change: 166513
ServerID: perforce.ravenbrook.com
2008-10-21 18:32:26 +01:00
Richard Kistruck
9fb009a3b0
Mps br/vc9: mpstd.h:
...
- fix broken behaviour if CONFIG_PF_* is set (result depends on
order of the various platform elifs!); change it to always use
platform detection by looking at preprocessor symbols, and
then (if CONFIG_PF_STRING *and* CONFIG_PF_* are set) check
that CONFIG and detection match;
- write design notes about interaction of CONFIG_PF_* and
platform detection.
w3i3m[v9].nmk: define both CONFIG_PF_STRING and CONFIG_PF_*.
Copied from Perforce
Change: 166512
ServerID: perforce.ravenbrook.com
2008-10-21 17:44:17 +01:00
Richard Kistruck
f8d35dd8ec
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
2008-10-20 17:31:57 +01:00
David Jones
2b568041ab
Mps: roughing a makefile so that intel os x builds are possible.
...
Copied from Perforce
Change: 160735
ServerID: perforce.ravenbrook.com
2006-10-10 15:08:14 +01:00
Nick Barnes
babf8fa85c
Remove mpstd.h
...
Copied from Perforce
Change: 30381
ServerID: perforce.ravenbrook.com
2002-06-21 15:06:03 +01:00
Richard Brooksby
ae3c248878
Changing global graphics copyright notice to say "portions copyright" to avoid confusion.
...
Copied from Perforce
Change: 30258
ServerID: perforce.ravenbrook.com
2002-06-18 16:28:41 +01:00
Richard Brooksby
e854cd8e1d
Merging branch mps/2002-05-22/open-source-prep.
...
Making some new files consistent with changes from that branch.
Deleting some new Global Graphics confidential files.
Copied from Perforce
Change: 30256
ServerID: perforce.ravenbrook.com
2002-06-18 16:19:34 +01:00
Nick Barnes
6a1a360814
Integrate changes from global graphics.
...
Copied from Perforce
Change: 30250
ServerID: perforce.ravenbrook.com
2002-06-18 14:14:55 +01:00
Richard Brooksby
78ef580722
Eliminating "impl" type tags and replacing them with uri-style file references.
...
Copied from Perforce
Change: 29900
ServerID: perforce.ravenbrook.com
2002-06-07 17:34:59 +01:00
Richard Brooksby
a0f676c8e1
Adding forward reference to licenses from copyright notices.
...
Adding licenses to a couple of files I missed.
Copied from Perforce
Change: 29837
ServerID: perforce.ravenbrook.com
2002-06-06 11:56:19 +01:00