package/chicken: new package

Currently everything is installed to target. There is also a possibility
to build a cross-compiler for the host, but that's for future work.
Currently also more is installed to the target than strictly necessary
for the interpreter to work.

Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>
[Arnout:
 - Rename to "chicken" instead of "libchicken".
 - Fix alphabetical ordering in package/Config.in.
 - Fix check-package warnings.
 - Drop BR2_CHICKEN_INSTALL_INTERPRETER, always install everything to
   target.
 - Set ARCH=unused otherwise autodiscovery is triggered.
 - Drop '-feature' argument, it is only used for external code and we
   can't know what kind of "feature" values that that code expects.
 - Make staging and target install identical.
 - _MAKE_ARGUMENTS -> _MAKE_OPTS.
 - Move DESTDIR to install commands only.
 - Use MAKE1 only when installing and don't add variable for it.
 - Add hash file.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Woodrow Douglass
2023-01-18 07:28:40 -05:00
committed by Arnout Vandecappelle
parent 14b3ca20c9
commit 3a5c045fd3
5 changed files with 55 additions and 0 deletions

View File

@@ -3277,6 +3277,7 @@ N: Wojciech Niziński <niziak@spox.org>
F: package/fwup/
N: Woodrow Douglass <wdouglass@carnegierobotics.com>
F: package/libchicken
F: package/opencv4
F: package/opencv4-contrib

View File

@@ -662,6 +662,7 @@ endmenu
menu "Interpreter languages and scripting"
source "package/4th/Config.in"
source "package/chicken/Config.in"
source "package/enscript/Config.in"
source "package/erlang/Config.in"
if BR2_PACKAGE_ERLANG

View File

@@ -0,0 +1,7 @@
config BR2_PACKAGE_CHICKEN
bool "chicken"
depends on BR2_USE_MMU
help
libchicken is the runtime library for chicken scheme.
https://call-cc.org

View File

@@ -0,0 +1,4 @@
# From https://code.call-cc.org/releases/5.3.0/chicken-5.3.0.tar.gz.sha256
sha256 c3ad99d8f9e17ed810912ef981ac3b0c2e2f46fb0ecc033b5c3b6dca1bdb0d76 chicken-5.3.0.tar.gz
# Locally computed
sha256 b434ac92e094214136a6b5032f0dc9da97f22cef084ac1d0131b02a09e2caa37 LICENSE

View File

@@ -0,0 +1,42 @@
################################################################################
#
# chicken
#
################################################################################
CHICKEN_VERSION = 5.3.0
CHICKEN_SITE = https://code.call-cc.org/releases/$(CHICKEN_VERSION)
CHICKEN_LICENSE = BSD-3-Clause
CHICKEN_LICENSE_FILES = LICENSE
CHICKEN_INSTALL_STAGING = YES
# If ARCH is not set, it attempts to autodiscover. But it is anyway not used.
CHICKEN_MAKE_OPTS = \
ARCH=unused \
C_COMPILER="$(TARGET_CC)" \
CXX_COMPILER="$(TARGET_CXX)" \
PREFIX=/usr \
PLATFORM=linux \
LIBRARIAN="$(TARGET_AR)"
ifeq ($(BR2_STATIC_LIBS),y)
CHICKEN_MAKE_OPTS += STATICBUILD=1
endif
define CHICKEN_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
$(CHICKEN_MAKE_OPTS) all
endef
# README states that parallel builds are not supported..
define CHICKEN_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) \
$(CHICKEN_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
endef
define CHICKEN_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) -C $(@D) \
$(CHICKEN_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
endef
$(eval $(generic-package))