Mercurial > mxe-octave
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 |
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 |