1 # toolchain configuration, here gcc
2 # slib = Shared LIBrary
3 if test "${cco_slib-unset}" = unset; then
4 cco_slib
='gcc -fvisibility=hidden -static-libgcc -pipe -fPIC -std=c99 -c'
7 # llvm is now c++ crap from 2014
8 if test "${cxxo_slib-unset}" = unset; then
9 cxxo_slib
='g++ -fvisibility=hidden -static-libgcc -static-libstdc++ -std=c++14 -fno-rtti -pipe -fPIC -c'
12 if test "${cflags_opt-unset}" = unset; then
13 cflags_opt
='-O2 -Wno-stringop-overflow -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include'
16 if test "${cxxflags_opt-unset}" = unset; then
17 cxxflags_opt
='-O2 -Wno-stringop-overflow -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include'
20 if test "${ar_rcs-unset}" = unset; then
25 gcc_builtins_cppflags
="\
26 -DHAVE___BUILTIN_BSWAP32=1 \
27 -DHAVE___BUILTIN_BSWAP64=1 \
28 -DHAVE___BUILTIN_CLZ=1 \
29 -DHAVE___BUILTIN_CLZLL=1 \
30 -DHAVE___BUILTIN_CTZ=1 \
31 -DHAVE___BUILTIN_EXPECT=1 \
32 -DHAVE___BUILTIN_FFS=1 \
33 -DHAVE___BUILTIN_FFSLL=1 \
34 -DHAVE___BUILTIN_POPCOUNT=1 \
35 -DHAVE___BUILTIN_POPCOUNTLL=1 \
36 -DHAVE___BUILTIN_UNREACHABLE=1 \
40 gcc_attributes_cppflags
="\
41 -DHAVE_FUNC_ATTRIBUTE_CONST=1 \
42 -DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \
43 -DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \
44 -DHAVE_FUNC_ATTRIBUTE_PURE=1 \
45 -DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \
46 -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \
47 -DHAVE_FUNC_ATTRIBUTE_WEAK=1 \
49 -DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \
50 -DHAVE_FUNC_ATTRIBUTE_PACKED=1 \
51 -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \
52 -DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \
53 -DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \
54 -DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \
61 # asm for x86 is -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
62 # asm for x86-64 is only USE_X86_64_ASM
63 # must manually defines asm ABI struct size for cross-compiling
65 -DUSE_GCC_ATOMIC_BUILTINS=1 \
69 $gcc_builtins_cppflags \
70 $gcc_attributes_cppflags \