[Buildroot] [PATCH 03/52] package/asterisk: new package
Romain Naour
romain.naour at gmail.com
Sun Jan 22 20:31:08 UTC 2017
Hi Yann,
Le 30/12/2016 à 11:29, Yann E. MORIN a écrit :
> Asterisk: the flagship of telephony on Linux. These are the lines of
> code whose continuous mission is to power small and large enterprises
> telephony systems, to boldly provide IP PBX where no one has done so
> before.
>
> But it is a hell to get compiled... :-(
>
> For starters, it needs a host tool, menuselect, to prepare its build
> configuration. Unfortunately, the way it handles menuselect does not
> paly very well for cross-compilation: the main ./configure calls out to
> menuselect's own ./configure, and of course that runs with the same
> environement, which is wrong for croos-compilation (because of variables
> like CC, CFLAGS and the likes).
>
> Furthermore, the paths to menuselect are imbricated about everywhere in
> the main Makefile, so making it find menuselect in PATH is a lost cause.
> So we can't make menuselect a host-package... :-(
>
> Instead, we just patch-out the handling of menuselect and take care of
> it manually:
> - we manually configure it before configuring asterisk itself
> - we manually build it before building asterisk itself
>
> For those two, we duplicate the same code we have for host-autotools
> packages, and stay as close to it as possible.
>
> If that was not completely enough, asterisk requires libxml2, because
> menuselect needs it. So we should pass it the path the the host libxml2,
> not the target one. However, to add insult to injury, asterisk really
> needs libxml2 for the target as well, so we really need to pass it the
> target libxml2, which is now possible because we build menuselect
> separately.
>
> Some tests, like the crypt() one, are broken and could not have ever
> possibly worked at all. Worse, the FFmpeg test is looking for headers
> that FFmpeg removed more than 7 years ago and are virtually no longer
> available in any distro. So, FFmpeg support is definitely not tested by
> upstream and can't possibly work at all.
>
> Now, asterisk wants to install a default set of sound files (for
> answering machine stuff, I guess). They come come pre-bundled in the
> official archive [0], but the buildsystem will want to download (at
> install time) the sah1 files for each sound archive, to validate that
> said archive is correct. However, the download is done via plain http,
> so it still risks an MITM attack. And for Buildroot, it is not always
> possible to download at install time, so we patch-out the sha1 check.
>
> [0] http://downloads.asterisk.org/pub/telephony/asterisk/releases/
>
> The official archive contains the sound archives plus a full set of
> documentation. This makes it very big. Unfotunately, the hosting site is
> rather slow, topping at about ~204kbps. So we get the archive from the
> official mirror on Github. But that archive is missing the sound
> archives, so we download them separately.
>
> Finally, but not the least, asterisk does not autoreconf nicely at all,
> even with the provided bootstrap script, so we just patch configure.ac
> and configure since it is trivial enough to do so.
>
> Almost all features are disabled for now. Support for additional
> features will be added in subsequent patches now that we have a working
> base.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> ---
> package/Config.in | 1 +
> ...-configure-do-not-configure-in-menuselect.patch | 92 +++++++++++
> ...02-sounds-do-not-download-and-check-sha1s.patch | 52 ++++++
> .../0003-configure-fix-detection-of-libcrypt.patch | 62 +++++++
> package/asterisk/Config.in | 28 ++++
> package/asterisk/asterisk.hash | 9 +
> package/asterisk/asterisk.mk | 181 +++++++++++++++++++++
> 7 files changed, 425 insertions(+)
> create mode 100644 package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
> create mode 100644 package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
> create mode 100644 package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
> create mode 100644 package/asterisk/Config.in
> create mode 100644 package/asterisk/asterisk.hash
> create mode 100644 package/asterisk/asterisk.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 18818fa..38da776 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1443,6 +1443,7 @@ menu "Networking applications"
> source "package/apache/Config.in"
> source "package/argus/Config.in"
> source "package/arptables/Config.in"
> + source "package/asterisk/Config.in"
> source "package/atftp/Config.in"
> source "package/autossh/Config.in"
> source "package/avahi/Config.in"
> diff --git a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
> new file mode 100644
> index 0000000..c4fd060
> --- /dev/null
> +++ b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch
> @@ -0,0 +1,92 @@
> +From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001
> +From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +Date: Tue, 27 Dec 2016 11:20:19 +0100
> +Subject: [PATCH] configure: do not configure in menuselect
> +
> +When cross-compiling, the arguments and environment for ./configure are
> +different for the host and the target, and we want menuselect to be
> +compiled for the build machine, not the target.
> +
> +Although we do not pass any option to ./configure for menuselect, the
> +environment may still reference variables for the taget, like CC or
> +CFLAGS and so on... We can not build menuselect with those variables.
> +
> +Intead, just assume that menuselect will be pre-compiled.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +---
> + configure | 16 ----------------
> + configure.ac | 16 ----------------
> + 2 files changed, 32 deletions(-)
> +
> +diff --git a/configure b/configure
> +index 4ab32c9..b4aab11 100755
> +--- a/configure
> ++++ b/configure
> +@@ -35548,12 +35548,6 @@ fi
> +
> +
> +
> +-if test -f makeopts; then
> +- ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
> +-else
> +- touch makeopts.acbak
> +-fi
> +-
> + ac_config_files="$ac_config_files build_tools/menuselect-deps makeopts"
> +
> +
> +@@ -36874,16 +36868,6 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
> + fi
> +
> +
> +-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
> +-if test "x${ac_cv_path_CMP}" = "x:"; then
> +- ( cd `pwd`/menuselect && ./configure )
> +-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
> +- ( cd `pwd`/menuselect && ./configure )
> +-fi ; fi
> +-
> +-rm makeopts.acbak makeopts.acbak2
> +-
> +-
> + if test "x${silent}" != "xyes" ; then
> + echo
> + echo " .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=.. "
> +diff --git a/configure.ac b/configure.ac
> +index 66c8971..121dd93 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -2662,12 +2662,6 @@ fi
> +
> + AC_SUBST([PBX_SYSLOG])
> +
> +-if test -f makeopts; then
> +- ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak
> +-else
> +- touch makeopts.acbak
> +-fi
> +-
> + AC_CONFIG_FILES([build_tools/menuselect-deps makeopts])
> + AST_CHECK_MANDATORY
> +
> +@@ -2683,16 +2677,6 @@ fi
> +
> + AC_OUTPUT
> +
> +-${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2
> +-if test "x${ac_cv_path_CMP}" = "x:"; then
> +- ( cd `pwd`/menuselect && ./configure )
> +-else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else
> +- ( cd `pwd`/menuselect && ./configure )
> +-fi ; fi
> +-
> +-rm makeopts.acbak makeopts.acbak2
> +-
> +-
> + if test "x${silent}" != "xyes" ; then
> + echo
> + echo " .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=.. "
> +--
> +2.7.4
> +
> diff --git a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
> new file mode 100644
> index 0000000..8412843
> --- /dev/null
> +++ b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch
> @@ -0,0 +1,52 @@
> +From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001
> +From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +Date: Tue, 27 Dec 2016 11:21:09 +0100
> +Subject: [PATCH] sounds: do not download and check sha1s
> +
> +To validate the sound archives, the corresponding sha1s are also
> +downloaded from the same location, and that download is done at install
> +time.
> +
> +However, that poses at least two problems:
> +
> + - in Buildroot, we already have validated the downloads with the sha1s
> + anyway, and trying to download anything at install time is not
> + always possible (e.g. for off-line builds);
> +
> + - since the download scheme is not secured (plain http), a
> + man-in-the-middle for the sounds will also be able to MITM the
> + download of the sha1s, so there is absolutely no additional safety
> + in doing so.
> +
> +So we just do without the sha1 download and checks.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +---
> + sounds/Makefile | 10 ----------
> + 1 file changed, 10 deletions(-)
> +
> +diff --git a/sounds/Makefile b/sounds/Makefile
> +index 84d0f45..7a80d56 100644
> +--- a/sounds/Makefile
> ++++ b/sounds/Makefile
> +@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),)
> + if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \
> + (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \
> + fi; \
> +- if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@.sha1"; then \
> +- (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@.sha1); \
> +- fi; \
> + $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@" .; \
> +- $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@.sha1" .; \
> +- $$(SHA1SUM) -c --status $$@.sha1 || \
> +- ( \
> +- rm -f "$$(SOUNDS_CACHE_DIR)/$$@" "$$(SOUNDS_CACHE_DIR)/$$@.sha1" $$@ $$@.sha1; \
> +- echo "Bad checksum: $$@" 1>&2; \
> +- exit 1; \
> +- ) || exit 1; \
> + fi
> + else
> + $(CMD_PREFIX) \
> +--
> +2.7.4
> +
> diff --git a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
> new file mode 100644
> index 0000000..325ab49
> --- /dev/null
> +++ b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch
> @@ -0,0 +1,62 @@
> +From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001
> +From: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +Date: Tue, 27 Dec 2016 11:21:57 +0100
> +Subject: [PATCH] configure: fix detection of libcrypt
> +
> +The crypt() function is searched in two locations: -lcrypt and the
> +standard C library.
> +
> +The result of the forner is stored in the LIBCRYPT 'scheme' while that
> +of the latter is stored in the 'SYSCRYPT' scheme.
> +
> +However, the check for mandatory modules looks at the CRYPT 'scheme',
> +and thus concludes that crypt is missing when it was successfully found.
> +
> +Fix that by also storing the result of either check in the 'CRYPT'
> +scheme.
> +
> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> +---
> + configure | 2 ++
> + configure.ac | 2 ++
> + 2 files changed, 4 insertions(+)
> +
> +diff --git a/configure b/configure
> +index b4aab11..53648f1 100755
> +--- a/configure
> ++++ b/configure
> +@@ -31879,12 +31879,14 @@ fi
> + if test "x$LIBCRYPT_LIB" != "x" ; then
> + CRYPT_LIB="$LIBCRYPT_LIB"
> + CRYPT_INCLUDE="$LIBCRYPT_INCLUDE"
> ++ PBX_CRYPT=1
> +
> + $as_echo "#define HAVE_CRYPT 1" >>confdefs.h
> +
> + elif test "x$SYSCRYPT" != "x" ; then
> + CRYPT_LIB=""
> + CRYPT_INCLUDE=""
> ++ PBX_CRYPT=1
> +
> + $as_echo "#define HAVE_CRYPT 1" >>confdefs.h
> +
> +diff --git a/configure.ac b/configure.ac
> +index 121dd93..d459ff5 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""])
> + if test "x$LIBCRYPT_LIB" != "x" ; then
> + CRYPT_LIB="$LIBCRYPT_LIB"
> + CRYPT_INCLUDE="$LIBCRYPT_INCLUDE"
> ++ PBX_CRYPT=1
> + AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.])
> + elif test "x$SYSCRYPT" != "x" ; then
> + CRYPT_LIB=""
> + CRYPT_INCLUDE=""
> ++ PBX_CRYPT=1
> + AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.])
> + fi
> +
> +--
> +2.7.4
> +
> diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in
> new file mode 100644
> index 0000000..5e7f04b
> --- /dev/null
> +++ b/package/asterisk/Config.in
> @@ -0,0 +1,28 @@
> +config BR2_PACKAGE_ASTERISK
> + bool "asterisk"
> + depends on BR2_USE_MMU # fork()
> + depends on !BR2_STATIC_LIBS # dlopen()
> + depends on BR2_INSTALL_LIBSTDCPP
> + depends on BR2_TOOLCHAIN_HAS_THREADS
> + depends on BR2_USE_WCHAR # util-linux
> + select BR2_PACKAGE_JANSSON
> + select BR2_PACKAGE_LIBXML2
> + select BR2_PACKAGE_NCURSES
> + select BR2_PACKAGE_SQLITE
> + select BR2_PACKAGE_UTIL_LINUX
> + select BR2_PACKAGE_UTIL_LINUX_LIBUUID
> + help
> + Asterisk is an open source framework for building
> + communications applications. Asterisk turns an ordinary
> + computer into a communications server. Asterisk powers
> + IP PBX systems, VoIP gateways, conference servers and
> + other custom solutions. It is used by small businesses,
> + large businesses, call centers, carriers and government
> + agencies, worldwide. Asterisk is free and open source.
> +
> + http://www.asterisk.org/
> +
> +comment "asterisk needs a toolchain w/ C++, threads, wchar, dynamic library"
> + depends on BR2_USE_MMU
> + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
> + || !BR2_USE_WCHAR || BR2_STATIC_LIBS
> diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash
> new file mode 100644
> index 0000000..4cc09ae
> --- /dev/null
> +++ b/package/asterisk/asterisk.hash
> @@ -0,0 +1,9 @@
> +# From http://downloads.asterisk.org/pub/telephony/asterisk
> +sha256 0afce295676875bf422a028c586eff88146f068363aab35af09b1c56cfb9c138 asterisk-14.2.1.tar.gz
> +
> +# sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases
> +# sha256 locally computed
> +sha1 65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d asterisk-core-sounds-en-gsm-1.5.tar.gz
> +sha256 8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07 asterisk-core-sounds-en-gsm-1.5.tar.gz
> +sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz
> +sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asterisk-moh-opsound-wav-2.03.tar.gz
> diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
> new file mode 100644
> index 0000000..239e457
> --- /dev/null
> +++ b/package/asterisk/asterisk.mk
> @@ -0,0 +1,181 @@
> +################################################################################
> +#
> +# asterisk
> +#
> +################################################################################
> +
> +ASTERISK_VERSION = 14.2.1
> +# Use the github mirror: it's an official mirror maintained by Digium, and
> +# provides tarballs, which the main Asterisk git tree (behind Gerrit) does not.
> +ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION))
> +
> +ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases
> +ASTERISK_EXTRA_DOWNLOADS = \
> + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \
> + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz
> +
> +ASTERISK_DEPENDENCIES = jansson libxml2 ncurses sqlite util-linux
> +
> +# Those dependencies are to build the menuselect tool:
> +ASTERISK_DEPENDENCIES += host-libxml2 host-ncurses
> +
> +# avcodec are from ffmpeg. There is virtually zero chance this could
> +# even work; asterisk is looking for ffmpeg/avcodec.h which has not
> +# been installed in this location since early 2007 (~9 years at the
> +# time of this writing).
> +ASTERISK_CONF_OPTS = --without-avcodec
> +
> +ASTERISK_CONF_OPTS += \
> + --disable-xmldoc \
> + --disable-internal-poll \
> + --disable-asteriskssl \
> + --disable-rpath \
> + --without-asound \
> + --without-bfd \
> + --without-execinfo \
> + --without-bluetooth \
> + --without-cap \
> + --without-cpg \
> + --without-curses \
> + --without-dahdi \
> + --without-gsm \
> + --without-ilbc \
> + --without-gtk2 \
> + --without-gmime \
> + --without-h323 \
> + --without-hoard \
> + --without-ical \
> + --without-iconv \
> + --without-iksemel \
> + --without-imap \
> + --without-inotify \
> + --without-iodbc \
> + --without-isdnnet \
> + --without-jack \
> + --without-uriparser \
> + --without-kqueue \
> + --without-ldap \
> + --without-libcurl \
> + --without-libedit \
> + --without-libxslt \
> + --without-ltdl \
> + --without-lua \
> + --without-misdn \
> + --without-mysqlclient \
> + --without-nbs \
> + --without-neon \
> + --without-neon29 \
> + --without-netsnmp \
> + --without-newt \
> + --without-ogg \
> + --without-openr2 \
> + --without-opus \
> + --without-osptk \
> + --without-oss \
> + --without-postgres \
> + --without-pjproject \
> + --without-popt \
> + --without-portaudio \
> + --without-pri \
> + --without-pwlib \
> + --without-radius \
> + --without-resample \
> + --without-sdl \
> + --without-SDL_image \
> + --without-spandsp \
> + --without-ss7 \
> + --without-speex \
> + --without-speexdsp \
> + --without-sqlite \
> + --without-srtp \
> + --without-ssl \
> + --without-suppserv \
> + --without-tds \
> + --without-termcap \
> + --without-timerfd \
> + --without-tinfo \
> + --without-tonezone \
> + --without-unbound \
> + --without-unixodbc \
> + --without-vorbis \
> + --without-vpb \
> + --without-x11 \
> + --without-z \
> + --with-crypt \
> + --with-jansson \
> + --with-libxml2 \
> + --with-ncurses="$(STAGING_DIR)/usr" \
> + --with-sqlite3="$(STAGING_DIR)/usr" \
> + --with-sounds-cache=$(BR2_DL_DIR)
> +
> +ASTERISK_CONF_ENV = \
> + ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config
> +
> +ASTERISK_DIRS = \
> + ASTVARLIBDIR="/usr/lib/asterisk" \
> + ASTDATADIR="/usr/lib/asterisk" \
> + ASTKEYDIR="/usr/lib/asterisk" \
> + ASTDBDIR="/usr/lib/asterisk"
> +
> +ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS)
> +
> +# We want to install sample configuration files, too.
> +ASTERISK_INSTALL_TARGET_OPTS = \
> + $(ASTERISK_DIRS) \
> + DESTDIR=$(TARGET_DIR) \
> + install samples
There are some warnings about /usr/sbin/ldconfig being used on the target directory:
/usr/sbin/ldconfig: output/target/usr/lib/libjansson.so is for unknown machine 40.
[...]
I suggest to add LDCONFIG=true in ASTERISK_INSTALL_TARGET_OPTS.
> +
> +#-------------------------------------------------------------------------------
> +# This part deals with building the menuselect tool.
> +# Even though menuselect is an autotools package, it is *not* installed in
> +# $(HOST_DIR) as asterisk does expect it to be in a sub-directory of its
> +# source tree.
> +
> +ASTRISK_MENUSELECT_FLAGS = \
./support/scripts/check-package package/asterisk/*
package/asterisk/asterisk.mk:135: possible typo: ASTRISK_MENUSELECT_FLAGS ->
*ASTERISK*
:)
This is a quick (partial) review for today.
Best regards,
Romain
> + LDFLAGS="$(HOST_LDFLAGS) -lxml2" \
> + CFLAGS="$(HOST_CLFAGS) -I$(HOST_DIR)/usr/include/libxml2"
> +
> +ASTERISK_MENUSELECT_CONF_ENV = \
> + CONFIG_LIBXML2=$(HOST_DIR)/usr/bin/xml2-config
> +
> +ASTERISK_MENUSELECT_CONF_OPTS = \
> + --without-newt \
> + --without-curses \
> + --with-ncurses=$(HOST_DIR)/usr \
> + --with-libxml2=$(HOST_DIR)/usr \
> + $(ASTRISK_MENUSELECT_FLAGS)
> +
> +ASTERISK_MENUSELECT_MAKE_OPTS = \
> + $(ASTRISK_MENUSELECT_FLAGS)
> +
> +define ASTERISK_MENUSELECT_CONFIGURE_CMDS
> + cd $(@D)/menuselect && rm -rf config.cache; \
> + $(HOST_CONFIGURE_OPTS) \
> + CFLAGS="$(HOST_CFLAGS)" \
> + LDFLAGS="$(HOST_LDFLAGS)" \
> + $(ASTERISK_MENUSELECT_CONF_ENV) \
> + CONFIG_SITE=/dev/null \
> + ./configure \
> + --prefix="$(HOST_DIR)/usr" \
> + --sysconfdir="$(HOST_DIR)/etc" \
> + --localstatedir="$(HOST_DIR)/var" \
> + --enable-shared --disable-static \
> + --disable-gtk-doc \
> + --disable-gtk-doc-html \
> + --disable-doc \
> + --disable-docs \
> + --disable-documentation \
> + --disable-debug \
> + --with-xmlto=no \
> + --with-fop=no \
> + --disable-dependency-tracking \
> + $(QUIET) $(ASTERISK_MENUSELECT_CONF_OPTS)
> +endef
> +ASTERISK_PRE_CONFIGURE_HOOKS += ASTERISK_MENUSELECT_CONFIGURE_CMDS
> +
> +define ASTERISK_MENUSELECT_BUILD_CMDS
> + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/menuselect $(ASTERISK_MENUSELECT_MAKE_OPTS)
> +endef
> +ASTERISK_PRE_BUILD_HOOKS += ASTERISK_MENUSELECT_BUILD_CMDS
> +
> +$(eval $(autotools-package))
>
More information about the buildroot
mailing list