Ken Brown
b57067e8a0
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
e722ec9cfe
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
6b3a490b0e
New platform lia6gc (linux, arm64, gcc).
2021-06-03 21:58:04 +01:00
Gareth Rees
331e8db191
New platform lia6ll (linux, arm64, clang/llvm).
2021-06-03 21:58:04 +01:00
Gareth Rees
992981c2d4
New platform xca6ll (macos, arm64, clang/llvm).
2021-06-03 21:58:04 +01:00
Gareth Rees
f47c389a52
Fix indentation of second clause of license.
2020-08-30 10:13:06 +01:00
Gareth Rees
af0f431eda
Use https: instead of http: when linking to the ravenbrook web site.
2020-08-30 10:13:03 +01:00
Peter Jackson
4de2606846
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
d245671303
Update urls (mostly http -> https).
...
Copied from Perforce
Change: 195858
2018-12-10 13:07:41 +00:00
Richard Brooksby
fe91fa9480
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
fd1ff6f863
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
65acde4812
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
f40e950f7e
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
c1df7b56ce
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
f7f4c6bc1c
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
55ef6fce3c
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
6fcc24771d
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
61743c36b4
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
847614be04
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
4f60f9698c
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
917e3197b5
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
a0c1a2e00c
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
f0bb61b035
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
d1fe81d8bc
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
e5221f66f5
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
162f92cddd
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
f25180bcc9
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
7b40db17e9
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
81634e8cbb
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
43c30eefdb
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
0f4b6dc65d
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
9e6f6ee4ac
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
3b2f20e50c
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
ec55536827
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
e6eeb3651e
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
fc311e8edc
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
e8380158a7
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
970b5f58da
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
49c6d6b2f9
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
36dd1ada0f
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
4c5e2167f7
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
0300ffec3c
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
f6d0d07c66
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
1a2468b8c0
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
511f04b247
Remove mpstd.h
...
Copied from Perforce
Change: 30381
ServerID: perforce.ravenbrook.com
2002-06-21 15:06:03 +01:00
Richard Brooksby
667f82dbc4
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
c11fa19243
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
0c8fe12191
Integrate changes from global graphics.
...
Copied from Perforce
Change: 30250
ServerID: perforce.ravenbrook.com
2002-06-18 14:14:55 +01:00
Richard Brooksby
f22e14e334
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
5afb4899ef
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