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