annotate src/gcc.mk @ 922:7491ac97c72e

upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
author Volker Grabsch <vog@notjusthosting.com>
date Sat, 01 May 2010 15:31:20 +0200
parents 0379a09e0b7a
children 795dbc19e055
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
641
dab071eac9c0 simplified file markers
Volker Grabsch <vog@notjusthosting.com>
parents: 605
diff changeset
1 # This file is part of mingw-cross-env.
714
29f1ba4559ae point consequently to "doc/index.html" instead of "doc/index.html or doc/README"
Volker Grabsch <vog@notjusthosting.com>
parents: 697
diff changeset
2 # See doc/index.html for further information.
414
d2a6561bcb6d add a copyright notice and license to each source file
Volker Grabsch <vog@notjusthosting.com>
parents: 408
diff changeset
3
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
4 # GCC
306
85ffa9259036 validate downloads using SHA-1 checksums
Volker Grabsch <vog@notjusthosting.com>
parents: 266
diff changeset
5 PKG := gcc
922
7491ac97c72e upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 897
diff changeset
6 $(PKG)_IGNORE :=
7491ac97c72e upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 897
diff changeset
7 $(PKG)_VERSION := 4.5.0
7491ac97c72e upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 897
diff changeset
8 $(PKG)_CHECKSUM := 4beb8366ce1883f37255aa57f0258e7d3cd13a9b
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
9 $(PKG)_SUBDIR := gcc-$($(PKG)_VERSION)
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
10 $(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.bz2
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
11 $(PKG)_WEBSITE := http://gcc.gnu.org/
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
12 $(PKG)_URL := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
13 $(PKG)_URL_2 := ftp://ftp.cs.tu-berlin.de/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE)
922
7491ac97c72e upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 897
diff changeset
14 $(PKG)_DEPS := mingwrt mingwrt-dll w32api binutils gcc-gmp gcc-mpc gcc-mpfr gcc-pthreads
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
15
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
16 define $(PKG)_UPDATE
605
96fa8fada1dc improved speed of version recognition for package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 504
diff changeset
17 wget -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \
96fa8fada1dc improved speed of version recognition for package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 504
diff changeset
18 grep '<a href="gcc-' | \
96fa8fada1dc improved speed of version recognition for package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 504
diff changeset
19 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
20 head -1
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
21 endef
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
22
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
23 $(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
24 --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
25 --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
26 --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
27 --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
28 --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
29 --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
30 --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
31 --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
32 --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
33 --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
34 --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
35 --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
36
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
37 define $(PKG)_BUILD
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
38 # unpack support libraries
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
39 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp)
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
40 mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/gmp'
922
7491ac97c72e upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 897
diff changeset
41 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpc)
7491ac97c72e upgrade package gcc to GCC 4.5, switching back from TDM to MinGW (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 897
diff changeset
42 mv '$(1)/$(gcc-mpc_SUBDIR)' '$(1)/mpc'
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
43 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpfr)
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
44 mv '$(1)/$(gcc-mpfr_SUBDIR)' '$(1)/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
45 # 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
46 mkdir '$(1)/build'
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
47 cd '$(1)/build' && '$(1)/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
48 $(gcc_CONFIGURE_OPTIONS) \
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
49 --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
50 --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
51 --disable-libmudflap
217
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
52 $(MAKE) -C '$(1)/build' -j '$(JOBS)'
89ba55cd6e29 switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents: 143
diff changeset
53 $(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
54 # 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
55 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-pthreads)
759
bf4bcb3370fa changed coding style: make "-i" always the first argument of $(SED) (by Mark Brand)
Volker Grabsch <vog@notjusthosting.com>
parents: 731
diff changeset
56 $(SED) -i '35i\#define PTW32_STATIC_LIB' '$(1)/$(gcc-pthreads_SUBDIR)/pthread.h'
897
0379a09e0b7a enable static linking of pthreads even when <sched.h> is included without <pthread.h>
Volker Grabsch <vog@notjusthosting.com>
parents: 852
diff changeset
57 $(SED) -i '41i\#define PTW32_STATIC_LIB' '$(1)/$(gcc-pthreads_SUBDIR)/sched.h'
0379a09e0b7a enable static linking of pthreads even when <sched.h> is included without <pthread.h>
Volker Grabsch <vog@notjusthosting.com>
parents: 852
diff changeset
58 $(SED) -i '41i\#define PTW32_STATIC_LIB' '$(1)/$(gcc-pthreads_SUBDIR)/semaphore.h'
759
bf4bcb3370fa changed coding style: make "-i" always the first argument of $(SED) (by Mark Brand)
Volker Grabsch <vog@notjusthosting.com>
parents: 731
diff changeset
59 $(SED) -i 's,#include "config.h",,' '$(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
60 $(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
61 $(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
62 $(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
63 $(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
64 $(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
65 $(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
66 $(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
67 # build libgomp
759
bf4bcb3370fa changed coding style: make "-i" always the first argument of $(SED) (by Mark Brand)
Volker Grabsch <vog@notjusthosting.com>
parents: 731
diff changeset
68 $(SED) -i 's,cross_compiling=no,cross_compiling=yes,' '$(1)/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
69 mkdir '$(1)/build/$(TARGET)/libgomp'
504
0fd340b5a6a8 improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents: 475
diff changeset
70 cd '$(1)/build/$(TARGET)/libgomp' && '$(1)/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
71 $(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
72 --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
73 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
74 $(MAKE) -C '$(1)/build/$(TARGET)/libgomp' -j '$(JOBS)' install
695
b930f92b1f77 use the natively installed pkg-config instead of building a custom pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 650
diff changeset
75
b930f92b1f77 use the natively installed pkg-config instead of building a custom pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 650
diff changeset
76 # create pkg-config script
b930f92b1f77 use the natively installed pkg-config instead of building a custom pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 650
diff changeset
77 (echo '#!/bin/sh'; \
731
2ffb38727a32 hardcode the --static argument into i686-pc-mingw32-pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 721
diff changeset
78 echo 'PKG_CONFIG_PATH= PKG_CONFIG_LIBDIR='\''$(PREFIX)/$(TARGET)/lib/pkgconfig'\'' exec pkg-config --static "$$@"') \
695
b930f92b1f77 use the natively installed pkg-config instead of building a custom pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 650
diff changeset
79 > '$(PREFIX)/bin/$(TARGET)-pkg-config'
b930f92b1f77 use the natively installed pkg-config instead of building a custom pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 650
diff changeset
80 chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config'
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
81 endef