You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/02/18 13:35:02 UTC

(nuttx) 02/02: intel64/Toolchain.defs: move toolchain releated option to Toolchain.defs

This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit de61a8e0097abb5abe83a848b516a8d5615f5aa8
Author: Bowen Wang <wa...@xiaomi.com>
AuthorDate: Fri Jan 26 16:22:01 2024 +0800

    intel64/Toolchain.defs: move toolchain releated option to Toolchain.defs
    
    Follow other arch does, move common toolchain option to Toolchain.defs
    
    Signed-off-by: Bowen Wang <wa...@xiaomi.com>
---
 .../x86_64/src/common/Toolchain.defs               | 14 +++----
 arch/x86_64/src/intel64/Toolchain.defs             | 21 +++++++++++
 .../x86_64/intel64/qemu-intel64/scripts/Make.defs  | 44 +---------------------
 3 files changed, 27 insertions(+), 52 deletions(-)

diff --git a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs b/arch/x86_64/src/common/Toolchain.defs
similarity index 85%
copy from boards/x86_64/intel64/qemu-intel64/scripts/Make.defs
copy to arch/x86_64/src/common/Toolchain.defs
index f9a264dfbb..d4c1717575 100644
--- a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs
+++ b/arch/x86_64/src/common/Toolchain.defs
@@ -1,5 +1,5 @@
 ############################################################################
-# boards/x86_64/intel64/qemu-intel64/scripts/Make.defs
+# arch/x86_64/src/common/Toolchain.defs
 #
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
@@ -18,20 +18,16 @@
 #
 ############################################################################
 
-include $(TOPDIR)/.config
-include $(TOPDIR)/tools/Config.mk
-
 ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
   ARCHOPTIMIZATION = -g
 endif
 
 ifneq ($(CONFIG_DEBUG_NOOPT),y)
-  ARCHOPTIMIZATION += -O2 -fno-optimize-sibling-calls -fno-omit-frame-pointer -fno-crossjumping -fno-delete-null-pointer-checks
-
+  ARCHOPTIMIZATION += -O2 -fno-optimize-sibling-calls
+  ARCHOPTIMIZATION += -fno-omit-frame-pointer -fno-crossjumping
+  ARCHOPTIMIZATION += -fno-delete-null-pointer-checks
 endif
 
-ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)qemu.ld
-
 ARCHCPUFLAGS = -fPIC -fno-stack-protector -mno-red-zone -mrdrnd
 ARCHPICFLAGS = -fPIC
 ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
@@ -48,7 +44,7 @@ CROSSDEV = x86_64-elf-
 endif
 
 CC = $(CROSSDEV)gcc
-CPP = $(CROSSDEV)gcc -E
+CPP = $(CROSSDEV)gcc -E -x c
 LD = $(CROSSDEV)ld
 STRIP = $(CROSSDEV)strip --strip-unneeded
 AR = $(CROSSDEV)ar rcs
diff --git a/arch/x86_64/src/intel64/Toolchain.defs b/arch/x86_64/src/intel64/Toolchain.defs
new file mode 100644
index 0000000000..6d0392aaa3
--- /dev/null
+++ b/arch/x86_64/src/intel64/Toolchain.defs
@@ -0,0 +1,21 @@
+############################################################################
+# arch/x86_64/src/intel64/Toolchain.defs
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.  The
+# ASF licenses this file to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance with the
+# License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+############################################################################
+
+include $(TOPDIR)/arch/x86_64/src/common/Toolchain.defs
diff --git a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs b/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs
index f9a264dfbb..e55817d63f 100644
--- a/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs
+++ b/boards/x86_64/intel64/qemu-intel64/scripts/Make.defs
@@ -20,48 +20,6 @@
 
 include $(TOPDIR)/.config
 include $(TOPDIR)/tools/Config.mk
-
-ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
-  ARCHOPTIMIZATION = -g
-endif
-
-ifneq ($(CONFIG_DEBUG_NOOPT),y)
-  ARCHOPTIMIZATION += -O2 -fno-optimize-sibling-calls -fno-omit-frame-pointer -fno-crossjumping -fno-delete-null-pointer-checks
-
-endif
+include $(TOPDIR)/arch/x86_64/src/intel64/Toolchain.defs
 
 ARCHSCRIPT += $(BOARD_DIR)$(DELIM)scripts$(DELIM)qemu.ld
-
-ARCHCPUFLAGS = -fPIC -fno-stack-protector -mno-red-zone -mrdrnd
-ARCHPICFLAGS = -fPIC
-ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow -Wundef
-
-# We have to use a cross-development toolchain under Cygwin because the native
-# Cygwin toolchains don't generate ELF binaries.
-
-ifeq ($(CONFIG_WINDOWS_CYGWIN),y)
-CROSSDEV = i486-nuttx-elf-
-endif
-
-ifeq ($(CONFIG_HOST_MACOS),y)
-CROSSDEV = x86_64-elf-
-endif
-
-CC = $(CROSSDEV)gcc
-CPP = $(CROSSDEV)gcc -E
-LD = $(CROSSDEV)ld
-STRIP = $(CROSSDEV)strip --strip-unneeded
-AR = $(CROSSDEV)ar rcs
-NM = $(CROSSDEV)nm
-OBJCOPY = $(CROSSDEV)objcopy
-OBJDUMP = $(CROSSDEV)objdump
-
-CFLAGS := $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS) -pipe
-CPPFLAGS := $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRAFLAGS)
-AFLAGS := $(CFLAGS) -D__ASSEMBLY__
-
-ifeq ($(CONFIG_HOST_MACOS),y)
-AFLAGS += -Wa,--divide
-endif
-
-EXEEXT = .elf