fwupd/plugins/cpu/meson.build
Mario Limonciello 4b80abafd8 trivial: don't use noclone attribute for cet checker on clang
Clang doesn't support this
2021-06-29 14:37:44 -05:00

74 lines
1.4 KiB
Meson

cargs = ['-DG_LOG_DOMAIN="FuPluginCpu"']
install_data(['cpu.quirk'],
install_dir: join_paths(datadir, 'fwupd', 'quirks.d')
)
shared_module('fu_plugin_cpu',
fu_hash,
sources : [
'fu-plugin-cpu.c',
'fu-cpu-device.c',
],
include_directories : [
root_incdir,
fwupd_incdir,
fwupdplugin_incdir,
],
install : true,
install_dir: plugin_dir,
link_with : [
fwupd,
fwupdplugin,
],
c_args : cargs,
dependencies : [
plugin_deps,
],
)
code = '''
#if !__has_attribute (__noclone__)
#error symver attribute not supported
#endif
static void __attribute__((noinline,noclone)) f(void) {}
'''
# verify the compiler knows what to do
if cc.has_argument('-fcf-protection')
build_fwupdcethelper = cc.compiles(code,
name : '__attribute__((noinline,noclone))',
)
else
build_fwupdcethelper = false
endif
if build_fwupdcethelper
libfwupdcethelper = static_library('fwupdcethelper',
sources : [
'fu-cpu-helper-cet-common.c',
],
include_directories : [
root_incdir,
],
c_args : ['-fcf-protection=none'],
install : false,
)
executable(
'fwupd-detect-cet',
sources : [
'fu-cpu-helper-cet.c',
],
include_directories : [
root_incdir,
],
link_with : [
libfwupdcethelper,
],
c_args : ['-fcf-protection=full'],
install : true,
install_dir : join_paths(libexecdir, 'fwupd')
)
endif