Commit Graph

39979 Commits

Author SHA1 Message Date
Paulo Matos
fed32eb4aa Fix recursive script call. 2019-03-11 13:26:33 +01:00
Paulo Matos
b65c4ed1ec Fix variable name 2019-03-11 13:26:33 +01:00
Paulo Matos
2f322efb62 Add environment information 2019-03-11 13:26:33 +01:00
Paulo Matos
037f07d744 Use CI_PROJECT_DIR, not CI_PROJECT_PATH 2019-03-11 13:26:33 +01:00
Paulo Matos
2761f31ef1 Fix a few issues 2019-03-11 13:26:33 +01:00
Paulo Matos
e157ee6415 Fix issues pointed to by shellcheck 2019-03-11 13:26:33 +01:00
Paulo Matos
f00286335a Add debug echo statement. 2019-03-11 13:26:33 +01:00
Paulo Matos
821158dcd8 apt-get update before running script 2019-03-11 13:26:33 +01:00
Paulo Matos
743f649fdc cross tests run in ubuntu 18.04 2019-03-11 13:26:33 +01:00
Paulo Matos
c09721c67c Force all scan-build jobs and prepare-cache to the same runner 2019-03-11 13:26:33 +01:00
Paulo Matos
88cc48e3aa Move test jobs to prepare 2019-03-11 13:26:33 +01:00
Paulo Matos
ed43d996ca Add cross-testing to gitlab-ci 2019-03-11 13:26:33 +01:00
Paulo Matos
da6dba56fb Pass correct arguments on recursive call 2019-03-11 13:26:33 +01:00
Paulo Matos
3b287fb9dc Choose chroot path 2019-03-11 13:26:33 +01:00
Paulo Matos
0f04689658 Only check archs on host 2019-03-11 13:26:33 +01:00
Paulo Matos
b03a3dc413 Add support for more architectures 2019-03-11 13:26:33 +01:00
Paulo Matos
385350d9a5 Add new script for cross-qemu chroot 2019-03-11 13:26:33 +01:00
Matthew Flatt
de82588e08 cs: fix cross-compile fasl 2019-03-09 13:01:23 -07:00
Matthew Flatt
17e5a56569 raco setup: allow dependency checking to continue after error
When reading a bytecode file fails, record the error and continue.
2019-03-09 08:42:54 -07:00
Matthew Flatt
e46e791724 cs: delayed parsing of cross-linklet info
Avoid parsing cross-linklet optimization information until it is
needed. This change also avoids a problem with saving hash codes
that are platform-specific.
2019-03-09 08:13:03 -07:00
Matthew Flatt
b7e0d52b96 setup/dirs: improve host lib dir search for cross-compile
Insteda of just consulting `lib-search-dirs` in the host system's
config during cross-build mode, use `lib-dir` if set to arrive at
the expected default when `lib-search-dirs` is not set.
2019-03-08 18:21:34 -07:00
Matthew Flatt
e4517afb56 expander: reject internal sequence that ends in define-syntaxes
For example, don't allow

 (let ()
   8
   (define-syntax-rule (m) 9))
2019-03-08 15:40:33 -07:00
John Clements
2cfc7ac8ae
phases->phase grammar typo (#2516) 2019-03-07 08:28:56 -08:00
Marc
8aead39bef Typo: "four identifier" -> "four identifiers" 2019-03-07 09:48:29 -05:00
Marc
7783ae22eb Typo: missing 'of' (#2517)
"the growth our code" -> "the growth of our code"
2019-03-07 14:04:28 +01:00
Matthew Flatt
d9d8d39f00 cs: fix truncation of path information in optimization info
Handle not-this-platform paths that manage to evade the heuristics for
converting paths to and from relative form. Otherwise, building can go
wrong on on Windows when using machine-independent starting files
generated on Unix-like systems.
2019-03-06 14:00:27 -07:00
Matthew Flatt
875e3b290d raco setup: add --error-out and --error-in
The `--error-out` and `--error-in` flags are meant to work together to
chain a sequence of `raco setup` steps where one of them might fail,
but other steps should proceed. The last step in that sequence should
use only `--error-in`, so that it exits with failure if any of the
steps failed.

The `both` target of the toplevel makefile uses `--error-out` and
`--error-in` to let a Racket CS build proceed as long as the
traditional Racket build made it to the last `raco setup` step, which
means that it survives package-build errors.
2019-03-06 09:43:18 -07:00
Matthew Flatt
fe6d243a71 repair for recent 32-bit MinGW 2019-03-06 08:05:02 -07:00
Matthew Flatt
fa972f0476 cs: unbreak cross compilation
Better checking in a7988c3813 exposed a problem with the expander's
recompiler in the case of cross compiling.
2019-03-06 06:44:17 -07:00
Matthew Flatt
ed807f8584 cs: use cross-compiler server for fasl
The Chez Scheme fasl format is not machine-independent when record
types are involved, so use the process that serves compilation to also
serve fasl encoding.
2019-03-06 06:25:18 -07:00
Matthew Flatt
f68248ee3b setup/setup: expose package-dependency functionality
Closes #2512
2019-03-05 20:43:09 -07:00
Matthew Flatt
828dc1f276 raco setup: allow catching cycle errors
In parallel build mode, if attempting to compile a file triggers a
cycle error that is caught and discarded, don't leave behind a
dependency (that is effectively resolved by the error) in the
parallel-worker manager.
2019-03-05 20:27:20 -07:00
Alexander McLin
01edfbbfcf *BSD: add "111" to libcrypto.rkt
Allows `libcrypto.so.111` to be discovered by racket on FreeBSD
variants such as TrueOS.
2019-03-05 20:27:11 -07:00
Matthew Flatt
a7988c3813 cs: fill in recompile-linklet
It doesn't do anything, but make it a conforming variant of the
identity function. Also, fill in checking for `compile-linklet`,
and correction documentation errors for `compile-linklet` and
`recompile-linklet`.
2019-03-05 18:11:19 -07:00
Matthew Flatt
85571bb542 cs: fix cross-compiler initialization
Disable debugging information, for example.
2019-03-05 11:47:22 -07:00
Matthew Flatt
853efb5ec9 cs: fix PLT_LINKLET_SHOW_CP0
Repair the internal call to `expand/optimize` to convert Racket
correlateds to Chez Scheme annotations.
2019-03-05 11:22:59 -07:00
Matthew Flatt
c63ee19c78 makefile: propoagate jobs config for post-unpack setup 2019-03-05 08:21:35 -07:00
Matthew Flatt
a00dd06793 further makefile and compiler/cm repairs for cross-build 2019-03-05 06:55:00 -07:00
Matthew Flatt
e921fe9709 remove accidentally added vim stackdump 2019-03-04 20:35:33 -07:00
Matthew Flatt
9981effa4b cs: revise cross-compilation protocol and fill in build steps
Makefile and configure refinements, including targets to let the
distro-build package drive a cross-build from scratch. A cross
build on Mac OS for Windows now works, for example.
2019-03-04 07:00:59 -07:00
Matthew Flatt
29ad80905e log-message: make data argument optional
The intent was never for the data argument to be optional, but a
mistake in traditional Racket's argument dispatch for `log-message`
made it optional in some cases, so the simplest way forward is to make
it consistently optional. Repair traditional Racket to use `#f`
instead of a random value when the data argument is not provided.
2019-03-03 20:37:07 -07:00
Matthew Flatt
d71d68e72a cs: add cross-compilation hooks for Racket
Add options to load a "plug-in" cross compiler, which should be a Chez
Scheme patch file plus declarations for the built-in libraries. Since
loading a patch file replaces the initial compiler, a separate
cross-compiler process is used to load the plug-in.
2019-03-03 08:04:25 -07:00
Matthew Flatt
f720220c41 io: fix file-truncate to return (void) 2019-03-02 20:17:58 -07:00
Matthew Flatt
17e873bee8 cs: unbreak Windows build 2019-03-02 19:51:31 -07:00
Matthew Flatt
2c09b2c86d cs: unbreak ffi/unsafe immobile cells 2019-03-02 11:02:00 -07:00
Matthew Flatt
068cfc6330 cs: unbreak Makefile for non-cross build 2019-03-02 06:42:40 -07:00
Matthew Flatt
c890edeea4 json: fix checking of word boundary after true, false, and null
Thanks to Greg Hendershott for pointing out the problem.
2019-03-02 05:38:06 -07:00
Matthew Flatt
33a5c30073 first step of Racket CS cross-compilation for Windows
Adjust build process to be able to generate Racket.exe, etc, for
Racket CS using MinGW. Much of this cross-compilation support can work
for building other platforms, too, but some of the details are filled
in only for generating Windows executables.
2019-03-02 05:33:26 -07:00
Paulo Matos
961454e011 Show cache contents for debugging purposes 2019-03-01 17:15:32 -05:00
Matthew Flatt
472ac6c26e tcp-connect: repair for error on connect syscall
When `connect` returns an error immediately, save that error instead
of expecting it to be available later via `getsockopt`. That avoids a
problem on TrueOS, for example.
2019-03-01 14:42:23 -07:00