[pulseaudio-commits] [Git][pulseaudio/pulseaudio][master] build-sys: meson: Add some missing checks

Arun Raghavan gitlab at gitlab.freedesktop.org
Sun Aug 11 13:53:44 UTC 2019



Arun Raghavan pushed to branch master at PulseAudio / pulseaudio


Commits:
493e7f35 by Jan Alexander Steffens (heftig) at 2019-08-09T21:11:24Z
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

- - - - -


6 changed files:

- meson.build
- src/daemon/meson.build
- src/meson.build
- src/pulse/meson.build
- src/tests/meson.build
- src/utils/meson.build


Changes:

=====================================
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;


=====================================
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,
 )
 


=====================================
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)


=====================================
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)


=====================================
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',


=====================================
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']
   )
 



View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/493e7f35821c09a3b79b883a76283f5614ae1202

-- 
View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/493e7f35821c09a3b79b883a76283f5614ae1202
You're receiving this email because of your account on gitlab.freedesktop.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-commits/attachments/20190811/c1caf86a/attachment-0001.html>


More information about the pulseaudio-commits mailing list