From: Yann E. MORIN Date: Wed, 15 Jan 2020 21:01:54 +0000 (+0100) Subject: package/freeswitch: fix libvpx build X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=efb4e3632caa269515ce315ef137a05562390c62;p=buildroot.git package/freeswitch: fix libvpx build Fixes: http://autobuild.buildroot.net/results/4be/4be6df27f33e4fd6955e47892e1650a9d5ebbded/ Removed old patch. Source of the new patch: http://lists.busybox.net/pipermail/buildroot/2020-January/270707.html Signed-off-by: Bernd Kuhls Signed-off-by: Yann E. MORIN --- diff --git a/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch b/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch deleted file mode 100644 index 63fa33b93a..0000000000 --- a/package/freeswitch/0001-Fix-cross-compiling-libvpx.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix cross-compiling libvpx - -Freeswitch since version 1.6.7 only uses an in-tree-version of libvpx: -https://freeswitch.org/fisheye/changelog/freeswitch?cs=febe0f8dacea2d2a31902b3dc469be757f8c3c4d - -It is not possible to use an external version of libvpx anymore. -Unfortunately the freeswitch build system has no support for cross- -compiling libvpx so we need to patch Makefile to pass CROSS from -package/freeswitch/freeswitch.mk and add target=generic-gnu as -configure parameter: -https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/libs/libvpx/README#110 - -And yes, autoreconf is also broken, so we patch Makefile.in instead -of Makefile.am. - -Signed-off-by: Bernd Kuhls - -diff -uNr freeswitch-1.6.7.org/Makefile.in freeswitch-1.6.7/Makefile.in ---- freeswitch-1.6.7.org/Makefile.in 2016-04-01 18:09:54.000000000 +0200 -+++ freeswitch-1.6.7/Makefile.in 2016-04-22 20:11:37.938961730 +0200 -@@ -4182,7 +4182,7 @@ - cd libs/libzrtp && $(MAKE) - - libs/libvpx/Makefile: libs/libvpx/.update -- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) $(VISIBILITY_FLAG)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 -+ cd libs/libvpx && CROSS=$(CROSS) CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) $(VISIBILITY_FLAG)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 - - libs/libvpx/libvpx.a: libs/libvpx/Makefile libs/libvpx/.update - @cd libs/libvpx && $(MAKE) diff --git a/package/freeswitch/freeswitch.mk b/package/freeswitch/freeswitch.mk index d743e60f1c..5985df4a6e 100644 --- a/package/freeswitch/freeswitch.mk +++ b/package/freeswitch/freeswitch.mk @@ -309,6 +309,39 @@ FREESWITCH_CONF_OPTS += --enable-libvpx --enable-libyuv FREESWITCH_DEPENDENCIES += host-yasm ffmpeg FREESWITCH_ENABLED_MODULES += applications/mod_av applications/mod_fsv FREESWITCH_MAKE_ENV += CROSS=$(TARGET_CROSS) + +# Freeswitch's buildsystem forgets to pass important environment +# variables and config options when it configures libvpx, so +# pre-build libvpx manually, so Freeswitch does not attempt to run +# its flawed commands... +# Freeswitch only ever uses the static libtrary, that's hard-coded, +# we can't do anything about that... +# From package/libvpx/libvpx.mk: +# - this is not a true autotools package. It is based on the ffmpeg +# build system. +# - ld is being used with cc options. therefore, pretend ld is cc. +define FREESWITCH_BUILD_LIBVPX + cd $(@D)/libs/libvpx && \ + $(TARGET_CONFIGURE_OPTS) \ + $(TARGET_CONFIGURE_ARGS) \ + LD="$(TARGET_CC)" \ + CROSS=$(GNU_TARGET_NAME) \ + ./configure \ + --target=generic-gnu \ + --enable-pic \ + --prefix=/usr \ + --disable-shared --enable-static \ + --disable-examples \ + --disable-docs \ + --disable-unit-tests && \ + $(TARGET_MAKE_ENV) \ + $(LIBVPX_MAKE_ENV) \ + $(MAKE) \ + -C $(@D)/libs/libvpx \ + all +endef +FREESWITCH_PRE_BUILD_HOOKS += FREESWITCH_BUILD_LIBVPX + else FREESWITCH_CONF_OPTS += --disable-libvpx --disable-libyuv endif