aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2019-08-08 20:23:12 +0200
committerJan Alexander Steffens (heftig) <jan.steffens@gmail.com>2019-08-09 23:11:24 +0200
commit493e7f35821c09a3b79b883a76283f5614ae1202 (patch)
tree9eb628af3029c4979bee71d81bb735b791bf6ffe
parent91fb54dab1e2275bd5e8e6f6a15bb11c1ecc2f21 (diff)
downloadpulseaudio-493e7f35821c09a3b79b883a76283f5614ae1202.tar.gz
build-sys: meson: Add some missing checks
- Header and function checks from configure.ac (some libc, some libpthread, dladdr from libdl) - Find iconv and check constness
-rw-r--r--meson.build58
-rw-r--r--src/daemon/meson.build2
-rw-r--r--src/meson.build5
-rw-r--r--src/pulse/meson.build2
-rw-r--r--src/tests/meson.build2
-rw-r--r--src/utils/meson.build4
6 files changed, 65 insertions, 8 deletions
diff --git a/meson.build b/meson.build
index f4a1a7cf..842d5f5b 100644
--- a/meson.build
+++ b/meson.build
@@ -171,10 +171,13 @@ endif
check_headers = [
'arpa/inet.h',
+ 'byteswap.h',
'cpuid.h',
+ 'dlfcn.h',
'execinfo.h',
'grp.h',
'langinfo.h',
+ 'linux/sockios.h',
'locale.h',
'netdb.h',
'netinet/in.h',
@@ -187,16 +190,20 @@ check_headers = [
'regex.h',
'sched.h',
'sys/capability.h',
+ 'sys/dl.h',
'sys/eventfd.h',
- 'sys/ioctl.h',
'sys/filio.h',
+ 'sys/ioctl.h',
'sys/mman.h',
'sys/prctl.h',
'sys/resource.h',
'sys/select.h',
'sys/socket.h',
+ 'sys/syscall.h',
+ 'sys/uio.h',
'sys/un.h',
'sys/wait.h',
+ 'syslog.h',
'valgrind/memcheck.h',
'xlocale.h',
]
@@ -218,35 +225,46 @@ endif
check_functions = [
'accept4',
'clock_gettime',
+ 'ctime_r',
'fchmod',
'fchown',
'fork',
'fstat',
'getaddrinfo',
'getgrgid_r',
+ 'getgrnam_r',
'getpwnam_r',
+ 'getpwuid_r',
'gettimeofday',
'getuid',
+ 'lrintf',
'lstat',
'memfd_create',
'mkfifo',
'mlock',
'nanosleep',
+ 'open64',
'paccept',
'pipe',
'pipe2',
+ 'posix_fadvise',
'posix_madvise',
+ 'posix_memalign',
+ 'ppoll',
'readlink',
'setegid',
'seteuid',
+ 'setpgid',
'setregid',
- 'setreuid',
'setresgid',
'setresuid',
+ 'setreuid',
'setsid',
'sig2str',
'sigaction',
+ 'strerror_r',
'strtod_l',
+ 'strtof',
'symlink',
'sysconf',
'uname',
@@ -307,7 +325,19 @@ endif
# Core Dependencies
libm_dep = cc.find_library('m', required : true)
+
thread_dep = dependency('threads')
+foreach f : [
+ 'pthread_getname_np',
+ 'pthread_setaffinity_np',
+ 'pthread_setname_np',
+]
+ if cc.has_function(f, dependencies : thread_dep)
+ define = 'HAVE_' + f.underscorify().to_upper()
+ cdata.set(define, 1)
+ endif
+endforeach
+
cap_dep = cc.find_library('cap', required : false)
shm_dep = cc.find_library('rt', required : false)
@@ -315,6 +345,30 @@ if shm_dep.found()
cdata.set('HAVE_SHM_OPEN', 1)
endif
+dl_dep = cc.find_library('dl', required : false)
+if dl_dep.found()
+ cdata.set('HAVE_DLADDR', 1)
+endif
+
+have_iconv = false
+if cc.has_function('iconv_open')
+ iconv_dep = dependency('', required : false)
+ have_iconv = true
+else
+ iconv_dep = cc.find_library('iconv', required : false)
+ have_iconv = iconv_dep.found()
+endif
+if have_iconv
+ cdata.set('HAVE_ICONV', 1)
+ iconvconsttest = '''#include <iconv.h>
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+'''
+ if cc.compiles(iconvconsttest, dependencies : iconv_dep)
+ cdata.set('ICONV_CONST', '')
+ else
+ cdata.set('ICONV_CONST', 'const')
+ endif
+endif
atomictest = '''void func() {
volatile int atomic = 2;
diff --git a/src/daemon/meson.build b/src/daemon/meson.build
index 7f075b06..4423da2d 100644
--- a/src/daemon/meson.build
+++ b/src/daemon/meson.build
@@ -31,7 +31,7 @@ executable('pulseaudio',
include_directories : [configinc, topinc],
link_args : ['-ffast-math'],
link_with : [libpulsecore, libpulsecommon, libpulse],
- dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep],
+ dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep],
c_args : pa_c_args,
)
diff --git a/src/meson.build b/src/meson.build
index 6ce7261d..c9b71a48 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -181,7 +181,10 @@ libpulsecommon = shared_library('pulsecommon-' + pa_version_major_minor,
link_args : [nodelete_link_args],
install : true,
install_dir : privlibdir,
- dependencies : [libm_dep, thread_dep, shm_dep, sndfile_dep, dbus_dep, x11_dep, libsystemd_dep, glib_dep, gtk_dep, asyncns_dep],
+ dependencies : [
+ libm_dep, thread_dep, dl_dep, shm_dep, iconv_dep, sndfile_dep, dbus_dep,
+ x11_dep, libsystemd_dep, glib_dep, gtk_dep, asyncns_dep
+ ],
implicit_include_directories : false)
libpulsecommon_dep = declare_dependency(link_with: libpulsecommon)
diff --git a/src/pulse/meson.build b/src/pulse/meson.build
index 7674e0b4..00c68677 100644
--- a/src/pulse/meson.build
+++ b/src/pulse/meson.build
@@ -81,7 +81,7 @@ libpulse = shared_library('pulse',
link_args : [nodelete_link_args, versioning_link_args],
install : true,
install_rpath : privlibdir,
- dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep],
+ dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep],
implicit_include_directories : false)
libpulse_dep = declare_dependency(link_with: libpulse)
diff --git a/src/tests/meson.build b/src/tests/meson.build
index 62bfa906..15286f57 100644
--- a/src/tests/meson.build
+++ b/src/tests/meson.build
@@ -127,7 +127,7 @@ norun_tests = [
[ 'remix-test', 'remix-test.c',
[ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ],
[ 'rtstutter', 'rtstutter.c',
- [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ],
+ [ thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ],
[ 'sig2str-test', 'sig2str-test.c',
[ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ],
[ 'stripnul', 'stripnul.c',
diff --git a/src/utils/meson.build b/src/utils/meson.build
index a35dae4f..d00e030a 100644
--- a/src/utils/meson.build
+++ b/src/utils/meson.build
@@ -94,8 +94,8 @@ if cc.has_header('sys/soundcard.h')
install_rpath : privlibdir,
include_directories : [configinc, topinc],
link_with : [libpulsecommon, libpulse],
- link_args : [nodelete_link_args, '-ldl'],
- dependencies: [thread_dep],
+ link_args : [nodelete_link_args],
+ dependencies: [thread_dep, dl_dep],
c_args : [pa_c_args, '-Wno-nonnull-compare']
)