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