pulseaudio.mk 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. ################################################################################
  2. #
  3. # pulseaudio
  4. #
  5. ################################################################################
  6. PULSEAUDIO_VERSION = 13.0
  7. PULSEAUDIO_SOURCE = pulseaudio-$(PULSEAUDIO_VERSION).tar.xz
  8. PULSEAUDIO_SITE = http://freedesktop.org/software/pulseaudio/releases
  9. PULSEAUDIO_INSTALL_STAGING = YES
  10. PULSEAUDIO_LICENSE = LGPL-2.1+ (specific license for modules, see LICENSE file)
  11. PULSEAUDIO_LICENSE_FILES = LICENSE GPL LGPL
  12. PULSEAUDIO_CONF_OPTS = \
  13. --disable-default-build-tests \
  14. --disable-legacy-database-entry-format \
  15. --disable-manpages \
  16. --disable-running-from-build-tree
  17. PULSEAUDIO_DEPENDENCIES = \
  18. host-pkgconf libtool libsndfile speex \
  19. $(TARGET_NLS_DEPENDENCIES) \
  20. $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \
  21. $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \
  22. $(if $(BR2_PACKAGE_DBUS),dbus) \
  23. $(if $(BR2_PACKAGE_OPENSSL),openssl) \
  24. $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single) \
  25. $(if $(BR2_PACKAGE_SYSTEMD),systemd)
  26. ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
  27. PULSEAUDIO_CONF_OPTS += --enable-samplerate
  28. PULSEAUDIO_DEPENDENCIES += libsamplerate
  29. else
  30. PULSEAUDIO_CONF_OPTS += --disable-samplerate
  31. endif
  32. ifeq ($(BR2_PACKAGE_GDBM),y)
  33. PULSEAUDIO_CONF_OPTS += --with-database=gdbm
  34. PULSEAUDIO_DEPENDENCIES += gdbm
  35. else
  36. PULSEAUDIO_CONF_OPTS += --with-database=simple
  37. endif
  38. ifeq ($(BR2_PACKAGE_JACK2),y)
  39. PULSEAUDIO_CONF_OPTS += --enable-jack
  40. PULSEAUDIO_DEPENDENCIES += jack2
  41. else
  42. PULSEAUDIO_CONF_OPTS += --disable-jack
  43. endif
  44. ifeq ($(BR2_PACKAGE_LIBATOMIC_OPS),y)
  45. PULSEAUDIO_DEPENDENCIES += libatomic_ops
  46. ifeq ($(BR2_sparc_v8)$(BR2_sparc_leon3),y)
  47. PULSEAUDIO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DAO_NO_SPARC_V9"
  48. endif
  49. endif
  50. ifeq ($(BR2_PACKAGE_ORC),y)
  51. PULSEAUDIO_DEPENDENCIES += orc
  52. PULSEAUDIO_CONF_ENV += ORCC=$(HOST_DIR)/bin/orcc
  53. PULSEAUDIO_CONF_OPTS += --enable-orc
  54. else
  55. PULSEAUDIO_CONF_OPTS += --disable-orc
  56. endif
  57. ifeq ($(BR2_PACKAGE_LIBCAP),y)
  58. PULSEAUDIO_DEPENDENCIES += libcap
  59. PULSEAUDIO_CONF_OPTS += --with-caps
  60. else
  61. PULSEAUDIO_CONF_OPTS += --without-caps
  62. endif
  63. # gtk3 support needs X11 backend
  64. ifeq ($(BR2_PACKAGE_LIBGTK3_X11),y)
  65. PULSEAUDIO_DEPENDENCIES += libgtk3
  66. PULSEAUDIO_CONF_OPTS += --enable-gtk3
  67. else
  68. PULSEAUDIO_CONF_OPTS += --disable-gtk3
  69. endif
  70. ifeq ($(BR2_PACKAGE_LIBSOXR),y)
  71. PULSEAUDIO_CONF_OPTS += --with-soxr
  72. PULSEAUDIO_DEPENDENCIES += libsoxr
  73. else
  74. PULSEAUDIO_CONF_OPTS += --without-soxr
  75. endif
  76. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS)$(BR2_PACKAGE_SBC),yy)
  77. PULSEAUDIO_CONF_OPTS += --enable-bluez5
  78. PULSEAUDIO_DEPENDENCIES += bluez5_utils sbc
  79. else
  80. PULSEAUDIO_CONF_OPTS += --disable-bluez5
  81. endif
  82. ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
  83. PULSEAUDIO_CONF_OPTS += --enable-udev
  84. PULSEAUDIO_DEPENDENCIES += udev
  85. else
  86. PULSEAUDIO_CONF_OPTS += --disable-udev
  87. endif
  88. ifeq ($(BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING),y)
  89. PULSEAUDIO_CONF_OPTS += --enable-webrtc-aec
  90. PULSEAUDIO_DEPENDENCIES += webrtc-audio-processing
  91. else
  92. PULSEAUDIO_CONF_OPTS += --disable-webrtc-aec
  93. endif
  94. # neon intrinsics not available with float-abi=soft
  95. ifeq ($(BR2_ARM_SOFT_FLOAT),)
  96. ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
  97. PULSEAUDIO_USE_NEON = y
  98. endif
  99. endif
  100. ifeq ($(PULSEAUDIO_USE_NEON),y)
  101. PULSEAUDIO_CONF_OPTS += --enable-neon-opt=yes
  102. else
  103. PULSEAUDIO_CONF_OPTS += --enable-neon-opt=no
  104. endif
  105. # pulseaudio alsa backend needs pcm/mixer apis
  106. ifeq ($(BR2_PACKAGE_ALSA_LIB_PCM)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
  107. PULSEAUDIO_DEPENDENCIES += alsa-lib
  108. PULSEAUDIO_CONF_OPTS += --enable-alsa
  109. else
  110. PULSEAUDIO_CONF_OPTS += --disable-alsa
  111. endif
  112. ifeq ($(BR2_PACKAGE_LIBXCB)$(BR2_PACKAGE_XLIB_LIBSM)$(BR2_PACKAGE_XLIB_LIBXTST),yyy)
  113. PULSEAUDIO_DEPENDENCIES += libxcb xlib_libSM xlib_libXtst
  114. # .desktop file generation needs nls support, so fake it for !locale builds
  115. # https://bugs.freedesktop.org/show_bug.cgi?id=54658
  116. ifeq ($(BR2_SYSTEM_ENABLE_NLS),)
  117. define PULSEAUDIO_FIXUP_DESKTOP_FILES
  118. cp $(@D)/src/daemon/pulseaudio.desktop.in \
  119. $(@D)/src/daemon/pulseaudio.desktop
  120. endef
  121. PULSEAUDIO_POST_PATCH_HOOKS += PULSEAUDIO_FIXUP_DESKTOP_FILES
  122. endif
  123. else
  124. PULSEAUDIO_CONF_OPTS += --disable-x11
  125. endif
  126. # ConsoleKit module init failure breaks user daemon startup
  127. define PULSEAUDIO_REMOVE_CONSOLE_KIT
  128. rm -f $(TARGET_DIR)/usr/lib/pulse-$(PULSEAUDIO_VERSION)/modules/module-console-kit.so
  129. endef
  130. define PULSEAUDIO_REMOVE_VALA
  131. rm -rf $(TARGET_DIR)/usr/share/vala
  132. endef
  133. PULSEAUDIO_POST_INSTALL_TARGET_HOOKS += PULSEAUDIO_REMOVE_VALA \
  134. PULSEAUDIO_REMOVE_CONSOLE_KIT
  135. ifeq ($(BR2_PACKAGE_PULSEAUDIO_DAEMON),y)
  136. define PULSEAUDIO_USERS
  137. pulse -1 pulse -1 * /var/run/pulse - audio,pulse-access
  138. endef
  139. define PULSEAUDIO_INSTALL_INIT_SYSV
  140. $(INSTALL) -D -m 755 package/pulseaudio/S50pulseaudio \
  141. $(TARGET_DIR)/etc/init.d/S50pulseaudio
  142. endef
  143. define PULSEAUDIO_INSTALL_INIT_SYSTEMD
  144. $(INSTALL) -D -m 644 package/pulseaudio/pulseaudio.service \
  145. $(TARGET_DIR)/usr/lib/systemd/system/pulseaudio.service
  146. endef
  147. endif
  148. $(eval $(autotools-package))