1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 16:51:06 -07:00
Commit graph

47 commits

Author SHA1 Message Date
Helmut Eller
640d175de1 * mps/Makefile.in (config.status): Use config.status --recheck 2025-09-26 17:50:43 +02:00
Helmut Eller
7c2bdaa548 Support out-of-tree builds
* mps/example/scheme/Makefile.in (VPATH): Set VPATH.
* mps/Makefile.in (COMMON_OPTS): New.  Pass SRCDIR down to sub-make.
* mps/code/comm.gmk (VPATH): Set VPATH from SRCDIR parameter
* mps/configure.ac (AC_CONFIG_COMMANDS): Copy .gmk makefiles and some
other things to the biuld directory.
2025-09-22 16:56:02 +02:00
Helmut Eller
7f3726d9a0 Better support for parallel make
* mps/code/comm.gmk (LIB_TARGETS, TEST_TARGETS, EVENT_TARGETS)
(TEST_SUITES, testmmqa): If VARIETY is not defined, then disable
parallism with .NOTPARALLEL.  Otherwise, avoid the recursive make with
a static pattern rule.
(clean-testansi, clean-testpollnone): New.
* mps/Makefile.in (build-via-make): Invoke submake explicit
VARIETY argument to allow more parallelism.
(test-make-build): Use clean-testansi and clean-testpollnone.
2025-09-15 08:23:25 +02:00
Helmut Eller
aa64859978 Relax compiler flags in Makefile
We don't want to abort on every warning.

* mps/configure.ac (CFLAGS_GC): Remove -Werror.
* mps/Makefile.in (CFLAGSCOMPILERSTRICT): Add -Wno-error.
2025-09-13 13:51:28 +02:00
Richard Brooksby
763c3ea93a Reverting 2a5eab7 (changelist 181860) that introduced gnu syntax into the top-level makefile, breaking freebsd builds. adding warning to prevent similar mistakes. 2023-01-10 23:43:49 +00:00
Gareth Rees
cf06b9416b Update license for a couple of files (makefile.in, tool/testaslr.c). 2020-08-30 10:04:20 +01:00
Gareth Rees
4dd6e899f5 Build and test the toy scheme interpreter during continuous integration, to reduce the risk of accidentally breaking it.
Copied from Perforce
 Change: 192133
 ServerID: perforce.ravenbrook.com
2016-09-04 14:47:08 +01:00
Gareth Rees
14d975c6a4 Add a test checking that the hot variety is not too much slower than the rash variety. turn this on for continuous integration testing via "make test".
Copied from Perforce
 Change: 191339
 ServerID: perforce.ravenbrook.com
2016-04-20 13:15:18 +01:00
Gareth Rees
ae0d904086 Don't run mmqa on every travis build: it has intermittent failures.
Copied from Perforce
 Change: 190027
 ServerID: perforce.ravenbrook.com
2016-03-14 11:51:35 +00:00
Gareth Rees
8aea7df2ee Regular testing of mmqa: "make test-make-build" at top level now runs mmqa, hence so does "make test" on linux and freebsd. the whole test suite, including testci, testmmqa, testansi, and testpollnone, takes 26 minutes on my laptop.
MMQA "run" and "runset" commands now exit with non-zero status if any of the tests failed, so that test failures can be identifed by the calling program (for example, make).
Add missing license to files that state "See end of file for license."

Copied from Perforce
 Change: 189957
 ServerID: perforce.ravenbrook.com
2016-03-13 12:57:02 +00:00
Gareth Rees
1a45f8ed9a Rename "testpoll" to "testpollnone" (because the old name was misleading: this tests the configuration *without* polling).
Copied from Perforce
 Change: 187449
 ServerID: perforce.ravenbrook.com
2014-11-02 16:52:52 +00:00
Gareth Rees
883f4a4c3f Catch-up merge from master sources @186077 to branch/2014-03-30/addrset.
Copied from Perforce
 Change: 186081
 ServerID: perforce.ravenbrook.com
2014-05-13 16:21:39 +01:00
Gareth Rees
35985c3587 Catch-up merge from master sources @186035 to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 186040
 ServerID: perforce.ravenbrook.com
2014-05-12 18:42:33 +01:00
Gareth Rees
9836b47c70 Fix problems identified in nb's review <https://info.ravenbrook.com/mail/2014/05/12/15-10-13/0/>.
Copied from Perforce
 Change: 186038
 ServerID: perforce.ravenbrook.com
2014-05-12 18:22:40 +01:00
Gareth Rees
e75322e735 Use xcrun so that we support xcode-select.
Copied from Perforce
 Change: 185998
 ServerID: perforce.ravenbrook.com
2014-05-11 18:16:46 +01:00
Gareth Rees
6f9fffb26a Use variety=cool to get more checking.
Copied from Perforce
 Change: 185900
 ServerID: perforce.ravenbrook.com
2014-04-30 16:06:40 +01:00
Gareth Rees
b9ccc0af7a Fix problems identified by dl in <https://info.ravenbrook.com/mail/2014/04/30/12-47-23/0/>.
Copied from Perforce
 Change: 185897
 ServerID: perforce.ravenbrook.com
2014-04-30 15:24:26 +01:00
Gareth Rees
eeaf8b887a Revert hasty merge of branch/2014-04-15/shared -- broke xcode build.
Copied from Perforce
 Change: 185553
 ServerID: perforce.ravenbrook.com
2014-04-15 12:39:51 +01:00
Gareth Rees
82e38aaf7c Fix installation on linux and freebsd.
Copied from Perforce
 Change: 185545
 ServerID: perforce.ravenbrook.com
2014-04-15 11:15:21 +01:00
Gareth Rees
992ab111d6 Build and install a shared library on unix platforms.
Copied from Perforce
 Change: 185543
 ServerID: perforce.ravenbrook.com
2014-04-15 11:02:05 +01:00
Gareth Rees
c8071e3332 Compile cool before hot because the former doesn't need to optimize and so detects errors more quickly; and because the former uses file-at-a-time compilation and so can pick up where it left off instead of having to start from the beginning of mps.c.
Copied from Perforce
 Change: 185211
 ServerID: perforce.ravenbrook.com
2014-04-03 15:02:20 +01:00
Gareth Rees
cf6b528d6e Fix the build for the usual configuration (not disabled_shield).
"make test" compiles the CONFIG_POLL_NONE configuration but doesn't run any test cases (not sure which ones are expected to pass yet).

Copied from Perforce
 Change: 185188
 ServerID: perforce.ravenbrook.com
2014-04-02 16:53:46 +01:00
Gareth Rees
05c742dc83 We can't run the test cases yet with config_poll_none.
Copied from Perforce
 Change: 185177
 ServerID: perforce.ravenbrook.com
2014-04-02 15:50:18 +01:00
Gareth Rees
643ab5a49a Improve clarity of product configuration so that names more explicitly indicate what they do:
* CONFIG_POLL_NONE (because the user-visible consequence is that polling is no longer supported; was CONFIG_PROTECTION_NONE).
* DISABLE_LOCKS (was THREAD_SINGLE).
* DISABLE_SHIELD (was THREAD_SINGLE && PROTECTION_NONE)
* DISABLE_REMEMBERED_SET (was PROTECTION_NONE)
When the shield is disabled, ArenaLeave asserts that there are no busy traces, and ArenaPoll is a no-op.
By having functions implemented using the corresponding macro, we can avoid duplicated code, and avoid testing DISABLE_SHIELD in global.c.
Remove all remaining references to MPS_PROD_EPCORE.

Copied from Perforce
 Change: 185176
 ServerID: perforce.ravenbrook.com
2014-04-02 15:48:57 +01:00
Gareth Rees
ada625ef8b Reduce busyness of the diff by restoring the order.
Copied from Perforce
 Change: 185052
 ServerID: perforce.ravenbrook.com
2014-03-27 15:38:39 +00:00
Gareth Rees
693e3a4622 Test case database now notes which test cases use threads.
New test suite "testansi" consists of test cases that run on the generic ("ANSI") platform.
New target "ansi" builds the MPS with the CONFIG_PF_ANSI CONFIG_THREAD_SINGLE and CONFIG_PROTECTION_NONE settings.
Build and test the "ansi" target as part of "make test" for the benefit of the buildbots (just Linux and FreeBSD for the moment).

Copied from Perforce
 Change: 185050
 ServerID: perforce.ravenbrook.com
2014-03-27 15:19:42 +00:00
Gareth Rees
74c04b45f0 Provide three different test targets for different purposes:
* testrun = "smoke test", fast enough to run before every commit
* testci = continuous integration tests, must be known good
* testall = all test cases, for ensuring quality of a release
Switch the main "make test" from testrun to testci.
Put test cases into "database" so that they can be selected.

Copied from Perforce
 Change: 185039
 ServerID: perforce.ravenbrook.com
2014-03-27 11:52:27 +00:00
Gareth Rees
334bb97b71 Use $(make) literally in the rules (not via expansion of a variable) so as to support the --jobs option.
Copied from Perforce
 Change: 183333
 ServerID: perforce.ravenbrook.com
2013-08-20 17:06:23 +01:00
Richard Brooksby
032457f550 Removing gnuisms from top-level makefile so that it works on freebsd.
Copied from Perforce
 Change: 182010
 ServerID: perforce.ravenbrook.com
2013-05-20 19:25:57 +01:00
Gareth Rees
2a5eab7e21 Improve installation rule: don't need shell loop here.
Copied from Perforce
 Change: 181860
 ServerID: perforce.ravenbrook.com
2013-05-16 13:54:36 +01:00
Gareth Rees
a8745f6701 Test suite runs on os x:
* New Xcode target "testrun" runs all the (runnable) test cases.
* Makefile provides separate targets test-make-build and test-xcode-build for running test suite on different platforms.
* configure selects the appropriate test target.

Copied from Perforce
 Change: 181085
 ServerID: perforce.ravenbrook.com
2013-03-08 10:17:08 +00:00
Gareth Rees
61290172be Test cases now run by "make test" (on platforms with makefiles).
Copied from Perforce
 Change: 181070
 ServerID: perforce.ravenbrook.com
2013-03-07 10:28:30 +00:00
Gareth Rees
a4a18a1a27 More build/install improvements:
1. Name the command-line tools with the "mps" prefix throughout, for consistency between build and installation.
2. Don't build "mpseventsql.exe" by default on Windows.
3. Instructions for building mpseventsql on the supported platforms.

Copied from Perforce
 Change: 180913
 ServerID: perforce.ravenbrook.com
2013-02-05 15:43:41 +00:00
Gareth Rees
3bb1bdfc97 Check for sqlite3.h earlier in the configure process: seems more reliable, but don't understand why. (bad compiler flags on mac os x?)
Copied from Perforce
 Change: 180910
 ServerID: perforce.ravenbrook.com
2013-02-05 14:51:01 +00:00
Gareth Rees
e375f6c353 Improvements to the mps build/installation process:
1. Build eventtxt on Mac OS X (add "eventtxt" as dependency for "all" target).
2. In configure, check for the existence of the header "sqlite3.h" and set EXTRA_TARGETS accordingly.
3. In top-level Makefile, install all targets in EXTRA_TARGETS.

Copied from Perforce
 Change: 180907
 ServerID: perforce.ravenbrook.com
2013-02-05 13:34:42 +00:00
Gareth Rees
1096ed0553 Fix installation on os x (build directory is now code/xc).
On OS X, install eventsql as well as eventcnv.

Copied from Perforce
 Change: 180420
 ServerID: perforce.ravenbrook.com
2012-11-08 16:20:20 +00:00
Richard Brooksby
2ddd126790 Adding simple "make test" target to top-level makefile.
Copied from Perforce
 Change: 179499
 ServerID: perforce.ravenbrook.com
2012-09-14 23:05:31 +01:00
Richard Brooksby
6150f86294 Adding rules to make and install cool variety mps on mac os x.
Ensuring Makefile isn't built with out-of-date config.status.

Copied from Perforce
 Change: 179468
 ServerID: perforce.ravenbrook.com
2012-09-13 12:54:43 +01:00
Richard Brooksby
6db85ae200 Fixing "make install" to use local install program and avoid permissions problems.
Copied from Perforce
 Change: 179467
 ServerID: perforce.ravenbrook.com
2012-09-13 12:49:49 +01:00
Richard Brooksby
86c82c48c5 Merging "make install" implementation from bruce mitchener <https://github.com/datafueled/memory-pool-system/pull/8>.
curl -O "https://github.com/datafueled/memory-pool-system/pull/8.patch" | patch -g1

Copied from Perforce
 Change: 179466
 ServerID: perforce.ravenbrook.com
2012-09-13 11:59:26 +01:00
Richard Brooksby
85e7e8f99e Merging https://github.com/datafueled/memory-pool-system/pull/6 to make configure work on freebsd (whose "make" isn't gnu make).
Copied from Perforce
 Change: 179400
 ServerID: perforce.ravenbrook.com
2012-09-10 17:24:47 +01:00
Richard Brooksby
f1df2c28d5 Merging https://github.com/datafueled/memory-pool-system/compare/configure-fixes from bruce.
Copied from Perforce
 Change: 179399
 ServerID: perforce.ravenbrook.com
2012-09-10 16:13:43 +01:00
Richard Brooksby
8a7c20ac96 Moving build-aux out of the way to tools/autoconf.
Correcting build and clean target substitutions for Mac OS X.
Adding Makefile rule for configure itself, running autoreconf.

Copied from Perforce
 Change: 179375
 ServerID: perforce.ravenbrook.com
2012-09-09 20:33:44 +01:00
Richard Brooksby
06221a5e5a Backing out changelist 179369. something's not write with the ipad filesystem.
Copied from Perforce
 Change: 179372
 ServerID: perforce.ravenbrook.com
2012-09-09 19:57:20 +01:00
Richard Brooksby
c5f063eb97 Adding short name and link to configure.ac.
Attempting to link code/GNUmakefile when configure is run, so that invocations of make become easy.

Copied from Perforce
 Change: 179369
 ServerID: perforce.ravenbrook.com
2012-09-09 19:39:57 +01:00
Richard Brooksby
ce42e54941 Fixing autoconf to avoid gnu make directives in the output makefile, so that it works with freebsd make. however, the recursive make fails because we rely on gnu make.
Copied from Perforce
 Change: 179353
 ServerID: perforce.ravenbrook.com
2012-09-07 21:47:24 +01:00
Richard Brooksby
a59d741d94 Adding basic autoconf scripts for generating a configure script. no "make install" yet.
Copied from Perforce
 Change: 179350
 ServerID: perforce.ravenbrook.com
2012-09-07 21:27:27 +01:00