mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 21:56:31 +00:00
musl: add a sys/queue.h implementation
Musl does not provide a 'sys/queue.h' implementation, and this has been a problem for packages that depend on it. So lets create a package called netbsd-queue that will install a 'sys/queue.h' in the staging directory when enabled, based on the NetBSD implementation. Musl toolchain and external toolchain packages will depend on this package, so that 'sys/queue.h' will be always installed when compiling with a musl based toolchain. Tested on ARM and x86 in the following cases: - Buildroot musl toolchain. - External musl toolchain without 'sys/queue.h'. - External musl toolchain with 'sys/queue.h'. Fixes: http://autobuild.buildroot.net/results/24bad2d06ab40024dacf136bee722072d587f84e And possibly many others. Signed-off-by: Sergio Prado <sergio.prado@e-labworks.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
1a886a9a25
commit
fa6473729c
@ -13,6 +13,11 @@ MUSL_LICENSE_FILES = COPYRIGHT
|
|||||||
# cross-compiler and the kernel headers
|
# cross-compiler and the kernel headers
|
||||||
MUSL_DEPENDENCIES = host-gcc-initial linux-headers
|
MUSL_DEPENDENCIES = host-gcc-initial linux-headers
|
||||||
|
|
||||||
|
# musl does not provide a sys/queue.h implementation, so add the
|
||||||
|
# netbsd-queue package that will install a sys/queue.h file in the
|
||||||
|
# staging directory based on the NetBSD implementation.
|
||||||
|
MUSL_DEPENDENCIES += netbsd-queue
|
||||||
|
|
||||||
# musl is part of the toolchain so disable the toolchain dependency
|
# musl is part of the toolchain so disable the toolchain dependency
|
||||||
MUSL_ADD_TOOLCHAIN_DEPENDENCY = NO
|
MUSL_ADD_TOOLCHAIN_DEPENDENCY = NO
|
||||||
|
|
||||||
|
2
package/netbsd-queue/netbsd-queue.hash
Normal file
2
package/netbsd-queue/netbsd-queue.hash
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Locally calculated
|
||||||
|
sha256 c13407edd0e33be73cae72514cb234f8612e1c0e54401c9448daffd3a240158b queue.h?rev=1.70
|
23
package/netbsd-queue/netbsd-queue.mk
Normal file
23
package/netbsd-queue/netbsd-queue.mk
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
# netbsd-queue
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
NETBSD_QUEUE_VERSION = 1.70
|
||||||
|
NETBSD_QUEUE_SITE = http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys
|
||||||
|
NETBSD_QUEUE_SOURCE = queue.h?rev=$(NETBSD_QUEUE_VERSION)
|
||||||
|
NETBSD_QUEUE_LICENSE = BSD-3c
|
||||||
|
|
||||||
|
NETBSD_QUEUE_INSTALL_STAGING = YES
|
||||||
|
|
||||||
|
define NETBSD_QUEUE_EXTRACT_CMDS
|
||||||
|
cp $(DL_DIR)/$(NETBSD_QUEUE_SOURCE) $(@D)/queue.h
|
||||||
|
endef
|
||||||
|
|
||||||
|
define NETBSD_QUEUE_INSTALL_STAGING_CMDS
|
||||||
|
$(INSTALL) -D -m 0644 $(@D)/queue.h \
|
||||||
|
$(STAGING_DIR)/usr/include/sys/queue.h
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(generic-package))
|
@ -237,6 +237,13 @@ TOOLCHAIN_EXTERNAL_CFLAGS += -msoft-float
|
|||||||
TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_SOFTFLOAT=1
|
TOOLCHAIN_EXTERNAL_TOOLCHAIN_WRAPPER_ARGS += -DBR_SOFTFLOAT=1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# musl does not provide a sys/queue.h implementation, so add the
|
||||||
|
# netbsd-queue package that will install a sys/queue.h file in the
|
||||||
|
# staging directory based on the NetBSD implementation.
|
||||||
|
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
|
||||||
|
TOOLCHAIN_EXTERNAL_DEPENDENCIES += netbsd-queue
|
||||||
|
endif
|
||||||
|
|
||||||
# The Linaro ARMhf toolchain expects the libraries in
|
# The Linaro ARMhf toolchain expects the libraries in
|
||||||
# {/usr,}/lib/arm-linux-gnueabihf, but Buildroot copies them to
|
# {/usr,}/lib/arm-linux-gnueabihf, but Buildroot copies them to
|
||||||
# {/usr,}/lib, so we need to create a symbolic link.
|
# {/usr,}/lib, so we need to create a symbolic link.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user