aboutsummaryrefslogtreecommitdiff
path: root/reproduce/software/make/high-level.mk
diff options
context:
space:
mode:
Diffstat (limited to 'reproduce/software/make/high-level.mk')
-rw-r--r--reproduce/software/make/high-level.mk53
1 files changed, 39 insertions, 14 deletions
diff --git a/reproduce/software/make/high-level.mk b/reproduce/software/make/high-level.mk
index ac46f3a..5f1d2b2 100644
--- a/reproduce/software/make/high-level.mk
+++ b/reproduce/software/make/high-level.mk
@@ -28,11 +28,11 @@
# Top level environment
include reproduce/software/make/build-rules.mk
-include reproduce/software/config/installation/LOCAL.mk
-include reproduce/software/config/installation/TARGETS.mk
-include reproduce/software/config/installation/texlive.mk
-include reproduce/software/config/installation/versions.mk
-include reproduce/software/config/installation/checksums.mk
+include reproduce/software/config/installation/LOCAL.conf
+include reproduce/software/config/installation/TARGETS.conf
+include reproduce/software/config/installation/versions.conf
+include reproduce/software/config/installation/checksums.conf
+include reproduce/software/config/installation/texlive-packages.conf
lockdir = $(BDIR)/locks
tdir = $(BDIR)/software/tarballs
@@ -70,8 +70,8 @@ all: $(foreach p, $(top-level-programs), $(ibidir)/$(p)) \
.SHELLFLAGS := --noprofile --norc -ec
export CCACHE_DISABLE := 1
export PATH := $(ibdir)
-export CXX := $(ibdir)/g++
export CC := $(ibdir)/gcc
+export CXX := $(ibdir)/g++
export SHELL := $(ibdir)/bash
export F77 := $(ibdir)/gfortran
export LD_RUN_PATH := $(ildir):$(il64dir)
@@ -79,14 +79,31 @@ export PKG_CONFIG_PATH := $(ildir)/pkgconfig
export LD_LIBRARY_PATH := $(ildir):$(il64dir)
export PKG_CONFIG_LIBDIR := $(ildir)/pkgconfig
+# Until we build our own C library, without this, our GCC won't be able to
+# compile anything! Note that on most systems (in particular
+# non-Debian-based), `sys_cpath' will be empty.
+export CPATH := $(sys_cpath)
+
# RPATH is automatically written in macOS, so `DYLD_LIBRARY_PATH' is
# ultimately redundant. But on some systems, even having a single value
# causes crashs (see bug #56682). So we'll just give it no value at all.
export DYLD_LIBRARY_PATH :=
-# Recipe startup script, see `reproduce/software/bash/bashrc.sh'.
+# On Debian-based OSs, the basic C libraries are in a target-specific
+# location, not in standard places. Until we merge the building of the C
+# library, it is thus necessary to include this location here. On systems
+# that don't need it, `sys_library_path' is just empty. This is necessary
+# for `ld'.
+export LIBRARY_PATH := $(sys_library_path)
+
+# Recipe startup script, see `reproduce/software/shell/bashrc.sh'.
export PROJECT_STATUS := configure_highlevel
-export BASH_ENV := $(shell pwd)/reproduce/software/bash/bashrc.sh
+export BASH_ENV := $(shell pwd)/reproduce/software/shell/bashrc.sh
+
+# Servers to use as backup, later this should go in a file that is not
+# under version control (the actual server that the tarbal comes from is
+# irrelevant).
+backupservers = http://akhlaghi.org/reproduce-software
# Building flags:
#
@@ -168,6 +185,7 @@ tarballs = $(foreach t, apachelog4cxx-$(apachelog4cxx-version).tar.lz \
libtirpc-$(libtirpc-version).tar.bz2 \
libxml2-$(libxml2-version).tar.gz \
minizip-$(minizip-version).tar.gz \
+ missfits-$(missfits-version).tar.gz \
netpbm-$(netpbm-version).tar.gz \
openblas-$(openblas-version).tar.gz \
openmpi-$(openmpi-version).tar.gz \
@@ -268,6 +286,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
mergenames=0
c=$(minizip-checksum);
w=https://github.com/nmoinvaz/minizip/archive/$(minizip-version).tar.gz
+ elif [ $$n = missfits ]; then c=$(missfits-checksum); w=https://www.astromatic.net/download/missfits
elif [ $$n = netpbm ]; then c=$(netpbm-checksum); w=http://akhlaghi.org/reproduce-software
elif [ $$n = openblas ]; then
mergenames=0
@@ -325,7 +344,7 @@ $(tarballs): $(tdir)/%: | $(lockdir)
touch $(lockdir)/download
downloader="wget --no-use-server-timestamps -O"
$(downloadwrapper) "$$downloader" $(lockdir)/download \
- $$tarballurl "$@.unchecked"
+ $$tarballurl "$@.unchecked" "$(backupservers)"
fi
# Make sure this is the expected tarball. Note that we now have a
@@ -601,7 +620,7 @@ $(ibidir)/hdf5: $(ibidir)/openmpi \
# HEALPix includes the source of its C, C++, Python (and several other
# languages) libraries within one tarball. We will include the Python
# installation only when any other Python module is requested (in
-# `TARGETS.mk').
+# `TARGETS.conf').
#
# Note that the default `./configure' script is an interactive script which
# is hard to automate. So we need to go into the `autotools' directory of
@@ -647,7 +666,7 @@ $(ibidir)/healpix: $(ibidir)/cfitsio \
&& echo "HEALPix $(healpix-version) \citep{healpix}" > $@
$(ibidir)/libjpeg: | $(tdir)/jpegsrc.$(libjpeg-version).tar.gz
- $(call gbuild, jpeg-9b, static) \
+ $(call gbuild, jpeg-9b, static,,V=1) \
&& echo "Libjpeg $(libjpeg-version)" > $@
$(ibidir)/libnsl: $(ibidir)/libtirpc \
@@ -1017,12 +1036,15 @@ $(ibidir)/imfit: $(ibidir)/gsl \
fi \
&& echo "Imfit $(imfit-version) \citep{imfit2015}" > $@
-
$(ibidir)/minizip: $(ibidir)/cmake \
| $(tdir)/minizip-$(minizip-version).tar.gz
$(call cbuild, minizip-$(minizip-version), static) \
&& echo "minizip $(minizip-version)" > $@
+$(ibidir)/missfits: | $(tdir)/missfits-$(missfits-version).tar.gz
+ $(call gbuild, missfits-$(missfits-version), static) \
+ && cp $(dtexdir)/missfits.tex $(ictdir)/ \
+ && echo "MissFITS $(missfits-version) \citep{missfits}" > $@
# Netpbm is a prerequisite of Astrometry-net, it contains a lot of programs.
# This program has a crazy dialogue installation which is override using the
@@ -1135,7 +1157,10 @@ $(ibidir)/xlsxio: $(ibidir)/expat \
| $(tdir)/xlsxio-$(xlsxio-version).tar.gz
export LDFLAGS="-lbz2 -lbsd"; \
$(call cbuild, xlsxio-$(xlsxio-version), static) \
- && echo "XLSX I/O $(xlsxio-version)" > $@
+ && echo "XLSX I/O $(xlsxio-version)" > $
+
+
+
@@ -1216,7 +1241,7 @@ $(itidir)/texlive-ready-tlmgr: reproduce/software/config/installation/texlive.co
#else
#forbiber = $(ibidir)/libnsl
#endif
-$(itidir)/texlive: reproduce/software/config/installation/texlive.mk \
+$(itidir)/texlive: reproduce/software/config/installation/texlive-packages.conf \
$(itidir)/texlive-ready-tlmgr \
$(forbiber)