buildroot/package/libtextstyle/libtextstyle.mk
Adam Duskett 7b8eb87abe package/libtextstyle: new package
This library provides an easy way to add styling to programs that produce
output to a console or terminal emulator window.

libtextstyle is for you if your application produces text that is more readable
when it is accompanied with styling information, such as color, font
attributes (weight, posture), or underlining.

Our gettext-gnu package currently has HOST_GETTEXT_GNU_SUBDIR = gettext-tools
so we only configure and build the gettext-tools sub-directory. Version 0.20.1
of gettext-gnu now requires libtextstyle, which the subdirectory gettext-tools
does not provide.

We have three options:

1) Add hooks to configure and build libtextstyle as a pre-configure hook in
gettext-gnu, and install it in a pre-install hook.

2) Revert to building the whole of gettext.

3) Add a separate package for libtextstyle.

Here are the results of a test with BR2_JLEVEL=4:
- Only gettext-tools:      38.86s user 22.13s system 124% CPU 49.035 total
- gettext + libtextstyle:  40.78s user 14.57s system 146% CPU 37.817 total
- All of gettext:          203.18s user 122.87s system 161% CPU 3:22.39 total

As seen above, compiling the entire gettext package takes 5x longer than
building libtextstyle and gettext separately!

As such, the best option is option 3, as the time increase to build
libtextstyle is negligible.

Tested with test-pkg -p gettext-tiny in Debian 10 and Centos 7

            br-arm-full [1/6]: OK
 br-arm-cortex-a9-glibc [2/6]: OK
  br-arm-cortex-m4-full [3/6]: OK
         br-x86-64-musl [4/6]: OK
     br-arm-full-static [5/6]: OK
           sourcery-arm [6/6]: OK

Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-04-27 23:38:55 +02:00

25 lines
855 B
Makefile

################################################################################
#
# libtextstyle
#
################################################################################
# Please keep in sync with package/gettext-gnu/gettext-gnu.mk
LIBTEXTSTYLE_VERSION = 0.20.1
LIBTEXTSTYLE_SITE = $(BR2_GNU_MIRROR)/gettext
LIBTEXTSTYLE_SOURCE = gettext-$(LIBTEXTSTYLE_VERSION).tar.xz
LIBTEXTSTYLE_INSTALL_STAGING = YES
LIBTEXTSTYLE_LICENSE = GPL-3.0+
LIBTEXTSTYLE_LICENSE_FILES = COPYING
HOST_LIBTEXTSTYLE_DL_SUBDIR = gettext-gnu
HOST_LIBTEXTSTYLE_SUBDIR = libtextstyle
# gettext-tools require libtextstyle.m4
define HOST_LIBTEXTSTYLE_INSTALL_M4
$(INSTALL) -D -m 0755 $(@D)/libtextstyle/m4/libtextstyle.m4 \
$(ACLOCAL_HOST_DIR)/libtextstyle.m4
endef
HOST_LIBTEXTSTYLE_POST_INSTALL_HOOKS += HOST_LIBTEXTSTYLE_INSTALL_M4
$(eval $(host-autotools-package))