blob: 249248b085c6494be682a35a4dc14ae984988b26 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (C) 2020 Manuel Bentele <development@manuel-bentele.de>
#
# check if corresponding AFL C Compiler form original C compiler is available
# if an AFL C compiler is available, then the path to the AFL C compiler is returned in AFL_C_COMPILER
macro(check_afl_c_compiler AFL_C_COMPILER AFL_C_COMPILER_NAME C_COMPILER_PATH C_COMPILER_ID)
# determine AFL C compiler suffix from original C compiler ID
if(${C_COMPILER_ID} MATCHES "GNU")
set(AFL_C_COMPILER_SUFFIX "gcc")
elseif(${C_COMPILER_ID} MATCHES "Clang")
set(AFL_C_COMPILER_SUFFIX "clang")
else(${C_COMPILER_ID} MATCHES "Clang")
get_filename_component(AFL_C_COMPILER_SUFFIX ${C_COMPILER_PATH} NAME)
endif(${C_COMPILER_ID} MATCHES "GNU")
# define search file name and search for AFL C compiler program
set(AFL_C_COMPILER_SEARCH_NAME "afl-${AFL_C_COMPILER_SUFFIX}")
find_program(${AFL_C_COMPILER} NAMES ${AFL_C_COMPILER_SEARCH_NAME})
# return the AFL C compiler name to the caller
set(${AFL_C_COMPILER_NAME} ${AFL_C_COMPILER_SEARCH_NAME})
endmacro(check_afl_c_compiler)
|