Mercurial > mxe-octave
annotate src/native-gcc.mk @ 5500:512e69a36d09
Use SSE2 instruction set for i686-w64 target (bug #58807).
* src/build-gcc.mk: Set specs to use SSE/SSE2 instructions by default for
i686-w64-mingw32 target (Windows 32bit).
* src/native-gcc.mk: Set specs to use SSE/SSE2 instructions by default for
i686-w64-mingw32 target (Windows 32bit).
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Tue, 21 Jul 2020 20:27:53 +0200 |
parents | eca81b345edf |
children | 933ef4ecc7f4 |
rev | line source |
---|---|
2915 | 1 # This file is part of MXE. |
2 # See index.html for further information. | |
3 | |
4 PKG := native-gcc | |
5 $(PKG)_IGNORE := | |
5348
eca81b345edf
gcc: update to v9.3.0
John Donoghue <john.donoghue@ieee.org>
parents:
5327
diff
changeset
|
6 $(PKG)_VERSION := 9.3.0 |
eca81b345edf
gcc: update to v9.3.0
John Donoghue <john.donoghue@ieee.org>
parents:
5327
diff
changeset
|
7 $(PKG)_CHECKSUM := b746688bf045a316fc92c3528138ad10d0822b6b |
2915 | 8 $(PKG)_SUBDIR := gcc-$($(PKG)_VERSION) |
4469 | 9 $(PKG)_FILE := gcc-$($(PKG)_VERSION).tar.xz |
2915 | 10 $(PKG)_URL := ftp://ftp.gnu.org/pub/gnu/gcc/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) |
11 $(PKG)_URL_2 := ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-$($(PKG)_VERSION)/$($(PKG)_FILE) | |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
12 |
5327
217b0a7a5730
* src/build-gcc.mk, src/native-gcc.mk: remove dependancy on cloog
John Donoghue
parents:
5205
diff
changeset
|
13 $(PKG)_DEPS := native-binutils gmp isl mpc mpfr |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
14 ifeq ($(MXE_SYSTEM),mingw) |
3523
1b350761007f
allow native-gcc build to succeed
John W. Eaton <jwe@octave.org>
parents:
3511
diff
changeset
|
15 $(PKG)_DEPS += mingw-w64 |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
16 endif |
2915 | 17 ifneq ($(BUILD_SHARED),yes) |
18 $(PKG)_STATIC_FLAG := --static | |
19 endif | |
20 | |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
21 ifeq ($(MXE_SYSTEM),mingw) |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
22 $(PKG)_SYSDEP_CONFIGURE_OPTIONS := \ |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
23 --enable-version-specific-runtime-libs \ |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
24 --disable-nls \ |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
25 --without-x \ |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
26 --disable-win32-registry \ |
3554
b1ca68ddd02c
build native-gcc using untared dependancies within gcc source tree
John Donoghue <john.donoghue@ieee.org>
parents:
3523
diff
changeset
|
27 --with-native-system-header-dir='$(HOST_PREFIX)/include' \ |
4626 | 28 --enable-threads=posix \ |
29 --disable-multilib | |
30 | |
3710
1220a9158bc1
make building 64-bit Windows binaries independent from enabling 64-bit indexing in Octave
John W. Eaton <jwe@octave.org>
parents:
3695
diff
changeset
|
31 ifneq ($(ENABLE_WINDOWS_64),yes) |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
32 $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \ |
5500
512e69a36d09
Use SSE2 instruction set for i686-w64 target (bug #58807).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5348
diff
changeset
|
33 --disable-sjlj-exceptions \ |
512e69a36d09
Use SSE2 instruction set for i686-w64 target (bug #58807).
Markus Mützel <markus.muetzel@gmx.de>
parents:
5348
diff
changeset
|
34 --with-specs='%{!mfpmath:-mfpmath=sse} %{!msse:%{!mno-sse:-msse}} %{!msse2:%{!mno-sse2:-msse2}}' |
3944 | 35 else |
36 $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \ | |
4626 | 37 --enable-64bit |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
38 endif |
3944 | 39 else |
40 $(PKG)_SYSDEP_CONFIGURE_OPTIONS += \ | |
3981
f1cc0bdd57b6
native-gcc: compile gcc as static when using mingw64
John Donoghue
parents:
3944
diff
changeset
|
41 $(ENABLE_SHARED_OR_STATIC) \ |
3944 | 42 --disable-multilib |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
43 endif |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
44 |
2915 | 45 define $(PKG)_UPDATE |
46 $(WGET) -q -O- 'http://ftp.gnu.org/gnu/gcc/?C=M;O=D' | \ | |
47 $(SED) -n 's,.*<a href="gcc-\([0-9][^"]*\)/".*,\1,p' | \ | |
48 grep -v '^4\.[543]\.' | \ | |
49 head -1 | |
50 endef | |
51 | |
52 define $(PKG)_BUILD | |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
53 # configure gcc |
2915 | 54 mkdir '$(1).build' |
55 cd '$(1).build' && '$(1)/configure' \ | |
56 --target='$(TARGET)' \ | |
3013
bcc26ffe9a0f
use variable for --host and --build configure arguments
John W. Eaton <jwe@octave.org>
parents:
3012
diff
changeset
|
57 $(HOST_AND_BUILD_CONFIGURE_OPTIONS) \ |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
58 --prefix='$(HOST_PREFIX)' \ |
3016
c94807091658
native-gcc.mk: don't build objective C compiler
John W. Eaton <jwe@octave.org>
parents:
3014
diff
changeset
|
59 --enable-languages='c,c++,fortran' \ |
3695
e4ce23a86225
disable libsanitizer for gcc builds
John W. Eaton <jwe@octave.org>
parents:
3684
diff
changeset
|
60 --disable-libsanitizer \ |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
61 $($(PKG)_SYSDEP_CONFIGURE_OPTIONS) \ |
2915 | 62 --disable-libgomp \ |
3719
9caae5336e92
Undo botched commit. Backed out changeset 992be3109433
John W. Eaton <jwe@octave.org>
parents:
3718
diff
changeset
|
63 --with-cloog='$(HOST_PREFIX)' \ |
9caae5336e92
Undo botched commit. Backed out changeset 992be3109433
John W. Eaton <jwe@octave.org>
parents:
3718
diff
changeset
|
64 --with-gmp='$(HOST_PREFIX)' \ |
9caae5336e92
Undo botched commit. Backed out changeset 992be3109433
John W. Eaton <jwe@octave.org>
parents:
3718
diff
changeset
|
65 --with-isl='$(HOST_PREFIX)' \ |
9caae5336e92
Undo botched commit. Backed out changeset 992be3109433
John W. Eaton <jwe@octave.org>
parents:
3718
diff
changeset
|
66 --with-mpc='$(HOST_PREFIX)' \ |
9caae5336e92
Undo botched commit. Backed out changeset 992be3109433
John W. Eaton <jwe@octave.org>
parents:
3718
diff
changeset
|
67 --with-mpfr='$(HOST_PREFIX)' \ |
2915 | 68 $(shell [ `uname -s` == Darwin ] && echo "LDFLAGS='-Wl,-no_pie'") |
69 | |
3511
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
70 $(MAKE) -C '$(1).build' -j '$(JOBS)' |
799dcef88a41
Install native binutils and gcc directly in host directory tree.
John W. Eaton <jwe@octave.org>
parents:
3480
diff
changeset
|
71 $(MAKE) -C '$(1).build' -j 1 install |
3559
7fe77aaeb070
native-gcc.mk: move libgcc_s.a to directory searched by ld
John W. Eaton <jwe@octave.org>
parents:
3556
diff
changeset
|
72 |
7fe77aaeb070
native-gcc.mk: move libgcc_s.a to directory searched by ld
John W. Eaton <jwe@octave.org>
parents:
3556
diff
changeset
|
73 if [ -f $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib/libgcc_s.a ]; then \ |
7fe77aaeb070
native-gcc.mk: move libgcc_s.a to directory searched by ld
John W. Eaton <jwe@octave.org>
parents:
3556
diff
changeset
|
74 mv $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib/libgcc_s.a $(HOST_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/libgcc_s.a; \ |
7fe77aaeb070
native-gcc.mk: move libgcc_s.a to directory searched by ld
John W. Eaton <jwe@octave.org>
parents:
3556
diff
changeset
|
75 fi |
3944 | 76 |
77 if [ -f $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib32/libgcc_s.a ]; then \ | |
78 mv $(HOST_PREFIX)/lib/gcc/$(TARGET)/lib32/libgcc_s.a $(HOST_PREFIX)/lib/gcc/$(TARGET)/$($(PKG)_VERSION)/32/libgcc_s.a; \ | |
79 fi | |
80 | |
2915 | 81 endef |