Arun Raghavan
2b0a33053c
build-sys: meson: Add some missing declaration checks
2019-08-15 18:57:13 +05:30
Arun Raghavan
cd8dfee947
build-sys: meson: Add a check for fast 64-bit operations
2019-08-15 18:57:13 +05:30
Arun Raghavan
c90fa7f857
build-sys: meson: Add ARMv6 instruction check
2019-08-15 18:57:13 +05:30
Arun Raghavan
1e996445f7
build-sys: meson: Add atomic ops related checks
2019-08-15 18:57:13 +05:30
Lucas Stach
25308fe88f
meson: add stdint.h to checked headers
...
Without this check we won't ever define HAVE_STDINT_H, which isn't used
in pulse directly, but is needed by e.g. the speex headers to work
correctly.
2019-08-14 10:16:34 +02:00
Lucas Stach
1911ef16e2
meson: allow to build bluez support without libbluetooth
...
pulseaudio does not link against libbluetooth, as it's only talking to the
bluez daemon over dbus. So the build dependency on libbluetooth is overly
restrictive, as some embedded systems choose to ship without libbluetooth
but still have bluez daemon support.
This syncs the meson to the autotools configuration behavior by changing
the bluez option to a default on boolean.
2019-08-14 10:16:34 +02:00
Jan Alexander Steffens (heftig)
493e7f3582
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
2019-08-09 23:11:24 +02:00
Arun Raghavan
f996ad0688
build-sys: meson: Add -Wl,no-delete to relevant libraries
...
This mirrors the autotools option for all server-side dynamic libraries.
2019-08-05 09:52:32 +05:30
Jan Alexander Steffens (heftig)
8e98ed9493
meson: Fix library versioning to match Autotools
...
For ease of maintaining both build systems, use the same version info
sequences as configure.ac. This should be simplified after Autotools has
been dropped.
2019-07-25 16:53:01 +00:00
Jan Alexander Steffens (heftig)
09231eaead
meson: Fix build of padsp
...
- Rename "pulsedspdir" to the same "padsplibdir" that Autotools uses.
- Add a new option "pulsedsp-location" that is only used for padsp.in,
just like Autotools' --with-pulsedsp-location.
- Use 'set' instead of 'set_quoted' to avoid PULSEDSP_LOCATION getting
quoted twice.
2019-07-25 16:53:01 +00:00
Arun Raghavan
0cd931dc80
build-sys: Fixes for i18n parts of the meson build
2019-07-05 08:38:58 +00:00
Alan Coopersmith
9901a26d95
meson: check for sys/filio.h
...
Needed for FIONREAD on Solaris
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-07-01 01:37:04 +00:00
Alan Coopersmith
e64f8a5e42
meson: fix builds on platorms without libsystemd
...
Without this, meson on Solaris exits with:
src/daemon/meson.build:138:15: ERROR: Unknown variable "systemd_dep".
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2019-07-01 01:37:04 +00:00
Thomas Hutschenreuther
d4ff4adce2
atomic: fix load and store for armv7 and higher
...
The original atomic implementation in pulseaudio based on
libatomic stated that the intent was to use full memory barriers.
According to [1], the load and store implementation based on
gcc builtins matches sequential consistent (i.e. full memory barrier)
load and store ordering only for x86.
I observed random crashes in client applications using memfd srbchannel
transport on an armv8-aarch64 platform (cortex-a57).
In all those crashes the first read on the pstream descriptor
(the size field) was wrong and looked like it contained old data.
I boiled the relevant parts of the srbchannel implementation down to
a simple test case and could observe random test failures.
So I figured that the atomic implementation was broken for armv8
with respect to cross-cpu memory access ordering consistency.
In order to come up with a minimal fix, I used the newer
__atomic_load_n/__atomic_store_n builtins from gcc.
With
aarch64-linux-gnu-gcc (Linaro GCC 7.3-2018.05) 7.3.1 20180425
they compile to
ldar and stlxr on arm64, which is correct according to [1] and [2].
The other atomic operations based on __sync builtins don't need
to be touched since they already are of the full memory barrier
variety.
[1] https://www.cl.cam.ac.uk/~pes20/cpp/cpp0xmappings.html
[2] <https://community.arm.com/developer/ip-products/processors
/b/processors-ip-blog/posts/armv8-a-architecture-2016-additions>
2019-06-11 19:04:46 +03:00
Arnaud Rebillout
b0a4a85db4
meson: Add running-from-build-tree option
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 12:03:03 +02:00
Arnaud Rebillout
1a3ed2f430
meson: Add support for gcov
...
Unlike autotools, we use the option --coverage, which is a synonym for
-profile-arcs and -ftest-coverage (when compiling) and -lgcov (when
linking).
For reference, see:
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#Instrumentation-Options
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 12:03:03 +02:00
Arnaud Rebillout
aa5502926f
meson: Add ORC support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 12:03:03 +02:00
Arnaud Rebillout
538229633f
meson: Install cmake files
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 12:03:03 +02:00
Arnaud Rebillout
091906cb03
meson: Fix udevrulesdir
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
68f9984ac0
meson: Add basic po support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
8f336ede12
meson: Add udevrulesdir option
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
fdf3384f24
meson: Add systemduserunitdir option
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
a7b24ed03d
meson: Fix pulsedspdir
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
cd1418222b
meson: Install pkg-config files
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
3a91cb1c29
meson: Install vala apis
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
0db18ba7d9
meson: Fix man install dir
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
6826c60da5
meson: Make man page build and install conditional
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
8d241d62c5
meson: Install completion files
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
c3e7262219
meson: Define HAVE_SYS_UN_H, this was forgotten
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:57:00 +02:00
Arnaud Rebillout
6dbb0774b2
meson: Enable (almost) all tests
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:56:56 +02:00
Arnaud Rebillout
35ed95df0d
meson: Add libpulse simple
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 11:44:00 +02:00
Arnaud Rebillout
f6abc6841e
meson: Move shm_dep check where it belongs
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 10:32:14 +02:00
Arnaud Rebillout
a9b55dbbd4
meson: Add some symbol checks
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 10:32:14 +02:00
Arnaud Rebillout
a144c25176
meson: Add a check for sys/eventfd.h header
...
This test is present in the configure.ac, it was forgotten in
meson.build.
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2019-06-08 10:32:14 +02:00
Arun Raghavan
37dbeae031
build-sys: Fix up meson install paths
...
Brings things in line with the autotools build, and adds ALSA mixer
paths and profile-sets into the meson build system as well.
The module installation path is also now customisable.
2019-06-06 18:49:59 +02:00
Arun Raghavan
b943caa17f
build-sys: Update meson dependency to 0.50.0
...
This is needed for currently used features (disabler and install in
configure_file).
2019-04-17 15:58:45 +05:30
David Heidelberg
44c15e6001
meson: when avahi is disabled, do not build it's code
...
Signed-off-by: David Heidelberg <david@ixit.cz>
2019-04-10 17:09:40 +00:00
David Heidelberg
f5f474dc67
meson: fix build with simple
...
Signed-off-by: David Heidelberg <david@ixit.cz>
2019-04-10 17:09:40 +00:00
Arun Raghavan
2eb8ec93a2
meson: Fix some config generation warnings
2018-12-27 17:35:56 +05:30
Arnaud Rebillout
dec21f363a
meson: Add some platform specific configuration data
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
de44c8885d
meson: Fix HAVE_AF_UNIX, add check for mkfifo function
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
12f0e9232f
meson: Process and install files: default.pa, system.pa, daemon.conf, client.conf
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
bf3fbd5a8a
meson: Sort the core dependencies a bit
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
1501314d59
meson: Display summary and warnings at the end of the meson configure step
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
8c07419406
meson: Add optional legacy-database-entry-format support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
104b21f227
meson: Add optional libsamplerate support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
b839d3fb59
meson: Add optional SoX Resampler support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
b9a3437a5d
meson: Add optional IPv6 support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
6eba2f823d
meson: Add optional Async NS support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30
Arnaud Rebillout
35bd2e70f9
meson: Add optional GSettings support
...
Signed-off-by: Arnaud Rebillout <arnaud.rebillout@collabora.com>
2018-12-27 17:25:56 +05:30