Commit b75d9070 authored by Jan Kiene's avatar Jan Kiene
Browse files

make clang the default compiler for make and cmake builds

parent 7f2361d1
Loading
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ set(CMAKE_C_STANDARD 99)
if(UNIX)
  set(TARGET_PLATFORM ""  CACHE STRING "i686 / x86_64")
  set(CLANG           ""  CACHE STRING "1=msan / 2=asan / 3=usan")
  set(GCC             ""  CACHE STRING "1=use gcc instead of default (clang)")
  set(GCOV            OFF CACHE BOOL   "enable GCOV")
  set(STRIP           OFF CACHE BOOL   "enable STRIP")

@@ -62,10 +63,16 @@ if(UNIX)
  # to be uncommented in CI
  # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")

  # set C compiler
  if(GCC OR GCOV)
    find_program(cc NAMES gcc-13 gcc REQUIRED)
  else()
    find_program(cc NAMES clang-18 clang REQUIRED)
  endif()
  set(CMAKE_C_COMPILER "${cc}" CACHE STRING "")

  # CLANG
  if(CLANG)
    find_program(clangBin NAMES /home/amm-archiv/soft/Linux/clang/current/bin/clang clang REQUIRED)
    set(CMAKE_C_COMPILER "${clangBin}" CACHE STRING "")
    if("${CLANG}" MATCHES "1" OR "${CLANG}" MATCHES "msan")
      set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=memory")
      set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=memory")
+10 −5
Original line number Diff line number Diff line
@@ -32,8 +32,11 @@ LIB_LC3PLUS ?= liblc3plus.a
LIB_LIBUTIL  	?= libivasutil.a


CCCLANG = clang
CCGCC = gcc

# Default tool settings
CC        ?= gcc
CC        ?= $(CCCLANG)
RM        ?= rm -f
AR        ?= ar

@@ -71,10 +74,6 @@ CFLAGS += -std=c99 -pedantic -Wcast-qual -Wall -W -Wextra -Wno-long-long \
LDLIBS   += -lm

# Clang sanitizer compiler options
CCCLANG = clang
ifeq "$(CLANG)" "0"
CC       = $(CCCLANG)
endif
ifeq "$(CLANG)" "1"
CC       = $(CCCLANG)
CFLAGS  += -fsanitize=memory
@@ -95,6 +94,11 @@ LDFLAGS += -fsanitize=$(usan_checks)
LDFLAGS += -fsanitize-recover=$(usan_checks)
endif

# check if explicitly gcc is mandated
ifneq "$(GCC)" ""
CC = $(CCGCC)
endif

ifeq "$(RELEASE)" "1"
CFLAGS   += -DRELEASE
OPTIM    ?= 2
@@ -106,6 +110,7 @@ LDFLAGS += -g3
endif

ifeq "$(GCOV)" "1"
CC       = "$(CCGCC)"
CFLAGS  += -fprofile-arcs -ftest-coverage -fprofile-update=atomic
LDFLAGS += -fprofile-arcs -ftest-coverage -fprofile-update=atomic
endif