Blame meson.build

Packit 1034e0
project('iputils', 'c',
Packit 1034e0
	version : '20170717') # version hardcoded
Packit 1034e0
Packit 1034e0
global_cflags = ['-D_GNU_SOURCE', '-O3', '-g', '-fno-strict-aliasing', '-Wstrict-prototypes', '-Wall']
Packit 1034e0
add_project_arguments(global_cflags, language: 'c')
Packit 1034e0
Packit 1034e0
message('meson build is EXPERIMENTAL, please DO NOT USE for production!\n')
Packit 1034e0
Packit 1034e0
cc = meson.get_compiler('c')
Packit 1034e0
m_dep = cc.find_library('m')
Packit 1034e0
resolv_dep = cc.find_library('resolv')
Packit 1034e0
rt_dep = cc.find_library('rt')
Packit 1034e0
Packit 1034e0
opt = get_option('USE_CAP')
Packit 1034e0
if opt == true
Packit 1034e0
	cap_dep = cc.find_library('cap')
Packit 1034e0
	add_project_arguments('-DCAPABILITIES', language : 'c')
Packit 1034e0
else
Packit 1034e0
	cap_dep = []
Packit 1034e0
endif
Packit 1034e0
Packit 1034e0
opt = get_option('USE_IDN')
Packit 1034e0
if opt == '1'
Packit 1034e0
	idn_dep = cc.find_library('idn')
Packit 1034e0
	add_project_arguments('-DUSE_IDN', language : 'c')
Packit 1034e0
elif opt == '2'
Packit 1034e0
	idn_dep = cc.find_library('idn2', required : false)
Packit 1034e0
	message('libidn2 is unsupported at this moment.\n')
Packit 1034e0
	idn_dep = []
Packit 1034e0
else
Packit 1034e0
	idn_dep = []
Packit 1034e0
endif
Packit 1034e0
Packit 1034e0
opt = get_option('USE_CRYPTO')
Packit 1034e0
if opt == 'nettle'
Packit 1034e0
	crypto_dep = dependency('nettle')
Packit 1034e0
	add_project_arguments('-DUSE_NETTLE', language : 'c')
Packit 1034e0
elif opt == 'gcrypt'
Packit 1034e0
	crypto_dep = cc.find_library('gcrypt')
Packit 1034e0
	add_project_arguments('-DUSE_GCRYPT', language : 'c')
Packit 1034e0
elif opt == 'openssl'
Packit 1034e0
	crypto_dep = dependency('openssl')
Packit 1034e0
	add_project_arguments('-DUSE_OPENSSL', language : 'c')
Packit 1034e0
elif opt == 'none'
Packit 1034e0
	crypto_dep = []
Packit 1034e0
endif
Packit 1034e0
Packit 1034e0
ping_src = ['ping.c', 'ping_common.c', 'ping6_common.c']
Packit 1034e0
p = executable('ping', ping_src,
Packit 1034e0
	dependencies : [m_dep, cap_dep, idn_dep, crypto_dep, resolv_dep])
Packit 1034e0
Packit 1034e0
executable('tracepath', 'tracepath.c',
Packit 1034e0
	dependencies : idn_dep)
Packit 1034e0
Packit 1034e0
executable('traceroute6', 'traceroute6.c',
Packit 1034e0
	dependencies : [cap_dep, idn_dep])
Packit 1034e0
Packit 1034e0
executable('clockdiff', 'clockdiff.c',
Packit 1034e0
	dependencies : [cap_dep])
Packit 1034e0
Packit 1034e0
executable('rdisc', 'rdisc.c')
Packit 1034e0
Packit 1034e0
executable('arping', 'arping.c',
Packit 1034e0
	dependencies : [rt_dep, cap_dep, idn_dep])
Packit 1034e0
Packit 1034e0
executable('tftpd', ['tftpd.c', 'tftpsubs.c'])
Packit 1034e0
Packit 1034e0
executable('rarpd', 'rarpd.c')
Packit 1034e0
Packit 1034e0
#test('ping to 127.0.0.1', p, args : ['-p 1', '127.0.0.1'])