[Buildroot] [PATCH 2/9] execline: new package
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Tue Aug 9 08:09:12 UTC 2016
Hello,
On Mon, 8 Aug 2016 23:02:13 +0200, Eric Le Bihan wrote:
> This package provides execline, a (non-interactive) scripting language,
> like sh, used in the s6 supervision system.
>
> Signed-off-by: Eric Le Bihan <eric.le.bihan.dev at free.fr>
> ---
> package/Config.in | 1 +
> package/execline/Config.in | 15 +++++++++
> package/execline/Config.in.host | 7 +++++
Why do we need an option visible in menuconfig to enable this as a host
package? Why do we need the host package at all?
> diff --git a/package/execline/Config.in b/package/execline/Config.in
> new file mode 100644
> index 0000000..a9e0a88
> --- /dev/null
> +++ b/package/execline/Config.in
> @@ -0,0 +1,15 @@
> +config BR2_PACKAGE_EXECLINE
> + bool "execline"
> + depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
> + select BR2_PACKAGE_SKALIBS
> + help
> + execline is a (non-interactive) scripting language, like sh ; but its
> + syntax is quite different from a traditional shell syntax.
> + The execlineb program is meant to be used as an interpreter for a text
> + file; the other commands are essentially useful inside an execlineb
> + script.
> +
> + http://skarnet.org/software/execline/
> +
> +comment "execline needs an (e)glibc or musl toolchain"
(e)glibc -> glibc
> +EXECLINE_VERSION = v2.1.5.0
> +EXECLINE_SITE = git://git.skarnet.org/execline.git
Please use the tarball.
> +EXECLINE_LICENSE = ISC
> +EXECLINE_LICENSE_FILES = COPYING
> +EXECLINE_INSTALL_STAGING = YES
> +EXECLINE_DEPENDENCIES = skalibs
> +
> +EXECLINE_CONFIGURE_OPTS = \
> + --prefix=/usr \
> + --with-sysdeps=$(STAGING_DIR)/usr/lib/skalibs/sysdeps \
> + --with-include=$(STAGING_DIR)/usr/include \
> + --with-dynlib=$(STAGING_DIR)/usr/lib \
> + --with-lib=$(STAGING_DIR)/usr/lib/skalibs
> +
> +ifeq ($(BR2_STATIC_LIBS),y)
> +EXECLINE_CONFIGURE_OPTS += --enable-static --disable-shared
> +else
> +EXECLINE_CONFIGURE_OPTS += --disable-static --enable-shared --disable-allstatic
> +endif
Handle the shared+static case.
> +
> +define EXECLINE_CONFIGURE_CMDS
> + (cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure $(EXECLINE_CONFIGURE_OPTS))
> +endef
> +
> +define EXECLINE_BUILD_CMDS
> + $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D)
> +endef
> +
> +define EXECLINE_INSTALL_TARGET_CMDS
> + $(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) DESTDIR=$(TARGET_DIR) install
You're using MAKE1 to build the target variant, but MAKE to build the
host variant. Is this expected?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list