diff --git a/src/gcc-core.mk b/src/gcc-core.mk new file mode 100644 index 00000000..6daea163 --- /dev/null +++ b/src/gcc-core.mk @@ -0,0 +1,16 @@ +# GCC core +# http://gcc.gnu.org/ + +PKG := gcc-core +$(PKG)_VERSION := 4.3.2 +$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION) +$(PKG)_FILE := gcc-core-$($(PKG)_VERSION).tar.bz2 +$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/tdm-gcc/$($(PKG)_FILE) +$(PKG)_DEPS := + +define $(PKG)_UPDATE + wget -q -O- 'http://sourceforge.net/project/showfiles.php?group_id=200665&package_id=238462' | \ + grep 'gcc-core-' | \ + $(SED) -n 's,.*gcc-core-\([4-9][^>]*\)\.tar.*,\1,p' | \ + head -1 +endef diff --git a/src/gcc-g++.mk b/src/gcc-g++.mk new file mode 100644 index 00000000..7ef44c99 --- /dev/null +++ b/src/gcc-g++.mk @@ -0,0 +1,16 @@ +# GCC g++ +# http://gcc.gnu.org/ + +PKG := gcc-g++ +$(PKG)_VERSION := 4.3.2 +$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION) +$(PKG)_FILE := gcc-g++-$($(PKG)_VERSION).tar.bz2 +$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/tdm-gcc/$($(PKG)_FILE) +$(PKG)_DEPS := + +define $(PKG)_UPDATE + wget -q -O- 'http://sourceforge.net/project/showfiles.php?group_id=200665&package_id=238462' | \ + grep 'gcc-g++-' | \ + $(SED) -n 's,.*gcc-g++-\([4-9][^>]*\)\.tar.*,\1,p' | \ + head -1 +endef diff --git a/src/gcc-gmp.mk b/src/gcc-gmp.mk new file mode 100644 index 00000000..21fd633d --- /dev/null +++ b/src/gcc-gmp.mk @@ -0,0 +1,16 @@ +# GMP for GCC +# http://www.gmplib.org/ + +PKG := gcc-gmp +$(PKG)_VERSION := 4.2.4 +$(PKG)_SUBDIR := gmp-$($(PKG)_VERSION) +$(PKG)_FILE := gmp-$($(PKG)_VERSION).tar.bz2 +$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/tdm-gcc/$($(PKG)_FILE) +$(PKG)_DEPS := + +define $(PKG)_UPDATE + wget -q -O- 'http://sourceforge.net/project/showfiles.php?group_id=200665&package_id=238462' | \ + grep 'gmp-' | \ + $(SED) -n 's,.*gmp-\([4-9][^>]*\)\.tar.*,\1,p' | \ + head -1 +endef diff --git a/src/gcc-mpfr.mk b/src/gcc-mpfr.mk new file mode 100644 index 00000000..226a9b0b --- /dev/null +++ b/src/gcc-mpfr.mk @@ -0,0 +1,16 @@ +# MPFR for GCC +# http://www.mpfr.org/ + +PKG := gcc-mpfr +$(PKG)_VERSION := 2.3.2 +$(PKG)_SUBDIR := mpfr-$($(PKG)_VERSION) +$(PKG)_FILE := mpfr-$($(PKG)_VERSION).tar.bz2 +$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/tdm-gcc/$($(PKG)_FILE) +$(PKG)_DEPS := + +define $(PKG)_UPDATE + wget -q -O- 'http://sourceforge.net/project/showfiles.php?group_id=200665&package_id=238462' | \ + grep 'mpfr-' | \ + $(SED) -n 's,.*mpfr-\([2-9][^>]*\)\.tar.*,\1,p' | \ + head -1 +endef diff --git a/src/gcc.mk b/src/gcc.mk index aa4c86bf..0e72fb32 100644 --- a/src/gcc.mk +++ b/src/gcc.mk @@ -1,21 +1,37 @@ -# MinGW GCC -# http://mingw.sourceforge.net/ +# TDM-GCC +# http://www.tdragon.net/recentgcc/ PKG := gcc -$(PKG)_VERSION := 4.2.1-2 -$(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)-src -$(PKG)_FILE := gcc-$($(PKG)_VERSION)-src.tar.gz -$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/mingw/$($(PKG)_FILE) -$(PKG)_DEPS := mingwrt w32api binutils pkg_config +$(PKG)_VERSION := 4.3.2-tdm-2 +$(PKG)_SUBDIR := . +$(PKG)_FILE := gcc-$($(PKG)_VERSION)-srcbase.zip +$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/tdm-gcc/$($(PKG)_FILE) +$(PKG)_DEPS := pkg_config mingwrt w32api binutils gcc-gmp gcc-mpfr gcc-core gcc-g++ define $(PKG)_UPDATE - wget -q -O- 'http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304' | \ - $(SED) -n 's,.*gcc-\([4-9][^>]*\)-src\.tar.*,\1,p' | \ + wget -q -O- 'http://sourceforge.net/project/showfiles.php?group_id=200665&package_id=238347' | \ + grep 'gcc-' | \ + $(SED) -n 's,.*gcc-\([4-9][^>]*\)-srcbase\.zip.*,\1,p' | \ head -1 endef define $(PKG)_BUILD - cd '$(1)' && ./configure \ + # unpack GCC + cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-core) + cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-g++) + # apply TDM patches to GCC + cd '$(1)/$(gcc-core_SUBDIR)' && \ + for p in '$(1)'/*.patch; do \ + patch -p1 < "$$p"; \ + done + # unpack support libraries + cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp) + mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/$(gcc-core_SUBDIR)/gmp' + cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpfr) + mv '$(1)/$(gcc-mpfr_SUBDIR)' '$(1)/$(gcc-core_SUBDIR)/mpfr' + # build + mkdir '$(1)/build' + cd '$(1)/build' && '$(1)/$(gcc-core_SUBDIR)/configure' \ --target='$(TARGET)' \ --prefix='$(PREFIX)' \ --enable-languages='c,c++' \ @@ -29,5 +45,6 @@ define $(PKG)_BUILD --enable-threads=win32 \ --disable-win32-registry \ --enable-sjlj-exceptions - $(MAKE) -C '$(1)' -j 1 all install + $(MAKE) -C '$(1)/build' -j '$(JOBS)' + $(MAKE) -C '$(1)/build' -j 1 install endef