Skip to content

Commit

Permalink
Merge pull request #6270 from JuliaLang/mn/newrepl
Browse files Browse the repository at this point in the history
new REPL
  • Loading branch information
StefanKarpinski committed Mar 29, 2014
2 parents 26ad79c + 0ff01b5 commit c6dfebc
Show file tree
Hide file tree
Showing 39 changed files with 2,401 additions and 1,432 deletions.
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 @@ -136,8 +136,6 @@ Now you should be able to build using the generic Linux instructions. These inst
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 @@ -183,7 +181,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 @@ -223,7 +220,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

0 comments on commit c6dfebc

Please sign in to comment.