From 89066697c4c257896feaf017ecc72814d01f3682 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 18 Jul 2014 15:20:13 +0200 Subject: [PATCH] gmp: Ship MMX/SSE/SSE2 enabled version. --- config/rootfiles/common/{ => armv5tel}/gmp | 0 config/rootfiles/common/i586/gmp | 25 ++++++++++++++++ config/rootfiles/common/stage2 | 1 + config/rootfiles/core/80/filelists/i586/gmp | 1 + lfs/gmp | 33 +++++++++++++++++++-- lfs/stage2 | 2 +- 6 files changed, 58 insertions(+), 4 deletions(-) rename config/rootfiles/common/{ => armv5tel}/gmp (100%) create mode 100644 config/rootfiles/common/i586/gmp create mode 120000 config/rootfiles/core/80/filelists/i586/gmp diff --git a/config/rootfiles/common/gmp b/config/rootfiles/common/armv5tel/gmp similarity index 100% rename from config/rootfiles/common/gmp rename to config/rootfiles/common/armv5tel/gmp diff --git a/config/rootfiles/common/i586/gmp b/config/rootfiles/common/i586/gmp new file mode 100644 index 0000000000..db6a0009c7 --- /dev/null +++ b/config/rootfiles/common/i586/gmp @@ -0,0 +1,25 @@ +#usr/include/gmp.h +#usr/include/gmpxx.h +#usr/include/mp.h +#usr/lib/libgmp.a +#usr/lib/libgmp.la +#usr/lib/libgmp.so +usr/lib/libgmp.so.10 +usr/lib/libgmp.so.10.0.5 +#usr/lib/libgmpxx.a +#usr/lib/libgmpxx.la +#usr/lib/libgmpxx.so +usr/lib/libgmpxx.so.4 +usr/lib/libgmpxx.so.4.2.5 +#usr/lib/libmp.a +#usr/lib/libmp.la +#usr/lib/libmp.so +usr/lib/libmp.so.3 +usr/lib/libmp.so.3.1.25 +usr/lib/sse2/libgmp.so.10 +usr/lib/sse2/libgmp.so.10.0.5 +usr/lib/sse2/libmp.so.3 +usr/lib/sse2/libmp.so.3.1.25 +#usr/share/info/gmp.info +#usr/share/info/gmp.info-1 +#usr/share/info/gmp.info-2 diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2 index 085092d7a8..39bf555c17 100644 --- a/config/rootfiles/common/stage2 +++ b/config/rootfiles/common/stage2 @@ -74,6 +74,7 @@ usr/lib/libgcc_s.so.1 #usr/lib/libstdc++.la #usr/lib/libstdc++.so usr/lib/libstdc++.so.6 +#usr/lib/sse2 #usr/local #usr/local/bin #usr/local/bin/archive.files diff --git a/config/rootfiles/core/80/filelists/i586/gmp b/config/rootfiles/core/80/filelists/i586/gmp new file mode 120000 index 0000000000..52a09cd0ba --- /dev/null +++ b/config/rootfiles/core/80/filelists/i586/gmp @@ -0,0 +1 @@ +../../../../common/i586/gmp \ No newline at end of file diff --git a/lfs/gmp b/lfs/gmp index 55603a5e3f..1e518a2b3b 100644 --- a/lfs/gmp +++ b/lfs/gmp @@ -34,8 +34,15 @@ TARGET = $(DIR_INFO)/$(THISAPP) ifeq "$(MACHINE)" "i586" CONFIGURE_ARGS = ABI=32 + BUILDTARGET_PENTIUM4 = $(patsubst $(MACHINE)-%,pentium4-%,$(BUILDTARGET)) endif +CONFIGURE_OPTIONS = \ + --prefix=/usr \ + --enable-cxx \ + --enable-mpbsd \ + --disable-nls + ############################################################################### # Top-level Rules ############################################################################### @@ -74,10 +81,30 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && $(CONFIGURE_ARGS) ./configure --prefix=/usr \ - --build=$(BUILDTARGET) \ - --enable-cxx --enable-mpbsd --disable-nls + cd $(DIR_APP) && \ + $(CONFIGURE_ARGS) \ + ./configure \ + --build=$(BUILDTARGET) \ + $(CONFIGURE_OPTIONS) cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install + +ifeq "$(MACHINE)" "i586" + # Build SSE/SSE2 optimised version for x86 + cd $(DIR_APP) && make clean + cd $(DIR_APP) && \ + $(CONFIGURE_ARGS) \ + ./configure \ + --build=$(BUILDTARGET_PENTIUM4) \ + $(CONFIGURE_OPTIONS) \ + CFLAGS="$(CFLAGS) -march=pentium4" \ + CXXFLAGS="$(CXXFLAGS) -march=pentium4" + cd $(DIR_APP) && make $(MAKETUNING) + + -mkdir -pv /usr/lib/sse2 + cd $(DIR_APP) && install -v -m 755 .libs/libgmp.so.10.0.5 /usr/lib/sse2 + cd $(DIR_APP) && install -v -m 755 .libs/libmp.so.3.1.25 /usr/lib/sse2 +endif + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/lfs/stage2 b/lfs/stage2 index 956f58953c..a084816309 100644 --- a/lfs/stage2 +++ b/lfs/stage2 @@ -53,7 +53,7 @@ $(TARGET) : -mkdir -pv /{media/{floppy,cdrom,usbkey},sbin,srv,var} -install -dv -m 0750 /root -install -dv -m 1777 /tmp /var/tmp - -mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} + -mkdir -pv /usr/{,local/}{bin,include,lib{,/sse2},sbin,src} -mkdir -pv /usr/{,local/}share/{doc,info,locale,man} -mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} -mkdir -pv /usr/{,local/}share/man/man{1..8} -- 2.39.5