Skip to contentSkip to conversation

pjsip: configuration fixes

PATCH Superseded Yann E. MORIN 3 participants 6 messages Jan 5, 2017 – Jan 25, 2017

lore
Share & tools
lore
#0 lore raw

v2 cover pjsip: configuration fixes

Hello All!

This two-patch series cleanups and fixes our pjsip configuration options:
- ensure everything is explictly disabled and not left auto-detected,
- except for the epoll support that needs a quirk,
- fix an option value

Cahnges v1 -> v2:
- fix the epoll mess (Luca)
- add tested and acked tags by Luca on second patch

Regards,
Yann E. MORIN.

The following changes since commit 231b317dd3cf2b4b05737231b67f87c529985fef

libgtk3: bump to version 3.22.6 (2017-01-05 16:19:26 +0100)

are available in the git repository at:

git://git.buildroot.org/~ymorin/git/buildroot.git

for you to fetch changes up to c1748115da6b3cd0269388e78450d97df370d387

package/libpjsip: drop path to staging to find libsrtp (2017-01-05 22:06:09 +0100)

----------------------------------------------------------------
Yann E. MORIN (2):
package/libpjsip: disable remaining unspecified options package/libpjsip: drop path to staging to find libsrtp

 package/libpjsip/libpjsip.mk | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH v2 1/2 package/libpjsip: disable remaining unspecified options

There are a bunch of options that are left unspecified; explicitly disable them.

The epoll case is special: the configure script is broken, and will enable it whether we pass --enable-epoll or --disable-epoll. But that's OK because we prefer epoll over the alternative (select). So we do not need to fix it. Which is nice becasue the configure.ac is named aconfigure.ac (yes, with a leading 'a'), so it does not autoreconf nicely... :-/

---
Changes v1 -> v2;
- fix and comment the epoll mess (Luca)

---
 package/libpjsip/libpjsip.mk | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
package/libpjsip/libpjsip.mk +21 -0
index cb0d866..70dd4aa 100644
@@ -36,8 +36,29 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ilbc-codec \
 	--disable-webrtc \
 	--disable-opus \
+	--disable-oss \
+	--disable-ext-sound \
+	--disable-small-filter \
+	--disable-large-filter \
+	--disable-g711-codec \
+	--disable-l16-codec \
+	--disable-g722-codec \
+	--disable-libsamplerate \
+	--disable-sdl \
+	--disable-ffmpeg \
+	--disable-v4l2 \
+	--disable-openh264 \
+	--disable-libyuv \
+	--disable-ipp \
+	--disable-ssl \
+	--disable-silk \
 	--with-external-srtp=$(STAGING_DIR)/usr
 
+# Note: aconfigure.ac is broken: --enable-epoll or --disable-epoll will
+# both enable it. But that's OK, epoll is better than the alternative,
+# so we want to use it.
+LIBPJSIP_CONF_OPTS += --enable-epoll
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 LIBPJSIP_DEPENDENCIES += openssl
 LIBPJSIP_CONF_OPTS += --with-ssl=$(STAGING_DIR)/usr
Signature · 1 line
2.7.4
#2 lore raw

PATCH 1/2 package/libpjsip: disable remaining unspecified options

Hi,

Quoted 34 lines · Yann E. MORIN

There are a bunch of options that are left unspecified; explicitly disable them.

The epoll case is special: the configure script is broken, and will enable it whether we pass --enable-epoll or --disable-epoll. But that's OK because we prefer epoll over the alternative (select). So we do not need to fix it. Which is nice becasue the configure.ac is named aconfigure.ac (yes, with a leading 'a'), so it does not autoreconf nicely... :-/

---
Changes v1 -> v2;
- fix and comment the epoll mess (Luca)

---
 package/libpjsip/libpjsip.mk | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
package/libpjsip/libpjsip.mk +6 -0
index cb0d866..70dd4aa 100644
@@ -36,8 +36,29 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ilbc-codec \
 	--disable-webrtc \
 	--disable-opus \
+	--disable-oss \
+	--disable-ext-sound \
+	--disable-small-filter \
+	--disable-large-filter \
+	--disable-g711-codec \
+	--disable-l16-codec \

package/libpjsip/libpjsip.mk LIBPJSIP_CONF_OPTS = \ · line 54

Quoted 10 lines
package/libpjsip/libpjsip.mk +10 -0
+	--disable-g722-codec \
+	--disable-libsamplerate \
+	--disable-sdl \
+	--disable-ffmpeg \
+	--disable-v4l2 \
+	--disable-openh264 \
+	--disable-libyuv \
+	--disable-ipp \
+	--disable-ssl \
+	--disable-silk \

Some of these added lines actually disable something that was previously enabled, as I detailed in [0], and the other ones don't hurt anyway.

package/libpjsip/libpjsip.mk LIBPJSIP_CONF_OPTS = \ · line 60

Quoted 4 lines
package/libpjsip/libpjsip.mk +4 -0
+# Note: aconfigure.ac is broken: --enable-epoll or --disable-epoll will
+# both enable it. But that's OK, epoll is better than the alternative,
+# so we want to use it.
+LIBPJSIP_CONF_OPTS += --enable-epoll

And epoll is in Linux since way over a decade now, that's enough!

[0] http://lists.busybox.net/pipermail/buildroot/2017-January/180926.html

Signature · 1 line
Luca
#3 lore raw

PATCH v2 1/2 package/libpjsip: disable remaining unspecified options

Luca, All,

On 2017-01-06 00:05 +0100, Luca Ceresoli spake thusly:

Quoted 40 lines · Yann E. MORIN
Quoted 39 lines

There are a bunch of options that are left unspecified; explicitly disable them.

The epoll case is special: the configure script is broken, and will enable it whether we pass --enable-epoll or --disable-epoll. But that's OK because we prefer epoll over the alternative (select). So we do not need to fix it. Which is nice becasue the configure.ac is named aconfigure.ac (yes, with a leading 'a'), so it does not autoreconf nicely... :-/

---
Changes v1 -> v2;
- fix and comment the epoll mess (Luca)

---
 package/libpjsip/libpjsip.mk | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
package/libpjsip/libpjsip.mk +11 -0
index cb0d866..70dd4aa 100644
@@ -36,8 +36,29 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ilbc-codec \
 	--disable-webrtc \
 	--disable-opus \
+	--disable-oss \
+	--disable-ext-sound \
+	--disable-small-filter \
+	--disable-large-filter \
+	--disable-g711-codec \
+	--disable-l16-codec \
+	--disable-g722-codec \
+	--disable-libsamplerate \
+	--disable-sdl \
+	--disable-ffmpeg \
+	--disable-v4l2 \
Quoted 8 lines

package/libpjsip/libpjsip.mk LIBPJSIP_CONF_OPTS = \ · line 54

Quoted 5 lines
package/libpjsip/libpjsip.mk +5 -0
+	--disable-openh264 \
+	--disable-libyuv \
+	--disable-ipp \
+	--disable-ssl \
+	--disable-silk \

Some of these added lines actually disable something that was previously enabled, as I detailed in [0], and the other ones don't hurt anyway.

Well, it does disable stuff, but most if not all of it is due to build ordering and there is no explicit dependency, like samplerate, ssl etc...

It is better to explicitly disable stuff rather than depend on build ordering.

If people are interested in re-enabling those features, they'll have to send some patches to account for the dependencies.

Something that I already did in the biggish asterisk series, for example:

    https://patchwork.ozlabs.org/patch/709763/
    https://patchwork.ozlabs.org/patch/709756/

;-)

Quoted 8 lines

package/libpjsip/libpjsip.mk LIBPJSIP_CONF_OPTS = \ · line 60

Quoted 4 lines
package/libpjsip/libpjsip.mk +4 -0
+# Note: aconfigure.ac is broken: --enable-epoll or --disable-epoll will
+# both enable it. But that's OK, epoll is better than the alternative,
+# so we want to use it.
+LIBPJSIP_CONF_OPTS += --enable-epoll

And epoll is in Linux since way over a decade now, that's enough!

Thanks! :-)

Regards,
Yann E. MORIN.

Quoted 4 lines

[0] http://lists.busybox.net/pipermail/buildroot/2017-January/180926.html

Signature · 1 line
Luca
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH v2 2/2 package/libpjsip: drop path to staging to find libsrtp

In reply to Yann E. MORIN

As it happens, specifying the path where to look for libsrtp is not
needed: pjsip does not use the argument to --with-external-srtp as a search path at all; it only checks whether it is 'no' or something else.

---
 package/libpjsip/libpjsip.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/libpjsip/libpjsip.mk +1 -1
index 70dd4aa..eb50f00 100644
@@ -52,7 +52,7 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-ipp \
 	--disable-ssl \
 	--disable-silk \
-	--with-external-srtp=$(STAGING_DIR)/usr
+	--with-external-srtp
 
 # Note: aconfigure.ac is broken: --enable-epoll or --disable-epoll will
 # both enable it. But that's OK, epoll is better than the alternative,
Signature · 1 line
2.7.4
#5 lore raw

v2 cover pjsip: configuration fixes

In reply to Yann E. MORIN

Hello,

Quoted 3 lines · Yann E. MORIN

Yann E. MORIN (2):
package/libpjsip: disable remaining unspecified options package/libpjsip: drop path to staging to find libsrtp

Both applied to master. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com