This is still a WIP, and can definitely use some more work in 1) testing on 
other platforms 2) better disentangling of documentation 3) advice on how 
better to accomplish it's goals. 4) testing with different subsets of 
functionality turned on (I've tested just with BUILD_FULL disabled ("lite" 
version), or enabled (same as master) so far.

This branch (spj/lite in ScottPJones 
repository, https://github.com/ScottPJones/julia/tree/spj/lite) by default 
will build a "lite" version of Julia, and by putting
override BUILD_xxx = 1
lines in Make.user, different functionality can be built back in (such as 
BigInt, BigFloat, LinAlg, Float16, Mmap, Threads, ...).  See Make.inc for 
the full list.

I've also made it so that all unit tests pass (that don't use disabled 
functionality).
(the hard part there was that testing can be spread all over the place, 
esp. for BigInt, BigFloat, Complex, and Rational types).

It will also not build libraries such as arpack, lapack, openblas, fftw, 
suitesparse, mpfr, gmp, depending on what BUILD_* options have been set.

This is only a first step, the real goal is to be able to have a minimal 
useful core, that can have the other parts easily added, in such a way that 
they still appear to have
been defined completely in Base.
One place where I think this can be very useful is for building minimal 
versions of Julia to run on things like the Raspberry Pi.

-Scott


Reply via email to