From e4ae8a49cf4263a2fee5fe1260742c010e1d6e44 Mon Sep 17 00:00:00 2001 From: Joerg Koenig Date: Wed, 31 May 2017 00:43:12 +0200 Subject: Initial Commit Change-Id: Icbbefcfcb85da835138bdc416c1fed776dfcfb8f --- Makefile | 731 +++++++++++++++++++++ ...realpath-no-force-lowercase-nor-backslash.patch | 34 + PATCHES/zlib_ranlib.patch | 13 + SOURCES/binutils-2.28.tar.bz2 | Bin 0 -> 26556365 bytes SOURCES/bzip2-1.0.6.tar.gz | Bin 0 -> 782025 bytes SOURCES/cloog-0.18.4.tar.gz | Bin 0 -> 4796456 bytes SOURCES/gcc-7.1.0.tar.bz2 | Bin 0 -> 84303533 bytes SOURCES/gcc.msvcr100.spec | 6 + SOURCES/gcc.msvcr110.spec | 6 + SOURCES/gcc.msvcr90.spec | 6 + SOURCES/gdb-7.12.tar.gz | Bin 0 -> 35783105 bytes SOURCES/gendef.tar.gz | Bin 0 -> 136796 bytes SOURCES/genpeimg.tar.gz | Bin 0 -> 118919 bytes SOURCES/gmp-6.1.2.tar.lz | Bin 0 -> 1939430 bytes SOURCES/isl-0.16.1.tar.bz2 | Bin 0 -> 1626446 bytes SOURCES/mingw-w64-v5.0.2.tar.bz2 | Bin 0 -> 9107077 bytes SOURCES/mingw.gcc.specs | 3 + SOURCES/mpc-1.0.2.tar.gz | Bin 0 -> 633173 bytes SOURCES/mpfr-3.1.5.tar.bz2 | Bin 0 -> 1279489 bytes SOURCES/reimp.tar.gz | Bin 0 -> 8114 bytes SOURCES/zlib-1.2.11.tar.gz | Bin 0 -> 607698 bytes 21 files changed, 799 insertions(+) create mode 100755 Makefile create mode 100644 PATCHES/windows-lrealpath-no-force-lowercase-nor-backslash.patch create mode 100644 PATCHES/zlib_ranlib.patch create mode 100644 SOURCES/binutils-2.28.tar.bz2 create mode 100644 SOURCES/bzip2-1.0.6.tar.gz create mode 100644 SOURCES/cloog-0.18.4.tar.gz create mode 100644 SOURCES/gcc-7.1.0.tar.bz2 create mode 100644 SOURCES/gcc.msvcr100.spec create mode 100644 SOURCES/gcc.msvcr110.spec create mode 100644 SOURCES/gcc.msvcr90.spec create mode 100644 SOURCES/gdb-7.12.tar.gz create mode 100644 SOURCES/gendef.tar.gz create mode 100644 SOURCES/genpeimg.tar.gz create mode 100644 SOURCES/gmp-6.1.2.tar.lz create mode 100644 SOURCES/isl-0.16.1.tar.bz2 create mode 100644 SOURCES/mingw-w64-v5.0.2.tar.bz2 create mode 100755 SOURCES/mingw.gcc.specs create mode 100644 SOURCES/mpc-1.0.2.tar.gz create mode 100644 SOURCES/mpfr-3.1.5.tar.bz2 create mode 100644 SOURCES/reimp.tar.gz create mode 100644 SOURCES/zlib-1.2.11.tar.gz diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..f033a2e --- /dev/null +++ b/Makefile @@ -0,0 +1,731 @@ +################################################################### +# Makefile to generate a GNU GCC compiler (64-Bit) collection +# +# - linux based mingw multilib cross compiler +# - windows gcc multilib native compiler +# - linux gcc multilib native compiler +# +# all compiler including GDB 7.12 +# +# Languages: C, C++, Fortran, Obj-C +# Multilib: -m32, -m64 +# +# host +# +# The system that is going to run the software once it is built. Once the software +# has been built, it will execute on this particular system. +# +# build +# +# The system where the build process is being executed. For most uses this +# would be the same as the host system, but in case of cross-compilation +# the two obviously differ. +# +# target +# +# The system against which the software being built will run on. This only exists, or rather +# has a meaning, when the software being built may interact specifically with a +# system that differs from the one it's being executed on (our host). This is the case +# for compilers, debuggers, profilers and analyzers and other tools in general. +# + +SUITE = 1.0.0 + +ifeq ($(BUILD_NUMBER),) +VERSION_SUITE = $(SUITE)-unofficial +else +VERSION_SUITE = $(SUITE)-$(BUILD_NUMBER) +endif + +TOP = $(shell readlink -f .) +ARCH = x86-linux64 +ARCH64 = x86_64-linux-gnu +ARCH32 = i686-linux-gnu + + +VERSION_BINUTILS = 2.28 +VERSION_GCC = 7.1.0 +VERSION_MINGW = 5.0.2 +VERSION_GMP = 6.1.2 +VERSION_MPC = 1.0.2 +VERSION_ISL = 0.16.1 +VERSION_MPFR = 3.1.5 +VERSION_GDB = 7.12 +VERSION_BZ2 = 1.0.6 +VERSION_ZLIB = 1.2.11 + +GCC_PKGVERSION = "TechSAT GCC-Suite v$(VERSION_SUITE)" + +XGCC_TARGET64 = x86_64-w64-mingw32 +XGCC_TARGET32 = i686-w64-mingw32 + +SOURCE_DIR = $(shell readlink -f $(PWD)/SOURCES) +PATCHES_DIR = $(shell readlink -f $(PWD)/PATCHES) +UNPACK_DIR = $(PWD)/unpack.$(ARCH) +BUILD_DIR = $(PWD)/build.$(ARCH) +INST_BASE = $(PWD)/inst.$(ARCH) + +INST_BASE_LINUX = $(PWD)/inst.x86-linux64 + +XGCC_INST_DIR = $(INST_BASE_LINUX)/mingw64 +XGCC_PREFIX = $(XGCC_TARGET64)- +XGCC_BINPATH = $(XGCC_INST_DIR)/bin +XGCC32 = "$(XGCC_BINPATH)/$(XGCC_PREFIX)gcc -m32" +XGCC64 = "$(XGCC_BINPATH)/$(XGCC_PREFIX)gcc -m64" +XGPP32 = "$(XGCC_BINPATH)/$(XGCC_PREFIX)g++ -m32" +XGPP64 = "$(XGCC_BINPATH)/$(XGCC_PREFIX)g++ -m64" + + +WINGCC_ROOTNAME = gcc-$(VERSION_GCC) +WINGCC_INST_DIR = $(INST_BASE)/$(WINGCC_ROOTNAME) +WINGCC_SYSROOT = $(INST_BASE)/$(WINGCC_ROOTNAME) + +LANGUAGES = c,c++,fortran,objc + +SOURCE_PACKAGES = \ + $(SOURCE_DIR)/binutils-$(VERSION_BINUTILS).tar.bz2 \ + $(SOURCE_DIR)/gcc-$(VERSION_GCC).tar.bz2 \ + $(SOURCE_DIR)/gdb-$(VERSION_GDB).tar.bz2 \ + $(SOURCE_DIR)/gmp-$(VERSION_GMP).tar.lz \ + $(SOURCE_DIR)/isl-$(VERSION_ISL).tar.bz2 \ + $(SOURCE_DIR)/mingw-w64-v$(VERSION_MINGW).tar.bz2 \ + $(SOURCE_DIR)/mpc-$(VERSION_MPC).tar.gz \ + $(SOURCE_DIR)/mpfr-$(VERSION_MPFR).tar.bz2 \ + $(SOURCE_DIR)/zlib-$(VERSION_ZLIB).tar.gz \ + $(SOURCE_DIR)/bzip2-$(VERSION_BZ2).tar.gz + +JOBS = -j4 + +$(SOURCE_DIR)/binutils-$(VERSION_BINUTILS).tar.bz2: _download_prepare + wget -c https://ftp.gnu.org/gnu/binutils/binutils-$(VERSION_BINUTILS).tar.bz2 -O \ + $(SOURCE_DIR)/binutils-$(VERSION_BINUTILS).tar.bz2 +$(SOURCE_DIR)/gcc-$(VERSION_GCC).tar.bz2: + wget -c https://ftp.gnu.org/gnu/gcc/gcc-$(VERSION_GCC)/gcc-$(VERSION_GCC).tar.bz2 -O \ + $(SOURCE_DIR)/gcc-$(VERSION_GCC).tar.bz2 +$(SOURCE_DIR)/gmp-$(VERSION_GMP).tar.lz: + wget -c https://gmplib.org/download/gmp/gmp-$(VERSION_GMP).tar.lz -O \ + $(SOURCE_DIR)/gmp-$(VERSION_GMP).tar.lz +$(SOURCE_DIR)/mingw-w64-v$(VERSION_MINGW).tar.bz2: + wget -c https://netix.dl.sourceforge.net/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v$(VERSION_MINGW).tar.bz2 -O \ + $(SOURCE_DIR)/mingw-w64-v$(VERSION_MINGW).tar.bz2 +$(SOURCE_DIR)/mpc-$(VERSION_MPC).tar.gz: + wget -c ftp://ftp.gnu.org/gnu/mpc/mpc-$(VERSION_MPC).tar.gz -O \ + $(SOURCE_DIR)/mpc-$(VERSION_MPC).tar.gz +$(SOURCE_DIR)/mpfr-$(VERSION_MPFR).tar.bz2: + wget -c http://www.mpfr.org/mpfr-current/mpfr-$(VERSION_MPFR).tar.bz2 -O \ + $(SOURCE_DIR)/mpfr-$(VERSION_MPFR).tar.bz2 +$(SOURCE_DIR)/zlib-$(VERSION_ZLIB).tar.gz: + wget -c https://www.zlib.net/zlib-$(VERSION_ZLIB).tar.gz -O \ + $(SOURCE_DIR)/zlib-$(VERSION_ZLIB).tar.gz +$(SOURCE_DIR)/bzip2-$(VERSION_BZ2).tar.gz: + wget -c http://www.bzip.org/$(VERSION_BZ2)/bzip2-$(VERSION_BZ2).tar.gz -O \ + $(SOURCE_DIR)/bzip2-$(VERSION_BZ2).tar.gz +$(SOURCE_DIR)/gdb-$(VERSION_GDB).tar.gz: + wget -c ftp://sourceware.org/pub/gdb/releases/gdb-$(VERSION_GDB).tar.gz -O \ + $(SOURCE_DIR)/gdb-$(VERSION_GDB).tar.gz +$(SOURCE_DIR)/isl-$(VERSION_ISL).tar.bz2: + wger -c "ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-$(VERSION_ISL).tar.bz2" -O \ + $(SOURCE_DIR)/isl-$(VERSION_ISL).tar.bz2 + +download: $(SOURCE_PACKAGES) + +_download_prepare: + mkdir -p $(SOURCE_DIR) + +all: xgcc-all \ + wingcc-all \ + lingcc-all \ + fullclean + +prepare: + mkdir -p $(UNPACK_DIR) + tar -jxf $(SOURCE_DIR)/gcc-$(VERSION_GCC).tar.bz2 -C $(UNPACK_DIR)/ + cd $(UNPACK_DIR)/gcc-$(VERSION_GCC) && \ + patch -p1 < $(PATCHES_DIR)/windows-lrealpath-no-force-lowercase-nor-backslash.patch + tar -zxf $(SOURCE_DIR)/gdb-$(VERSION_GDB).tar.gz -C $(UNPACK_DIR)/ + cd $(UNPACK_DIR)/gdb-$(VERSION_GDB) && \ + patch -p1 < $(PATCHES_DIR)/windows-lrealpath-no-force-lowercase-nor-backslash.patch + tar -jxf $(SOURCE_DIR)/binutils-$(VERSION_BINUTILS).tar.bz2 -C $(UNPACK_DIR)/ + cd $(UNPACK_DIR)/binutils-$(VERSION_BINUTILS) && \ + patch -p1 < $(PATCHES_DIR)/windows-lrealpath-no-force-lowercase-nor-backslash.patch + tar -jxf $(SOURCE_DIR)/mingw-w64-v$(VERSION_MINGW).tar.bz2 -C $(UNPACK_DIR)/ + tar -jxf $(SOURCE_DIR)/mpfr-$(VERSION_MPFR).tar.bz2 -C $(UNPACK_DIR)/ + tar -jxf $(SOURCE_DIR)/isl-$(VERSION_ISL).tar.bz2 -C $(UNPACK_DIR)/ + tar -zxf $(SOURCE_DIR)/mpc-$(VERSION_MPC).tar.gz -C $(UNPACK_DIR)/ + tar --lzip -xf $(SOURCE_DIR)/gmp-$(VERSION_GMP).tar.lz -C $(UNPACK_DIR)/ + tar -zxf $(SOURCE_DIR)/zlib-$(VERSION_ZLIB).tar.gz -C $(UNPACK_DIR)/ + tar -zxf $(SOURCE_DIR)/bzip2-$(VERSION_BZ2).tar.gz -C $(UNPACK_DIR)/ + # + rm -Rf $(UNPACK_DIR)/gcc-$(VERSION_GCC)/gmp + mv $(UNPACK_DIR)/gmp-$(VERSION_GMP) $(UNPACK_DIR)/gcc-$(VERSION_GCC)/gmp + rm -Rf $(UNPACK_DIR)/gcc-$(VERSION_GCC)/mpc + mv $(UNPACK_DIR)/mpc-$(VERSION_MPC) $(UNPACK_DIR)/gcc-$(VERSION_GCC)/mpc + rm -Rf $(UNPACK_DIR)/gcc-$(VERSION_GCC)/mpfr + mv $(UNPACK_DIR)/mpfr-$(VERSION_MPFR) $(UNPACK_DIR)/gcc-$(VERSION_GCC)/mpfr + rm -Rf $(UNPACK_DIR)/gcc-$(VERSION_GCC)/isl + mv $(UNPACK_DIR)/isl-$(VERSION_ISL) $(UNPACK_DIR)/gcc-$(VERSION_GCC)/isl + +build-common: + mkdir -p $(BUILD_DIR) + +############################################################################## +# Linux based MinGW multilib cross compiler +############################################################################## +xgcc-all: + make fullclean + make prepare + # + make build-common + make xgcc-build-binutils + make xgcc-mingw-pass1 + make xgcc-gcc-pass1 + make xgcc-mingw-pass2 + make xgcc-gcc-pass2 + make xgcc-finish + make xgcc-gdb + make xgcc-zlib + make xgcc-bzip2 + make xgcc-reimp + make xgcc-genpeimg + make xgcc-gendef + make xgcc-pack + +xgcc-build-binutils: + mkdir -p $(BUILD_DIR)/binutils + cd $(BUILD_DIR)/binutils ;\ + $(UNPACK_DIR)/binutils-$(VERSION_BINUTILS)/configure \ + --with-pkgversion=$(GCC_PKGVERSION) \ + --prefix=$(XGCC_INST_DIR) \ + --disable-nls \ + --enable-deterministic-archives \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --disable-werror \ + --enable-targets=$(XGCC_TARGET64),$(XGCC_TARGET32) \ + --host=$(ARCH64) \ + --build=$(ARCH64) \ + --target=$(XGCC_TARGET64) ;\ + make $(JOBS) ;\ + make $(JOBS) install + +xgcc-mingw-pass1: + mkdir -p $(BUILD_DIR)/mingw + cd $(BUILD_DIR)/mingw ;\ + $(UNPACK_DIR)/mingw-w64-v$(VERSION_MINGW)/mingw-w64-headers/configure \ + --prefix=$(XGCC_INST_DIR)/$(XGCC_TARGET64) \ + --host=$(XGCC_TARGET64) ;\ + make $(JOBS) install + cd $(XGCC_INST_DIR) && rm -f mingw && ln -s $(XGCC_TARGET64) mingw + cd $(XGCC_INST_DIR)/$(XGCC_TARGET64) && mkdir -p lib32 + cd $(XGCC_INST_DIR)/$(XGCC_TARGET64) && rm -f lib64 && ln -s lib lib64 + +xgcc-gcc-pass1: + mkdir -p $(BUILD_DIR)/gcc + cd $(BUILD_DIR)/gcc && \ + $(UNPACK_DIR)/gcc-$(VERSION_GCC)/configure \ + --with-pkgversion=$(GCC_PKGVERSION) \ + --prefix=$(XGCC_INST_DIR) \ + --with-sysroot=$(XGCC_INST_DIR) \ + --disable-nls \ + --host=$(ARCH64) \ + --build=$(ARCH64) \ + --target=$(XGCC_TARGET64) \ + --enable-languages=$(LANGUAGES) \ + --disable-win32-registry \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --without-x \ + --enable-shared \ + --enable-static \ + --disable-werror \ + --with-tune-64=core2 \ + --enable-threads=win32 \ + --enable-multilib \ + --enable-64bit \ + --enable-clocale=gnu \ + --enable-version-specific-runtime-libs \ + --enable-fully-dynamic-string && \ + make $(JOBS) all-gcc && \ + make $(JOBS) install-gcc + +xgcc-mingw-pass2: + cd $(BUILD_DIR)/mingw && \ + export PATH=$(PATH):$(XGCC_INST_DIR)/bin && \ + $(UNPACK_DIR)/mingw-w64-v$(VERSION_MINGW)/configure \ + --prefix=$(XGCC_INST_DIR)/$(XGCC_TARGET64) \ + --host=$(XGCC_TARGET64) \ + --disable-nls \ + --enable-sdk=all \ + --enable-idl \ + --enable-secure-api \ + --enable-lib64 \ + --enable-lib32 && \ + make $(JOBS) && \ + make $(JOBS) install + +xgcc-gcc-pass2: + cd $(BUILD_DIR)/gcc && \ + make $(JOBS) && \ + make $(JOBS) install + + +xgcc-finish: + cd $(XGCC_INST_DIR) && rm -f mingw + for f in `find $(XGCC_INST_DIR) -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary' | cut -d: -f1`; do \ + $(XGCC_INST_DIR)/bin/$(XGCC_TARGET64)-strip $$f ;\ + done; + rm -Rf $(XGCC_INST_DIR)/share + find $(XGCC_INST_DIR) -type f -name "*.py" | xargs rm -f + cp -f $(SOURCE_DIR)/mingw.gcc.specs \ + $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs + sed -i -e 's/__LIB32__/lib\/gcc\/$(XGCC_TARGET64)\/lib32/g' \ + $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs + sed -i -e 's/__LIB64__/lib\/gcc\/$(XGCC_TARGET64)\/lib/g' \ + $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs + cat $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr90.spec > \ + $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/msvcr90 + cat $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr100.spec > \ + $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/msvcr100 + cat $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr110.spec > \ + $(XGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/msvcr110 + +xgcc-gdb: + mkdir -p $(BUILD_DIR)/gdb + cd $(BUILD_DIR)/gdb && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + $(UNPACK_DIR)/gdb-$(VERSION_GDB)/configure \ + --prefix=$(XGCC_INST_DIR) \ + --target=$(XGCC_TARGET64) \ + --build=$(ARCH64) \ + --host=$(ARCH64) && \ + make $(JOBS) && make $(JOBS) install + +xgcc-reimp: + rm -Rf $(BUILD_DIR)/reimp + cd $(BUILD_DIR)/ && \ + tar -zxf $(SOURCE_DIR)/reimp.tar.gz + cd $(BUILD_DIR)/reimp/src && \ + make X="" + cp -f $(BUILD_DIR)/reimp/src/reimp $(XGCC_INST_DIR)/bin/$(XGCC_TARGET64)-reimp + +xgcc-genpeimg: + rm -Rf $(BUILD_DIR)/genpeimg + cd $(BUILD_DIR)/ && \ + tar -zxf $(SOURCE_DIR)/genpeimg.tar.gz + cd $(BUILD_DIR)/genpeimg && \ + ./configure && \ + make + cp -f $(BUILD_DIR)/genpeimg/genpeimg $(XGCC_INST_DIR)/bin/$(XGCC_TARGET64)-genpeimg + +xgcc-gendef: + rm -Rf $(BUILD_DIR)/gendef + cd $(BUILD_DIR)/ && \ + tar -zxf $(SOURCE_DIR)/gendef.tar.gz + cd $(BUILD_DIR)/gendef && \ + ./configure && \ + make + cp -f $(BUILD_DIR)/gendef/gendef $(XGCC_INST_DIR)/bin/$(XGCC_TARGET64)-gendef + +xgcc-zlib: + mkdir -p $(BUILD_DIR) + cd $(BUILD_DIR) && rm -Rf zlib-$(VERSION_ZLIB) + cd $(BUILD_DIR) && tar -zxf $(SOURCE_DIR)/zlib-$(VERSION_ZLIB).tar.gz + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && patch -p1 < $(PATCHES_DIR)/zlib_ranlib.patch + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + export PATH=$(PATH):$(XGCC_INST_DIR)/bin && \ + CC=$(XGCC64) \ + AR=$(XGCC_BINPATH)/$(XGCC_PREFIX)ar \ + RANLIB=$(XGCC_BINPATH)/$(XGCC_PREFIX)ranlib \ + ./configure \ + --prefix=$(XGCC_INST_DIR)/$(XGCC_TARGET64) --static && \ + make clean && make + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + cp -f libz.a $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib && \ + cp -f zlib.h zconf.h $(XGCC_INST_DIR)/$(XGCC_TARGET64)/include + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib/libz.a + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/include/zlib.h + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/include/zconf.h + # + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + export PATH=$(PATH):$(XGCC_INST_DIR)/bin && \ + CC=$(XGCC32) \ + AR=$(XGCC_BINPATH)/$(XGCC_PREFIX)ar \ + RANLIB=$(XGCC_BINPATH)/$(XGCC_PREFIX)ranlib \ + ./configure \ + --prefix=$(XGCC_INST_DIR)/$(XGCC_TARGET64) --static && \ + make clean && make + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + cp -f libz.a $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib32 && \ + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib32/libz.a + +xgcc-bzip2: + mkdir -p $(BUILD_DIR) + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + make \ + CC=$(XGCC64) \ + PREFIX=$(XGCC_INST_DIR)/$(XGCC_TARGET64) clean libbz2.a + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + cp -f bzlib.h $(XGCC_INST_DIR)/$(XGCC_TARGET64)/include && \ + cp -f libbz2.a $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/include/bzlib.h + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib/libbz2.a + # + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + export PATH=$(PATH):$(XGCC_BINPATH)/bin && \ + make \ + CC=$(XGCC32) \ + PREFIX=$(XGCC_INST_DIR)/$(XGCC_TARGET64) clean libbz2.a + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + cp -f libbz2.a $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib32 + chmod 644 $(XGCC_INST_DIR)/$(XGCC_TARGET64)/lib/libbz2.a + +xgcc-pack: + rm -Rf $(XGCC_INST_DIR)/share + cd $(INST_BASE_LINUX) && \ + tar -zcf $(PWD)/gcc-suite-$(VERSION_SUITE)-xgcc-$(VERSION_GCC)-$(VERSION_MINGW)-x86-linux64.tgz ./mingw64 + +############################################################################## +# Nativ Multilib Windows Compiler (64 -Bit) +############################################################################## +wingcc-all: + make ARCH=x86-mingw64 clean + make ARCH=x86-mingw64 prepare + # + make ARCH=x86-mingw64 wingcc-binutils + make ARCH=x86-mingw64 wingcc-mingw + make ARCH=x86-mingw64 wingcc-gcc + make ARCH=x86-mingw64 wingcc-finish + make ARCH=x86-mingw64 wingcc-zlib + make ARCH=x86-mingw64 wingcc-bzip2 + make ARCH=x86-mingw64 wingcc-gendef + make ARCH=x86-mingw64 wingcc-genpeimg + make ARCH=x86-mingw64 wingcc-reimp + make ARCH=x86-mingw64 wingcc-gdb + make ARCH=x86-mingw64 wingcc-pack + +wingcc-binutils: + mkdir -p $(BUILD_DIR)/binutils + cd $(BUILD_DIR)/binutils ;\ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) CXX=$(XGPP64) \ + $(UNPACK_DIR)/binutils-$(VERSION_BINUTILS)/configure \ + --with-pkgversion=$(GCC_PKGVERSION) \ + --prefix=$(WINGCC_INST_DIR) \ + --disable-nls \ + --enable-deterministic-archives \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --enable-static \ + --disable-werror \ + --disable-rpath \ + --enable-targets=$(XGCC_TARGET64),$(XGCC_TARGET32) \ + --host=$(XGCC_TARGET64) \ + --target=$(XGCC_TARGET64) &&\ + make $(JOBS) && make $(JOBS) install + +wingcc-mingw: + rm -Rf $(BUILD_DIR)/mingw && mkdir -p $(BUILD_DIR)/mingw + cd $(BUILD_DIR)/mingw && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) CXX=$(XGPP64) \ + $(UNPACK_DIR)/mingw-w64-v$(VERSION_MINGW)/configure \ + --prefix=$(WINGCC_INST_DIR)/$(XGCC_TARGET64) \ + --host=$(XGCC_TARGET64) \ + --disable-nls \ + --enable-sdk=all \ + --enable-idl \ + --enable-secure-api \ + --enable-lib64 \ + --enable-lib32 && \ + make $(JOBS) && \ + make $(JOBS) install + cd $(WINGCC_INST_DIR) && rm -f mingw && ln -s $(XGCC_TARGET64) mingw + +wingcc-gcc: + rm -Rf $(BUILD_DIR)/gcc && mkdir -p $(BUILD_DIR)/gcc + cd $(BUILD_DIR)/gcc && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) CXX=$(XGPP64) \ + $(UNPACK_DIR)/gcc-$(VERSION_GCC)/configure \ + --with-pkgversion=$(GCC_PKGVERSION) \ + --prefix=$(WINGCC_INST_DIR) \ + --with-sysroot=$(WINGCC_INST_DIR) \ + --disable-nls \ + --host=$(XGCC_TARGET64) \ + --target=$(XGCC_TARGET64) \ + --build=$(ARCH64) \ + --enable-languages=$(LANGUAGES) \ + --disable-win32-registry \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --without-x \ + --enable-shared \ + --with-tune-64=core2 \ + --disable-werror \ + --disable-win32-registry \ + --disable-symvers \ + --enable-multilib \ + --enable-64bit \ + --enable-clocale=gnu \ + --enable-version-specific-runtime-libs \ + --enable-fully-dynamic-string && \ + make CFLAGS="-O2 -Wshadow -Wexpansion-to-defined" $(JOBS) all && \ + make $(JOBS) install + +wingcc-finish: + cd $(WINGCC_INST_DIR)/bin && \ + mkdir -p ../tmp; \ + mv $(XGCC_TARGET64)-*.exe ../tmp ; \ + for f in *.exe; do \ + mv $$f $(XGCC_TARGET64)-`basename $$f` > /dev/null 2>&1 ;\ + done; \ + mv ../tmp/* . ;\ + rm -Rf ../tmp ; + find $(WINGCC_INST_DIR) -type f -name "*.py" | xargs rm -f + cd $(WINGCC_INST_DIR) && rm -Rf share + cd $(WINGCC_INST_DIR) && rm -f mingw + cd $(WINGCC_INST_DIR) ;\ + find . -type f -name "*.exe" | xargs $(XGCC_BINPATH)/$(XGCC_PREFIX)strip + # + cp -f $(SOURCE_DIR)/mingw.gcc.specs \ + $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs + sed -i -e 's/__LIB32__/lib\/gcc\/$(XGCC_TARGET64)\/lib32/g' \ + $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs + sed -i -e 's/__LIB64__/lib\/gcc\/$(XGCC_TARGET64)\/lib/g' \ + $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs + cat $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr90.spec > \ + $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/msvcr90 + cat $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr100.spec > \ + $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/msvcr100 + cat $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr110.spec > \ + $(WINGCC_INST_DIR)/lib/gcc/$(XGCC_TARGET64)/$(VERSION_GCC)/msvcr110 + +wingcc-reimp: + rm -Rf $(BUILD_DIR)/reimp + cd $(BUILD_DIR)/ && \ + tar -zxf $(SOURCE_DIR)/reimp.tar.gz + export PATH=$(PATH):$(XGCC_BINPATH) && \ + cd $(BUILD_DIR)/reimp/src && \ + make CC=$(XGCC_TARGET64)-gcc + cp -f $(BUILD_DIR)/reimp/src/reimp.exe $(WINGCC_INST_DIR)/bin/reimp.exe + cp -f $(BUILD_DIR)/reimp/src/reimp.exe $(WINGCC_INST_DIR)/bin/$(XGCC_TARGET64)-reimp.exe + +wingcc-genpeimg: + rm -Rf $(BUILD_DIR)/genpeimg + cd $(BUILD_DIR)/ && \ + tar -zxf $(SOURCE_DIR)/genpeimg.tar.gz + cd $(BUILD_DIR)/genpeimg && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) CXX=$(XGPP64) genpeimg_CFLAGS="" CFLAGS="-O3 -g -Werror=implicit-fallthrough=0"\ + ./configure \ + --host=$(XGCC_TARGET64) && \ + make + cp -f $(BUILD_DIR)/genpeimg/genpeimg.exe \ + $(WINGCC_INST_DIR)/bin/genpeimg.exe + cp -f $(BUILD_DIR)/genpeimg/genpeimg.exe \ + $(WINGCC_INST_DIR)/bin/$(XGCC_TARGET64)-genpeimg.exe + +wingcc-gendef: + rm -Rf $(BUILD_DIR)/gendef + cd $(BUILD_DIR)/ && \ + tar -zxf $(SOURCE_DIR)/gendef.tar.gz + cd $(BUILD_DIR)/gendef && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) CXX=$(XGPP64) genpeimg_CFLAGS="" CFLAGS="-O3 -g -Werror=implicit-fallthrough=0"\ + ./configure \ + --host=$(XGCC_TARGET64) && \ + make + cp -f $(BUILD_DIR)/gendef/gendef.exe $(WINGCC_INST_DIR)/bin/gendef.exe + cp -f $(BUILD_DIR)/gendef/gendef.exe $(WINGCC_INST_DIR)/bin/$(XGCC_TARGET64)-gendef.exe + +wingcc-zlib: + cd $(BUILD_DIR) && rm -Rf zlib-$(VERSION_ZLIB) + cd $(BUILD_DIR) && tar -zxf $(SOURCE_DIR)/zlib-$(VERSION_ZLIB).tar.gz + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && patch -p1 < $(PATCHES_DIR)/zlib_ranlib.patch + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) \ + ./configure \ + --prefix=$(WINGCC_INST_DIR)/$(XGCC_TARGET64) --static && \ + make clean && make + # + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + cp -f libz.a $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib && \ + cp -f zlib.h zconf.h $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/include + # + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib/libz.a + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/include/zlib.h + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/include/zconf.h + # + cd $(BUILDDIR)/zlib-$(VERSION_ZLIB) && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC32) \ + ./configure \ + --prefix=$(WINGCC_INST_DIR)/$(XGCC_TARGET64) --static && \ + make clean && make + cd $(BUILD_DIR)/zlib-$(VERSION_ZLIB) && \ + cp -f libz.a $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib32 && \ + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib32/libz.a + +wingcc-bzip2: + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + make \ + CC=$(XGCC64) \ + PREFIX=$(WINGCC_INST_DIR)/$(XGCC_TARGET64) libbz2.a + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + cp -f bzlib.h $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/include && \ + cp -f libbz2.a $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/include/bzlib.h + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib/libbz2.a + # + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + export PATH=$(PATH):$(XGCC_BINPATH)/bin && \ + make \ + CC=$(XGCC32) \ + PREFIX=$(WINGCC_INST_DIR)/$(XGCC_TARGET64) libbz2.a + cd $(UNPACK_DIR)/bzip2-$(VERSION_BZ2) && \ + cp -f libbz2.a $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib32 + chmod 644 $(WINGCC_INST_DIR)/$(XGCC_TARGET64)/lib/libbz2.a + +wingcc-gdb: + rm -Rf $(BUILD_DIR)/gdb && mkdir -p $(BUILD_DIR)/gdb + cd $(BUILD_DIR)/gdb && \ + export PATH=$(PATH):$(XGCC_BINPATH) && \ + CC=$(XGCC64) CXX=$(XGPP64) CXXFLAGS="-g -O2 -fpermissive" \ + $(UNPACK_DIR)/gdb-$(VERSION_GDB)/configure \ + --prefix=$(WINGCC_INST_DIR) \ + --target=$(XGCC_TARGET64) \ + --host=$(XGCC_TARGET64) \ + --build=$(ARCH64) && \ + make $(JOBS) && make $(JOBS) install + mv -f $(WINGCC_INST_DIR)/bin/gdb.exe \ + $(WINGCC_INST_DIR)/bin/$(XGCC_TARGET64)-gdb.exe + mv -f $(WINGCC_INST_DIR)/bin/gdbserver.exe \ + $(WINGCC_INST_DIR)/bin/$(XGCC_TARGET64)-gdbserver.exe +wingcc-pack: + rm -Rf $(WINGCC_INST_DIR)/share + cd $(INST_BASE) && \ + zip -qr $(PWD)/gcc-suite-$(VERSION_SUITE)-gcc-$(VERSION_GCC)-$(VERSION_MINGW)-x86-mingw64.zip ./$(WINGCC_ROOTNAME) + +############################################################################## +# Nativ Multilib Linux Compiler (64 -Bit) +############################################################################## +lingcc-all: + make ARCH=x86-linux64 clean + make ARCH=x86-linux64 prepare + # + make ARCH=x86-linux64 lingcc-binutils + make ARCH=x86-linux64 lingcc-gcc + make ARCH=x86-linux64 lingcc-finish + make ARCH=x86-linux64 lingcc-gdb + make ARCH=x86-linux64 lingcc-pack + +lingcc-binutils: + mkdir -p $(BUILD_DIR)/binutils + cd $(BUILD_DIR)/binutils ;\ + $(UNPACK_DIR)/binutils-$(VERSION_BINUTILS)/configure \ + --with-pkgversion=$(GCC_PKGVERSION) \ + --prefix=$(INST_BASE)/gcc-$(VERSION_GCC) \ + --disable-nls \ + --enable-deterministic-archives \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --disable-werror \ + --enable-targets=$(ARCH64),$(ARCH32) && \ + make $(JOBS) && make $(JOBS) install + + +lingcc-gcc: + mkdir -p $(BUILD_DIR)/gcc + cd $(BUILD_DIR)/gcc && \ + $(UNPACK_DIR)/gcc-$(VERSION_GCC)/configure \ + --with-pkgversion=$(GCC_PKGVERSION) \ + --prefix=$(INST_BASE)/gcc-$(VERSION_GCC) \ + --build=$(ARCH64) \ + --host=$(ARCH64) \ + --target=$(ARCH64) \ + --disable-nls \ + --enable-languages=$(LANGUAGES) \ + --with-gcc \ + --with-gnu-ld \ + --with-gnu-as \ + --without-x \ + --enable-shared \ + --enable-static \ + --with-tune-64=core2 \ + --disable-werror \ + --disable-symvers \ + --enable-multilib \ + --enable-64bit \ + --enable-clocale=gnu \ + --enable-version-specific-runtime-libs \ + --enable-fully-dynamic-string && \ + make $(JOBS) all && \ + make $(JOBS) install + +lingcc-finish: + for f in `find $(INST_BASE)/gcc-$(VERSION_GCC) -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary' | cut -d: -f1`; do \ + strip $$f ;\ + done; + rm -Rf $(INST_BASE)/gcc-$(VERSION_GCC)/share + cp -f $(SOURCE_DIR)/mingw.gcc.specs \ + $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/specs + # + sed -i -e 's/__LIB32__/lib\/gcc\/$(ARCH64)\/lib32/g' \ + $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/specs + sed -i -e 's/__LIB64__/lib\/gcc\/$(ARCH64)\/lib64/g' \ + $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/specs + # + cat $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr90.spec > \ + $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/msvcr90 + cat $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr100.spec > \ + $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/msvcr100 + cat $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/specs \ + $(SOURCE_DIR)/gcc.msvcr110.spec > \ + $(INST_BASE)/gcc-$(VERSION_GCC)/lib/gcc/$(ARCH64)/$(VERSION_GCC)/msvcr110 + find $(INST_BASE)/gcc-$(VERSION_GCC) -type f -name "*.py" | xargs rm -f + +lingcc-gdb: + rm -Rf $(BUILD_DIR)/lingdb + mkdir -p $(BUILD_DIR)/lingdb + cd $(BUILD_DIR)/lingdb && \ + CXXFLAGS="-g -O2 -fpermissive" \ + $(UNPACK_DIR)/gdb-$(VERSION_GDB)/configure \ + --prefix=$(INST_BASE)/gcc-$(VERSION_GCC) \ + --target=$(ARCH64) \ + --host=$(ARCH64) \ + --build=$(ARCH64) && \ + make $(JOBS) && make $(JOBS) install + +lingcc-pack: + rm -Rf $(INST_BASE)/gcc$(VERSION_GCC)/share + cd $(INST_BASE) && \ + tar -zcf $(PWD)/gcc-suite-$(VERSION_SUITE)-gcc-$(VERSION_GCC)-x86-linux64.tgz ./gcc-$(VERSION_GCC) + +# ---------------------------------------------------------------------------- + + +clean: + rm -Rf $(UNPACK_DIR) + rm -Rf $(BUILD_DIR) + +fullclean: clean + rm -Rf inst.* + rm -Rf build.* + rm -Rf unpack.* + diff --git a/PATCHES/windows-lrealpath-no-force-lowercase-nor-backslash.patch b/PATCHES/windows-lrealpath-no-force-lowercase-nor-backslash.patch new file mode 100644 index 0000000..697469d --- /dev/null +++ b/PATCHES/windows-lrealpath-no-force-lowercase-nor-backslash.patch @@ -0,0 +1,34 @@ +diff -ruNb gcc-7.1.0.orig/libiberty/lrealpath.c gcc-7.1.0/libiberty/lrealpath.c +--- gcc-7.1.0.orig/libiberty/lrealpath.c 2017-01-04 12:30:51.000000000 +0100 ++++ gcc-7.1.0/libiberty/lrealpath.c 2017-05-28 00:13:05.844315144 +0200 +@@ -138,15 +138,26 @@ + { + char buf[MAX_PATH]; + char* basename; ++ char* slash; + DWORD len = GetFullPathName (filename, MAX_PATH, buf, &basename); + if (len == 0 || len > MAX_PATH - 1) + return strdup (filename); + else + { +- /* The file system is case-preserving but case-insensitive, +- Canonicalize to lowercase, using the codepage associated +- with the process locale. */ +- CharLowerBuff (buf, len); ++ /* Turn all back slashes back back into forward slashes ++ and don't make it all lowercase. ++ Rationale: ++ Windows is as happy with / as it is with \. This will ++ have been built using Cygwin, MSYS* or cross-compiled ++ from a system where dirsep is / so it is cleaner just ++ to keep the dirseps as / (and the case un-modified). ++ This way, the value will be consistent with the build ++ system and string operations (be they internal to this ++ software or external to it, e.g. processing map files ++ with sed) work as expected. */ ++ slash = buf; ++ while ((slash = strchr(slash,'\\')) != NULL) ++ *slash = '/'; + return strdup (buf); + } + } diff --git a/PATCHES/zlib_ranlib.patch b/PATCHES/zlib_ranlib.patch new file mode 100644 index 0000000..6dc9b72 --- /dev/null +++ b/PATCHES/zlib_ranlib.patch @@ -0,0 +1,13 @@ +diff -ruNb zlib-1.2.11.orig/Makefile.in zlib-1.2.11/Makefile.in +--- zlib-1.2.11.orig/Makefile.in 2017-01-15 18:29:40.000000000 +0100 ++++ zlib-1.2.11/Makefile.in 2017-05-30 14:41:17.075800210 +0200 +@@ -128,8 +128,8 @@ + gcov inf*.c + + libz.a: $(OBJS) ++ $(RANLIB) $@ + $(AR) $(ARFLAGS) $@ $(OBJS) +- -@ ($(RANLIB) $@ || true) >/dev/null 2>&1 + + match.o: match.S + $(CPP) match.S > _match.s diff --git a/SOURCES/binutils-2.28.tar.bz2 b/SOURCES/binutils-2.28.tar.bz2 new file mode 100644 index 0000000..bea61d1 Binary files /dev/null and b/SOURCES/binutils-2.28.tar.bz2 differ diff --git a/SOURCES/bzip2-1.0.6.tar.gz b/SOURCES/bzip2-1.0.6.tar.gz new file mode 100644 index 0000000..e47e903 Binary files /dev/null and b/SOURCES/bzip2-1.0.6.tar.gz differ diff --git a/SOURCES/cloog-0.18.4.tar.gz b/SOURCES/cloog-0.18.4.tar.gz new file mode 100644 index 0000000..cf53b81 Binary files /dev/null and b/SOURCES/cloog-0.18.4.tar.gz differ diff --git a/SOURCES/gcc-7.1.0.tar.bz2 b/SOURCES/gcc-7.1.0.tar.bz2 new file mode 100644 index 0000000..a217ffb Binary files /dev/null and b/SOURCES/gcc-7.1.0.tar.bz2 differ diff --git a/SOURCES/gcc.msvcr100.spec b/SOURCES/gcc.msvcr100.spec new file mode 100644 index 0000000..d4f3b78 --- /dev/null +++ b/SOURCES/gcc.msvcr100.spec @@ -0,0 +1,6 @@ +*cpp: +-D__MSVCRT_VERSION__=0x1000 %{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} %{municode:-DUNICODE} %{pthread:-D_REENTRANT} %{!no-pthread:-U_REENTRANT} + +*libgcc: +%{mthreads:-lmingwthrd} -lmingw32 %{static|static-libgcc:-lgcc -lgcc_eh} %{!static: %{!static-libgcc: %{!shared: %{!shared-libgcc:-lgcc -lgcc_eh} %{shared-libgcc:-lgcc_s -lgcc} } %{shared:-lgcc_s -lgcc} } } -lmingwex -lmsvcr100 + diff --git a/SOURCES/gcc.msvcr110.spec b/SOURCES/gcc.msvcr110.spec new file mode 100644 index 0000000..edb6ca1 --- /dev/null +++ b/SOURCES/gcc.msvcr110.spec @@ -0,0 +1,6 @@ +*cpp: +-D__MSVCRT_VERSION__=0x1100 %{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} %{municode:-DUNICODE} %{pthread:-D_REENTRANT} %{!no-pthread:-U_REENTRANT} + +*libgcc: +%{mthreads:-lmingwthrd} -lmingw32 %{static|static-libgcc:-lgcc -lgcc_eh} %{!static: %{!static-libgcc: %{!shared: %{!shared-libgcc:-lgcc -lgcc_eh} %{shared-libgcc:-lgcc_s -lgcc} } %{shared:-lgcc_s -lgcc} } } -lmingwex -lmsvcr110 + diff --git a/SOURCES/gcc.msvcr90.spec b/SOURCES/gcc.msvcr90.spec new file mode 100644 index 0000000..b974eda --- /dev/null +++ b/SOURCES/gcc.msvcr90.spec @@ -0,0 +1,6 @@ +*cpp: +-D__MSVCRT_VERSION__=0x900 %{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} %{municode:-DUNICODE} %{pthread:-D_REENTRANT} %{!no-pthread:-U_REENTRANT} + +*libgcc: +%{mthreads:-lmingwthrd} -lmingw32 %{static|static-libgcc:-lgcc -lgcc_eh} %{!static: %{!static-libgcc: %{!shared: %{!shared-libgcc:-lgcc -lgcc_eh} %{shared-libgcc:-lgcc_s -lgcc} } %{shared:-lgcc_s -lgcc} } } -lmingwex -lmsvcr90 + diff --git a/SOURCES/gdb-7.12.tar.gz b/SOURCES/gdb-7.12.tar.gz new file mode 100644 index 0000000..d66badf Binary files /dev/null and b/SOURCES/gdb-7.12.tar.gz differ diff --git a/SOURCES/gendef.tar.gz b/SOURCES/gendef.tar.gz new file mode 100644 index 0000000..44b49e3 Binary files /dev/null and b/SOURCES/gendef.tar.gz differ diff --git a/SOURCES/genpeimg.tar.gz b/SOURCES/genpeimg.tar.gz new file mode 100644 index 0000000..9b28a11 Binary files /dev/null and b/SOURCES/genpeimg.tar.gz differ diff --git a/SOURCES/gmp-6.1.2.tar.lz b/SOURCES/gmp-6.1.2.tar.lz new file mode 100644 index 0000000..eb638af Binary files /dev/null and b/SOURCES/gmp-6.1.2.tar.lz differ diff --git a/SOURCES/isl-0.16.1.tar.bz2 b/SOURCES/isl-0.16.1.tar.bz2 new file mode 100644 index 0000000..c0c51cd Binary files /dev/null and b/SOURCES/isl-0.16.1.tar.bz2 differ diff --git a/SOURCES/mingw-w64-v5.0.2.tar.bz2 b/SOURCES/mingw-w64-v5.0.2.tar.bz2 new file mode 100644 index 0000000..4ae9a1e Binary files /dev/null and b/SOURCES/mingw-w64-v5.0.2.tar.bz2 differ diff --git a/SOURCES/mingw.gcc.specs b/SOURCES/mingw.gcc.specs new file mode 100755 index 0000000..b006b2f --- /dev/null +++ b/SOURCES/mingw.gcc.specs @@ -0,0 +1,3 @@ +*link_libgcc: +%D %{!m32:-L%R/__LIB64__} %{m64:-L%R/__LIB64__} %{m32:-L%R/__LIB32__} + diff --git a/SOURCES/mpc-1.0.2.tar.gz b/SOURCES/mpc-1.0.2.tar.gz new file mode 100644 index 0000000..0e5a0e9 Binary files /dev/null and b/SOURCES/mpc-1.0.2.tar.gz differ diff --git a/SOURCES/mpfr-3.1.5.tar.bz2 b/SOURCES/mpfr-3.1.5.tar.bz2 new file mode 100644 index 0000000..7dc9d64 Binary files /dev/null and b/SOURCES/mpfr-3.1.5.tar.bz2 differ diff --git a/SOURCES/reimp.tar.gz b/SOURCES/reimp.tar.gz new file mode 100644 index 0000000..9308125 Binary files /dev/null and b/SOURCES/reimp.tar.gz differ diff --git a/SOURCES/zlib-1.2.11.tar.gz b/SOURCES/zlib-1.2.11.tar.gz new file mode 100644 index 0000000..7e75a8b Binary files /dev/null and b/SOURCES/zlib-1.2.11.tar.gz differ -- cgit v0.12