Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into sparse-find-next
Browse files Browse the repository at this point in the history
This fixes a few merge conflicts resulting from other additions to
the sparse codebase.
  • Loading branch information
tkluck committed Nov 3, 2017
2 parents daee267 + d929f0b commit 1ac4141
Show file tree
Hide file tree
Showing 640 changed files with 48,304 additions and 36,756 deletions.
12 changes: 12 additions & 0 deletions .github/SUPPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Getting support for Julia

We use the GitHub issue tracker for bug reports and feature requests only. If
what you'd like to do is best described as a bug report or a code contribution
then you should submit a GitHub issue or pull request as usual. Please see our
[Notes for Julia
Contributors](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md)
for how to file a bug report, our contributor checklist and other helpful
information. But if you have come here for help, or if you are unsure whether
the behavior you're experiencing is a bug, then you should see our [Community
page](https://julialang.org/community/) for a list of other places where you can
get support first.
47 changes: 33 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
language: cpp
sudo: false
sudo: required
dist: trusty
matrix:
include:
- os: linux
env: ARCH="i686"
compiler: "g++ -m32"
compiler: "g++-5 -m32"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libssl1.0.0
- bar
- time
- gcc-multilib
- g++-multilib
- binutils
- gcc-5
- g++-5
- gcc-5-multilib
- g++-5-multilib
- make:i386
- libssl-dev:i386
- gfortran
- gfortran-multilib
- gfortran-5
- gfortran-5-multilib
- os: linux
env: ARCH="x86_64"
compiler: "g++ -m64"
compiler: "g++-5 -m64"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libssl1.0.0
- bar
- time
- gfortran
- g++-5
- gfortran-5
- os: osx
env: ARCH="x86_64"
osx_image: xcode8
Expand Down Expand Up @@ -56,10 +64,19 @@ before_install:
- make check-whitespace
- if [ `uname` = "Linux" ]; then
contrib/travis_fastfail.sh || exit 1;
mkdir -p $HOME/bin;
ln -s /usr/bin/gcc-5 $HOME/bin/gcc;
ln -s /usr/bin/g++-5 $HOME/bin/g++;
ln -s /usr/bin/gfortran-5 $HOME/bin/gfortran;
ln -s /usr/bin/gcc-5 $HOME/bin/x86_64-linux-gnu-gcc;
ln -s /usr/bin/g++-5 $HOME/bin/x86_64-linux-gnu-g++;
gcc --version;
BAR="bar -i 30";
BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1";
BUILDOPTS="-j5 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1";
echo "override ARCH=$ARCH" >> Make.user;
sudo sh -c "echo 0 > /proc/sys/net/ipv6/conf/lo/disable_ipv6";
export JULIA_CPU_CORES=4;
export JULIA_TEST_MAXRSS_MB=1200;
TESTSTORUN="all";
elif [ `uname` = "Darwin" ]; then
brew update;
Expand All @@ -81,7 +98,10 @@ before_install:
export JULIA_MACOS_SPAWN="DYLD_FALLBACK_LIBRARY_PATH=\"$DYLD_FALLBACK_LIBRARY_PATH\" \$1";
export BUILDOPTS="$BUILDOPTS spawn=\$(JULIA_MACOS_SPAWN)";
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
export JULIA_CPU_CORES=2;
export JULIA_TEST_MAXRSS_MB=600;
TESTSTORUN="all --skip linalg/triangular subarray"; fi # TODO: re enable these if possible without timing out
- echo "override JULIA_CPU_TARGET=generic;native" >> Make.user
- git clone -q git://git.kitenet.net/moreutils
script:
- echo BUILDOPTS=$BUILDOPTS
Expand Down Expand Up @@ -115,13 +135,12 @@ script:
fi
- cd .. && mv julia julia2
# run tests
- /tmp/julia/bin/julia --precompiled=no -e 'true' &&
/tmp/julia/bin/julia-debug --precompiled=no -e 'true'
- /tmp/julia/bin/julia --sysimage-native-code=no -e 'true' &&
/tmp/julia/bin/julia-debug --sysimage-native-code=no -e 'true'
- /tmp/julia/bin/julia -e 'versioninfo()'
- pushd /tmp/julia/share/julia/test
- export JULIA_CPU_CORES=2 && export JULIA_TEST_MAXRSS_MB=600 &&
/tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online download pkg
- /tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online download pkg
- popd
# test that the embedding code works on our installation
- mkdir /tmp/embedding-test &&
Expand Down
34 changes: 7 additions & 27 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,6 @@ All docstrings are written inline above the methods or types they are associated
4. check the output in `doc/_build/html/` to make sure the changes are correct;
5. commit your changes and open a pull request.

> **Note**
>
> Currently there are a large number of docstrings found in `base/docs/helpdb/Base.jl`. When any of these docstrings are modified please move them out of this file and place them above the most appropriate definition in one of the `base/` source files.
#### Adding a new docstring to `base/`

The steps required to add a new docstring are listed below:
Expand Down Expand Up @@ -229,10 +225,9 @@ your changes.
Here is the standard procedure:

1. If you are planning changes to any types or macros, make those
changes, commit them, and build julia using `make`. (This is
changes and build julia using `make`. (This is
necessary because `Revise` cannot handle changes to type
definitions or macros.) By making a git commit, you "shield" these
changes from the `git stash` procedure described below. Unless it's
definitions or macros.) Unless it's
required to get Julia to build, you do not have to add any
functionality based on the new types, just the type definitions
themselves.
Expand All @@ -245,27 +240,12 @@ Revise.track(Base)
```

3. Edit files in `base/`, save your edits, and test the
functionality. Once you are satisfied that things work as desired,
make another commit and rebuild julia.

Should you for some reason need to quit and restart your REPL session
before finishing your changes, the procedure above will fail because
`Revise.track`
[cannot detect changes in source files that occurred after Julia was built](https://github.com/JuliaLang/julia/issues/23448)---it
will only detect changes to source files that occur after tracking is
initiated. Consequently, any changes made prior to
`Revise.track(Base)` will not be incorporated into your new REPL
session. You can work around this by temporarily reverting all source
files to their original state. From somewhere in the `julia`
directory, start your REPL session and do the following:
functionality.

```julia
shell> git stash # ensure that the code in `base/` matches its state when you built julia
julia> Revise.track(Base) # Revise's source code cache is synchronized with what's running
shell> git stash pop # restore any in-progress changes (will now be tracked)
```
If you need to restart your Julia session, just start at step 2 above.
`Revise.track(Base)` will note any changes from when Julia was last
built and incorporate them automatically. You only need to rebuild
Julia if you made code-changes that Revise cannot handle.

### Code Formatting Guidelines

Expand Down
2 changes: 0 additions & 2 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ their own licenses:
- [ARPACK](http://www.caam.rice.edu/software/ARPACK/RiceBSD.txt#LICENSE) [BSD-3]
- [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt) [BSD-3]
- [OPENLIBM](https://github.com/JuliaLang/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC]
- [OPENSPECFUN](https://github.com/JuliaLang/openspecfun) [MIT, public domain]
- [FADDEEVA](http://ab-initio.mit.edu/Faddeeva) [MIT]
- [GMP](http://gmplib.org/manual/Copying.html#Copying) [LGPL3+ or GPL2+]
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING) [GPL2+ with unlimited linking exception]
- [CURL](https://curl.haxx.se/docs/copyright.html) [MIT/X derivative]
Expand Down
55 changes: 41 additions & 14 deletions Make.inc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ USE_SYSTEM_PCRE:=0
USE_SYSTEM_LIBM:=0
USE_SYSTEM_OPENLIBM:=0
UNTRUSTED_SYSTEM_LIBM:=0
USE_SYSTEM_OPENSPECFUN:=0
USE_SYSTEM_DSFMT:=0
USE_SYSTEM_BLAS:=0
USE_SYSTEM_LAPACK:=0
Expand Down Expand Up @@ -82,11 +81,6 @@ HAVE_SSP := 0
WITH_GC_VERIFY := 0
WITH_GC_DEBUG_ENV := 0

# When set, give julia binaries CPUID specific names. This is useful in cluster environments
# with heterogeneous architectures. N.B.: will not be automatically rebuilt for all
# architectures if julia is updated.
CPUID_SPECIFIC_BINARIES ?= 0

# Prevent picking up $ARCH from the environment variables
ARCH:=

Expand Down Expand Up @@ -693,6 +687,32 @@ ifneq (,$(filter $(ARCH), powerpc64 ppc64))
$(error Big-endian PPC64 is not supported, to ignore this error, set ARCH=ppc64le)
endif

# File name of make binary-dist result
ifeq ($(JULIA_BINARYDIST_FILENAME),)
DIST_OS:=$(shell echo $(OS) | tr '[:upper:]' '[:lower:]')
ifeq (WINNT,$(OS))
DIST_OS:=win
endif
ifeq (Linux,$(OS))
DIST_OS:=linux
endif
ifeq (Darwin,$(OS))
DIST_OS:=mac
endif
DIST_ARCH:=$(ARCH)
ifneq (,$(filter $(ARCH), powerpc64le ppc64le))
DIST_ARCH:=ppc64le
endif
ifeq (1,$(ISX86))
DIST_ARCH:=$(BINARY)
endif
ifneq (,$(findstring arm,$(ARCH)))
DIST_ARCH:=arm
endif

JULIA_BINARYDIST_FILENAME := julia-$(JULIA_COMMIT)-$(DIST_OS)$(DIST_ARCH)
endif

# If we are running on ARM, set certain options automatically
ifneq (,$(findstring arm,$(ARCH)))
JCFLAGS += -fsigned-char
Expand Down Expand Up @@ -732,6 +752,13 @@ endif

JULIA_CPU_TARGET ?= native

ifneq ($(OS),WINNT)
# Windows headers with this configuration conflicts with LLVM
# (Symbol renames are done with macros)
# We mainly need this on linux for cgmemmgr so don't worry about windows for now...
JCXXFLAGS += -D_FILE_OFFSET_BITS=64
endif

# Set some ARCH-specific flags
ifneq ($(USEICC),1)
ifeq ($(ISX86),1)
Expand Down Expand Up @@ -1124,19 +1151,19 @@ endef
endif

define symlink_target
CLEAN_TARGETS += clean-$(2)/$(1)
clean-$$(abspath $(2)/$(1)):
CLEAN_TARGETS += clean-$(2)/$(3)
clean-$$(abspath $(2)/$(3)):
ifeq ($(BUILD_OS), WINNT)
@-cmd //C rmdir $$(call mingw_to_dos,$(2)/$(1),cd $(2) &&)
@-cmd //C rmdir $$(call mingw_to_dos,$(2)/$(3),cd $(2) &&)
else
@-rm $$(abspath $(2)/$(1))
@-rm $$(abspath $(2)/$(3))
endif
$$(subst $$(abspath $(JULIAHOME))/,,$$(abspath $(2)/$(1))): $$(abspath $(2)/$(1))
$$(abspath $(2)/$(1)): | $$(abspath $(2))
$$(subst $$(abspath $(JULIAHOME))/,,$$(abspath $(2)/$(3))): $$(abspath $(2)/$(3))
$$(abspath $(2)/$(3)): | $$(abspath $(2))
ifeq ($(BUILD_OS), WINNT)
@cmd //C mklink //J $$(call mingw_to_dos,$(2)/$(1),cd $(2) &&) $$(call mingw_to_dos,$(1),)
@cmd //C mklink //J $$(call mingw_to_dos,$(2)/$(3),cd $(2) &&) $$(call mingw_to_dos,$(1),)
else ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
@cmd /C mklink /J $$(call cygpath_w,$(2)/$(1)) $$(call cygpath_w,$(1))
@cmd /C mklink /J $$(call cygpath_w,$(2)/$(3)) $$(call cygpath_w,$(1))
else ifdef JULIA_VAGRANT_BUILD
@cp -R $$(abspath $(1)) $$@
else
Expand Down
Loading

0 comments on commit 1ac4141

Please sign in to comment.