diff mbox series

package/chicken: pass TARGET_CFLAGS to chicken build system explicitly

Message ID 20240806130553.981094-1-wdouglass@carnegierobotics.com
State Changes Requested
Headers show
Series package/chicken: pass TARGET_CFLAGS to chicken build system explicitly | expand

Commit Message

Woodrow Douglass Aug. 6, 2024, 1:05 p.m. UTC
Chicken Scheme's build system wants cflags to be passed as a make variable
in a way that's different then what buildroot expects. this bridges
the gap.

This commit also fixes the xtensa build problems, negating the need
for the xtensa build patch

Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>
---
 .../0001-xtensa-text-section-literals.patch   | 30 -------------------
 package/chicken/chicken.mk                    |  3 +-
 2 files changed, 1 insertion(+), 32 deletions(-)
 delete mode 100644 package/chicken/0001-xtensa-text-section-literals.patch

Comments

Baruch Siach Aug. 6, 2024, 2:26 p.m. UTC | #1
Hi Woodrow,

On Tue, Aug 06 2024, Woodrow Douglass via buildroot wrote:
> diff --git a/package/chicken/chicken.mk b/package/chicken/chicken.mk
> index 0520280134..e7a2384f5a 100644
> --- a/package/chicken/chicken.mk
> +++ b/package/chicken/chicken.mk
> @@ -16,8 +16,6 @@ CHICKEN_INSTALL_STAGING = YES
>  # values that have an effect, or pass "unused" here
>  ifeq ($(NORMALIZED_ARCH),x86_64)
>  CHICKEN_ARCH = x86-64
> -else ifeq ($(NORMALIZED_ARCH),xtensa)
> -CHICKEN_ARCH = xtensa
>  else
>  CHICKEN_ARCH = unused
>  endif
> @@ -25,6 +23,7 @@ endif
>  CHICKEN_MAKE_OPTS = \
>  	ARCH="$(CHICKEN_ARCH)" \
>  	C_COMPILER="$(TARGET_CC)" \
> +	C_COMPILER_OPTIONS="$(TARGET_CFLAGS) -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES" \

I think C_COMPILER_OPTIMIZATION_OPTIONS is better for this purpose.
C_COMPILER_OPTIMIZATION_OPTIONS usage is documented in README and
config.make, while C_COMPILER_OPTIONS looks like an internal
implementation detail. C_COMPILER_OPTIMIZATION_OPTIONS allows Buildroot
users to override upstream default optimization options via
BR2_OPTIMIZE_x, or debug options via BR2_DEBUG_x. Another advantage of
not using C_COMPILER_OPTIONS is that you won't have to copy its default
value here.

baruch

>  	CXX_COMPILER="$(TARGET_CXX)" \
>  	PREFIX=/usr \
>  	PLATFORM=linux \
diff mbox series

Patch

diff --git a/package/chicken/0001-xtensa-text-section-literals.patch b/package/chicken/0001-xtensa-text-section-literals.patch
deleted file mode 100644
index b93aaf9e21..0000000000
--- a/package/chicken/0001-xtensa-text-section-literals.patch
+++ /dev/null
@@ -1,30 +0,0 @@ 
-From e8d177f4d4e1c6bc41787ea1621e323ff4ad493e Mon Sep 17 00:00:00 2001
-From: Woodrow Douglass <wdouglass@carnegierobotics.com>
-Date: Mon, 22 Jul 2024 08:50:37 -0400
-Subject: [PATCH] Move literals into text section for xtensa architecture
-
-Upstream: https://bugs.call-cc.org/ticket/1840
-Signed-off-by: Woodrow Douglass <wdouglass@carnegierobotics.com>
----
- Makefile.linux | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/Makefile.linux b/Makefile.linux
-index b628cda4..e97c2b94 100644
---- a/Makefile.linux
-+++ b/Makefile.linux
-@@ -52,6 +52,11 @@ USES_SONAME = yes
- 
- # architectures
- 
-+ifeq ($(ARCH),xtensa)
-+C_COMPILER_OPTIONS += -mtext-section-literals
-+LINKER_OPTIONS += -mtext-section-literals
-+endif
-+
- ifeq ($(ARCH),x32)
- C_COMPILER_OPTIONS += -mx32
- LINKER_OPTIONS += -mx32
--- 
-2.39.2
-
diff --git a/package/chicken/chicken.mk b/package/chicken/chicken.mk
index 0520280134..e7a2384f5a 100644
--- a/package/chicken/chicken.mk
+++ b/package/chicken/chicken.mk
@@ -16,8 +16,6 @@  CHICKEN_INSTALL_STAGING = YES
 # values that have an effect, or pass "unused" here
 ifeq ($(NORMALIZED_ARCH),x86_64)
 CHICKEN_ARCH = x86-64
-else ifeq ($(NORMALIZED_ARCH),xtensa)
-CHICKEN_ARCH = xtensa
 else
 CHICKEN_ARCH = unused
 endif
@@ -25,6 +23,7 @@  endif
 CHICKEN_MAKE_OPTS = \
 	ARCH="$(CHICKEN_ARCH)" \
 	C_COMPILER="$(TARGET_CC)" \
+	C_COMPILER_OPTIONS="$(TARGET_CFLAGS) -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES" \
 	CXX_COMPILER="$(TARGET_CXX)" \
 	PREFIX=/usr \
 	PLATFORM=linux \