llvm-project
70 строк · 1.9 Кб
1# Example config.mk
2#
3# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4# See https://llvm.org/LICENSE.txt for license information.
5# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
7# Subprojects to build
8# For now, LLVM-libc project will focus only "math" functions.
9SUBS = math # string networking
10
11# Target architecture: aarch64, arm or x86_64
12# For now, LLVM-libc project will focus on x86_64 only.
13ARCH = x86_64
14
15# Compiler for the target
16CC = $(CROSS_COMPILE)gcc
17CFLAGS = -std=c99 -pipe -O3
18CFLAGS += -Wall -Wno-missing-braces
19CFLAGS += -Werror=implicit-function-declaration
20
21# Used for test case generator that is executed on the host
22HOST_CC = gcc
23HOST_CFLAGS = -std=c99 -O2
24HOST_CFLAGS += -Wall -Wno-unused-function
25
26# Enable debug info.
27HOST_CFLAGS += -g
28CFLAGS += -g
29
30# Optimize the shared libraries on aarch64 assuming they fit in 1M.
31#CFLAGS_SHARED = -fPIC -mcmodel=tiny
32
33# Use for cross compilation with gcc.
34#CROSS_COMPILE = aarch64-none-linux-gnu-
35
36# Use with cross testing.
37#EMULATOR = qemu-aarch64-static
38#EMULATOR = sh -c 'scp $$1 user@host:/dir && ssh user@host /dir/"$$@"' --
39
40# Additional flags for subprojects.
41math-cflags =
42math-ldlibs =
43math-ulpflags =
44math-testflags =
45string-cflags =
46networking-cflags =
47
48# Use if mpfr is available on the target for ulp error checking.
49#math-ldlibs += -lmpfr -lgmp
50#math-cflags += -DUSE_MPFR
51
52# Use with gcc.
53math-cflags += -frounding-math -fexcess-precision=standard -fno-stack-protector
54math-cflags += -ffp-contract=fast -fno-math-errno
55
56# Use with clang.
57#math-cflags += -ffp-contract=fast
58
59# Disable vector math code
60#math-cflags += -DWANT_VMATH=0
61
62# Disable fenv checks
63#math-ulpflags = -q -f
64#math-testflags = -nostatus
65
66# Enable assertion checks.
67#networking-cflags += -DWANT_ASSERT
68
69# Avoid auto-vectorization of scalar code and unroll loops
70networking-cflags += -O2 -fno-tree-vectorize -funroll-loops
71