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

Commit

Permalink
Merge branch 'build_system' of git://github.com/sagemath/sage into bu…
Browse files Browse the repository at this point in the history
…ild_system
  • Loading branch information
JohnCremona committed Oct 4, 2013
2 parents 38d22b7 + 56d80d0 commit 139dcf5
Show file tree
Hide file tree
Showing 152 changed files with 12,480 additions and 3,574 deletions.
22 changes: 3 additions & 19 deletions Makefile
Expand Up @@ -62,30 +62,14 @@ doc-pdf: build
$(PIPE) "./sage --docbuild all pdf $(SAGE_DOCBUILD_OPTS) 2>&1" "tee -a logs/docpdf.log"

doc-clean:
@echo "Deleting generated docs..."
rm -rf src/doc/en/reference/*/sage
rm -rf src/doc/en/reference/*/sagenb
rm -rf src/doc/en/reference/sage
rm -rf src/doc/en/reference/sagenb
rm -rf src/doc/output
cd src/doc && $(MAKE) clean

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

lib-clean:
@echo "Deleting Sage library build artifacts..."
rm -f src/c_lib/.sconsign.dblite
find src/c_lib -name '*.os' | xargs rm -f
find src/c_lib -name '*.so' | xargs rm -f
rm -rf src/build
find src -name '*.pyc' | xargs rm -f
find src -name '*.pyx' | sed 's/pyx$$/c/' | xargs rm -f
find src -name '*.pyx' | sed 's/pyx$$/cpp/' | xargs rm -f
rm -rf src/sage/libs/pari/gen.h
rm -rf src/sage/modular/arithgroup/farey_symbol.h
rm -rf src/sage/rings/real_mpfi.h
rm -rf src/sage/symbolic/pynac.h
cd src && $(MAKE) clean

bdist-clean: clean
@echo "Deleting miscellaneous artifacts generated by build system ..."
Expand All @@ -101,7 +85,7 @@ distclean: clean doc-clean lib-clean bdist-clean

micro_release: bdist-clean lib-clean
@echo "Stripping binaries ..."
find local/lib local/bin -type f -exec strip '{}' ';' |& grep -v "File format not recognized" | grep -v "File truncated" || true
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
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
@@ -1 +1 @@
Sage version 5.12.beta2, released 2013-08-20
Sage version 5.12.rc0, released 2013-10-01
15 changes: 5 additions & 10 deletions build/deps
@@ -1,16 +1,11 @@
###############################################################################
# This file ($SAGE_ROOT/spkg/standard/deps) will be copied into
# $SAGE_ROOT/spkg/Makefile by $SAGE_ROOT/spkg/install
# This file ($SAGE_ROOT/build/deps) will be copied into
# $SAGE_ROOT/build/Makefile by $SAGE_ROOT/build/install
###############################################################################

# Let e.g. SAGE_ROOT/spkg/install pass options to sage-spkg, i.e. currently
# Let e.g. SAGE_ROOT/build/install pass options to sage-spkg, i.e. currently
# "-f", to force rebuilding dependent packages during an upgrade (#9896).
#
# When upgrading from a 4.x version of Sage, the script "sage-spkg" will be
# found in SAGE_ROOT/local/bin until the new sage_root repo is installed.
# After that, it will be found in SAGE_ROOT/spkg/bin
# (SAGE_ROOT/spkg/bin is added to the PATH in spkg/install).
# Therefore, do not put an explicit path for sage-spkg here.

SAGE_SPKG = sage-spkg $${SAGE_SPKG_OPTS}
PIPE = $(SAGE_ROOT)/build/pipestatus

Expand Down Expand Up @@ -118,7 +113,7 @@ all-sage: \
csage \
extcode

# TOOLCHAIN consists of dependencies determined by spkg/install,
# TOOLCHAIN consists of dependencies determined by build/install,
# including for example the GCC package.
toolchain: $(TOOLCHAIN)

Expand Down
20 changes: 11 additions & 9 deletions build/install
Expand Up @@ -15,7 +15,7 @@ SAGE_SPKG_INST="$SAGE_LOCAL/var/lib/sage/installed"
SAGE_VERSION=`cat $SAGE_ROOT/VERSION.txt | sed 's+.*\ \(.*\),.*+\1+'`
PATH="$SAGE_ROOT/src/bin:$SAGE_LOCAL/bin:$PATH"
PYTHONPATH="$SAGE_LOCAL"
export SAGE_ROOT SAGE_SRC SAGE_LOCAL SAGE_LOGS SAGE_SPKG_INST SAGE_VERSION PATH PYTHONPATH
export SAGE_ROOT SAGE_SRC SAGE_LOCAL SAGE_EXTCODE SAGE_LOGS SAGE_SPKG_INST SAGE_VERSION PATH PYTHONPATH

# Storing the start time of the build process. The time is stored in
# seconds since 1970-01-01 in a hidden file called
Expand Down Expand Up @@ -456,10 +456,10 @@ EOF

# $(TOOLCHAIN) variable containing prerequisites for the build
echo >&3 -n 'TOOLCHAIN ='
if [ "$SAGE_INSTALL_CCACHE" == yes ]; then
if [ "$SAGE_INSTALL_CCACHE" = yes ]; then
echo >&3 -n ' $(INST)/ccache'
fi
if [ "$need_to_install_gcc" == yes ]; then
if [ "$need_to_install_gcc" = yes ]; then
echo >&3 -n ' $(INST)/$(GCC)'
# Use this option for the prereq configure script, such that it
# will skip all compiler checks.
Expand All @@ -469,32 +469,34 @@ echo >&3

echo >&3 'SCRIPT_SOURCES = \'
for file in "$SAGE_SRC/bin/"*; do
echo >&3 " $file \\"
echo >&3 " \$(SAGE_SRC)${file#$SAGE_SRC} \\"
done
echo >&3
echo >&3 'SCRIPT_TARGETS = \'
for file in "$SAGE_SRC/bin/"*; do
echo >&3 " ${SAGE_LOCAL}${file#$SAGE_SRC} \\"
echo >&3 " \$(SAGE_LOCAL)${file#$SAGE_SRC} \\"
done
echo >&3
echo >&3 'EXTCODE_SOURCES = \'
for file in `find "$SAGE_SRC"/ext -type f`; do
echo >&3 " $file \\"
echo >&3 " \$(SAGE_SRC)${file#$SAGE_SRC} \\"
done
echo >&3
echo >&3 'EXTCODE_TARGETS = \'
for file in `find "$SAGE_SRC"/ext -type f`; do
echo >&3 " ${SAGE_EXTCODE}${file#$SAGE_SRC/ext} \\"
echo >&3 " \$(SAGE_EXTCODE)${file#$SAGE_SRC/ext} \\"
done
echo >&3

cat >&3 <<EOF
# don't just use \`install\` since we don't want to change permissions
$SAGE_LOCAL/bin/%: $SAGE_SRC/bin/%
\$(SAGE_LOCAL)/bin/%: \$(SAGE_SRC)/bin/%
cp \$< \$@
# don't just use \`install -D\` since we don't want to change permissions
$SAGE_EXTCODE/%: $SAGE_SRC/ext/%
# cp won't correctly setup the SAGE_EXTCODE directory structure (unlike install)
# so we need a mkdir here to cp can copy into an existing folder
\$(SAGE_EXTCODE)/%: \$(SAGE_SRC)/ext/%
@mkdir -p "\$(@D)"
cp \$< \$@
EOF
Expand Down
11 changes: 11 additions & 0 deletions build/pkgs/atlas/SPKG.txt
Expand Up @@ -36,6 +36,9 @@ Solaris, but should also work on OSX and Cygwin.
* patches/threads.patch: Avoid thread-related symbols
ATL_(Set|Reset|Free|Dec)AtomicCount symbols in single-threaded
library.
* patches/do_not_force_mutex.patch: always use assembly over mutex
since the mutex version fails to build a shared library. See #15045
for details.
* lapack-x.y.z.tgz: The netlib lapack tarball. If you update this,
make sure you also update the LAPACK_TARBALL variable in
spkg-install.
Expand Down Expand Up @@ -92,6 +95,14 @@ The package can be configured via three environment variables:

== ChangeLog ==

=== atlas-3.10.1.p5, lapack-3.4.2 (Volker Braun, 30 August 2013) ===
* Trac #15045: Another workaround for shared library bug that does
not involve static libraries

=== atlas-3.10.1.p4, lapack-3.4.2 (Volker Braun, 14 August 2013) ===
* Trac #15045: Workaround for shared library bug,
non-deterministically affecting some old platforms

=== atlas-3.10.1.p3, lapack-3.4.2 (Volker Braun, 6 July 2013) ===
* Trac #14781: move untracked files to src/ in preparation for git
* Added spkg-src to populate the src/ directory
Expand Down
2 changes: 1 addition & 1 deletion build/pkgs/atlas/package-version.txt
@@ -1 +1 @@
3.10.1.p3
3.10.1.p5
18 changes: 18 additions & 0 deletions build/pkgs/atlas/patches/do_not_force_mutex.patch
@@ -0,0 +1,18 @@
Always use assembly over mutex since the mutex version fails to build
a shared library. See #15045 for details.

diff --git a/tune/threads/tune_count.c b/tune/threads/tune_count.c
index f09717f..4dc3fde 100644
--- a/tune/threads/tune_count.c
+++ b/tune/threads/tune_count.c
@@ -241,8 +241,8 @@ int main(int nargs, char **args)
*/
if (tmut < tldec*1.02)
{
- printf("\nNO REAL ADVANTAGE TO ASSEMBLY, FORCING USE OF MUTEX\n");
- ATL_assert(!system("make iForceUseMutex"));
+ printf("\nNO REAL ADVANTAGE TO ASSEMBLY OVER MUTEX\n");
+ printf("\nASSEMBLY/MUTEX ratio is %.2f, but we'll stick with assembly anyway\n", tldec/tmut);
}
}
free(timearr);
2 changes: 2 additions & 0 deletions build/pkgs/atlas/spkg-install
Expand Up @@ -536,6 +536,8 @@ rc = make_atlas_library('ptshared')
if rc!=0:
print 'Failed to build threaded library, possibly because your'
print 'system does not support it.'
else:
print 'Installed ATLAS multi-threaded shared library'


######################################################################
Expand Down
3 changes: 3 additions & 0 deletions build/pkgs/git/checksums.ini
@@ -0,0 +1,3 @@
sha1=8cce24a390595d6e62c3aa66bef332ab95900173
md5=9b178a549f64e6f896b634e76ce4c1a6
cksum=3835145085
1 change: 1 addition & 0 deletions build/pkgs/git/package-version.txt
@@ -0,0 +1 @@
1.7.12.2.p0
6 changes: 3 additions & 3 deletions build/pkgs/ipython/checksums.ini
@@ -1,3 +1,3 @@
sha1=1076f8ddcaa3f51e5febac9d8fdb39e789c22a1d
md5=3108fd91d47e2a87e17b92834f5e79d8
cksum=2751286105
sha1=b533236e5c5d4f85bbc654c2bfe890dbb9e68b8e
md5=29585ef7a2e4396527fa64de11c36e59
cksum=4222531866
2 changes: 1 addition & 1 deletion build/pkgs/ipython/package-version.txt
@@ -1 +1 @@
0.13.1
0.13.2
8 changes: 8 additions & 0 deletions build/pkgs/singular/SPKG.txt
Expand Up @@ -64,6 +64,8 @@ See spkg-src.
* osx_link.patch: #14415: Fixes linker problems on OS X PPC.
* sanitize_gmp_header_hack.patch:
Fix and simplify generation of `factory/cf_gmp.h` (cf. #14737).
* pullrequest215.patch: Backport of first 3 patches from
https://github.com/Singular/Sources/pull/215

Other notes
* The option '--without-dynamic-kernel' is used on *all*
Expand Down Expand Up @@ -91,6 +93,12 @@ Other notes

== ChangeLog ==

=== singular-3-1-5.p9 (Paul Zimmermann, Jeroen Demeyer, 26 August 2013) ===
* #13770: Add upstream pull request 215 for multivariate factorisation.
* spkg-install: split apply_patches step in 2 steps: choose_patches and
apply_patches; add a few small fixes.
* Remove install-sh which is no longer needed.

=== singular-3-1-5.p8 (Leif Leonhardy, Volker Braun, 10 July 2013) ===
* #14737: Fix and simplify generation of `factory/cf_gmp.h`
(by adding `patches/sanitize_gmp_header_hack.patch`).
Expand Down

0 comments on commit 139dcf5

Please sign in to comment.