[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