annotate src/gcc.mk @ 1799:53a080f97374

package gcc: fix update macro
author Mark Brand <mabrand@mabrand.nl>
date Fri, 29 Apr 2011 09:13:21 +0200
parents 544f2ac34b4d
children 4cb5d60c0482
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
938
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
6 $(PKG)_IGNORE :=
1692
872f3e1d9e25 update package gcc
Mark Brand <mabrand@mabrand.nl>
parents: 1663
diff changeset
7 $(PKG)_VERSION := 4.6.0
872f3e1d9e25 update package gcc
Mark Brand <mabrand@mabrand.nl>
parents: 1663
diff changeset
8 $(PKG)_CHECKSUM := dcbb5ce724c4bf87b9ec93473d16b71e9ebac483
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)
1029
462deba73d49 bugfix: remove mingwrt-dll from the dependencies of package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 1024
diff changeset
14 $(PKG)_DEPS := mingwrt w32api binutils gcc-gmp gcc-mpc gcc-mpfr
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 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \
1799
53a080f97374 package gcc: fix update macro
Mark Brand <mabrand@mabrand.nl>
parents: 1759
diff changeset
19 grep -v '^4\.[543]\.' | \
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
938
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
23 define $(PKG)_BUILD
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
24 # unpack support libraries
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
25 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-gmp)
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
26 mv '$(1)/$(gcc-gmp_SUBDIR)' '$(1)/gmp'
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
27 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpc)
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
28 mv '$(1)/$(gcc-mpc_SUBDIR)' '$(1)/mpc'
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
29 cd '$(1)' && $(call UNPACK_PKG_ARCHIVE,gcc-mpfr)
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
30 mv '$(1)/$(gcc-mpfr_SUBDIR)' '$(1)/mpfr'
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
31
795dbc19e055 detangle package pthreads from package gcc
Volker Grabsch <vog@notjusthosting.com>
parents: 922
diff changeset
32 # build GCC and support libraries
1066
c7b2a7ef1bf9 use a build directory separate from the source directory in package gcc (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 1060
diff changeset
33 mkdir '$(1).build'
c7b2a7ef1bf9 use a build directory separate from the source directory in package gcc (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 1060
diff changeset
34 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
35 --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
36 --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
37 --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
38 --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
39 --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
40 --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
41 --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
42 --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
43 --disable-shared \
1759
544f2ac34b4d disable SJLJ exceptions explicitly, as those cause trouble
Kay Hayen <kayhayen@gmx.de>
parents: 1692
diff changeset
44 --disable-sjlj-exceptions \
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 --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
46 --disable-win32-registry \
943
bc40d4f60207 provide GCC OpenMP functionality as extra package libgomp (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 942
diff changeset
47 --enable-threads=win32 \
bc40d4f60207 provide GCC OpenMP functionality as extra package libgomp (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 942
diff changeset
48 --disable-libgomp \
bc40d4f60207 provide GCC OpenMP functionality as extra package libgomp (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 942
diff changeset
49 --disable-libmudflap
1066
c7b2a7ef1bf9 use a build directory separate from the source directory in package gcc (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 1060
diff changeset
50 $(MAKE) -C '$(1).build' -j '$(JOBS)'
c7b2a7ef1bf9 use a build directory separate from the source directory in package gcc (by Tony Theodore)
Volker Grabsch <vog@notjusthosting.com>
parents: 1060
diff changeset
51 $(MAKE) -C '$(1).build' -j 1 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
52
b930f92b1f77 use the natively installed pkg-config instead of building a custom pkg-config
Volker Grabsch <vog@notjusthosting.com>
parents: 650
diff changeset
53 # 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
54 (echo '#!/bin/sh'; \
1504
dfa937baa17b improved pkg-config wrapper and its documentation
Volker Grabsch <vog@notjusthosting.com>
parents: 1320
diff changeset
55 echo 'PKG_CONFIG_PATH="$$PKG_CONFIG_PATH_$(subst -,_,$(TARGET))" 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
56 > '$(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
57 chmod 0755 '$(PREFIX)/bin/$(TARGET)-pkg-config'
1663
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
58
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
59 # create the CMake toolchain file
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
60 [ -d '$(dir $(CMAKE_TOOLCHAIN_FILE))' ] || mkdir -p '$(dir $(CMAKE_TOOLCHAIN_FILE))'
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
61 (echo 'set(BUILD_SHARED_LIBS OFF)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
62 echo 'set(CMAKE_SYSTEM_NAME Windows)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
63 echo 'set(CMAKE_FIND_ROOT_PATH $(PREFIX)/$(TARGET))'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
64 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
65 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
66 echo 'set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
67 echo 'set(CMAKE_C_COMPILER $(PREFIX)/bin/$(TARGET)-gcc)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
68 echo 'set(CMAKE_CXX_COMPILER $(PREFIX)/bin/$(TARGET)-g++)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
69 echo 'set(CMAKE_RC_COMPILER $(PREFIX)/bin/$(TARGET)-windres)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
70 echo 'set(PKG_CONFIG_EXECUTABLE $(PREFIX)/bin/$(TARGET)-pkg-config)'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
71 echo 'set(CMAKE_INSTALL_PREFIX $(PREFIX)/$(TARGET) CACHE PATH "Installation Prefix")'; \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
72 echo 'set(CMAKE_BUILD_TYPE Release CACHE STRING "Debug|Release|RelWithDebInfo|MinSizeRel")') \
9577f70222f8 add cmake toolchain file and simplify build rules of relevant packages
Tony Theodore <tonyt@logyst.com>
parents: 1524
diff changeset
73 > '$(CMAKE_TOOLCHAIN_FILE)'
115
ae21cae1b378 translated packages: mingwrt, w32api, binutils, gcc
Volker Grabsch <vog@notjusthosting.com>
parents:
diff changeset
74 endef