40 lines
1.1 KiB
40 lines
1.1 KiB
#! /usr/bin/env python |
|
# encoding: utf-8 |
|
# a1batross, mittorn, 2018 |
|
|
|
def options(opt): |
|
pass |
|
|
|
def configure(conf): |
|
if conf.options.BUILD_TYPE != 'sanitize': |
|
conf.fatal('useless without -T sanitize') |
|
|
|
if conf.env.COMPILER_CC != 'clang': |
|
conf.fatal('only clang is supported') |
|
|
|
conf.env.append_unique('CFLAGS', '-fsanitize=fuzzer') |
|
conf.env.append_unique('LINKFLAGS', '-fsanitize=fuzzer') |
|
|
|
def add_runner_target(bld, lib, func): |
|
source = bld.path.ant_glob('*.c') |
|
includes = '.' |
|
libs = [ 'DL' ] |
|
|
|
bld( |
|
source = source, |
|
target = 'run-fuzzer-' + func, |
|
features = 'c cprogram', |
|
includes = includes, |
|
use = libs, |
|
defines = ['FUNC="Fuzz_' + func + '"', 'LIB="' + lib + '"'], |
|
install_path = bld.env.BINDIR, |
|
subsystem = bld.env.CONSOLE_SUBSYSTEM |
|
) |
|
|
|
def build(bld): |
|
add_runner_target(bld, 'libxash.so', 'Sound_LoadMPG') |
|
add_runner_target(bld, 'libxash.so', 'Sound_LoadWAV') |
|
add_runner_target(bld, 'libxash.so', 'Image_LoadBMP') |
|
add_runner_target(bld, 'libxash.so', 'Image_LoadPNG') |
|
add_runner_target(bld, 'libxash.so', 'Image_LoadDDS') |
|
add_runner_target(bld, 'libxash.so', 'Image_LoadTGA')
|
|
|