annotate src/gcc.mk @ 475:7f0af68acada

mark TDM-GCC 4.4.1-tdm-2 as bad version
author Volker Grabsch <vog@notjusthosting.com>
date Fri, 09 Oct 2009 16:37:26 +0200
parents ecd04bd51de2
children 0fd340b5a6a8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
417
c82e9294b774 replace the contact email address with hints to the project mailing list
Volker Grabsch <vog@notjusthosting.com>
parents: 414
diff changeset
1 # Copyright (C) 2009 Volker Grabsch
414
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
2 #
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
3 # Permission is hereby granted, free of charge, to any person obtaining
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
4 # a copy of this software and associated documentation files (the
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
5 # "Software"), to deal in the Software without restriction, including
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
6 # without limitation the rights to use, copy, modify, merge, publish,
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
7 # distribute, sublicense, and/or sell copies of the Software, and to
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
8 # permit persons to whom the Software is furnished to do so, subject
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
9 # to the following conditions:
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
10 #
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
11 # The above copyright notice and this permission notice shall be
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
12 # included in all copies or substantial portions of the Software.
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
13 #
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
15 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
16 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
17 # IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
18 # CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
19 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
20 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
21
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
22 # TDM-GCC
306
85ffa9259036 validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents: 266
diff changeset
23 PKG := gcc
475
7f0af68acada mark TDM-GCC 4.4.1-tdm-2 as bad version
Volker Grabsch <vog@notjusthosting.com>
parents: 465
diff changeset
24 $(PKG)_IGNORE := 4.4.1-tdm-2
426
e2e7ba65ff3e revert the upgrade of the gcc* packages, because the new version causes trouble in many libraries
Volker Grabsch <vog@notjusthosting.com>
parents: 422
diff changeset
25 $(PKG)_VERSION := 4.4.0-tdm-1
e2e7ba65ff3e revert the upgrade of the gcc* packages, because the new version causes trouble in many libraries
Volker Grabsch <vog@notjusthosting.com>
parents: 422
diff changeset
26 $(PKG)_CHECKSUM := ec1c81acf0581b4f1e2d5498ce9cd015b63e917b
306
85ffa9259036 validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents: 266
diff changeset
27 $(PKG)_SUBDIR := .
426
e2e7ba65ff3e revert the upgrade of the gcc* packages, because the new version causes trouble in many libraries
Volker Grabsch <vog@notjusthosting.com>
parents: 422
diff changeset
28 $(PKG)_FILE := gcc-$($(PKG)_VERSION)-srcbase-2.zip
306
85ffa9259036 validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents: 266
diff changeset
29 $(PKG)_WEBSITE := http://www.tdragon.net/recentgcc/
422
d2f5eb27e051 improved download URLs for all SourceForge packages to ensure that the selected SOURCEFORGE_MIRROR is really used
Volker Grabsch <vog@notjusthosting.com>
parents: 421
diff changeset
30 $(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/tdm-gcc/Sources/TDM Sources/$($(PKG)_VERSION)/$($(PKG)_FILE)
465
ecd04bd51de2 new package: mingwrt-dll (for mingwm10.dll)
Volker Grabsch <vog@notjusthosting.com>
parents: 456
diff changeset
31 $(PKG)_DEPS := pkg_config mingwrt mingwrt-dll w32api binutils gcc-gmp gcc-mpfr gcc-core gcc-g++ gcc-objc gcc-fortran gcc-pthreads
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
32
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
33 define $(PKG)_UPDATE
408
413750a629be improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents: 377
diff changeset
34 $(call SOURCEFORGE_FILES,http://sourceforge.net/projects/tdm-gcc/files/Sources/) | \
377
61e5dba7175b update version of packages atk, curl, gcc, gdal, glib, gnutls, gtk, libevent, libidn, libntlm, libpng, nsis, pango, pdflib_lite, pixman, sqlite, tre and xmlwrapp
Volker Grabsch <vog@notjusthosting.com>
parents: 306
diff changeset
35 $(SED) -n 's,.*gcc-\([0-9][^>]*\)-srcbase[-0-9]*\.zip.*,\1,p' | \
408
413750a629be improved version recognition for sourceforge packages
Volker Grabsch <vog@notjusthosting.com>
parents: 377
diff changeset
36 tail -1
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
37 endef
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
38
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
39 $(PKG)_CONFIGURE_OPTIONS := \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
40 --target='$(TARGET)' \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
41 --prefix='$(PREFIX)' \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
42 --enable-languages='c,c++,objc,fortran' \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
43 --enable-version-specific-runtime-libs \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
44 --with-gcc \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
45 --with-gnu-ld \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
46 --with-gnu-as \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
47 --disable-nls \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
48 --disable-shared \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
49 --without-x \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
50 --disable-win32-registry \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
51 --enable-sjlj-exceptions
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
52
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
53 define $(PKG)_BUILD
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
54 # unpack GCC
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
55 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-core)
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
56 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-g++)
252
c8a54b28a3ce new packages: gcc-objc and gcc-fortran
Volker Grabsch <vog@notjusthosting.com>
parents: 217
diff changeset
57 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-objc)
c8a54b28a3ce new packages: gcc-objc and gcc-fortran
Volker Grabsch <vog@notjusthosting.com>
parents: 217
diff changeset
58 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-fortran)
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
59 # apply TDM patches to GCC
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
60 cd '$(1)/$(gcc-core_SUBDIR)' && \
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
61 for p in '$(1)'/*.patch; do \
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
62 patch -p1 < "$$p"; \
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
63 done
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
64 # unpack support libraries
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
65 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp)
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
66 mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/$(gcc-core_SUBDIR)/gmp'
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
67 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpfr)
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
68 mv '$(1)/$(gcc-mpfr_SUBDIR)' '$(1)/$(gcc-core_SUBDIR)/mpfr'
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
69 # build everything of GCC except libgomp and libmudflap
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
70 mkdir '$(1)/build'
447
0da18d27453e improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 446
diff changeset
71 cd '$(1)/build' && '$(1)/$(gcc-core_SUBDIR)/configure' \
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
72 $(gcc_CONFIGURE_OPTIONS) \
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
73 --enable-threads=win32 \
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
74 --disable-libgomp \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
75 --disable-libmudflap
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
76 $(MAKE) -C '$(1)/build' -j '$(JOBS)'
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
77 $(MAKE) -C '$(1)/build' -j 1 install
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
78 # unpack and build pthreads (needed by libgomp)
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
79 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-pthreads)
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
80 $(SED) '35i\#define PTW32_STATIC_LIB' -i '$(1)/$(gcc-pthreads_SUBDIR)/pthread.h'
456
2402e62b091d strip the disturbing '#include "config.h"' from pthread.h
Volker Grabsch <vog@notjusthosting.com>
parents: 448
diff changeset
81 $(SED) 's,#include "config.h",,' -i '$(1)/$(gcc-pthreads_SUBDIR)/pthread.h'
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
82 $(MAKE) -C '$(1)/$(gcc-pthreads_SUBDIR)' -j 1 GC-static CROSS='$(TARGET)-'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
83 $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
84 $(INSTALL) -m664 '$(1)/$(gcc-pthreads_SUBDIR)/libpthreadGC2.a' '$(PREFIX)/$(TARGET)/lib/libpthread.a'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
85 $(INSTALL) -d '$(PREFIX)/$(TARGET)/include'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
86 $(INSTALL) -m664 '$(1)/$(gcc-pthreads_SUBDIR)/pthread.h' '$(PREFIX)/$(TARGET)/include/'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
87 $(INSTALL) -m664 '$(1)/$(gcc-pthreads_SUBDIR)/sched.h' '$(PREFIX)/$(TARGET)/include/'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
88 $(INSTALL) -m664 '$(1)/$(gcc-pthreads_SUBDIR)/semaphore.h' '$(PREFIX)/$(TARGET)/include/'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
89 # build libgomp
446
a36524aced85 fix for systems where wine confuses the cross-compiling detection of ./configure
Volker Grabsch <vog@notjusthosting.com>
parents: 444
diff changeset
90 $(SED) 's,cross_compiling=no,cross_compiling=yes,' -i '$(1)/$(gcc-core_SUBDIR)/libgomp/configure'
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
91 mkdir '$(1)/build/$(TARGET)/libgomp'
447
0da18d27453e improved coding style
Volker Grabsch <vog@notjusthosting.com>
parents: 446
diff changeset
92 cd '$(1)/build/$(TARGET)/libgomp' && '$(1)/$(gcc-core_SUBDIR)/libgomp/configure' \
444
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
93 $(gcc_CONFIGURE_OPTIONS) \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
94 --host='$(TARGET)' \
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
95 LIBS='-lws2_32'
c828215f90ae enable libgomp (OpenMP) in package gcc by interweaving the pthread build into the gcc build
Volker Grabsch <vog@notjusthosting.com>
parents: 426
diff changeset
96 $(MAKE) -C '$(1)/build/$(TARGET)/libgomp' -j '$(JOBS)' install
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
97 endef