2017-12-07 Vladimir Makarov <vmakarov@redhat.com>
[official-gcc.git] / config / mh-darwin
blob148b73038c3e429a671d04b1c62eff79220435a7
1 # The -mdynamic-no-pic ensures that the compiler executable is built without
2 # position-independent-code -- the usual default on Darwin. This fix speeds
3 # compiles by 3-5%.  Don't add it if the compiler doesn't also support
4 # -mno-dynamic-no-pic to undo it.
5 DARWIN_MDYNAMIC_NO_PIC := \
6 `case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
7    $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
8    && echo -mdynamic-no-pic ;; esac`
9 DARWIN_GCC_MDYNAMIC_NO_PIC := \
10 `case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
11    $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
12    || echo -mdynamic-no-pic ;; esac`
14 # ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
15 # gcc components, since it is incompatible with our pch implementation.
16 DARWIN_NO_PIE := `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
18 BOOT_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
19 BOOT_LDFLAGS += $(DARWIN_NO_PIE)
21 # Similarly, for cross-compilation.
22 STAGE1_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
23 STAGE1_LDFLAGS += $(DARWIN_NO_PIE)
25 # Without -mno-dynamic-no-pic support, add -mdynamic-no-pic just to later
26 # stages when we know it is built with gcc.
27 STAGE2_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
28 STAGE3_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
29 STAGE4_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)