[Buildroot] [PATCH] package/mtd: install libubi.a and libmtd.a to staging
Romain Naour
romain.naour at openwide.fr
Sun Sep 7 09:34:42 UTC 2014
Hi Thomas,
Le 07/09/2014 09:51, Thomas Petazzoni a écrit :
> Dear Romain Naour,
>
> On Sat, 6 Sep 2014 23:59:01 +0200, Romain Naour wrote:
>> Makefile's install rule deploy mtd's binaries but also static libraries
>> (libubi.a libmtd.a).
>>
>> Since mtd's binaries are manualy installed to target, static
>> libraries are left in the build directory.
>>
>> Others tools linked with -lubi or -lmtd fail to build.
>>
>> Unconditionally build these libraries even if no mdt tool are enabled
>> and manually install them to staging by setting MTD_INSTALL_STAGING_CMDS
>
> I find the explanation somewhat convoluted here, what about simply:
>
> Currently, the mtd package only installs the mtd utilities into the
> target directory. However, the mtd-utils also provide two
> static libraries (libmtd.a and libubi.a) that can be used by other
> packages or tools.
>
> Therefore, this commit extends the mtd package by adding the
> installation to the staging directory of those two libraries.
>
That's fine.
>>
>> Signed-off-by: Romain Naour <romain.naour at openwide.fr>
>> ---
>> package/mtd/mtd.mk | 15 ++++++++++-----
>> 1 file changed, 10 insertions(+), 5 deletions(-)
>>
>> diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
>> index 80928b6..a9154a5 100644
>> --- a/package/mtd/mtd.mk
>> +++ b/package/mtd/mtd.mk
>> @@ -10,6 +10,8 @@ MTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils
>> MTD_LICENSE = GPLv2
>> MTD_LICENSE_FILES = COPYING
>>
>> +MTD_INSTALL_STAGING = YES
>> +
>> ifeq ($(BR2_PACKAGE_MTD_MKFSJFFS2),y)
>> MTD_DEPENDENCIES = zlib lzo
>> endif
>> @@ -36,6 +38,8 @@ endef
>> MKFS_JFFS2 = $(HOST_DIR)/usr/sbin/mkfs.jffs2
>> SUMTOOL = $(HOST_DIR)/usr/sbin/sumtool
>>
>> +MTD_STAGING_y += lib/libmtd.a
>> +MTD_STAGING_y += ubi-utils/libubi.a
>
> Maybe the spaces are not necessary, and something like:
>
> MTD_STAGING_y = lib/libmtd.a ubi-utils/libubi.a
>
> would be sufficient.
Fixed.
>
>> MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
>> MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
>> MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
>> @@ -79,16 +83,17 @@ MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIBLOCK) += ubiblock
>> MTD_TARGETS_y += $(addprefix ubi-utils/,$(MTD_TARGETS_UBI_y))
>> MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSUBIFS) += mkfs.ubifs/mkfs.ubifs
>>
>> -# only call make if atleast a single tool is enabled
>> -ifneq ($(MTD_TARGETS_y),)
>> -
>> define MTD_BUILD_CMDS
>> $(TARGET_CONFIGURE_OPTS) $(MAKE1) CROSS=$(TARGET_CROSS) \
>> BUILDDIR=$(@D) WITHOUT_XATTR=1 WITHOUT_LARGEFILE=1 -C $(@D) \
>> - $(addprefix $(@D)/,$(MTD_TARGETS_y))
>> + $(addprefix $(@D)/,$(MTD_TARGETS_y)) \
>> + $(addprefix $(@D)/,$(MTD_STAGING_y))
>> endef
>>
>> -endif
>> +define MTD_INSTALL_STAGING_CMDS
>> + $(INSTALL) -D -m 0755 $(@D)/lib/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a
>> + $(INSTALL) -D -m 0755 $(@D)/ubi-utils/libubi.a $(STAGING_DIR)/usr/lib/libubi.a
>
> Please indent with one tab, not spaces.
Fixed.
Thank you.
Best regards,
Romain
More information about the buildroot
mailing list