1 ################################################################################
5 ################################################################################
7 PULSEAUDIO_VERSION
= 8.0
8 PULSEAUDIO_SOURCE
= pulseaudio-
$(PULSEAUDIO_VERSION
).
tar.xz
9 PULSEAUDIO_SITE
= http
://freedesktop.org
/software
/pulseaudio
/releases
10 PULSEAUDIO_INSTALL_STAGING
= YES
11 PULSEAUDIO_LICENSE
= LGPLv2.1
+ (specific license for modules
, see LICENSE file
)
12 PULSEAUDIO_LICENSE_FILES
= LICENSE GPL LGPL
13 PULSEAUDIO_CONF_OPTS
= \
14 --disable-default-build-tests \
15 --disable-legacy-database-entry-format \
18 # Make sure we don't detect libatomic_ops. Indeed, since pulseaudio
19 # requires json-c, which needs 4 bytes __sync builtins, there should
20 # be no need for pulseaudio to rely on libatomic_ops.
21 PULSE_AUDIO_CONF_ENV
+= \
22 ac_cv_header_atomic_ops_h
=no
24 PULSEAUDIO_DEPENDENCIES
= \
25 host-pkgconf libtool json-c libsndfile speex host-intltool \
26 $(if
$(BR2_PACKAGE_LIBSAMPLERATE
),libsamplerate
) \
27 $(if
$(BR2_PACKAGE_ALSA_LIB
),alsa-lib
) \
28 $(if
$(BR2_PACKAGE_LIBGLIB2
),libglib2
) \
29 $(if
$(BR2_PACKAGE_AVAHI_DAEMON
),avahi
) \
30 $(if
$(BR2_PACKAGE_DBUS
),dbus
) \
31 $(if
$(BR2_PACKAGE_BLUEZ_UTILS
),bluez_utils
) \
32 $(if
$(BR2_PACKAGE_OPENSSL
),openssl
) \
33 $(if
$(BR2_PACKAGE_FFTW
),fftw
) \
34 $(if
$(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING
),webrtc-audio-processing
) \
35 $(if
$(BR2_PACKAGE_SYSTEMD
),systemd
)
37 ifeq ($(BR2_PACKAGE_GDBM
),y
)
38 PULSEAUDIO_CONF_OPTS
+= --with-database
=gdbm
39 PULSEAUDIO_DEPENDENCIES
+= gdbm
41 PULSEAUDIO_CONF_OPTS
+= --with-database
=simple
44 ifeq ($(BR2_PACKAGE_JACK2
),y
)
45 PULSEAUDIO_CONF_OPTS
+= --enable-jack
46 PULSEAUDIO_DEPENDENCIES
+= jack2
48 PULSEAUDIO_CONF_OPTS
+= --disable-jack
51 ifeq ($(BR2_PACKAGE_ORC
),y
)
52 PULSEAUDIO_DEPENDENCIES
+= orc
53 PULSEAUDIO_CONF_ENV
+= ORCC
=$(HOST_DIR
)/usr
/bin
/orcc
54 PULSEAUDIO_CONF_OPTS
+= --enable-orc
56 PULSEAUDIO_CONF_OPTS
+= --disable-orc
59 ifeq ($(BR2_PACKAGE_LIBCAP
),y
)
60 PULSEAUDIO_DEPENDENCIES
+= libcap
61 PULSEAUDIO_CONF_OPTS
+= --with-caps
63 PULSEAUDIO_CONF_OPTS
+= --without-caps
66 # gtk3 support needs X11 backend
67 ifeq ($(BR2_PACKAGE_LIBGTK3_X11
),y
)
68 PULSEAUDIO_DEPENDENCIES
+= libgtk3
69 PULSEAUDIO_CONF_OPTS
+= --enable-gtk3
71 PULSEAUDIO_CONF_OPTS
+= --disable-gtk3
74 ifeq ($(BR2_PACKAGE_LIBSOXR
),y
)
75 PULSEAUDIO_CONF_OPTS
+= --with-soxr
76 PULSEAUDIO_DEPENDENCIES
+= libsoxr
78 PULSEAUDIO_CONF_OPTS
+= --without-soxr
81 ifeq ($(BR2_PACKAGE_HAS_UDEV
),y
)
82 PULSEAUDIO_CONF_OPTS
+= --enable-libudev
83 PULSEAUDIO_DEPENDENCIES
+= udev
85 PULSEAUDIO_CONF_OPTS
+= --disable-libudev
88 ifneq ($(BR2_INSTALL_LIBSTDCPP
),y
)
89 # The optional webrtc echo canceller is written in C++, causing auto* to want
90 # to link module-echo-cancel.so with CXX even if webrtc ISN'T used.
91 # If we don't have C++ support enabled in BR, CXX will point to /bin/false,
92 # which makes configure think we aren't able to create C++ .so files
93 # (arguable true), breaking the build when it tries to install the .so
94 # workaround it by patching up the libtool invocations to use C mode instead
95 define PULSEAUDIO_FORCE_CC
96 $(SED
) 's/--tag=CXX/--tag=CC/g' -e
's/(CXXLD)/(CCLD)/g' \
100 PULSEAUDIO_POST_PATCH_HOOKS
+= PULSEAUDIO_FORCE_CC
103 # neon intrinsics not available with float-abi=soft
104 ifeq ($(BR2_ARM_SOFT_FLOAT
),)
105 ifeq ($(BR2_ARM_CPU_HAS_NEON
),y
)
106 PULSEAUDIO_USE_NEON
= y
110 ifeq ($(PULSEAUDIO_USE_NEON
),y
)
111 PULSEAUDIO_CONF_OPTS
+= --enable-neon-opt
=yes
113 PULSEAUDIO_CONF_OPTS
+= --enable-neon-opt
=no
116 # pulseaudio alsa backend needs pcm/mixer apis
117 ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM
)$(BR2_PACKAGE_ALSA_LIB_MIXER
),yy
)
118 PULSEAUDIO_CONF_OPTS
+= --disable-alsa
121 ifeq ($(BR2_PACKAGE_LIBXCB
)$(BR2_PACKAGE_XLIB_LIBSM
)$(BR2_PACKAGE_XLIB_LIBXTST
),yyy
)
122 PULSEAUDIO_DEPENDENCIES
+= libxcb xlib_libSM xlib_libXtst
124 # .desktop file generation needs nls support, so fake it for !locale builds
125 # https://bugs.freedesktop.org/show_bug.cgi?id=54658
126 ifneq ($(BR2_ENABLE_LOCALE
),y
)
127 define PULSEAUDIO_FIXUP_DESKTOP_FILES
128 cp
$(@D
)/src
/daemon
/pulseaudio.desktop.in \
129 $(@D
)/src
/daemon
/pulseaudio.desktop
130 cp
$(@D
)/src
/daemon
/pulseaudio-kde.desktop.in \
131 $(@D
)/src
/daemon
/pulseaudio-kde.desktop
133 PULSEAUDIO_POST_PATCH_HOOKS
+= PULSEAUDIO_FIXUP_DESKTOP_FILES
137 PULSEAUDIO_CONF_OPTS
+= --disable-x11
140 define PULSEAUDIO_REMOVE_VALA
141 rm -rf
$(TARGET_DIR
)/usr
/share
/vala
144 PULSEAUDIO_POST_INSTALL_TARGET_HOOKS
+= PULSEAUDIO_REMOVE_VALA
146 ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON
),y
)
147 define PULSEAUDIO_USERS
148 pulse
-1 pulse
-1 * /var
/run
/pulse
- audio
,pulse-access
151 define PULSEAUDIO_INSTALL_INIT_SYSV
152 $(INSTALL
) -D
-m
755 package
/pulseaudio
/S50pulseaudio \
153 $(TARGET_DIR
)/etc
/init.d
/S50pulseaudio
156 define PULSEAUDIO_INSTALL_INIT_SYSTEMD
157 $(INSTALL
) -D
-m
644 package
/pulseaudio
/pulseaudio.service \
158 $(TARGET_DIR
)/usr
/lib
/systemd
/system
/pulseaudio.service
159 mkdir
-p
$(TARGET_DIR
)/etc
/systemd
/system
/multi-user.target.wants
160 ln
-sf ..
/..
/..
/..
/usr
/lib
/systemd
/system
/pulseaudio.service \
161 $(TARGET_DIR
)/etc
/systemd
/system
/multi-user.target.wants
/pulseaudio.service
166 $(eval
$(autotools-package
))