xref: /aosp_15_r20/system/chre/build/tools_config.mk (revision 84e339476a462649f82315436d70fd732297a399)
1*84e33947SAndroid Build Coastguard Worker#
2*84e33947SAndroid Build Coastguard Worker# Common global compiler configuration
3*84e33947SAndroid Build Coastguard Worker#
4*84e33947SAndroid Build Coastguard Worker
5*84e33947SAndroid Build Coastguard Worker# Common Compiler Flags ########################################################
6*84e33947SAndroid Build Coastguard Worker
7*84e33947SAndroid Build Coastguard Worker# CHRE requires C++17 and C11 support.
8*84e33947SAndroid Build Coastguard WorkerCOMMON_CXX_CFLAGS += -std=c++17
9*84e33947SAndroid Build Coastguard WorkerCOMMON_C_CFLAGS += -x c
10*84e33947SAndroid Build Coastguard WorkerCOMMON_C_CFLAGS += -std=c11
11*84e33947SAndroid Build Coastguard Worker
12*84e33947SAndroid Build Coastguard Worker# Configure 'all' and 'extra' warnings and promote warnings to errors.
13*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -Wall
14*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -Wextra
15*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -Werror
16*84e33947SAndroid Build Coastguard Worker
17*84e33947SAndroid Build Coastguard Worker# Disabled warnings. You better have a good reason to add more here.
18*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -Wno-unused-parameter
19*84e33947SAndroid Build Coastguard Worker
20*84e33947SAndroid Build Coastguard Worker# Additional warnings. Even more! :]
21*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -Wshadow
22*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -Wdouble-promotion
23*84e33947SAndroid Build Coastguard Worker
24*84e33947SAndroid Build Coastguard Worker# Disable exceptions and RTTI.
25*84e33947SAndroid Build Coastguard WorkerCOMMON_CXX_CFLAGS += -fno-exceptions
26*84e33947SAndroid Build Coastguard WorkerCOMMON_CXX_CFLAGS += -fno-rtti
27*84e33947SAndroid Build Coastguard Worker
28*84e33947SAndroid Build Coastguard Worker# Enable the linker to garbage collect unused code and variables.
29*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -fdata-sections
30*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -ffunction-sections
31*84e33947SAndroid Build Coastguard Worker
32*84e33947SAndroid Build Coastguard Worker# Enable debugging symbols for debug builds.
33*84e33947SAndroid Build Coastguard WorkerCOMMON_DEBUG_CFLAGS += -g
34*84e33947SAndroid Build Coastguard Worker
35*84e33947SAndroid Build Coastguard Worker# Dependency Resolution
36*84e33947SAndroid Build Coastguard WorkerDEP_CFLAGS = -MM -MG -MP -MF $$(basename $$@).d
37*84e33947SAndroid Build Coastguard Worker
38*84e33947SAndroid Build Coastguard Worker# Compile with hidden visibility by default.
39*84e33947SAndroid Build Coastguard WorkerCOMMON_CFLAGS += -fvisibility=hidden
40*84e33947SAndroid Build Coastguard Worker
41*84e33947SAndroid Build Coastguard Worker# Common Archive Flags #########################################################
42*84e33947SAndroid Build Coastguard Worker
43*84e33947SAndroid Build Coastguard WorkerCOMMON_ARFLAGS += rsc
44