diff options
author | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2018-12-04 15:07:48 +0000 |
---|---|---|
committer | Mohammad Akhlaghi <mohammad@akhlaghi.org> | 2018-12-04 15:07:48 +0000 |
commit | e093f994617f05fd6bd2467cde023b7883ad57a6 (patch) | |
tree | a1ce0b653a40d6c772a1870caa951a7c92ebf645 /reproduce | |
parent | 65fdffdae8c70595b451cb180e80d7608d541cb2 (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.mk | 19 |
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"; \ |