Mercurial > mxe-octave
annotate src/gcc.mk @ 650:584fdc59e1e3
ignore gcc-4.4.3 for now
author | Volker Grabsch <vog@notjusthosting.com> |
---|---|
date | Fri, 22 Jan 2010 01:54:03 +0100 |
parents | 2d6c69bdc507 |
children | b930f92b1f77 |
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. |
dab071eac9c0
simplified file markers
Volker Grabsch <vog@notjusthosting.com>
parents:
605
diff
changeset
|
2 # See doc/index.html or doc/README 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 |
650
584fdc59e1e3
ignore gcc-4.4.3 for now
Volker Grabsch <vog@notjusthosting.com>
parents:
643
diff
changeset
|
6 $(PKG)_IGNORE := 4.4.3 |
504
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
7 $(PKG)_VERSION := 4.4.0 |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
8 $(PKG)_CHECKSUM := 9215af6beb900ca1eef1d6a40c3dabe990203b25 |
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) |
643
2d6c69bdc507
new package: directx
Volker Grabsch <vog@notjusthosting.com>
parents:
641
diff
changeset
|
14 $(PKG)_DEPS := pkg_config mingwrt mingwrt-dll w32api directx binutils gcc-gmp gcc-mpfr gcc-tdm 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 |
504
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
38 # unpack TDM-GCC |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
39 mkdir '$(1)/gcc-tdm' |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
40 cd '$(1)/gcc-tdm' && $(call UNPACK_PKG_ARCHIVE,gcc-tdm) |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
41 # apply TDM-GCC patches |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
42 cd '$(1)' && \ |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
43 for p in '$(1)'/gcc-tdm/*.patch; do \ |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
44 $(SED) 's,\r$$,,' -i "$$p" || exit 1; \ |
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
45 patch -p1 < "$$p" || exit 1; \ |
217
89ba55cd6e29
switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents:
143
diff
changeset
|
46 done |
89ba55cd6e29
switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents:
143
diff
changeset
|
47 # unpack support libraries |
89ba55cd6e29
switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents:
143
diff
changeset
|
48 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
|
49 mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/gmp' |
217
89ba55cd6e29
switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents:
143
diff
changeset
|
50 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
|
51 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
|
52 # 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
|
53 mkdir '$(1)/build' |
504
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
54 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
|
55 $(gcc_CONFIGURE_OPTIONS) \ |
115
ae21cae1b378
translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff
changeset
|
56 --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
|
57 --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
|
58 --disable-libmudflap |
217
89ba55cd6e29
switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents:
143
diff
changeset
|
59 $(MAKE) -C '$(1)/build' -j '$(JOBS)' |
89ba55cd6e29
switch from MinGW GCC to TDM-GCC
Volker Grabsch <vog@notjusthosting.com>
parents:
143
diff
changeset
|
60 $(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
|
61 # 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
|
62 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
|
63 $(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
|
64 $(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
|
65 $(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
|
66 $(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
|
67 $(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
|
68 $(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
|
69 $(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
|
70 $(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
|
71 $(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
|
72 # build libgomp |
504
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
73 $(SED) 's,cross_compiling=no,cross_compiling=yes,' -i '$(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
|
74 mkdir '$(1)/build/$(TARGET)/libgomp' |
504
0fd340b5a6a8
improved structure of the gcc-* packages
Volker Grabsch <vog@notjusthosting.com>
parents:
475
diff
changeset
|
75 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
|
76 $(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
|
77 --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
|
78 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
|
79 $(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
|
80 endef |