Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: new REPL #6270

Merged
merged 11 commits into from
Mar 29, 2014
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ notifications:
- http://criid.ee.washington.edu:8000/travis-hook
- http://julia.mit.edu:8000/travis-hook
before_install:
- BUILDOPTS="LLVM_CONFIG=llvm-config-3.3 LLVM_LLC=llc-3.3 VERBOSE=1 USE_BLAS64=0"; for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND READLINE GRISU OPENLIBM RMATH; do export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done
- BUILDOPTS="LLVM_CONFIG=llvm-config-3.3 LLVM_LLC=llc-3.3 VERBOSE=1 USE_BLAS64=0"; for lib in LLVM ZLIB SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND GRISU OPENLIBM RMATH; do export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done
- sudo apt-get update -qq -y
- sudo apt-get install zlib1g-dev
- sudo add-apt-repository ppa:staticfloat/julia-deps -y
- sudo apt-get update -qq -y
- sudo apt-get install patchelf gfortran llvm-3.3-dev libsuitesparse-dev libncurses5-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libunwind7-dev libreadline-dev libdouble-conversion-dev libopenlibm-dev librmath-dev libmpfr-dev -y
- sudo apt-get install patchelf gfortran llvm-3.3-dev libsuitesparse-dev libopenblas-dev liblapack-dev libarpack2-dev libfftw3-dev libgmp-dev libpcre3-dev libunwind7-dev libdouble-conversion-dev libopenlibm-dev librmath-dev libmpfr-dev -y
script:
- make $BUILDOPTS prefix=/tmp/julia install
- cd .. && mv julia julia2
- cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia-debug-readline runtests.jl all
- cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia-debug-basic runtests.jl all
- cd - && mv julia2 julia
- echo "Ready for packaging..."
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ A useful bug report filed as a Github issue provides information about how to re
1. Before opening a new [Github issue](https://github.com/JuliaLang/julia/issues):
- Try searching the existing issues or the [`julia-users` mailing list](https://groups.google.com/forum/#!forum/julia-users) to see if someone else has already noticed the same problem.
- Try some simple debugging techniques to help isolate the problem.
- Try running the code with the debug REPL. If you have a source distribution of Julia, you can build your own debug REPL with `make debug`, which produces the `usr/bin/julia-debug-basic` and `usr/bin/julia-debug-readline` REPLs.
- Try running the code with the debug REPL. If you have a source distribution of Julia, you can build your own debug REPL with `make debug`, which produces the `usr/bin/julia-debug-basic` REPL.
- Consider running the debug REPL in a debugger such as `gdb` or `lldb`. Obtaining even a simple [backtrace](http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html) is very useful.
- If Julia segfaults, try following [these debugging tips](https://gist.github.com/staticfloat/6188418#segfaults-during-bootstrap-sysimgjl) to help track down the specific origin of the bug.

Expand Down
22 changes: 1 addition & 21 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Julia is licensed under the MIT License:

> Copyright (c) 2009-2013: Jeff Bezanson, Stefan Karpinski, Viral B. Shah,
> Copyright (c) 2009-2014: Jeff Bezanson, Stefan Karpinski, Viral B. Shah,
> and other contributors:
>
> https://github.com/JuliaLang/julia/contributors
Expand All @@ -24,25 +24,6 @@ Julia is licensed under the MIT License:
> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

[`repl-readline.c`](https://github.com/JuliaLang/julia/blob/master/ui/repl-readline.c)
is licensed under the GNU General Public License Version 2:

> Copyright (c) 2009-2013: Jeff Bezanson, Stefan Karpinski, Viral B. Shah.
>
> This program is free software; you can redistribute it and/or modify
> it under the terms of the GNU General Public License as published by
> the Free Software Foundation; either version 2 of the License, or
> (at your option) any later version.
>
> This program is distributed in the hope that it will be useful,
> but WITHOUT ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> GNU General Public License for more details.
>
> You should have received a copy of the GNU General Public License along
> with this program; if not, write to the Free Software Foundation, Inc.,
> 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

External libraries, if used, include their own licenses:

- [7-Zip](http://www.7-zip.org/license.txt)
Expand All @@ -67,7 +48,6 @@ External libraries, if used, include their own licenses:
- [OPENBLAS](https://raw.github.com/xianyi/OpenBLAS/master/LICENSE)
- [PATCHELF](http://hydra.nixos.org/build/1524660/download/1/README)
- [PCRE](http://www.pcre.org/licence.txt)
- [READLINE](http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)
- [RMATH](http://www.r-project.org/Licenses/)
- [SUITESPARSE](http://www.cise.ufl.edu/research/sparse/SuiteSparse/current/SuiteSparse/)
- [ZLIB](http://zlib.net/zlib_license.html)
19 changes: 1 addition & 18 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ OPENBLAS_TARGET_ARCH=
# Use libraries available on the system instead of building them
USE_SYSTEM_LLVM=0
USE_SYSTEM_LIBUNWIND=0
USE_SYSTEM_READLINE=0
USE_SYSTEM_PCRE=0
USE_SYSTEM_LIBM=0
USE_SYSTEM_OPENLIBM=0
Expand Down Expand Up @@ -163,7 +162,7 @@ fPIC = -fPIC
EXE =
endif

DEFAULT_REPL = readline
DEFAULT_REPL = basic
JULIAGC = MARKSWEEP
USE_COPY_STACKS = 1

Expand Down Expand Up @@ -350,22 +349,6 @@ LLVM_CONFIG=$(LLVMROOT)/bin/llvm-config$(EXE)
LLVM_LLC=$(LLVMROOT)/bin/llc$(EXE)
endif

ifeq ($(USE_SYSTEM_READLINE), 1)
READLINE = -lreadline
else
ifeq ($(OS),WINNT)
READLINE = $(build_libdir)/libreadline.a
else
READLINE = $(build_libdir)/libreadline.a
endif
endif

ifeq ($(OS),WINNT)
READLINE += $(build_libdir)/libhistory.a
else
READLINE += -lncurses
endif

ifeq ($(USE_SYSTEM_PCRE), 1)
PCRE_CONFIG = pcre-config
else
Expand Down
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,6 @@ Otherwise, install or contact your systems administrator to install a more recen
Problem | Possible Solution
------------------------|---------------------
OpenBLAS build failure | Set one of the following build options in `Make.user` and build again: <ul><li> `OPENBLAS_TARGET_ARCH=BARCELONA` (AMD CPUs) or `OPENBLAS_TARGET_ARCH=NEHALEM` (Intel CPUs)<ul>Set `OPENBLAS_DYNAMIC_ARCH = 0` to disable compiling multiple architectures in a single binary.</ul></li><li> `USE_SYSTEM_BLAS=1` uses the system provided `libblas` <ul><li>Set `LIBBLAS=-lopenblas` and `LIBBLASNAME=libopenblas` to force the use of the system provided OpenBLAS when multiple BLAS versions are installed </li></ul></li></ul>
readline build error | Set `USE_SYSTEM_READLINE=1` in `Make.user`
ncurses build error | Install the `libncurses5` development package <ul><li> Debian/Ubuntu: `apt-get install libncurses5-dev` </li><li> RPM-based systems: `yum install libncurses5-devel` </li></ul>
Illegal Instruction error | Check if your CPU supports AVX while your OS does not (e.g. through virtualization, as described in [this issue](https://github.com/JuliaLang/julia/issues/3263)), and try installing LLVM 3.3 instead of LLVM 3.2.

### OS X
Expand Down Expand Up @@ -168,7 +166,6 @@ Julia uses the following external libraries, which are automatically downloaded

- **[LLVM]** — compiler infrastructure.
- **[FemtoLisp]** — packaged with Julia source, and used to implement the compiler front-end.
- **[readline]** — library allowing shell-like line editing in the terminal, with history and familiar key bindings.
- **[libuv]** — portable, high-performance event-based I/O library
- **[OpenLibm]** — a portable libm library containing elementary math functions.
- **[OpenSpecFun]** — a library containing Bessel and error functions of complex arguments.
Expand Down Expand Up @@ -208,7 +205,6 @@ Julia uses the following external libraries, which are automatically downloaded
[PCRE]: http://www.pcre.org/
[LLVM]: http://www.llvm.org/
[FemtoLisp]: https://github.com/JeffBezanson/femtolisp
[readline]: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
[GMP]: http://gmplib.org/
[MPFR]: http://www.mpfr.org/
[double-conversion]: http://double-conversion.googlecode.com/
Expand Down
5 changes: 2 additions & 3 deletions README.windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,12 @@ Julia runs on Windows XP SP2 or later (including Windows Vista, Windows 7, and W
```
make run-julia
```
(the full syntax is `make run-julia[-release|-debug] [DEFAULT_REPL=(basic|readline)]`)
(the full syntax is `make run-julia[-release|-debug]`)

- Using the Julia executables directly
```
usr/bin/julia-readline
usr/bin/julia-basic
```
(or `julia-basic` if you prefer)

## Cross-compiling

Expand Down
Loading