libpjsip.mk 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. ################################################################################
  2. #
  3. # libpjsip
  4. #
  5. ################################################################################
  6. LIBPJSIP_VERSION = 2.10
  7. LIBPJSIP_SOURCE = pjproject-$(LIBPJSIP_VERSION).tar.gz
  8. LIBPJSIP_SITE = $(call github,pjsip,pjproject,$(LIBPJSIP_VERSION))
  9. # https://github.com/pjsip/pjproject/archive/2.10.tar.gz
  10. LIBPJSIP_DEPENDENCIES = libsrtp
  11. LIBPJSIP_LICENSE = GPL-2.0+
  12. LIBPJSIP_LICENSE_FILES = COPYING
  13. LIBPJSIP_INSTALL_STAGING = YES
  14. LIBPJSIP_MAKE = $(MAKE1)
  15. LIBPJSIP_CFLAGS = $(TARGET_CFLAGS) -DPJ_HAS_IPV6=1
  16. # relocation truncated to fit: R_68K_GOT16O
  17. ifeq ($(BR2_m68k_cf),y)
  18. LIBPJSIP_CFLAGS += -mxgot
  19. endif
  20. LIBPJSIP_CONF_ENV = \
  21. LD="$(TARGET_CC)" \
  22. CFLAGS="$(LIBPJSIP_CFLAGS)"
  23. LIBPJSIP_CONF_OPTS = \
  24. --disable-resample \
  25. --disable-g7221-codec \
  26. --disable-ilbc-codec \
  27. --disable-libwebrtc \
  28. --disable-ext-sound \
  29. --disable-g711-codec \
  30. --disable-l16-codec \
  31. --disable-g722-codec \
  32. --disable-ipp \
  33. --disable-silk \
  34. --with-external-srtp
  35. # Note: aconfigure.ac is broken: --enable-epoll or --disable-epoll will
  36. # both enable it. But that's OK, epoll is better than the alternative,
  37. # so we want to use it.
  38. LIBPJSIP_CONF_OPTS += --enable-epoll
  39. ifeq ($(BR2_PACKAGE_ALSA_LIB_MIXER),y)
  40. LIBPJSIP_DEPENDENCIES += alsa-lib
  41. LIBPJSIP_CONF_OPTS += --enable-sound
  42. else
  43. LIBPJSIP_CONF_OPTS += --disable-sound
  44. endif
  45. ifeq ($(BR2_PACKAGE_BCG729),y)
  46. LIBPJSIP_DEPENDENCIES += bcg729
  47. LIBPJSIP_CONF_OPTS += --with-bcg729=$(STAGING_DIR)/usr
  48. else
  49. LIBPJSIP_CONF_OPTS += --disable-bcg729
  50. endif
  51. ifeq ($(BR2_PACKAGE_FFMPEG),y)
  52. LIBPJSIP_DEPENDENCIES += ffmpeg
  53. LIBPJSIP_CONF_OPTS += --with-ffmpeg=$(STAGING_DIR)/usr
  54. else
  55. LIBPJSIP_CONF_OPTS += --disable-ffmpeg
  56. endif
  57. ifeq ($(BR2_PACKAGE_LIBGSM),y)
  58. LIBPJSIP_CONF_OPTS += \
  59. --enable-gsm-codec \
  60. --with-external-gsm
  61. LIBPJSIP_DEPENDENCIES += libgsm
  62. else
  63. LIBPJSIP_CONF_OPTS += \
  64. --disable-gsm-codec
  65. endif
  66. ifeq ($(BR2_PACKAGE_LIBOPENH264),y)
  67. LIBPJSIP_DEPENDENCIES += libopenh264
  68. LIBPJSIP_CONF_OPTS += --with-openh264=$(STAGING_DIR)/usr
  69. else
  70. LIBPJSIP_CONF_OPTS += --disable-openh264
  71. endif
  72. ifeq ($(BR2_PACKAGE_LIBOPENSSL),y)
  73. LIBPJSIP_DEPENDENCIES += libopenssl
  74. LIBPJSIP_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr
  75. else ifeq ($(BR2_PACKAGE_GNUTLS),y)
  76. LIBPJSIP_DEPENDENCIES += gnutls
  77. LIBPJSIP_CONF_OPTS += --with-gnutls=$(STAGING_DIR)/usr
  78. else
  79. LIBPJSIP_CONF_OPTS += --disable-ssl
  80. endif
  81. ifeq ($(BR2_PACKAGE_LIBSAMPLERATE),y)
  82. LIBPJSIP_DEPENDENCIES += libsamplerate
  83. LIBPJSIP_CONF_OPTS += --enable-libsamplerate
  84. else
  85. LIBPJSIP_CONF_OPTS += --disable-libsamplerate
  86. endif
  87. ifeq ($(BR2_PACKAGE_LIBV4L),y)
  88. # --enable-v4l2 is broken (check for libv4l2 will be omitted)
  89. LIBPJSIP_DEPENDENCIES += libv4l
  90. else
  91. LIBPJSIP_CONF_OPTS += --disable-v4l2
  92. endif
  93. ifeq ($(BR2_PACKAGE_LIBYUV),y)
  94. LIBPJSIP_DEPENDENCIES += libyuv
  95. LIBPJSIP_CONF_OPTS += \
  96. --enable-libyuv \
  97. --with-external-yuv
  98. else
  99. LIBPJSIP_CONF_OPTS += --disable-libyuv
  100. endif
  101. ifeq ($(BR2_PACKAGE_OPENCORE_AMR),y)
  102. LIBPJSIP_DEPENDENCIES += opencore-amr
  103. LIBPJSIP_CONF_OPTS += --with-opencore-amr=$(STAGING_DIR)/usr
  104. else
  105. LIBPJSIP_CONF_OPTS += --disable-opencore-amr
  106. endif
  107. ifeq ($(BR2_PACKAGE_OPUS),y)
  108. LIBPJSIP_DEPENDENCIES += opus
  109. LIBPJSIP_CONF_OPTS += --with-opus=$(STAGING_DIR)/usr
  110. else
  111. LIBPJSIP_CONF_OPTS += --disable-opus
  112. endif
  113. ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
  114. LIBPJSIP_DEPENDENCIES += portaudio
  115. LIBPJSIP_CONF_OPTS += --with-external-pa
  116. else
  117. LIBPJSIP_CONF_OPTS += --without-external-pa
  118. endif
  119. ifeq ($(BR2_PACKAGE_SDL2),y)
  120. LIBPJSIP_DEPENDENCIES += sdl2
  121. LIBPJSIP_CONF_OPTS += --with-sdl=$(STAGING_DIR)/usr
  122. else
  123. LIBPJSIP_CONF_OPTS += --disable-sdl
  124. endif
  125. ifeq ($(BR2_PACKAGE_SPEEX)$(BR2_PACKAGE_SPEEXDSP),yy)
  126. LIBPJSIP_CONF_OPTS += \
  127. --enable-speex-aec \
  128. --enable-speex-codec \
  129. --with-external-speex
  130. LIBPJSIP_DEPENDENCIES += speex speexdsp
  131. else
  132. LIBPJSIP_CONF_OPTS += \
  133. --disable-speex-aec \
  134. --disable-speex-codec
  135. endif
  136. ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
  137. LIBPJSIP_DEPENDENCIES += util-linux
  138. endif
  139. # disable build of test binaries
  140. LIBPJSIP_MAKE_OPTS = lib
  141. $(eval $(autotools-package))