aboutsummaryrefslogtreecommitdiff
path: root/reproduce/src/make/dependencies-basic.mk
diff options
context:
space:
mode:
authorMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-29 15:17:16 +0000
committerMohammad Akhlaghi <mohammad@akhlaghi.org>2018-11-29 16:25:42 +0000
commit5844981147a4af48fc3ffb8d2794487f0236b335 (patch)
tree83d8b8fe676bb32cf58c8aaab5f6abaef23159c5 /reproduce/src/make/dependencies-basic.mk
parent6a24c58cf13129766b64eca8bbdec678e68b6d4e (diff)
Ignoring building of GCC for pipeline
GNU Binutils (which provides the GNU Linker) is not ported to Mac OS systems. GCC also takes a very long time to build, and if we are to still have linking problems with LLVM's linker, it would be better to just ignore GCC also and use the system's C compiler and linker together. So for the time being, GCC isn't a main target of the basic dependencies and won't be installed. But we have kept the rules that were checked on a GNU/Linux operating system.
Diffstat (limited to 'reproduce/src/make/dependencies-basic.mk')
-rw-r--r--reproduce/src/make/dependencies-basic.mk42
1 files changed, 33 insertions, 9 deletions
diff --git a/reproduce/src/make/dependencies-basic.mk b/reproduce/src/make/dependencies-basic.mk
index 6bd389e..74ca429 100644
--- a/reproduce/src/make/dependencies-basic.mk
+++ b/reproduce/src/make/dependencies-basic.mk
@@ -63,7 +63,7 @@ export LDFLAGS := -L$(ildir) $(LDFLAGS)
export CPPFLAGS := -I$(idir)/include $(CPPFLAGS)
export LD_LIBRARY_PATH := $(ildir):$(LD_LIBRARY_PATH)
-top-level-programs = gcc pkg-config
+top-level-programs = ls sed gawk grep diff find bash which pkg-config
all: $(foreach p, $(top-level-programs), $(ibdir)/$(p))
@@ -168,13 +168,29 @@ $(tarballs): $(tdir)/%:
# For the time being, we aren't building a local C compiler, but we'll use
# any C compiler that the system already has and just make a symbolic link
# to it.
-makelink = a=$$(which $(1) 2> /dev/null); \
+makelink = export PATH=$(syspath); a=$$(which $(1) 2> /dev/null); \
if [ x$$a != x ]; then ln -s $$a $(ibdir)/$(1); fi
$(ibdir):; mkdir $@
$(ibdir)/low-level: | $(ibdir)
- # We aren't building these low-levels tools yet ourselves. We'll
- # thus just use what the host operating system has available.
- PATH=$(syspath)
+ # The Assembler
+ $(call makelink,as)
+
+ # The compiler
+ $(call makelink,clang)
+ $(call makelink,gcc)
+ $(call makelink,g++)
+ $(call makelink,cc)
+
+ # The linker
+ $(call makelink,ar)
+ $(call makelink,ld)
+ $(call makelink,nm)
+ $(call makelink,ps)
+
+ # On Mac OS, libtool is different compared to GNU Libtool. The
+ # libtool we'll build in the high-level dependencies has the
+ # executable name `glibtool'.
+ $(call makelink,libtool)
# GNU Gettext (translate messages)
$(call makelink,msgfmt)
@@ -328,8 +344,8 @@ endif
-# GCC prerequisites
-# -----------------
+# (CURRENTLY IGNORED) GCC prerequisites
+# -------------------------------------
$(ildir): | $(idir); mkdir $@
$(ilidir): | $(ildir); mkdir $@
$(ilidir)/gmp: $(tdir)/gmp-$(gmp-version).tar.lz \
@@ -372,8 +388,16 @@ $(ibdir)/ld: $(tdir)/binutils-$(binutils-version).tar.lz \
-# Build GCC
-# ---------
+# (CURRENTLY IGNORED) Build GCC
+# -----------------------------
+#
+# The building is currently ignored because GNU Binutils currently doesn't
+# install critical components of building a compiler on Mac systems. So we
+# can install and use the GNU C compiler, but we're still going to have the
+# crazy issues with linking on a Mac OS. Since almost no natural science
+# paper's processing depends so strongly on the compiler used, for now,
+# we'll just use the host operating system's C library, compiler, and
+# linker.
#
# We want to build GCC after building all the basic tools that are often
# used in a configure script to enable GCC's configure script to work as