aboutsummaryrefslogtreecommitdiff
path: root/reproduce
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-12-04 15:07:48 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-12-04 15:07:48 +0000
commite093f994617f05fd6bd2467cde023b7883ad57a6 (patch)
treea1ce0b653a40d6c772a1870caa951a7c92ebf645 /reproduce
parent65fdffdae8c70595b451cb180e80d7608d541cb2 (diff)
Low-level links nolonger a prerequisite of programs
Until now the low-level links that we put in our internal installation from the operating system were a prerequisite of essentially all the basic dependencies. So a change in them would mean a full re-build of all the basic dependencies. But in building the basic dependencies, we already have the operating system's PATH and other environment variables. So unlike the higher-level dependencies, they don't need these links at all! With this commit, the `low-level-links' file is placed in `installed/bin' and is a top-level target of the basic dependencies build. In this way, if it is necessary to update/change to use something from the host operating system, we can simply delete it and run `./configure' again wihout having to re-build all the basic dependencies.
Diffstat (limited to 'reproduce')
-rw-r--r--reproduce/src/make/dependencies-basic.mk19
1 files changed, 8 insertions, 11 deletions
diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index f2c24eb..f9b35f8 100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
@@ -63,7 +63,8 @@ export LDFLAGS := $(rpath_command) -L$(ildir) $(LDFLAGS)
export CPPFLAGS := -I$(idir)/include $(CPPFLAGS)
export LD_LIBRARY_PATH := $(ildir):$(LD_LIBRARY_PATH)
-top-level-programs = ls sed gawk grep diff find bash wget which
+top-level-programs = low-level-links ls sed gawk grep diff find \
+ bash wget which
all: $(foreach p, $(top-level-programs), $(ibdir)/$(p))
@@ -189,7 +190,7 @@ $(tarballs): $(tdir)/%:
makelink = export PATH=$(syspath); a=$$(which $(1) 2> /dev/null); \
if [ x$$a != x ]; then ln -s $$a $(ibdir)/$(1); fi
$(ibdir) $(ildir):; mkdir $@
-$(ibdir)/low-level: | $(ibdir) $(ildir)
+$(ibdir)/low-level-links: | $(ibdir) $(ildir)
# The Assembler
$(call makelink,as)
@@ -206,7 +207,7 @@ $(ibdir)/low-level: | $(ibdir) $(ildir)
$(call makelink,ps)
$(call makelink,ranlib)
- # Mac OS information
+ # Mac OS information (used by TeX Live).
$(call makelink,sw_vers)
# On Mac OS, libtool is different compared to GNU Libtool. The
@@ -244,26 +245,22 @@ $(ibdir)/low-level: | $(ibdir) $(ildir)
# The first set of programs to be built are those that we need to unpack
# the source code tarballs of each program. First, we'll build the
# necessary programs, then we'll build GNU Tar.
-$(ibdir)/gzip: $(tdir)/gzip-$(gzip-version).tar.gz \
- $(ibdir)/low-level
+$(ibdir)/gzip: $(tdir)/gzip-$(gzip-version).tar.gz
$(call gbuild, $<, gzip-$(gzip-version), static)
# GNU Lzip: For a static build, the `-static' flag should be given to
# LDFLAGS on the command-line (not from the environment).
-$(ibdir)/lzip: $(tdir)/lzip-$(lzip-version).tar.gz \
- $(ibdir)/low-level
+$(ibdir)/lzip: $(tdir)/lzip-$(lzip-version).tar.gz
ifeq ($(static_build),yes)
$(call gbuild, $<, lzip-$(lzip-version), , LDFLAGS="-static")
else
$(call gbuild, $<, lzip-$(lzip-version))
endif
-$(ibdir)/xz: $(tdir)/xz-$(xz-version).tar.gz \
- $(ibdir)/low-level
+$(ibdir)/xz: $(tdir)/xz-$(xz-version).tar.gz
$(call gbuild, $<, xz-$(xz-version), static)
-$(ibdir)/bzip2: $(tdir)/bzip2-$(bzip2-version).tar.gz \
- $(ibdir)/low-level
+$(ibdir)/bzip2: $(tdir)/bzip2-$(bzip2-version).tar.gz
tdir=bzip2-$(bzip2-version); \
if [ $(static_build) = yes ]; then \
makecommand="make LDFLAGS=-static"; \