mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-11-14 02:02:39 +08:00
Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg
This commit is contained in:
1 parent
1504f71edf
commit
2758c9f20b
5 files changed
+317
-141
No files matched your search
+8
-2
@@ -131,8 +131,11 @@ case "${target}" in
|
||||
;;
|
||||
i[[3456]]86-pc-linux*) # unix "simulator" port
|
||||
target_cpu=unix
|
||||
RTEMS_HAS_POSIX_API=no
|
||||
RTEMS_HOST=Linux
|
||||
# override these settings
|
||||
RTEMS_HAS_POSIX_API=no
|
||||
RTEMS_USE_GCC272=yes
|
||||
RTEMS_LIBC_DIR=/usr
|
||||
;;
|
||||
no_cpu-*rtems*)
|
||||
target_cpu=no_cpu
|
||||
@@ -140,8 +143,11 @@ case "${target}" in
|
||||
;;
|
||||
sparc-sun-solaris*) # unix "simulator" port
|
||||
target_cpu=unix
|
||||
RTEMS_HAS_POSIX_API=no
|
||||
RTEMS_HOST=Solaris
|
||||
# override these settings
|
||||
RTEMS_HAS_POSIX_API=no
|
||||
RTEMS_USE_GCC272=yes
|
||||
RTEMS_LIBC_DIR=/usr
|
||||
;;
|
||||
*)
|
||||
RTEMS_CANONICAL_TARGET_CPU
|
||||
|
||||
+82
-14
@@ -8,8 +8,6 @@
|
||||
HOST_ARCH=o-$(RTEMS_HOST)
|
||||
TARGET_ARCH=o-$(RTEMS_BSP)
|
||||
|
||||
include $(RTEMS_ROOT)/make/main.cfg
|
||||
|
||||
RTEMS_CPU=unix
|
||||
RTEMS_CPU_FAMILY=hppa1_1
|
||||
RTEMS_CPU_MODEL=hppa7200
|
||||
@@ -18,23 +16,19 @@ RTEMS_UNIX_FLAVOR=hpux
|
||||
# This is the actual bsp directory used during the build process.
|
||||
RTEMS_BSP_FAMILY=posix
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||
|
||||
# use the macros instead of the inline functions
|
||||
# The macros work better when mixed with other compilers.
|
||||
INLINE=macros
|
||||
INLINE_UPCASE=MACRO
|
||||
|
||||
# HOST Compiler config file
|
||||
# You may also want to specify where the compiler resides here.
|
||||
CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST)
|
||||
CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg
|
||||
|
||||
## Target compiler config file, if any
|
||||
CC_$(TARGET_ARCH)_DIR=$(CC_$(HOST_ARCH)_DIR)
|
||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-hpux9.cfg
|
||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
||||
|
||||
# Use the LIBC support for CYGNUS newlib
|
||||
# RTEMS_LIBC_DIR must already be set (by module file)
|
||||
RTEMS_USE_NEWLIB=yes
|
||||
# RTEMS_LIBC_DIR must already be set (by configuration) DOES NOT MATTER
|
||||
LIBC_DEFINES=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG
|
||||
|
||||
# The following define the memory reserved in the executable for the
|
||||
# RTEMS Workspace and the C Program Heap.
|
||||
@@ -42,9 +36,6 @@ RTEMS_USE_NEWLIB=yes
|
||||
LIBC_DEFINES += -DWORKSPACE_MB=2
|
||||
LIBC_DEFINES += -DHEAPSPACE_MB=1
|
||||
|
||||
# Uncomment the following line if want stack checking should be enabled
|
||||
#LIBC_DEFINES += -DSTACK_CHECKER_ON
|
||||
|
||||
# Define this to yes if this target supports multiprocessor environments.
|
||||
HAS_MP=yes
|
||||
|
||||
@@ -55,4 +46,81 @@ HAS_KA9Q=no
|
||||
# This target does NOT support the POSIX API.
|
||||
HAS_POSIX_API=no
|
||||
|
||||
HAS_POSIX_API=no
|
||||
|
||||
# optimize flag: typically -0, could use -O4 or -fast
|
||||
# -O4 is ok for RTEMS
|
||||
CFLAGS_OPTIMIZE_V = -O2
|
||||
|
||||
# This section makes the target dependent options file.
|
||||
|
||||
# NDEBUG (C library)
|
||||
# if defined asserts do not generate code. This is commonly used
|
||||
# as a command line option.
|
||||
#
|
||||
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
|
||||
# do not pause between screens of output in the rtems tests
|
||||
#
|
||||
# NO_TABLE_MOVE (SPARC PORT)
|
||||
# do not have a second trap table -- use the BSP's
|
||||
#
|
||||
# STACK_CHECKER_ON (RTEMS support code)
|
||||
# If defined, stack bounds checking is enabled.
|
||||
#
|
||||
# STACK_CHECKER_REPORT_USAGE (RTEMS support code)
|
||||
# If this and STACK_CHECKER_ON are defined, then a report on stack usage
|
||||
# per task is printed when the program exits.
|
||||
#
|
||||
# RTEMS_DEBUG (RTEMS)
|
||||
# If defined, debug checks in RTEMS and support library code are enabled.
|
||||
#
|
||||
# RTEMS_UNIX (unix)
|
||||
# Define this to indicate this is an RTEMS UNIX port.
|
||||
|
||||
define make-target-options
|
||||
echo "/* #define NDEBUG 1 */ " >>$@
|
||||
echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
|
||||
echo "/* #define STACK_CHECKER_ON 1 */" >>$@
|
||||
echo "/* #define STACK_CHECKER_REPORT_USAGE 1 */" >>$@
|
||||
echo "/* #define RTEMS_DEBUG 1 */" >>$@
|
||||
echo "#define RTEMS_UNIX 1 " >>$@
|
||||
endef
|
||||
|
||||
ifeq ($(RTEMS_USE_GCC272),yes)
|
||||
define make-exe
|
||||
$(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC)
|
||||
$(NM) -ng $@ > $(basename $@).num
|
||||
$(SIZE) $@
|
||||
endef
|
||||
else
|
||||
#
|
||||
# gcc28 not yet supported
|
||||
#
|
||||
endif
|
||||
|
||||
# Miscellaneous additions go here
|
||||
# Setting formerly contained in gcc-hpux9.cfg
|
||||
|
||||
# Not applicable - let's override 'em
|
||||
LINKCMDS=
|
||||
START_FILE=
|
||||
START_BASE=
|
||||
|
||||
# Here is the rule to actually build a $(ARCH)/foo.exe
|
||||
# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm
|
||||
# Usage ref: src/tests/sptest/sp1/Makefile
|
||||
#
|
||||
# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile)
|
||||
# If NODE is set as an environment variable, don't trust it, zero it out.
|
||||
# (NODE turns out to be a very common environment variable)
|
||||
ifeq (,$(NODE))
|
||||
NODE=0
|
||||
else
|
||||
ifeq "$(origin NODE)" "environment"
|
||||
NODE=0
|
||||
endif
|
||||
endif
|
||||
|
||||
# Workaround for missing ranlib support in RTEMS
|
||||
MKLIB=$(AR) s $(@) ; echo library is complete:
|
||||
|
||||
+88
-29
@@ -4,12 +4,6 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
# Specify here the host and target "architectures"
|
||||
HOST_ARCH=o-$(RTEMS_HOST)
|
||||
TARGET_ARCH=o-linux1
|
||||
|
||||
include $(RTEMS_ROOT)/make/main.cfg
|
||||
|
||||
RTEMS_CPU=unix
|
||||
RTEMS_CPU_FAMILY=i386
|
||||
RTEMS_CPU_MODEL=i486dx
|
||||
@@ -18,45 +12,33 @@ RTEMS_UNIX_FLAVOR=linux
|
||||
# This is the actual bsp directory used during the build process.
|
||||
RTEMS_BSP_FAMILY=posix
|
||||
|
||||
# use the inline functions instead of the macros
|
||||
# ref: src/exec/generic/Makefile
|
||||
# Need INLINE_UPCASE set to uppercase value of INLINE variable
|
||||
# ref: make/compilers/gcc-force386.cfg
|
||||
ifeq ($(RTEMS_USE_MACROS),yes)
|
||||
INLINE=macros
|
||||
INLINE_UPCASE=
|
||||
else
|
||||
INLINE=inline
|
||||
INLINE_UPCASE=INLINE
|
||||
endif
|
||||
# share the posix bsp
|
||||
TARGET_ARCH=o-linux1
|
||||
RTEMS_BSP=posix
|
||||
|
||||
# HOST Compiler config file
|
||||
# You may also want to specify where the compiler resides here.
|
||||
CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST)
|
||||
CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg
|
||||
include $(RTEMS_ROOT)/make/custom/default.cfg
|
||||
|
||||
## Target compiler config file, if any
|
||||
CC_$(TARGET_ARCH)_DIR=$(CC_$(HOST_ARCH)_DIR)
|
||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-linux1.cfg
|
||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
||||
|
||||
# DO NOT Use the LIBC support for CYGNUS newlib
|
||||
# RTEMS_LIBC_DIR must already be set (by module file) DOES NOT MATTER
|
||||
RTEMS_USE_NEWLIB=no
|
||||
|
||||
# RTEMS_LIBC_DIR must already be set (by configuration) DOES NOT MATTER
|
||||
LIBC_DEFINES=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG
|
||||
LIBC_INCLUDE=/usr/include
|
||||
LIBC_LIBC=-lc
|
||||
LIBC_LIBM=-lm
|
||||
LIBC_EXTRA_LIBS=
|
||||
|
||||
# The following define the memory reserved in the executable for the
|
||||
# RTEMS Workspace and the C Program Heap.
|
||||
LIBC_DEFINES += -DWORKSPACE_MB=2
|
||||
LIBC_DEFINES += -DHEAPSPACE_MB=1
|
||||
|
||||
|
||||
# Define this to yes if C++ is included in the development environment
|
||||
# This requires that at least the GNU C++ compiler and libg++ be installed.
|
||||
ifeq ($(RTEMS_HAS_CPLUSPLUS),yes)
|
||||
HAS_CPLUSPLUS=yes
|
||||
LIBCC_INCLUDE=/usr/include/g++
|
||||
# No need to set it, gcc knows about them
|
||||
# LIBCC_INCLUDE=/usr/include/g++
|
||||
CPLUS_LD_LIBS=-lstdc++
|
||||
CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA)
|
||||
else
|
||||
@@ -73,4 +55,81 @@ HAS_KA9Q=no
|
||||
# This target does NOT support the POSIX API.
|
||||
HAS_POSIX_API=no
|
||||
|
||||
# optimize flag: typically -0, could use -O4 or -fast
|
||||
# -O4 is ok for RTEMS
|
||||
CFLAGS_OPTIMIZE_V = -O2
|
||||
|
||||
# This section makes the target dependent options file.
|
||||
|
||||
# NDEBUG (C library)
|
||||
# if defined asserts do not generate code. This is commonly used
|
||||
# as a command line option.
|
||||
#
|
||||
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
|
||||
# do not pause between screens of output in the rtems tests
|
||||
#
|
||||
# NO_TABLE_MOVE (SPARC PORT)
|
||||
# do not have a second trap table -- use the BSP's
|
||||
#
|
||||
# STACK_CHECKER_ON (RTEMS support code)
|
||||
# If defined, stack bounds checking is enabled.
|
||||
#
|
||||
# STACK_CHECKER_REPORT_USAGE (RTEMS support code)
|
||||
# If this and STACK_CHECKER_ON are defined, then a report on stack usage
|
||||
# per task is printed when the program exits.
|
||||
#
|
||||
# RTEMS_DEBUG (RTEMS)
|
||||
# If defined, debug checks in RTEMS and support library code are enabled.
|
||||
#
|
||||
# RTEMS_UNIX (unix)
|
||||
# Define this to indicate this is an RTEMS UNIX port.
|
||||
|
||||
define make-target-options
|
||||
echo "/* #define NDEBUG 1 */ " >>$@
|
||||
echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
|
||||
echo "/* #define STACK_CHECKER_ON 1 */" >>$@
|
||||
echo "/* #define STACK_CHECKER_REPORT_USAGE 1 */" >>$@
|
||||
echo "/* #define RTEMS_DEBUG 1 */" >>$@
|
||||
echo "#define RTEMS_UNIX 1 " >>$@
|
||||
endef
|
||||
|
||||
ifeq ($(RTEMS_USE_GCC272),yes)
|
||||
define make-exe
|
||||
$(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC)
|
||||
$(NM) -ng $@ > $(basename $@).num
|
||||
$(SIZE) $@
|
||||
endef
|
||||
else
|
||||
#
|
||||
# gcc28 not yet supported
|
||||
#
|
||||
endif
|
||||
|
||||
|
||||
# *****************************************************************
|
||||
# Miscellaneous additions go here
|
||||
|
||||
# Setting formerly contained in gcc-linux1.cfg
|
||||
|
||||
# Not applicable - let's override 'em
|
||||
LINKCMDS=
|
||||
START_FILE=
|
||||
START_BASE=
|
||||
|
||||
# Here is the rule to actually build a $(ARCH)/foo.exe
|
||||
# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm
|
||||
# Usage ref: src/tests/sptest/sp1/Makefile
|
||||
#
|
||||
# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile)
|
||||
# If NODE is set as an environment variable, don't trust it, zero it out.
|
||||
# (NODE turns out to be a very common environment variable)
|
||||
ifeq (,$(NODE))
|
||||
NODE=0
|
||||
else
|
||||
ifeq "$(origin NODE)" "environment"
|
||||
NODE=0
|
||||
endif
|
||||
endif
|
||||
|
||||
# Workaround for missing ranlib support in RTEMS
|
||||
MKLIB=$(AR) s $(@) ; echo library is complete:
|
||||
@@ -4,12 +4,6 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
# Specify here the host and target "architectures"
|
||||
HOST_ARCH=o-$(RTEMS_HOST)
|
||||
TARGET_ARCH=o-$(RTEMS_BSP)
|
||||
|
||||
include $(RTEMS_ROOT)/make/main.cfg
|
||||
|
||||
RTEMS_CPU=unix
|
||||
RTEMS_CPU_FAMILY=sparc
|
||||
RTEMS_CPU_MODEL=sparc_v8
|
||||
@@ -18,31 +12,20 @@ RTEMS_UNIX_FLAVOR=solaris
|
||||
# This is the actual bsp directory used during the build process.
|
||||
RTEMS_BSP_FAMILY=posix
|
||||
|
||||
# use the inline functions instead of the macros
|
||||
# ref: src/exec/generic/Makefile
|
||||
# Need INLINE_UPCASE set to uppercase value of INLINE variable
|
||||
# ref: make/compilers/gcc-force386.cfg
|
||||
ifeq (${RTEMS_USE_MACROS},yes)
|
||||
INLINE=macros
|
||||
INLINE_UPCASE=
|
||||
else
|
||||
INLINE=inline
|
||||
INLINE_UPCASE=INLINE
|
||||
endif
|
||||
# share the posix bsp
|
||||
TARGET_ARCH=o-solaris2
|
||||
RTEMS_BSP=posix
|
||||
|
||||
# HOST Compiler config file
|
||||
# You may also want to specify where the compiler resides here.
|
||||
CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST)
|
||||
CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg
|
||||
include $(RTEMS_ROOT)/make/default.cfg
|
||||
|
||||
## Target compiler config file, if any
|
||||
CC_$(TARGET_ARCH)_DIR=$(CC_$(HOST_ARCH)_DIR)
|
||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-solaris2.cfg
|
||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
||||
|
||||
# Use the LIBC support for CYGNUS newlib
|
||||
# RTEMS_LIBC_DIR must already be set (by module file)
|
||||
RTEMS_USE_NEWLIB=no
|
||||
|
||||
LIBC_DEFINES=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG
|
||||
LIBC_LIBM=-lm
|
||||
|
||||
# Define this to yes if C++ is included in the development environment
|
||||
@@ -67,4 +50,58 @@ HAS_KA9Q=no
|
||||
# This target does NOT support the POSIX API.
|
||||
HAS_POSIX_API=no
|
||||
|
||||
# optimize flag: typically -0, could use -O4 or -fast
|
||||
# -O4 is ok for RTEMS
|
||||
CFLAGS_OPTIMIZE_V = -O2
|
||||
|
||||
# This section makes the target dependent options file.
|
||||
|
||||
# NDEBUG (C library)
|
||||
# if defined asserts do not generate code. This is commonly used
|
||||
# as a command line option.
|
||||
#
|
||||
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
|
||||
# do not pause between screens of output in the rtems tests
|
||||
#
|
||||
# NO_TABLE_MOVE (SPARC PORT)
|
||||
# do not have a second trap table -- use the BSP's
|
||||
#
|
||||
# STACK_CHECKER_ON (RTEMS support code)
|
||||
# If defined, stack bounds checking is enabled.
|
||||
#
|
||||
# STACK_CHECKER_REPORT_USAGE (RTEMS support code)
|
||||
# If this and STACK_CHECKER_ON are defined, then a report on stack usage
|
||||
# per task is printed when the program exits.
|
||||
#
|
||||
# RTEMS_DEBUG (RTEMS)
|
||||
# If defined, debug checks in RTEMS and support library code are enabled.
|
||||
#
|
||||
# RTEMS_UNIX (unix)
|
||||
# Define this to indicate this is an RTEMS UNIX port.
|
||||
|
||||
define make-target-options
|
||||
echo "/* #define NDEBUG 1 */ " >>$@
|
||||
echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
|
||||
echo "/* #define STACK_CHECKER_ON 1 */" >>$@
|
||||
echo "/* #define STACK_CHECKER_REPORT_USAGE 1 */" >>$@
|
||||
echo "/* #define RTEMS_DEBUG 1 */" >>$@
|
||||
echo "#define RTEMS_UNIX 1 " >>$@
|
||||
endef
|
||||
|
||||
ifeq ($(RTEMS_USE_GCC272),yes)
|
||||
define make-exe
|
||||
$(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC)
|
||||
$(NM) -ng $@ > $(basename $@).num
|
||||
$(SIZE) $@
|
||||
endef
|
||||
else
|
||||
#
|
||||
# gcc28 not yet supported
|
||||
#
|
||||
endif
|
||||
|
||||
|
||||
# *****************************************************************
|
||||
|
||||
|
||||
# Miscellaneous additions go here
|
||||
Reference in new issue
Block a user