Blame meson.build

Packit Service aab386
project('GSSDP', 'c', version: '1.0.5')
Packit Service aab386
pkg = import('pkgconfig')
Packit Service aab386
gnome = import('gnome')
Packit Service aab386
Packit Service aab386
cc = meson.get_compiler('c')
Packit Service aab386
Packit Service aab386
conf = configuration_data()
Packit Service aab386
conf.set_quoted('VERSION', meson.project_version())
Packit Service aab386
Packit Service aab386
# Check for struct in_pktinfo
Packit Service aab386
pktinfo_test = '''#include <netinet/ip.h>
Packit Service aab386
struct in_pktinfo pktinfo;
Packit Service aab386
'''
Packit Service aab386
Packit Service aab386
pktinfo_available = cc.compiles(pktinfo_test,
Packit Service aab386
                                name : 'struct in_pktinfo is available')
Packit Service aab386
conf.set('HAVE_PKTINFO', pktinfo_available)
Packit Service aab386
Packit Service aab386
# Check for if_nametoindex
Packit Service aab386
if_nametoindex_test = '''#include <net/if.h>
Packit Service aab386
int main(int argc, char *argv[]) {
Packit Service aab386
  (void) argc;
Packit Service aab386
  (void) argv;
Packit Service aab386
  if_nametoindex("lo");
Packit Service aab386
  return 0;
Packit Service aab386
}
Packit Service aab386
'''
Packit Service aab386
Packit Service aab386
ifnametoindex_available = cc.compiles(if_nametoindex_test,
Packit Service aab386
                                      name : 'if_nametoindex is available')
Packit Service aab386
conf.set('HAVE_IFNAMETOINDEX', ifnametoindex_available)
Packit Service aab386
Packit Service aab386
# Check for SIOCGIFINDEX
Packit Service aab386
siocgifindex_test = '''#include <sys/ioctl.h>
Packit Service aab386
static const int foo = SIOCGIFINDEX;
Packit Service aab386
'''
Packit Service aab386
siocgifindex_available = cc.compiles(siocgifindex_test,
Packit Service aab386
                                     name : 'SIOCGIFINDEX is available')
Packit Service aab386
conf.set('HAVE_SIOCGIFINDEX', siocgifindex_available)
Packit Service aab386
Packit Service aab386
configure_file(output : 'config.h', configuration : conf)
Packit Service aab386
Packit Service aab386
add_global_arguments('-DHAVE_CONFIG_H=1', language : 'c')
Packit Service aab386
Packit Service aab386
system_deps = []
Packit Service aab386
Packit Service aab386
# Check whether we are compiling against Android libc
Packit Service aab386
bionic_test = '''#include <sys/cdefs.h>
Packit Service aab386
#if !defined(__BIONIC__)
Packit Service aab386
  #error "Not compiling against Android libc"
Packit Service aab386
#endif'''
Packit Service aab386
bionic_available = cc.compiles(bionic_test, name : 'android libc')
Packit Service aab386
if bionic_available
Packit Service aab386
  system_deps += cc.find_library('log', required: true)
Packit Service aab386
endif
Packit Service aab386
Packit Service aab386
# Check whether we are compiling on/against windows
Packit Service aab386
if host_machine.system() == 'windows'
Packit Service aab386
  system_deps += cc.find_library('ws2_32', required: true)
Packit Service aab386
  system_deps += cc.find_library('iphlpapi', required: true)
Packit Service aab386
endif
Packit Service aab386
Packit Service aab386
# Assume "other" unix or linux then
Packit Service aab386
generic_unix = not bionic_available and host_machine.system() != 'windows'
Packit Service aab386
Packit Service aab386
dependencies = [
Packit Service aab386
    dependency('glib-2.0', version : '>= 2.32'),
Packit Service aab386
    dependency('gobject-2.0', version : '>= 2.32'),
Packit Service aab386
    dependency('gio-2.0', version : '>= 2.32'),
Packit Service aab386
    dependency('libsoup-2.4', version : '>= 2.26.1')
Packit Service aab386
]
Packit Service aab386
Packit Service aab386
subdir('libgssdp')
Packit Service aab386
subdir('tests')
Packit Service aab386
Packit Service aab386
if get_option('sniffer')
Packit Service aab386
  gtk = dependency('gtk+-3.0', version : '>= 3.12')
Packit Service aab386
  subdir('tools')
Packit Service aab386
endif
Packit Service aab386
Packit Service aab386
if get_option('vapi') and get_option('introspection')
Packit Service aab386
  subdir('vala')
Packit Service aab386
endif
Packit Service aab386
Packit Service aab386
if get_option('gtk_doc')
Packit Service aab386
  subdir('doc')
Packit Service aab386
endif
Packit Service aab386
Packit Service aab386
if get_option('examples')
Packit Service aab386
  subdir('examples')
Packit Service aab386
endif