瀏覽代碼

add optional isl support for advanced loop optimizations

isl-0.15 does not work before gcc-5.3.0, for older gcc try isl-0.14.1
Szabolcs Nagy 9 年之前
父節點
當前提交
59de5df535
共有 5 個文件被更改,包括 18 次插入3 次删除
  1. 5 1
      Makefile
  2. 4 2
      config.mak.dist
  3. 1 0
      hashes/isl-0.14.1.tar.bz2.sha1
  4. 1 0
      hashes/isl-0.15.tar.bz2.sha1
  5. 7 0
      litecross/Makefile

+ 5 - 1
Makefile

@@ -17,6 +17,7 @@ BINUTILS_SITE = $(GNU_SITE)/binutils
 GMP_SITE = $(GNU_SITE)/gmp
 MPC_SITE = $(GNU_SITE)/mpc
 MPFR_SITE = $(GNU_SITE)/mpfr
+ISL_SITE = http://isl.gforge.inria.fr/
 
 MUSL_SITE = https://www.musl-libc.org/releases
 MUSL_REPO = git://git.musl-libc.org/musl
@@ -31,12 +32,13 @@ SRC_DIRS = gcc-$(GCC_VER) binutils-$(BINUTILS_VER) musl-$(MUSL_VER) \
 	$(if $(GMP_VER),gmp-$(GMP_VER)) \
 	$(if $(MPC_VER),mpc-$(MPC_VER)) \
 	$(if $(MPFR_VER),mpfr-$(MPFR_VER)) \
+	$(if $(ISL_VER),isl-$(ISL_VER)) \
 	$(if $(LINUX_VER),linux-$(LINUX_VER))
 
 all:
 
 clean:
-	rm -rf gcc-* binutils-* musl-* gmp-* mpc-* mpfr-* build-* linux-*
+	rm -rf gcc-* binutils-* musl-* gmp-* mpc-* mpfr-* isl-* build-* linux-*
 
 distclean: clean
 	rm -rf sources
@@ -50,6 +52,7 @@ ifeq ($(SOURCES),sources)
 $(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/gmp*)): SITE = $(GMP_SITE)
 $(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/mpc*)): SITE = $(MPC_SITE)
 $(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/mpfr*)): SITE = $(MPFR_SITE)
+$(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/isl*)): SITE = $(ISL_SITE)
 $(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/binutils*)): SITE = $(BINUTILS_SITE)
 $(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/gcc*)): SITE = $(GCC_SITE)/$(basename $(basename $(notdir $@)))
 $(patsubst hashes/%.sha1,$(SOURCES)/%,$(wildcard hashes/musl*)): SITE = $(MUSL_SITE)
@@ -145,6 +148,7 @@ $(BUILD_DIR)/config.mak: | $(BUILD_DIR)
 	$(if $(GMP_VER),"GMP_SRCDIR = ../gmp-$(GMP_VER)") \
 	$(if $(MPC_VER),"MPC_SRCDIR = ../mpc-$(MPC_VER)") \
 	$(if $(MPFR_VER),"MPFR_SRCDIR = ../mpfr-$(MPFR_VER)") \
+	$(if $(ISL_VER),"ISL_SRCDIR = ../isl-$(ISL_VER)") \
 	$(if $(LINUX_VER),"LINUX_SRCDIR = ../linux-$(LINUX_VER)") \
 	"-include ../config.mak"
 

+ 4 - 2
config.mak.dist

@@ -26,8 +26,9 @@
 # components are used. You can override those here, but the version selected
 # must be supported (under hashes/ and patches/) to work. For musl, you
 # can use "git-refname" (e.g. git-master) instead of a release. Setting a
-# blank version for gmp, mpc, and mpfr will suppress download and in-tree
-# build of these libraries and instead depend on pre-installed libraries.
+# blank version for gmp, mpc, mpfr and isl will suppress download and
+# in-tree build of these libraries and instead depend on pre-installed
+# libraries when available (isl is optional and not set by default).
 # Setting a blank version for linux will suppress installation of kernel
 # headers, which are not needed unless compiling programs that use them.
 
@@ -37,6 +38,7 @@
 # GMP_VER =
 # MPC_VER =
 # MPFR_VER =
+# ISL_VER =
 # LINUX_VER =
 
 # Something like the following can be used to produce a static-linked

+ 1 - 0
hashes/isl-0.14.1.tar.bz2.sha1

@@ -0,0 +1 @@
+b653327b20e807d1df3a7e2f546ea924f1e030c0  isl-0.14.1.tar.bz2

+ 1 - 0
hashes/isl-0.15.tar.bz2.sha1

@@ -0,0 +1 @@
+1e30e09a5fc2c9e1aa4bdb8c9c21fdff20a7cd12  isl-0.15.tar.bz2

+ 7 - 0
litecross/Makefile

@@ -117,6 +117,12 @@ src_mpfr: | $(MPFR_SRCDIR)
 	ln -sf "$(MPFR_SRCDIR)" $@
 endif
 
+ifneq ($(ISL_SRCDIR),)
+src_toolchain: src_isl
+src_isl: | $(ISL_SRCDIR)
+	ln -sf "$(ISL_SRCDIR)" $@
+endif
+
 src_toolchain: src_binutils src_gcc
 	rm -rf $@ $@.tmp
 	mkdir $@.tmp
@@ -125,6 +131,7 @@ src_toolchain: src_binutils src_gcc
 	$(if $(GMP_SRCDIR),cd $@.tmp && ln -sf ../src_gmp gmp)
 	$(if $(MPC_SRCDIR),cd $@.tmp && ln -sf ../src_mpc mpc)
 	$(if $(MPFR_SRCDIR),cd $@.tmp && ln -sf ../src_mpfr mpfr)
+	$(if $(ISL_SRCDIR),cd $@.tmp && ln -sf ../src_isl isl)
 	mv $@.tmp $@
 
 obj_%: