Commit Graph

483 Commits

Author SHA1 Message Date
Ryan Culpepper
94ae918b0f setup "images" collection earlier, "drracket" at end
This change cuts real time of "raco setup -D" almost in half
on a 4-core machine.
2012-02-28 05:27:58 -07:00
Matthew Flatt
012ef60cd5 fix non-tail loop in parallel `raco setup'
Deep recursion with too-few recognizable JIT frames caused
trouble with `current-continuation-marks'.
2012-02-27 14:46:03 -07:00
Matthew Flatt
350d0b1edf fix `raco make -j'
Closes PR 12491

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
d56d28f0b6 protect `raco setup' from files in linked collection dirs
Patch by Jay McCarthy.

Merge to 5.2.1
2012-01-09 16:55:39 -07:00
Matthew Flatt
ee775c3cc3 intern strings, etc. only when making syntax objects, not in `read'
Rename `read-intern-literal' to `datum-intern-literal'.

Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00
Matthew Flatt
b2fade9206 read-intern strings generated by Scribble; other interning
This change saves a small amount of space in cross-reference files
and some space in loaded cross-reference information.
It also saves work converting strings to mutable on deserialize,
although the performance difference seems negligible.
2011-12-10 11:43:58 -07:00
Matthew Flatt
14e0698602 raco setup: one more path simplifcation point
Closes PR 12355
2011-11-28 13:51:24 -07:00
Robby Findler
3f8d6eb2b2 adjust call to get-info/full so that it respects the contract 2011-11-04 21:48:04 -05:00
Matthew Flatt
8c2dc5ccb7 parallel `raco setup': print "running" before insead of after
That is, before actually running the document, so that the
"running" message is a useful indicator of what is happening
now.
2011-10-11 17:17:58 -06:00
Matthew Flatt
c74bce598b fix Ctl-C problems in parallel `raco setup'
The main problem was that when a place catches an exception,
it would continue in breaks-disabled mode. Also improve
`parallel-do' to detects additional breaks when waiting on
places and propagate them, in case a place was running something
that ate the initial break.
2011-10-11 15:54:22 -06:00
Matthew Flatt
f21187248a fix `raco setup' for a collection that disappears 2011-09-20 13:22:27 -06:00
Kevin Tew
099e89a297 Fix pr 12205 pass --disable-inline and --vv options through to parallel make 2011-09-20 11:10:56 -06:00
Matthew Flatt
e03a70025f fix another raco setup path-normalization (especially for Windows) 2011-09-18 08:09:04 -06:00
Matthew Flatt
39601cedcf Revert "putting the "drscheme" collection last isn't useful anymore"
This reverts commit 89581f5e21.

Putting "drscheme" last is useful because it avoids having two
places try to compile "drracket" and "drscheme" at the same time,
in which case the "drscheme" place gets stuck waiting on the
"drracket" place. Moving "drscheme" to the end is a hack, but
it improves the build time for 2-4 cores.
2011-09-16 16:36:57 -06:00
Eli Barzilay
623c7493ed Some selective #:when (not ...)' -> #:unless ...'. 2011-09-16 10:48:18 -04:00
Kevin Tew
a6b4b42982 pr# 12143 raco make -j 2, fix split-path's 'relative to byte-string conversion 2011-09-05 17:22:59 -06:00
Matthew Flatt
5de2ea9547 fix absolute paths in cross-reference info
The absolute paths were introduced by support for parallel build,
which piggy-backs information in "in.sxref" to communicate among
processes. Since the information is persistent beyond that
cooperation, the information needs to be in relative form.

[Sorry for the reformatting noise, but the file's indentation was
 especially mangled.]
2011-09-04 09:53:36 -06:00
Matthew Flatt
35a8359c6d remove some path case normalization
The change allows `raco setup' to reach a fixed point under Windows
for "redex/examples/cont-mark-transform".

I'm more and more convinced that `normal-case-path' is never
a good idea. In some cases, maybe it's good to recognize a
few extra equivalences, but it works badly when paths are taken
from many sources and are not consistently normalized. It's better
to just preserve case.

For basic normalization, `simplify-path' is the right choice. Use
inode identity (as `raco setup' does) when anything stronger
than `simplify-path' is needed.
2011-08-30 13:53:25 -06:00
Matthew Flatt
959db06c7c change "cache.rktd" format to be platform-independent
The format previously included relative paths in the syntax
of the platform used to run `raco setup'. While a "cache.rktd"
built on Unix would work for Windows, the reverse would not
be true. Also, `raco setup' under Windows would get confused
because it would arrive at different relative paths for the
same collection (e.g., "drracket/private" and "drracket\\private").
The portable representation of relative paths is also
normalized.

A "cache.rktd" file still has absolute paths for Planet packages
or links installed with `raco link', but that's not a problem for
packaging a distribution with a portable "cache.rktd".

Also, `raco setup' cleans "cache.rtkd" by removing collections
that are omitted and by not including collections that have no
"info.rkt"/"info.ss" file.
2011-08-30 13:53:24 -06:00
Matthew Flatt
46a0fe9490 fix `compile-omit-files' handling for Planet packages
The bug was introduced with changes to support `raco link'.
2011-08-28 20:02:23 -06:00
Matthew Flatt
43dd4c7ab9 path normalization in setup/scribble
Needed so that `raco setup' doesn't rebuild documents as it
decides, say, that the "games/cards" document depends on
"games/scribblings\\games.scrbl" instead of
"games/scribblings/games.scrbl".

Has this been needed for a while, or did it somehow
become needed with recent changes to `raco setup' to
support `raco link'?
2011-08-28 19:20:19 -06:00
Matthew Flatt
fcf24ab586 fix bug in `raco unpack'
due to recent conversion from `mzscheme' to `racket/base'
2011-08-26 19:31:06 -06:00
Matthew Flatt
5579b12da0 fix `raco link' collection-name checking 2011-08-26 19:31:06 -06:00
Matthew Flatt
ce7c0d62c3 if only a Unix root is shared, don't make a path relative 2011-08-24 20:08:20 -06:00
Matthew Flatt
7299b0603e check format of collection name in `raco link' 2011-08-24 20:08:19 -06:00
Matthew Flatt
84e3ab2a20 add support for collection roots to the collection links file 2011-08-24 20:08:19 -06:00
Matthew Flatt
8f0487d8e4 make `raco link' write relative paths 2011-08-24 20:08:19 -06:00
Matthew Flatt
71e92bcecf more `raco link' command-line changes: add -u, adjust -rn 2011-08-24 20:08:19 -06:00
Matthew Flatt
96098e678c change -s `raco link' flag to -l 2011-08-24 20:08:19 -06:00
Matthew Flatt
2dbaa45e1b add `raco unpack'
Although the ".plt" format is going to be replaced, the format is
currently viable for distributing collections, and I have wanted
a raw `unpack' command for a while. It was useful today to fix
problems with `raco pack' and collection links.
2011-08-24 20:08:18 -06:00
Robby Findler
4923e20994 clarify precise semantics of 'raco setup -D' 2011-08-24 11:25:23 -05:00
Matthew Flatt
a7855e20a8 add `raco link'
includes a rewrite the "Module Basics" section of the Guide
2011-08-24 09:07:14 -06:00
Matthew Flatt
853e47f05e fix broken-link reporting by `scribble' 2011-08-22 07:58:05 -06:00
Matthew Flatt
89581f5e21 putting the "drscheme" collection last isn't useful anymore 2011-08-19 13:09:26 -06:00
Matthew Flatt
3f447b39e2 refactor some parallel-build code
- simpler and more reliable break protocol
- use logging instead of `eprintf' for non-exception errors
- avoid runtime code duplication in parallel-do macro
- fix some non-tail calls that should be tail calls
- print relevant place in "making" lines
- minor source formatting
2011-08-19 12:56:27 -06:00
Robby Findler
4d5a3fa971 Rackety (indentation, let->define, mzscheme->racket/base, module -> #lang) 2011-08-19 09:26:37 -05:00
Matthew Flatt
f46a0e2519 make compile-omit-paths' apply to scribblings' sources 2011-08-13 07:43:56 -06:00
Matthew Flatt
8a00308ad5 add lib' to setup/infotab' exports
and fix up documentation, which didn't mentioned the allowed
`require' form
2011-07-31 04:43:24 -06:00
Matthew Flatt
e57b7b9e54 limit build parallelism to 4 on a 32-bit machine
Merge to 5.1.2
2011-07-16 08:03:53 -06:00
Kevin Tew
4d7584d9b7 fix indentation 2011-07-14 10:14:34 -06:00
Kevin Tew
8aca195b35 fix class names 2011-07-14 10:14:33 -06:00
Kevin Tew
4ab64dc4c7 rename jobqueue and workqueue to work-queue 2011-07-14 10:14:33 -06:00
Eli Barzilay
ebe9453e73 Fix the path relative functions to return a string for a path input,
clarify the documentation, add a few tests.

Fixes pr 12032
Fixes pr 12034
2011-07-10 06:53:44 -04:00
Matthew Flatt
34a5c400ba remove some macro abuses 2011-07-09 06:16:11 -06:00
Jay McCarthy
439bbc6d8f Another broken test courtesy of refactoring, not testing, and ignoring DrDr. In this case, it seems like the user should not have relied on the function always returning a string (based on the old documentation---not the name, which implies a string comes out), so I've changed the use rather than the function. 2011-07-02 14:34:41 -07:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Eli Barzilay
4da4a2759b New setup/path-to-relative' that supersedes unstable/dirs' and most of
`setup/private/path-utils'.

The API is a little different: instead of getting the alist and the
path, there's a curried function that gets the alist and produces a
function to do the substitutions.
2011-07-02 01:10:38 -04:00
Eli Barzilay
6b44974b42 Improvements around uses of the current `unstable/dirs', and
`setup/path-relativize'.

`setup/path-relativize' is freed from a bunch of things that were due to
historical baggage, but some remain.  (Also, update its docs.)
2011-07-02 01:10:38 -04:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Kevin Tew
939f0b1c0b rename place-dynamic to dynamic-place 2011-06-11 15:36:16 -06:00
Kevin Tew
1473b7775f Places: rename place and place/anon 2011-06-10 11:07:01 -06:00
Kevin Tew
f88c0bbe80 Places: Missed some send receive renames 2011-06-10 06:38:13 -06:00
Kevin Tew
2bc97ccf59 setup: change made to making
Much easier a change than I was imagining.
2011-05-11 12:14:36 -06:00
Robby Findler
70b0eb8ac9 make raco setup call raise-user-error instead of error when reporting malformed command-line collection paths 2011-05-06 17:29:06 -05:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Kevin Tew
46dc051931 Turn places build back on, provide place-break. 2011-05-03 14:01:30 -06:00
Matthew Flatt
1b14c6a38e fix mistakes uncovered by optimizer warnings 2011-05-03 06:57:48 -06:00
Matthew Flatt
982503b083 share a timestamp cache across all collections during `raco setup' 2011-04-27 19:02:08 -06:00
Kevin Tew
7134b95ff1 [Places] place/anon place/thunk 2011-04-27 11:50:44 -06:00
Kevin Tew
a589ea42b6 [Places] added place-break primitive 2011-04-26 18:41:19 -06:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Kevin Tew
23fa4fb684 Disable places build, using processes only. 2011-04-21 06:24:30 -06:00
Matthew Flatt
a41a607cbb tweak build message again
to what I meant in the first place
2011-04-19 21:28:14 -06:00
Kevin Tew
9452f3e89b [Places] parallel-do change exn? to exn:fail? 2011-04-19 13:00:35 -06:00
Matthew Flatt
7389eef5b2 tweak parallel-build message
Merge to 5.1.1
2011-04-19 07:24:45 -06:00
Kevin Tew
3f1a6ee94a [Places] clean up parallel-do, docs now build with places 2011-04-18 16:25:03 -06:00
Matthew Flatt
1c60499923 fix nit: "running 2nd time" instead of "re-running 2nd time"
because "re-running 2nd time" should mean the 3rd run
2011-04-14 13:20:23 -06:00
Matthew Flatt
192c566294 fix temp file names when building PDFs of installed docs
Closes PR 11830
2011-04-14 12:40:18 -06:00
Matthew Flatt
f36e3ad16c small clean-ups 2011-04-13 11:00:23 -06:00
Kevin Tew
26d7768d3d Rename place-channel-recv place-channel-receive 2011-03-31 13:36:40 -06:00
Kevin Tew
f7ab3fe2b3 Move raco and compiler to front of parallel compile list 2011-03-31 12:59:31 -06:00
Matthew Flatt
437f2585c9 revert "mzscheme" and "mred" collection versions
and turn off automatic "mzscheme" version dependency for
 package .plt files
2011-03-28 15:17:17 -06:00
Kevin Tew
5b0f12b1c1 Cleanup CollectsQueue get-job 2011-03-17 11:47:11 -06:00
Kevin Tew
867ae7fd8b [Places] places enabled builds now use places to build collects 2011-03-14 11:46:50 -06:00
Kevin Tew
bdbb9fe336 Parallel Places Build 2011-02-17 16:22:49 -07:00
Kevin Tew
ad0c22a77a parallel-do refactor 2011-02-17 16:21:32 -07:00
Kevin Tew
160a5bd5eb parallel-do cleanup 2011-02-10 11:27:45 -07:00
Robby Findler
8d2d995ebc adjusted the parallel build support to use the newly available find-exe 2011-02-08 15:38:12 -06:00
Robby Findler
6a220d7d69 docs fixes for parallel-compile-files
also, (lambda args (void)) is the same as just void, so changed that.
2011-02-08 10:02:43 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
Eli Barzilay
83d2e5c151 Check for libracket instead of any .so file 2011-02-03 10:23:16 -05:00
Kevin Tew
2e1dffbfcc raco make -j 2011-02-01 08:27:56 -07:00
Kevin Tew
a42ea71113 Scribble with-compile-output fix 2011-01-20 15:57:39 -07:00
Kevin Tew
64521e70ea Remove dead code 2011-01-20 13:33:02 -07:00
Kevin Tew
d94281bb96 Remove unused code 2011-01-17 17:39:47 -07:00
Kevin Tew
e5cc1dec84 Readable parallel doc errors following mflatt's suggestion 2011-01-17 17:39:47 -07:00
Kevin Tew
7b9cd25527 Fix doc making hang on error 2011-01-14 10:27:23 -07:00
Robby Findler
255cb84b87 add an example tool (that actually does something) to the docs and make a test suite that sets that tool up and runs it 2011-01-13 20:11:55 -06:00
Robby Findler
422bf5eae7 docs fixes 2011-01-13 20:11:53 -06:00
Kevin Tew
e7a24a6b41 Parallel Locking 2011-01-11 12:44:09 -07:00
Kevin Tew
e3d7ffbe82 convert parallel-build to classes 2011-01-11 12:44:09 -07:00
Kevin Tew
264e7f2c15 Use worker-count for doc build 2011-01-11 12:44:09 -07:00
Kevin Tew
aa42f4a582 Fixed Warning output in parallel scribble build 2010-12-27 14:30:10 -07:00
Robby Findler
f8b2a9e0e2 improved the way the contract is written 2010-12-03 06:30:58 -06:00
Kevin Tew
b212fc9485 Parallel build match fix 2010-11-30 09:49:34 -07:00
Kevin Tew
e1eb3cbfba Handle SEGFAULT return 2010-11-29 09:41:33 -07:00
Kevin Tew
cc69ceed6b [Parallel-Build] Better error logging for failed match 2010-11-18 11:33:29 -07:00
Eli Barzilay
686ec837e9 Avoid useless output 2010-11-11 00:19:17 -05:00
Kevin Tew
6efc3c5550 [parallel-build] print errors immediately as well as at the end of the build 2010-11-10 13:12:23 -07:00
Kevin Tew
14b14ebabc Get info from drdr about build crash 2010-11-10 13:12:23 -07:00