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