All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option
@ 2018-03-12  9:29 Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 2/7] libpjsip: add codecs without dependencies Adam Duskett
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

This is the first patch in a series that will enable audio support
for libpjsip. This patch does the following:

- Turn libpjsip into a menuconfig option
- Add a option for alsa support

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v2:
  - Remove the option to enable or disable alsa support in favor of
    just depending on alsa-lib if it's selected by the user.

Changes v2 -> v3:
  - Make this patch the start of the series.
  - Re-add the option to enable or disable support (Thomas)

Changes v3 -> v4:
  - None

 package/libpjsip/Config.in   | 12 +++++++++++-
 package/libpjsip/libpjsip.mk |  8 +++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 727d2ec3d0..0e03ebf7a3 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -1,4 +1,4 @@
-config BR2_PACKAGE_LIBPJSIP
+menuconfig BR2_PACKAGE_LIBPJSIP
 	bool "libpjsip"
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_TOOLCHAIN_HAS_THREADS
@@ -10,5 +10,15 @@ config BR2_PACKAGE_LIBPJSIP
 
 	  http://www.pjsip.org
 
+if BR2_PACKAGE_LIBPJSIP
+
+comment "sound"
+
+config BR2_PACKAGE_LIBPJSIP_ALSA
+	bool "alsa support"
+	select BR2_PACKAGE_ALSA_LIB
+
+endif #BR2_PACKAGE_LIBPJSIP
+
 comment "libpjsip needs a toolchain w/ C++, threads"
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 53b654d072..a584e8c73a 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -25,7 +25,6 @@ LIBPJSIP_CONF_ENV = \
 	CFLAGS="$(LIBPJSIP_CFLAGS)"
 
 LIBPJSIP_CONF_OPTS = \
-	--disable-sound \
 	--disable-gsm-codec \
 	--disable-speex-codec \
 	--disable-speex-aec \
@@ -67,4 +66,11 @@ ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
 LIBPJSIP_DEPENDENCIES += util-linux
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_ALSA),y)
+LIBPJSIP_DEPENDENCIES += alsa-lib
+LIBPJSIP_CONF_OPTS += --enable-sound
+else
+LIBPJSIP_CONF_OPTS += --disable-sound
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 2/7] libpjsip: add codecs without dependencies
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
@ 2018-03-12  9:29 ` Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 3/7] libpjsip: enable bcg729 codec Adam Duskett
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

libpjsip has several codecs, all of which can be disabled or enabled
individually. A few reasons for adding each codec as an individual choice
are:

1) Many products might not want some of the more obscure codecs such as
   ILBC or L16.

2) libpjsip has functions that will enumerate all the codecs that were built.
   If all the codecs where built, this would require a developer to have to
   parse out the codecs they don't want.

As such, turn libpjsip into a menuconfig and add each supported codec as an
individual choice.

Start with the codecs that are built into libpjsip and have no external
dependencies.  These codecs are:
- G.711
- G.722
- G.722.1
- iLBC
- L16

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v2:
  - Combine all dependency-less codecs into a single patch.
  - Add a more-detailed commit message explaining the reasoning for
    enabling each codec as a individual option. (Arnout)

Changes v2 -> v3:
  - None

Changes v3 -> v4:
  - None
  
 package/libpjsip/Config.in   | 17 +++++++++++++++++
 package/libpjsip/libpjsip.mk | 32 +++++++++++++++++++++++++++-----
 2 files changed, 44 insertions(+), 5 deletions(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 0e03ebf7a3..829ed1ede7 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -18,6 +18,23 @@ config BR2_PACKAGE_LIBPJSIP_ALSA
 	bool "alsa support"
 	select BR2_PACKAGE_ALSA_LIB
 
+comment "dependency-less codecs"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_G711
+	bool "G.711"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_G722
+	bool "G.722"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_G7221
+	bool "G.722.1"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_ILBC
+	bool "iLBC"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_L16
+	bool "L16"
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index a584e8c73a..7b643f5fa5 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -31,15 +31,10 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-resample \
 	--disable-video \
 	--disable-opencore-amr \
-	--disable-g7221-codec \
-	--disable-ilbc-codec \
 	--disable-libwebrtc \
 	--disable-opus \
 	--disable-oss \
 	--disable-ext-sound \
-	--disable-g711-codec \
-	--disable-l16-codec \
-	--disable-g722-codec \
 	--disable-libsamplerate \
 	--disable-sdl \
 	--disable-ffmpeg \
@@ -73,4 +68,31 @@ else
 LIBPJSIP_CONF_OPTS += --disable-sound
 endif
 
+# Codecs can only be disabled. If explicitly enabled, the check is
+# omitted (but successful), and there is no configure trace "Checking
+# if [codec] codec is disabled...no". So we only explicitly disable it
+# and we do not explicitly enable it, so we get the configure log in
+# both cases.
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G711),y)
+LIBPJSIP_CONF_OPTS += --disable-g711-codec
+endif
+
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G722),y)
+LIBPJSIP_CONF_OPTS += --disable-g722-codec
+endif
+
+# libpjsip can only use a bundled version of libg7221
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_G7221),y)
+LIBPJSIP_CONF_OPTS += --disable-g7221-codec
+endif
+
+# libpjsip can only use a bundled version of libilbc
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_ILBC),y)
+LIBPJSIP_CONF_OPTS += --disable-ilbc-codec
+endif
+
+ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_L16),y)
+LIBPJSIP_CONF_OPTS += --disable-l16-codec
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 3/7] libpjsip: enable bcg729 codec
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 2/7] libpjsip: add codecs without dependencies Adam Duskett
@ 2018-03-12  9:29 ` Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 4/7] libpjsip: enable gsm codec Adam Duskett
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v4:
  - Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 6 ++++++
 package/libpjsip/libpjsip.mk | 8 ++++++++
 2 files changed, 14 insertions(+)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 829ed1ede7..123eceae06 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -35,6 +35,12 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_ILBC
 config BR2_PACKAGE_LIBPJSIP_CODEC_L16
 	bool "L16"
 
+comment "Codecs with external dependencies"
+
+config BR2_PACKAGE_LIBPJSIP_CODEC_BCG729
+	bool "BCG729"
+	select BR2_PACKAGE_BCG729
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 7b643f5fa5..67c8ad0dfd 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -95,4 +95,12 @@ ifneq ($(BR2_PACKAGE_LIBPJSIP_CODEC_L16),y)
 LIBPJSIP_CONF_OPTS += --disable-l16-codec
 endif
 
+# Codecs with external dependencies
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_BCG729),y)
+LIBPJSIP_DEPENDENCIES += bcg729
+LIBPJSIP_CONF_OPTS += --with-bcg729=$(STAGING_DIR)/usr
+else
+LIBPJSIP_CONF_OPTS += --disable-bcg729
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 4/7] libpjsip: enable gsm codec
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 2/7] libpjsip: add codecs without dependencies Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 3/7] libpjsip: enable bcg729 codec Adam Duskett
@ 2018-03-12  9:29 ` Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 5/7] libpjsip: enable opencore-amr codec Adam Duskett
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v4:
  - Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 8 ++++++++
 package/libpjsip/libpjsip.mk | 8 +++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 123eceae06..45b05cf2b2 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -41,6 +41,14 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_BCG729
 	bool "BCG729"
 	select BR2_PACKAGE_BCG729
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
+	bool "GSM"
+	depends on !BR2_STATIC_LIBS # libgsm
+	select BR2_PACKAGE_LIBGSM
+
+comment "GSM codec needs a toolchain w/ shared libraries"
+	depends on BR2_STATIC_LIBS
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 67c8ad0dfd..64cdb08d01 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -25,7 +25,6 @@ LIBPJSIP_CONF_ENV = \
 	CFLAGS="$(LIBPJSIP_CFLAGS)"
 
 LIBPJSIP_CONF_OPTS = \
-	--disable-gsm-codec \
 	--disable-speex-codec \
 	--disable-speex-aec \
 	--disable-resample \
@@ -103,4 +102,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-bcg729
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_GSM),y)
+LIBPJSIP_DEPENDENCIES += libgsm
+LIBPJSIP_CONF_OPTS += --with-external-gsm
+else
+LIBPJSIP_CONF_OPTS += --disable-gsm-codec
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 5/7] libpjsip: enable opencore-amr codec
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
                   ` (2 preceding siblings ...)
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 4/7] libpjsip: enable gsm codec Adam Duskett
@ 2018-03-12  9:29 ` Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 6/7] libpjsip: enable opus codec Adam Duskett
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v4:
  - Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 8 +++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 45b05cf2b2..a7bbd866ea 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -49,6 +49,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_GSM
 comment "GSM codec needs a toolchain w/ shared libraries"
 	depends on BR2_STATIC_LIBS
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR
+	bool "Opencore-amr"
+	select BR2_PACKAGE_OPENCORE_AMR
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 64cdb08d01..2ea0da3f77 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -29,7 +29,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-speex-aec \
 	--disable-resample \
 	--disable-video \
-	--disable-opencore-amr \
 	--disable-libwebrtc \
 	--disable-opus \
 	--disable-oss \
@@ -109,4 +108,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-gsm-codec
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR),y)
+LIBPJSIP_DEPENDENCIES += opencore-amr
+LIBPJSIP_CONF_OPTS += --with-opencore-amr
+else
+LIBPJSIP_CONF_OPTS += --disable-opencore-amr
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 6/7] libpjsip: enable opus codec
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
                   ` (3 preceding siblings ...)
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 5/7] libpjsip: enable opencore-amr codec Adam Duskett
@ 2018-03-12  9:29 ` Adam Duskett
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 7/7] libpjsip: enable speex codec Adam Duskett
  2018-03-26 19:46 ` [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Thomas Petazzoni
  6 siblings, 0 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v4:
  - Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index a7bbd866ea..028339f319 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -53,6 +53,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR
 	bool "Opencore-amr"
 	select BR2_PACKAGE_OPENCORE_AMR
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_OPUS
+	bool "Opus"
+	select BR2_PACKAGE_OPUS
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 2ea0da3f77..943a99bc5a 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -30,7 +30,6 @@ LIBPJSIP_CONF_OPTS = \
 	--disable-resample \
 	--disable-video \
 	--disable-libwebrtc \
-	--disable-opus \
 	--disable-oss \
 	--disable-ext-sound \
 	--disable-libsamplerate \
@@ -115,4 +114,10 @@ else
 LIBPJSIP_CONF_OPTS += --disable-opencore-amr
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_OPUS),y)
+LIBPJSIP_DEPENDENCIES += opus
+else
+LIBPJSIP_CONF_OPTS += --disable-opus
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 7/7] libpjsip: enable speex codec
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
                   ` (4 preceding siblings ...)
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 6/7] libpjsip: enable opus codec Adam Duskett
@ 2018-03-12  9:29 ` Adam Duskett
  2018-03-26 19:46 ` [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Thomas Petazzoni
  6 siblings, 0 replies; 9+ messages in thread
From: Adam Duskett @ 2018-03-12  9:29 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Adam Duskett <aduskett@gmail.com>
---
Changes v1 -> v4:
  - Add each codec with a dependency as a seperate patch.

 package/libpjsip/Config.in   | 4 ++++
 package/libpjsip/libpjsip.mk | 9 +++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/package/libpjsip/Config.in b/package/libpjsip/Config.in
index 028339f319..3687d51824 100644
--- a/package/libpjsip/Config.in
+++ b/package/libpjsip/Config.in
@@ -57,6 +57,10 @@ config BR2_PACKAGE_LIBPJSIP_CODEC_OPUS
 	bool "Opus"
 	select BR2_PACKAGE_OPUS
 
+config BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX
+	bool "Speex"
+	select BR2_PACKAGE_SPEEX
+
 endif #BR2_PACKAGE_LIBPJSIP
 
 comment "libpjsip needs a toolchain w/ C++, threads"
diff --git a/package/libpjsip/libpjsip.mk b/package/libpjsip/libpjsip.mk
index 943a99bc5a..e4b859257b 100644
--- a/package/libpjsip/libpjsip.mk
+++ b/package/libpjsip/libpjsip.mk
@@ -25,8 +25,6 @@ LIBPJSIP_CONF_ENV = \
 	CFLAGS="$(LIBPJSIP_CFLAGS)"
 
 LIBPJSIP_CONF_OPTS = \
-	--disable-speex-codec \
-	--disable-speex-aec \
 	--disable-resample \
 	--disable-video \
 	--disable-libwebrtc \
@@ -120,4 +118,11 @@ else
 LIBPJSIP_CONF_OPTS += --disable-opus
 endif
 
+ifeq ($(BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX),y)
+LIBPJSIP_DEPENDENCIES += speex
+LIBPJSIP_CONF_OPTS += --with-external-speex
+else
+LIBPJSIP_CONF_OPTS += --disable-speex-codec --disable-speex-aec
+endif
+
 $(eval $(autotools-package))
-- 
2.14.3

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option
  2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
                   ` (5 preceding siblings ...)
  2018-03-12  9:29 ` [Buildroot] [PATCH v4 7/7] libpjsip: enable speex codec Adam Duskett
@ 2018-03-26 19:46 ` Thomas Petazzoni
  2018-03-26 19:48   ` Thomas Petazzoni
  6 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2018-03-26 19:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 12 Mar 2018 05:29:47 -0400, Adam Duskett wrote:
> This is the first patch in a series that will enable audio support
> for libpjsip. This patch does the following:
> 
> - Turn libpjsip into a menuconfig option
> - Add a option for alsa support
> 
> Signed-off-by: Adam Duskett <aduskett@gmail.com>

I've applied your patches, did a few tweaks, but I have some issues.
Could you restart from what I've done at:

  https://git.bootlin.com/users/thomas-petazzoni/buildroot/log/?h=pjsip-improvements

The improvements I've done are:

 - Tweak the commit titles

 - Use the --enable-<foo> options for the dependency-less codecs, since
   those options definitely exist.

 - Minor other formatting tweaks.

 - Select BR2_PACKAGE_ALSA_LIB_MIXER in the first patch, otherwise the
   build fails when this option is disabled.

Unfortunately, with all this, I see two problems. The first problem is
that the link command line contains flags like -Lyes/lib. This is due
to constructs such as:

                    LDFLAGS="$LDFLAGS -L$with_opencore_amr/lib"

So when you pass --with-opencore-amr, $with_opencore_amr has the value
"yes". You should change such options to
--with-opencore-amr=$(STAGING_DIR)/usr instead.

The second problem is that the following defconfig fails to build:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_PACKAGE_ALSA_LIB_ALOAD is not set
# BR2_PACKAGE_ALSA_LIB_RAWMIDI is not set
# BR2_PACKAGE_ALSA_LIB_HWDEP is not set
# BR2_PACKAGE_ALSA_LIB_SEQ is not set
# BR2_PACKAGE_ALSA_LIB_ALISP is not set
# BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS is not set
BR2_PACKAGE_LIBPJSIP=y
BR2_PACKAGE_LIBPJSIP_ALSA=y
BR2_PACKAGE_LIBPJSIP_CODEC_G711=y
BR2_PACKAGE_LIBPJSIP_CODEC_G722=y
BR2_PACKAGE_LIBPJSIP_CODEC_G7221=y
BR2_PACKAGE_LIBPJSIP_CODEC_ILBC=y
BR2_PACKAGE_LIBPJSIP_CODEC_L16=y
BR2_PACKAGE_LIBPJSIP_CODEC_BCG729=y
BR2_PACKAGE_LIBPJSIP_CODEC_GSM=y
BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR=y
BR2_PACKAGE_LIBPJSIP_CODEC_OPUS=y
BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX=y
# BR2_TARGET_ROOTFS_TAR is not set

Could you have a look, fix those problems, and send an updated version ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option
  2018-03-26 19:46 ` [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Thomas Petazzoni
@ 2018-03-26 19:48   ` Thomas Petazzoni
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2018-03-26 19:48 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 26 Mar 2018 21:46:02 +0200, Thomas Petazzoni wrote:

> The second problem is that the following defconfig fails to build:
> 
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2017.11-rc1.tar.bz2"
> BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
> BR2_TOOLCHAIN_EXTERNAL_CXX=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> # BR2_PACKAGE_ALSA_LIB_ALOAD is not set
> # BR2_PACKAGE_ALSA_LIB_RAWMIDI is not set
> # BR2_PACKAGE_ALSA_LIB_HWDEP is not set
> # BR2_PACKAGE_ALSA_LIB_SEQ is not set
> # BR2_PACKAGE_ALSA_LIB_ALISP is not set
> # BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS is not set
> BR2_PACKAGE_LIBPJSIP=y
> BR2_PACKAGE_LIBPJSIP_ALSA=y
> BR2_PACKAGE_LIBPJSIP_CODEC_G711=y
> BR2_PACKAGE_LIBPJSIP_CODEC_G722=y
> BR2_PACKAGE_LIBPJSIP_CODEC_G7221=y
> BR2_PACKAGE_LIBPJSIP_CODEC_ILBC=y
> BR2_PACKAGE_LIBPJSIP_CODEC_L16=y
> BR2_PACKAGE_LIBPJSIP_CODEC_BCG729=y
> BR2_PACKAGE_LIBPJSIP_CODEC_GSM=y
> BR2_PACKAGE_LIBPJSIP_CODEC_OPENCORE_AMR=y
> BR2_PACKAGE_LIBPJSIP_CODEC_OPUS=y
> BR2_PACKAGE_LIBPJSIP_CODEC_SPEEX=y
> # BR2_TARGET_ROOTFS_TAR is not set

It fails like this:

if test ! -d ../bin; then mkdir -p ../bin; fi
/home/thomas/projets/buildroot/output/host/bin/arm-linux-gcc -o ../bin/pjmedia-test-arm-buildroot-linux-uclibcgnueabi \
     output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/codec_vectors.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/jbuf_test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/main.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/vid_codec_test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/vid_dev_test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/vid_port_test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/rtp_test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/test.o  output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/sdp_neg_test.o -lpjmedia-codec -lpjmedia-videodev -lpjmedia-audiodev -lpjmedia -lpjnath -lpjlib-util -lpj  -lilbccodec -lg7221codec  -lsrtp -lgsm -lspeex -lspeexdsp
-L/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib  -Lyes/lib -lbcg729 -lopus -lm -lrt -lpthread  -lasound -lopencore-amrnb -lopencore-amrwb   -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjlib/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjlib-util/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjnath/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjmedia/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/pjsip/lib -L/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/third_party/lib         -L/home/thomas/projets/buildroot/output/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib  -Lyes/lib     
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `amr_encode_decode':
mips_test.c:(.text+0x1ba8): undefined reference to `pjmedia_codec_opencore_amrnb_init'
mips_test.c:(.text+0x1bac): undefined reference to `pjmedia_codec_opencore_amrnb_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `speex16_encode_decode':
mips_test.c:(.text+0x1bfc): undefined reference to `pjmedia_codec_speex_init_default'
mips_test.c:(.text+0x1c00): undefined reference to `pjmedia_codec_speex_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `speex8_encode_decode':
mips_test.c:(.text+0x1c50): undefined reference to `pjmedia_codec_speex_init_default'
mips_test.c:(.text+0x1c54): undefined reference to `pjmedia_codec_speex_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `gsm_encode_decode':
mips_test.c:(.text+0x1d10): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x1d14): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_amr':
mips_test.c:(.text+0x21b0): undefined reference to `pjmedia_codec_opencore_amrnb_init'
mips_test.c:(.text+0x21b4): undefined reference to `pjmedia_codec_opencore_amrnb_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp80_with_auth':
mips_test.c:(.text+0x2228): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x222c): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp80_no_auth':
mips_test.c:(.text+0x22a4): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x22a8): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp32_with_auth':
mips_test.c:(.text+0x231c): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x2320): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm_srtp32_no_auth':
mips_test.c:(.text+0x2398): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x239c): undefined reference to `pjmedia_codec_gsm_deinit'
output/pjmedia-test-arm-buildroot-linux-uclibcgnueabi/mips_test.o: In function `create_stream_gsm':
mips_test.c:(.text+0x2410): undefined reference to `pjmedia_codec_gsm_init'
mips_test.c:(.text+0x2414): undefined reference to `pjmedia_codec_gsm_deinit'
collect2: error: ld returned 1 exit status
make[4]: *** [/home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/build/rules.mak:125: ../bin/pjmedia-test-arm-buildroot-linux-uclibcgnueabi] Error 1
make[3]: *** [Makefile:243: pjmedia-test-arm-buildroot-linux-uclibcgnueabi] Error 2
make[2]: *** [Makefile:14: all] Error 1
make[1]: *** [package/pkg-generic.mk:224: /home/thomas/projets/buildroot/output/build/libpjsip-2.7.2/.stamp_built] Error 2
make: *** [Makefile:79: _all] Error 2

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-03-26 19:48 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-12  9:29 [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Adam Duskett
2018-03-12  9:29 ` [Buildroot] [PATCH v4 2/7] libpjsip: add codecs without dependencies Adam Duskett
2018-03-12  9:29 ` [Buildroot] [PATCH v4 3/7] libpjsip: enable bcg729 codec Adam Duskett
2018-03-12  9:29 ` [Buildroot] [PATCH v4 4/7] libpjsip: enable gsm codec Adam Duskett
2018-03-12  9:29 ` [Buildroot] [PATCH v4 5/7] libpjsip: enable opencore-amr codec Adam Duskett
2018-03-12  9:29 ` [Buildroot] [PATCH v4 6/7] libpjsip: enable opus codec Adam Duskett
2018-03-12  9:29 ` [Buildroot] [PATCH v4 7/7] libpjsip: enable speex codec Adam Duskett
2018-03-26 19:46 ` [Buildroot] [PATCH v4 1/7] libpjsip: Add Alsa option Thomas Petazzoni
2018-03-26 19:48   ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.