~ubuntu-branches/debian/sid/botan/sid

« back to all changes in this revision

Viewing changes to src/build-data/cc/gcc.txt

  • Committer: Package Import Robot
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2018-03-01 22:23:25 UTC
  • mfrom: (1.2.2)
  • Revision ID: package-import@ubuntu.com-20180301222325-7p7vc45gu3hta34d
Tags: 2.4.0-2
* Don't remove .doctrees from the manual if it doesn't exist.
* Don't specify parallel to debhelper.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
macro_name GCC
 
2
 
 
3
binary_name g++
 
4
 
 
5
lang_flags "-std=c++11 -D_REENTRANT"
 
6
 
 
7
# This should only contain flags which are included in GCC 4.8
 
8
warning_flags "-Wall -Wextra -Wpedantic -Wstrict-aliasing -Wcast-align -Wmissing-declarations -Wpointer-arith -Wcast-qual -Wzero-as-null-pointer-constant -Wnon-virtual-dtor"
 
9
 
 
10
maintainer_warning_flags "-Wstrict-overflow=5 -Wold-style-cast -Wsuggest-override -Wshadow -Werror -Wno-error=strict-overflow -Wno-error=deprecated-declarations"
 
11
 
 
12
optimization_flags "-O3"
 
13
size_optimization_flags "-Os"
 
14
 
 
15
shared_flags "-fPIC"
 
16
coverage_flags "--coverage"
 
17
stack_protector_flags "-fstack-protector"
 
18
 
 
19
# GCC 4.8
 
20
sanitizer_flags "-D_GLIBCXX_DEBUG -fsanitize=address"
 
21
 
 
22
# GCC 4.9 and later
 
23
#sanitizer_flags "-D_GLIBCXX_DEBUG -fsanitize=address,undefined -fno-sanitize-recover=undefined"
 
24
 
 
25
visibility_build_flags "-fvisibility=hidden"
 
26
visibility_attribute '__attribute__((visibility("default")))'
 
27
 
 
28
<so_link_commands>
 
29
# The default works for GNU ld and several other Unix linkers
 
30
default       -> "$(CXX) -shared -fPIC -Wl,-soname,{soname_abi}"
 
31
 
 
32
# Darwin, HP-UX and Solaris linkers use different syntax
 
33
darwin  -> "$(CXX) -dynamiclib -fPIC -install_name $(INSTALLED_LIB_DIR)/{soname_abi}"
 
34
hpux    -> "$(CXX) -shared -fPIC -Wl,+h,{soname_abi}"
 
35
solaris -> "$(CXX) -shared -fPIC -Wl,-h,{soname_abi}"
 
36
 
 
37
# AIX and OpenBSD don't use sonames at all
 
38
aix     -> "$(CXX) -shared -fPIC"
 
39
openbsd -> "$(CXX) -shared -fPIC"
 
40
</so_link_commands>
 
41
 
 
42
<binary_link_commands>
 
43
linux         -> "$(LINKER) -Wl,-rpath=\$$ORIGIN"
 
44
default       -> "$(LINKER)"
 
45
</binary_link_commands>
 
46
 
 
47
<isa_flags>
 
48
sse2    -> "-msse2"
 
49
ssse3   -> "-mssse3"
 
50
sse41   -> "-msse4.1"
 
51
sse42   -> "-msse4.2"
 
52
avx2    -> "-mavx2"
 
53
bmi2    -> "-mbmi2"
 
54
aesni   -> "-maes -mpclmul -mssse3"
 
55
rdrand  -> "-mrdrnd"
 
56
rdseed  -> "-mrdseed"
 
57
sha     -> "-msha"
 
58
altivec -> "-maltivec"
 
59
 
 
60
# For Aarch32 -mfpu=neon is required
 
61
# For Aarch64 NEON is enabled by default
 
62
arm32:neon    -> "-mfpu=neon"
 
63
arm64:neon    -> ""
 
64
</isa_flags>
 
65
 
 
66
<mach_opt>
 
67
# Avoid using -march=i[3456]86, instead tune for generic
 
68
i386        -> "-mtune=generic"
 
69
i486        -> "-mtune=generic"
 
70
i586        -> "-mtune=generic"
 
71
i686        -> "-mtune=generic"
 
72
 
 
73
# Translate to GCC-speak
 
74
nehalem     -> "-march=corei7"
 
75
sandybridge -> "-march=corei7-avx"
 
76
ivybridge   -> "-march=core-avx-i"
 
77
 
 
78
ppc601      -> "-mpowerpc -mcpu=601"
 
79
cellppu     -> "-mcpu=cell"
 
80
e500v2      -> "-mcpu=8548"
 
81
 
 
82
# No scheduler in GCC for anything after EV67
 
83
alpha-ev68  -> "-mcpu=ev67"
 
84
alpha-ev7   -> "-mcpu=ev67"
 
85
 
 
86
# The patch from Debian bug 594159 has this, don't know why though...
 
87
sh4         -> "-m4 -mieee"
 
88
 
 
89
# Default family options (SUBMODEL is substitued with the actual
 
90
# submodel name). Anything after the pipe will be removed from the
 
91
# submodel name before it's put into SUBMODEL.
 
92
 
 
93
alpha     -> "-mcpu=SUBMODEL|alpha-"
 
94
arm32     -> "-march=SUBMODEL"
 
95
arm64     -> "-march=SUBMODEL"
 
96
superh    -> "-mSUBMODEL|sh"
 
97
hppa      -> "-march=SUBMODEL|hppa"
 
98
ia64      -> "-mtune=SUBMODEL"
 
99
m68k      -> "-mSUBMODEL"
 
100
mips32    -> "-mips1 -mcpu=SUBMODEL|mips32-"
 
101
mips64    -> "-mips3 -mcpu=SUBMODEL|mips64-"
 
102
ppc32     -> "-mcpu=SUBMODEL|ppc"
 
103
ppc64     -> "-mcpu=SUBMODEL|ppc"
 
104
sparc32   -> "-mcpu=SUBMODEL -Wa,-xarch=v8plus|sparc32-"
 
105
sparc64   -> "-mcpu=v9 -mtune=SUBMODEL"
 
106
x86_32    -> "-march=SUBMODEL"
 
107
x86_64    -> "-march=SUBMODEL"
 
108
 
 
109
all_x86_32 -> "-momit-leaf-frame-pointer"
 
110
all_x86_64 -> "-momit-leaf-frame-pointer"
 
111
</mach_opt>
 
112
 
 
113
# Flags set here are included at compile and link time
 
114
<mach_abi_linking>
 
115
all!haiku -> "-pthread"
 
116
 
 
117
openmp  -> "-fopenmp"
 
118
 
 
119
mips64  -> "-mabi=64"
 
120
s390    -> "-m31"
 
121
s390x   -> "-m64"
 
122
sparc32 -> "-m32 -mno-app-regs"
 
123
sparc64 -> "-m64 -mno-app-regs"
 
124
ppc64   -> "-m64"
 
125
x86_64  -> "-m64"
 
126
 
 
127
netbsd  -> "-D_NETBSD_SOURCE"
 
128
qnx     -> "-fexceptions -D_QNX_SOURCE"
 
129
cygwin  -> "-U__STRICT_ANSI__"
 
130
</mach_abi_linking>