Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Merge branch 'develop' into t/17790/builtinfunction_doesn_t_pass_non_…
Browse files Browse the repository at this point in the history
…sr_coercible_arguments_to_function_code
  • Loading branch information
rwst committed Jun 17, 2016
2 parents f6e2113 + 0c1f89f commit 89f5b2d
Show file tree
Hide file tree
Showing 4,389 changed files with 458,482 additions and 204,884 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
15 changes: 13 additions & 2 deletions .gitignore
Expand Up @@ -14,8 +14,6 @@
/config.log
/config.status
/configure
/build/Makefile-auto
/build/Makefile-auto.in

###################
# Temporary Files #
Expand Down Expand Up @@ -70,3 +68,16 @@ $RECYCLE.BIN/

# SublimeText
*.sublime-workspace

#################
# SageMathCloud #
#################
*.sage-chat
*.sage-history
*.syncdoc*

###########
# Jupyter #
###########
.ipynb_checkpoints
Untitled*.ipynb
22 changes: 8 additions & 14 deletions COPYING.txt
Expand Up @@ -28,6 +28,7 @@ the licenses of the components of Sage are included below as well.

SOFTWARE LICENSE
-----------------------------------------------------------------------
arb GPLv2+
atlas Modified BSD
boehm_gc MIT-like license (see below)
backports_ssl_match_hostname Python License
Expand All @@ -54,7 +55,6 @@ freetype FreeType License (similar to BSD; see below)
gap GPLv2+
gcc GPLv3+
gd Custom (BSD-ish)
gdmodule Custom (BSD-ish)
genus2reduction GPLv2+
gfan GPLv2 or GPLv3
gf2x GPLv2+
Expand All @@ -67,6 +67,7 @@ iml COPYING is GPLv2, source files state modified BSD
ipython Modified BSD
jinja2 Modified BSD
jmol LGPLv2.1+
jsonschema MIT License
lcalc GPLv2+
libfplll LGPLv2.1+
libgap GPLv3+
Expand All @@ -75,8 +76,11 @@ linbox LGPLv2.1+
lrcalc GPLv2+
m4ri GPLv2+
m4rie GPLv2+
markupsafe Simplified BSD
mathjax Apache License 2.0
matplotlib Matplotlib License (BSD compatible, see below)
maxima See below
mistune Modified BSD
mpc LGPLv3+
mpfi COPYING is GPLv2, source files state LGPLv2.1+
mpfr LGPLv3+
Expand All @@ -85,6 +89,7 @@ mpmath Modified BSD
networkx Modified BSD
ntl GPLv2+
numpy Modified BSD
openblas Modified BSD
palp GPLv3
pari GPLv2+
patch GPLv2+
Expand All @@ -93,6 +98,7 @@ pillow Apache License 2.0
pip MIT License
pkgconf ISC License (equivalent to Simplified BSD)
pkgconfig MIT License
planarity Modified BSD
polybori GPLv2+
polytopes_db None (database)
ppl GPLv3+
Expand Down Expand Up @@ -125,6 +131,7 @@ sympow Modified BSD
sympy Modified BSD
tachyon Modified BSD
termcap GPLv2+
threejs MIT License
tornado Apache License
zlib Custom (Modified BSD)
zn_poly GPLv2 or GPLv3 (no later versions, see below)
Expand Down Expand Up @@ -945,19 +952,6 @@ documentation.

================================================================================

gdmodule:
(http://newcenturycomputers.net/projects/gdmodule.html)

Permission granted for unlimited use, provided that the Quest Center
at Cold Spring Harbor Labs is given credit for the library in the
user-visible documentation of your software. If you modify gd, we ask
that you share the modifications with us so they can be added to the
distribution. See gd.html for details. (The rest of the notice is in
the package gdmodule spkg, which is a bzip2'd tarball included in the
Sage source distribution.)

================================================================================

genus2reduction:
(http://www.math.u-bordeaux.fr/~liu/G2R/)
Copyright Qing LIU. See PARI for the license terms.
Expand Down
189 changes: 72 additions & 117 deletions Makefile
Expand Up @@ -7,27 +7,45 @@
# See below for targets to build the documentation in other formats,
# to run various types of test suites, and to remove parts of the build etc.

PIPE = build/pipestatus


all: start doc # indirectly depends on build

logs:
mkdir -p $@

build: logs configure
+cd build && \
"../$(PIPE)" \
"env SAGE_PARALLEL_SPKG_BUILD='$(SAGE_PARALLEL_SPKG_BUILD)' ./install all 2>&1" \
"tee -a ../logs/install.log"
./sage -b
default: all

build: all-build

# Defer unknown targets to build/make/Makefile
%::
@if [ -x relocate-once.py ]; then ./relocate-once.py; fi
$(MAKE) build/make/Makefile
+build/bin/sage-logger \
"cd build/make && ./install '$@'" logs/install.log

# If configure was run before, rerun it with the old arguments.
# Otherwise, run configure with argument $PREREQ_OPTIONS.
build/make/Makefile: configure build/make/deps build/pkgs/*/*
rm -f config.log
mkdir -p logs/pkgs
ln -s logs/pkgs/config.log config.log
@if [ -x config.status ]; then \
./config.status --recheck && ./config.status; \
else \
./configure $$PREREQ_OPTIONS; \
fi || ( \
if [ "x$$SAGE_PORT" = x ]; then \
echo "If you would like to try to build Sage anyway (to help porting),"; \
echo "export the variable 'SAGE_PORT' to something non-empty."; \
exit 1; \
else \
echo "Since 'SAGE_PORT' is set, we will try to build anyway."; \
fi; )

# Preemptively download all standard upstream source tarballs.
download:
export SAGE_ROOT=$$(pwd) && \
export PATH=$$SAGE_ROOT/src/bin:$$PATH && \
./src/bin/sage-download-upstream

dist: build/make/Makefile
./sage --sdist

# ssl: build Sage, and also install pyOpenSSL. This is necessary for
# running the secure notebook. This make target requires internet
# access. Note that this requires that your system have OpenSSL
Expand All @@ -36,154 +54,91 @@ download:
ssl: all
./sage -i pyopenssl

build-serial: SAGE_PARALLEL_SPKG_BUILD = no
build-serial: build

# Start Sage if the file local/etc/sage-started.txt does not exist
# (i.e. when we just installed Sage for the first time).
start: build
[ -f local/etc/sage-started.txt ] || local/bin/sage-starts

# You can choose to have the built HTML version of the documentation link to
# the PDF version. To do so, you need to build both the HTML and PDF versions.
# To have the HTML version link to the PDF version, do
#
# $ ./sage --docbuild all html
# $ ./sage --docbuild all pdf
#
# For more information on the docbuild utility, do
#
# $ ./sage --docbuild -H
doc: doc-html

doc-html: build
$(PIPE) "./sage --docbuild --no-pdf-links all html $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/dochtml.log"

# 'doc-html-no-plot': build docs without building the graphics coming
# from the '.. plot' directive, in case you want to save a few
# megabytes of disk space. 'doc-clean' is a prerequisite because the
# presence of graphics is cached in src/doc/output.
doc-html-no-plot: build doc-clean
$(PIPE) "./sage --docbuild --no-pdf-links --no-plot all html $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/dochtml.log"

doc-html-mathjax: build
$(PIPE) "./sage --docbuild --no-pdf-links all html -j $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/dochtml.log"

# Keep target 'doc-html-jsmath' for backwards compatibility.
doc-html-jsmath: doc-html-mathjax

doc-pdf: build
$(PIPE) "./sage --docbuild all pdf $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/docpdf.log"

doc-clean:
cd src/doc && $(MAKE) clean

clean:
@echo "Deleting package build directories..."
rm -rf local/var/tmp/sage/build

lib-clean:
cd src && $(MAKE) clean

bdist-clean: clean
misc-clean:
@echo "Deleting miscellaneous artifacts generated by build system ..."
rm -rf logs
rm -rf dist
rm -rf tmp
rm -f aclocal.m4 config.log config.status confcache
rm -rf autom4te.cache
rm -f build/Makefile build/Makefile-auto
rm -f build/make/Makefile build/make/Makefile-auto
rm -f .BUILDSTART

distclean: clean doc-clean lib-clean bdist-clean
bdist-clean: clean
$(MAKE) misc-clean

distclean: build-clean
$(MAKE) misc-clean
@echo "Deleting all remaining output from build system ..."
rm -rf local

# Delete all auto-generated files which are distributed as part of the
# source tarball
bootstrap-clean:
rm -rf config configure build/Makefile-auto.in
rm -rf config configure build/make/Makefile-auto.in

# Remove absolutely everything which isn't part of the git repo
maintainer-clean: distclean bootstrap-clean
rm -rf upstream

micro_release: bdist-clean lib-clean
micro_release: bdist-clean sagelib-clean
@echo "Stripping binaries ..."
LC_ALL=C find local/lib local/bin -type f -exec strip '{}' ';' 2>&1 | grep -v "File format not recognized" | grep -v "File truncated" || true

TESTPRELIMS = local/bin/sage-starts
TESTALL = ./sage -t --all
PTESTALL = ./sage -t -p --all

test: all # i.e. build and doc
$(TESTPRELIMS)
test: all
$(TESTALL) --logfile=logs/test.log

check: test

testall: all # i.e. build and doc
$(TESTPRELIMS)
$(TESTALL) --optional=all --logfile=logs/testall.log
testall: all
$(TESTALL) --optional=sage,optional,external --logfile=logs/testall.log

testlong: all # i.e. build and doc
$(TESTPRELIMS)
testlong: all
$(TESTALL) --long --logfile=logs/testlong.log

testalllong: all # i.e. build and doc
$(TESTPRELIMS)
$(TESTALL) --long --optional=all --logfile=logs/testalllong.log
testalllong: all
$(TESTALL) --long --optional=sage,optional,external --logfile=logs/testalllong.log

ptest: all # i.e. build and doc
$(TESTPRELIMS)
ptest: all
$(PTESTALL) --logfile=logs/ptest.log

ptestall: all # i.e. build and doc
$(TESTPRELIMS)
$(PTESTALL) --optional=all --logfile=logs/ptestall.log
ptestall: all
$(PTESTALL) --optional=sage,optional,external --logfile=logs/ptestall.log

ptestlong: all # i.e. build and doc
$(TESTPRELIMS)
ptestlong: all
$(PTESTALL) --long --logfile=logs/ptestlong.log

ptestalllong: all # i.e. build and doc
$(TESTPRELIMS)
$(PTESTALL) --long --optional=all --logfile=logs/ptestalllong.log
ptestalllong: all
$(PTESTALL) --long --optional=sage,optional,external --logfile=logs/ptestalllong.log

testoptional: all
$(TESTALL) --optional=sage,optional --logfile=logs/testoptional.log

testoptional: testall # just an alias
testoptionallong: all
$(TESTALL) --long --optional=sage,optional --logfile=logs/testoptionallong.log

testoptionallong: testalllong # just an alias
ptestoptional: all
$(PTESTALL) --optional=sage,optional --logfile=logs/ptestoptional.log

ptestoptional: ptestall # just an alias
ptestoptionallong: all
$(PTESTALL) --long --optional=sage,optional --logfile=logs/ptestoptionallong.log

ptestoptionallong: ptestalllong # just an alias

configure: configure.ac src/bin/sage-version.sh \
m4/ax_c_check_flag.m4 m4/ax_gcc_option.m4 m4/ax_gcc_version.m4 m4/ax_gxx_option.m4 m4/ax_gxx_version.m4 m4/ax_prog_perl_version.m4
configure: configure.ac src/bin/sage-version.sh m4/*.m4
./bootstrap -d

install:
echo "Experimental use only!"
if [ "$(DESTDIR)" = "" ]; then \
echo >&2 "Set the environment variable DESTDIR to the install path."; \
exit 1; \
fi
# Make sure we remove only an existing directory. If $(DESTDIR)/sage is
# a file instead of a directory then the mkdir statement later will fail
if [ -d "$(DESTDIR)"/sage ]; then \
rm -rf "$(DESTDIR)"/sage; \
fi
mkdir -p "$(DESTDIR)"/sage
mkdir -p "$(DESTDIR)"/bin
cp -Rp * "$(DESTDIR)"/sage
rm -f "$(DESTDIR)"/bin/sage
ln -s ../sage/sage "$(DESTDIR)"/bin/sage
"$(DESTDIR)"/bin/sage -c # Run sage-location


.PHONY: all build build-serial start install micro_release \
doc doc-html doc-html-jsmath doc-html-mathjax doc-pdf \
doc-clean clean lib-clean bdist-clean distclean bootstrap-clean maintainer-clean \
@echo "******************************************************************"
@echo "The '$@' target is no longer supported:"
@echo "either build SageMath in-place or use the binary packaging scripts"
@echo "from https://github.com/sagemath/binary-pkg"
@echo "******************************************************************"
@exit 1


.PHONY: default build install micro_release \
misc-clean bdist-clean distclean bootstrap-clean maintainer-clean \
test check testoptional testall testlong testoptionallong testallong \
ptest ptestoptional ptestall ptestlong ptestoptionallong ptestallong

0 comments on commit 89f5b2d

Please sign in to comment.