[Buildroot] [PATCH] package/asterisk: fix host build
Arnout Vandecappelle
arnout at mind.be
Sun Sep 24 16:51:00 UTC 2017
On 24-09-17 18:33, Yann E. MORIN wrote:
> The host menuselect tool is linked to our host libxml2 library, but it
> is missing an RPATH to the host directory.
>
> This is because menuselect does not use automake, so does not inherit
> the LDFLAGS from the configure run.
>
> We fix that by simply passing $(HOST_CONFIGURE_OPTS) in the make
> environment.
>
> At the same time, we also install the tool in the host directory, even
> if not used from there, so that the sanity checks we run are properly
> passed.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> Cc: Arnout Vandecappelle <arnout at mind.be>
> ---
> package/asterisk/asterisk.mk | 21 ++++++++++++++++-----
> 1 file changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk
> index a6801a006d..50512c0b3a 100644
> --- a/package/asterisk/asterisk.mk
> +++ b/package/asterisk/asterisk.mk
> @@ -294,12 +294,23 @@ HOST_ASTERISK_CONF_OPTS = \
> --without-curses \
> --with-ncurses=$(HOST_DIR)/usr
>
> -# Even though menuselect is an autotools package, it is *not* installed,
> -# as asterisk does expect it to be in a sub-directory of its source tree,
> -# which do by copying the full menuselect build tree as a pre-configure
> -# hook in the target variant.
> +# Not an automake package, so does not inherit LDFLAGS et al. from
> +# the configure run.
> +HOST_ASTERISK_MAKE_ENV = $(HOST_CONFIGURE_OPTS)
> +
> +# Even though menuselect is an autotools package, it is not an automake
> +# package and does not have an 'install' rule, as asterisk does expect
> +# it to be in a sub-directory of its source tree. We do so by copying
> +# the full menuselect build tree as a pre-configure hook in the target
> +# variant.
> +# However, the sanity checks on host packages are not run on menuselect.
> +# But we still want to catch that menuselect has the proper rpath set,
> +# for example, as it uses host libraries that we do build, like
> +# host-libxml2.
> +# So we do manually install the menuselect tool.
> define HOST_ASTERISK_INSTALL_CMDS
> - @:
> + $(INSTALL) -D -m 0755 $(@D)/menuselect/menuselect \
> + $(HOST_DIR)/bin/asterisk-menuselect
So then could you symlink to this instead of copying the entire tree?
Regards,
Arnout
> endef
>
> $(eval $(host-autotools-package))
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list