Skip to content

Commit 1ac4141

Browse files
committed
Merge remote-tracking branch 'origin/master' into sparse-find-next
This fixes a few merge conflicts resulting from other additions to the sparse codebase.
2 parents daee267 + d929f0b commit 1ac4141

File tree

640 files changed

+48304
-36756
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

640 files changed

+48304
-36756
lines changed

.github/SUPPORT.md

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Getting support for Julia
2+
3+
We use the GitHub issue tracker for bug reports and feature requests only. If
4+
what you'd like to do is best described as a bug report or a code contribution
5+
then you should submit a GitHub issue or pull request as usual. Please see our
6+
[Notes for Julia
7+
Contributors](https://github.com/JuliaLang/julia/blob/master/CONTRIBUTING.md)
8+
for how to file a bug report, our contributor checklist and other helpful
9+
information. But if you have come here for help, or if you are unsure whether
10+
the behavior you're experiencing is a bug, then you should see our [Community
11+
page](https://julialang.org/community/) for a list of other places where you can
12+
get support first.

.travis.yml

+33-14
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,41 @@
11
language: cpp
2-
sudo: false
2+
sudo: required
33
dist: trusty
44
matrix:
55
include:
66
- os: linux
77
env: ARCH="i686"
8-
compiler: "g++ -m32"
8+
compiler: "g++-5 -m32"
99
addons:
1010
apt:
11+
sources:
12+
- ubuntu-toolchain-r-test
1113
packages:
1214
- libssl1.0.0
1315
- bar
1416
- time
15-
- gcc-multilib
16-
- g++-multilib
17+
- binutils
18+
- gcc-5
19+
- g++-5
20+
- gcc-5-multilib
21+
- g++-5-multilib
1722
- make:i386
1823
- libssl-dev:i386
19-
- gfortran
20-
- gfortran-multilib
24+
- gfortran-5
25+
- gfortran-5-multilib
2126
- os: linux
2227
env: ARCH="x86_64"
23-
compiler: "g++ -m64"
28+
compiler: "g++-5 -m64"
2429
addons:
2530
apt:
31+
sources:
32+
- ubuntu-toolchain-r-test
2633
packages:
2734
- libssl1.0.0
2835
- bar
2936
- time
30-
- gfortran
37+
- g++-5
38+
- gfortran-5
3139
- os: osx
3240
env: ARCH="x86_64"
3341
osx_image: xcode8
@@ -56,10 +64,19 @@ before_install:
5664
- make check-whitespace
5765
- if [ `uname` = "Linux" ]; then
5866
contrib/travis_fastfail.sh || exit 1;
67+
mkdir -p $HOME/bin;
68+
ln -s /usr/bin/gcc-5 $HOME/bin/gcc;
69+
ln -s /usr/bin/g++-5 $HOME/bin/g++;
70+
ln -s /usr/bin/gfortran-5 $HOME/bin/gfortran;
71+
ln -s /usr/bin/gcc-5 $HOME/bin/x86_64-linux-gnu-gcc;
72+
ln -s /usr/bin/g++-5 $HOME/bin/x86_64-linux-gnu-g++;
5973
gcc --version;
6074
BAR="bar -i 30";
61-
BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1";
75+
BUILDOPTS="-j5 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1";
6276
echo "override ARCH=$ARCH" >> Make.user;
77+
sudo sh -c "echo 0 > /proc/sys/net/ipv6/conf/lo/disable_ipv6";
78+
export JULIA_CPU_CORES=4;
79+
export JULIA_TEST_MAXRSS_MB=1200;
6380
TESTSTORUN="all";
6481
elif [ `uname` = "Darwin" ]; then
6582
brew update;
@@ -81,7 +98,10 @@ before_install:
8198
export JULIA_MACOS_SPAWN="DYLD_FALLBACK_LIBRARY_PATH=\"$DYLD_FALLBACK_LIBRARY_PATH\" \$1";
8299
export BUILDOPTS="$BUILDOPTS spawn=\$(JULIA_MACOS_SPAWN)";
83100
make $BUILDOPTS -C contrib -f repackage_system_suitesparse4.make;
101+
export JULIA_CPU_CORES=2;
102+
export JULIA_TEST_MAXRSS_MB=600;
84103
TESTSTORUN="all --skip linalg/triangular subarray"; fi # TODO: re enable these if possible without timing out
104+
- echo "override JULIA_CPU_TARGET=generic;native" >> Make.user
85105
- git clone -q git://git.kitenet.net/moreutils
86106
script:
87107
- echo BUILDOPTS=$BUILDOPTS
@@ -115,13 +135,12 @@ script:
115135
fi
116136
- cd .. && mv julia julia2
117137
# run tests
118-
- /tmp/julia/bin/julia --precompiled=no -e 'true' &&
119-
/tmp/julia/bin/julia-debug --precompiled=no -e 'true'
138+
- /tmp/julia/bin/julia --sysimage-native-code=no -e 'true' &&
139+
/tmp/julia/bin/julia-debug --sysimage-native-code=no -e 'true'
120140
- /tmp/julia/bin/julia -e 'versioninfo()'
121141
- pushd /tmp/julia/share/julia/test
122-
- export JULIA_CPU_CORES=2 && export JULIA_TEST_MAXRSS_MB=600 &&
123-
/tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
124-
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online download pkg
142+
- /tmp/julia/bin/julia --check-bounds=yes runtests.jl $TESTSTORUN &&
143+
/tmp/julia/bin/julia --check-bounds=yes runtests.jl libgit2-online download pkg
125144
- popd
126145
# test that the embedding code works on our installation
127146
- mkdir /tmp/embedding-test &&

CONTRIBUTING.md

+7-27
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,6 @@ All docstrings are written inline above the methods or types they are associated
141141
4. check the output in `doc/_build/html/` to make sure the changes are correct;
142142
5. commit your changes and open a pull request.
143143

144-
> **Note**
145-
>
146-
> 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.
147-
148144
#### Adding a new docstring to `base/`
149145

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

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

247242
3. Edit files in `base/`, save your edits, and test the
248-
functionality. Once you are satisfied that things work as desired,
249-
make another commit and rebuild julia.
250-
251-
Should you for some reason need to quit and restart your REPL session
252-
before finishing your changes, the procedure above will fail because
253-
`Revise.track`
254-
[cannot detect changes in source files that occurred after Julia was built](https://github.com/JuliaLang/julia/issues/23448)---it
255-
will only detect changes to source files that occur after tracking is
256-
initiated. Consequently, any changes made prior to
257-
`Revise.track(Base)` will not be incorporated into your new REPL
258-
session. You can work around this by temporarily reverting all source
259-
files to their original state. From somewhere in the `julia`
260-
directory, start your REPL session and do the following:
243+
functionality.
261244

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

270250
### Code Formatting Guidelines
271251

LICENSE.md

-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ their own licenses:
5454
- [ARPACK](http://www.caam.rice.edu/software/ARPACK/RiceBSD.txt#LICENSE) [BSD-3]
5555
- [DSFMT](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/LICENSE.txt) [BSD-3]
5656
- [OPENLIBM](https://github.com/JuliaLang/openlibm/blob/master/LICENSE.md) [MIT, BSD-2, ISC]
57-
- [OPENSPECFUN](https://github.com/JuliaLang/openspecfun) [MIT, public domain]
58-
- [FADDEEVA](http://ab-initio.mit.edu/Faddeeva) [MIT]
5957
- [GMP](http://gmplib.org/manual/Copying.html#Copying) [LGPL3+ or GPL2+]
6058
- [LIBGIT2](https://github.com/libgit2/libgit2/blob/development/COPYING) [GPL2+ with unlimited linking exception]
6159
- [CURL](https://curl.haxx.se/docs/copyright.html) [MIT/X derivative]

Make.inc

+41-14
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ USE_SYSTEM_PCRE:=0
3131
USE_SYSTEM_LIBM:=0
3232
USE_SYSTEM_OPENLIBM:=0
3333
UNTRUSTED_SYSTEM_LIBM:=0
34-
USE_SYSTEM_OPENSPECFUN:=0
3534
USE_SYSTEM_DSFMT:=0
3635
USE_SYSTEM_BLAS:=0
3736
USE_SYSTEM_LAPACK:=0
@@ -82,11 +81,6 @@ HAVE_SSP := 0
8281
WITH_GC_VERIFY := 0
8382
WITH_GC_DEBUG_ENV := 0
8483

85-
# When set, give julia binaries CPUID specific names. This is useful in cluster environments
86-
# with heterogeneous architectures. N.B.: will not be automatically rebuilt for all
87-
# architectures if julia is updated.
88-
CPUID_SPECIFIC_BINARIES ?= 0
89-
9084
# Prevent picking up $ARCH from the environment variables
9185
ARCH:=
9286

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

690+
# File name of make binary-dist result
691+
ifeq ($(JULIA_BINARYDIST_FILENAME),)
692+
DIST_OS:=$(shell echo $(OS) | tr '[:upper:]' '[:lower:]')
693+
ifeq (WINNT,$(OS))
694+
DIST_OS:=win
695+
endif
696+
ifeq (Linux,$(OS))
697+
DIST_OS:=linux
698+
endif
699+
ifeq (Darwin,$(OS))
700+
DIST_OS:=mac
701+
endif
702+
DIST_ARCH:=$(ARCH)
703+
ifneq (,$(filter $(ARCH), powerpc64le ppc64le))
704+
DIST_ARCH:=ppc64le
705+
endif
706+
ifeq (1,$(ISX86))
707+
DIST_ARCH:=$(BINARY)
708+
endif
709+
ifneq (,$(findstring arm,$(ARCH)))
710+
DIST_ARCH:=arm
711+
endif
712+
713+
JULIA_BINARYDIST_FILENAME := julia-$(JULIA_COMMIT)-$(DIST_OS)$(DIST_ARCH)
714+
endif
715+
696716
# If we are running on ARM, set certain options automatically
697717
ifneq (,$(findstring arm,$(ARCH)))
698718
JCFLAGS += -fsigned-char
@@ -732,6 +752,13 @@ endif
732752

733753
JULIA_CPU_TARGET ?= native
734754

755+
ifneq ($(OS),WINNT)
756+
# Windows headers with this configuration conflicts with LLVM
757+
# (Symbol renames are done with macros)
758+
# We mainly need this on linux for cgmemmgr so don't worry about windows for now...
759+
JCXXFLAGS += -D_FILE_OFFSET_BITS=64
760+
endif
761+
735762
# Set some ARCH-specific flags
736763
ifneq ($(USEICC),1)
737764
ifeq ($(ISX86),1)
@@ -1124,19 +1151,19 @@ endef
11241151
endif
11251152

11261153
define symlink_target
1127-
CLEAN_TARGETS += clean-$(2)/$(1)
1128-
clean-$$(abspath $(2)/$(1)):
1154+
CLEAN_TARGETS += clean-$(2)/$(3)
1155+
clean-$$(abspath $(2)/$(3)):
11291156
ifeq ($(BUILD_OS), WINNT)
1130-
@-cmd //C rmdir $$(call mingw_to_dos,$(2)/$(1),cd $(2) &&)
1157+
@-cmd //C rmdir $$(call mingw_to_dos,$(2)/$(3),cd $(2) &&)
11311158
else
1132-
@-rm $$(abspath $(2)/$(1))
1159+
@-rm $$(abspath $(2)/$(3))
11331160
endif
1134-
$$(subst $$(abspath $(JULIAHOME))/,,$$(abspath $(2)/$(1))): $$(abspath $(2)/$(1))
1135-
$$(abspath $(2)/$(1)): | $$(abspath $(2))
1161+
$$(subst $$(abspath $(JULIAHOME))/,,$$(abspath $(2)/$(3))): $$(abspath $(2)/$(3))
1162+
$$(abspath $(2)/$(3)): | $$(abspath $(2))
11361163
ifeq ($(BUILD_OS), WINNT)
1137-
@cmd //C mklink //J $$(call mingw_to_dos,$(2)/$(1),cd $(2) &&) $$(call mingw_to_dos,$(1),)
1164+
@cmd //C mklink //J $$(call mingw_to_dos,$(2)/$(3),cd $(2) &&) $$(call mingw_to_dos,$(1),)
11381165
else ifneq (,$(findstring CYGWIN,$(BUILD_OS)))
1139-
@cmd /C mklink /J $$(call cygpath_w,$(2)/$(1)) $$(call cygpath_w,$(1))
1166+
@cmd /C mklink /J $$(call cygpath_w,$(2)/$(3)) $$(call cygpath_w,$(1))
11401167
else ifdef JULIA_VAGRANT_BUILD
11411168
@cp -R $$(abspath $(1)) $$@
11421169
else

0 commit comments

Comments
 (0)