forked from Imagelibrary/rtems
that is yet another multilib-related structual cleanup patch:
Changes:
* Make RTEMS_TEST_NO_PAUSE a tests/ subpackage specific option.
- Remove RTEMS_TEST_NO_PAUSE from custom/*.cfg, targopts.h and
cpuopts.h.
- Add autoconf macros RTEMS_*_RTEMS_TEST_NO_PAUSE
(aclocal/rtems-test-no-pause.m4).
- Add RTEMS_*_RTEMS_TEST_NO_PAUSE support to sptests/configure.ins
and tmtests/configure.in. These are the only subdirectories which
currently apply RTEMS_TEST_NO_PAUSE.
- Add autoconf-DEFS support to all test subpackages' configure.ins
below tests/. I.e. AC_DEFINES now get explicitly propagated as
preprocessor defines into Makefiles, cf. AM_CPPFLAGS in
tests/*/*.am, instead of using a global config-files.
- Remove NDEBUG from custom/*.cfg.
* AC_DEFINE POSIX_API, ITRON_API and MULTIPROCESSING in
exec/configure.in, only.
- All other sources now should relay on the values from cpuopts.h
and should not define them themselves.
- Several related changes to many configure.ins
* Bug-fixes to RTEMS_*_RTEMS_DEBUG macros (Actually workarounds to
quoting bugs in autoconf).
Notes:
* This patch is rather immature and only tested for a small subset
of BSPs (requires the tests to be enabled and therefore takes an
tremendous amount of disc space and time.)
* The patches to *cfg were generated by a script. Expect file
formating changes :)
118 lines
3.4 KiB
INI
118 lines
3.4 KiB
INI
#
|
|
# Config file for the 7100 pa-risc simulator
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
|
|
|
RTEMS_CPU=hppa1.1
|
|
RTEMS_CPU_MODEL=hppa7200
|
|
|
|
# This is the actual bsp directory used during the build process.
|
|
RTEMS_BSP_FAMILY=simhppa
|
|
|
|
# This contains the compiler options necessary to select the CPU model
|
|
# and (hopefully) optimize for it.
|
|
#
|
|
# Possibles:
|
|
# -mpa-risc-1-1 -- HPPA 1.1 instead of 1.0
|
|
# -mportable-runtime
|
|
#
|
|
CPU_CFLAGS = -mpa-risc-1-1 -mportable-runtime
|
|
|
|
# Possibles:
|
|
# -Wall -- lots of warnings
|
|
# -pipe -- compiler uses pipes to talk to phases (usually faster)
|
|
# -ansi -- ANSI C compliance
|
|
# -fasm -- ANSI, but allow inline assembler
|
|
# -mgas -- we are using gas as assembler
|
|
# -fno-keep-inline-functions -- do not emit any inlines as static
|
|
CFLAGS_DEFAULT = $(CPU_CFLAGS) -Wall -ansi -fasm -mgas
|
|
|
|
# optimize flag: typically -0, could use -O4 or -fast
|
|
# -O4 is ok for RTEMS
|
|
# NOTE: some level of -O may be actually required by inline assembler
|
|
CFLAGS_OPTIMIZE_V=-O4 -fno-keep-inline-functions
|
|
|
|
# This makes the target dependent options file.
|
|
|
|
# SIMHPPA_FAST_IDLE (simhppa)
|
|
# If defined, speed up the clock ticks while the idle task is running so
|
|
# time spent in the idle task is minimized. This significantly reduces
|
|
# the wall time required to execute the RTEMS test suites.
|
|
#
|
|
|
|
define make-target-options
|
|
@echo "#define SIMHPPA_FAST_IDLE 1 " >>$@
|
|
endef
|
|
|
|
#
|
|
# GNU ld options
|
|
# `-Tbss ORG'
|
|
# `-Tdata ORG'
|
|
# `-Ttext ORG'
|
|
# Use ORG as the starting address for--respectively--the `bss',
|
|
# `data', or the `text' segment of the output file. ORG must be a
|
|
# single hexadecimal integer; for compatibility with other linkers,
|
|
# you may omit the leading `0x' usually associated with hexadecimal
|
|
# values.
|
|
|
|
# '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
|
|
|
|
# XXX some/all of this should move into 'linkcmds'
|
|
# single processor
|
|
DATA_0_BASE=0x40001000
|
|
TEXT_0_BASE=0x00001000
|
|
|
|
# first node (mptests number them from 1)
|
|
DATA_1_BASE=$(DATA_0_BASE)
|
|
TEXT_1_BASE=$(TEXT_0_BASE)
|
|
|
|
# second node (mptests number them from 1)
|
|
DATA_2_BASE=0x48001000
|
|
TEXT_2_BASE=0x08001000
|
|
|
|
# for hpux ld
|
|
#LD_LOC_OPTIONS=-D $(DATA_$(NODE)_BASE) -R $(TEXT_$(NODE)_BASE)
|
|
# for gnu ld
|
|
LD_LOC_OPTIONS=-Tdata $(DATA_$(NODE)_BASE) -Ttext $(TEXT_$(NODE)_BASE)
|
|
GCC_LD_LOC_OPTIONS=-W,l-T -W,ldata -W,l$(DATA_$(NODE)_BASE) \
|
|
-W,l-T -W,ltext -W,l$(TEXT_$(NODE)_BASE)
|
|
|
|
# The following are definitions of make-exe which will work using ld as
|
|
# is currently required. It is expected that as of gcc 2.8, the end user
|
|
# will be able to override parts of the compilers specs and link using gcc.
|
|
|
|
ifeq ($(RTEMS_USE_GCC272),yes)
|
|
define make-exe
|
|
$(LDARGS) $(LD) $(LD_LOC_OPTIONS) $(XLDFLAGS) -a archive \
|
|
-o $@ -u atexit \
|
|
$(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group
|
|
$(NM) -g -n $@ > $(basename $@).num
|
|
$(SIZE) $@
|
|
endef
|
|
else
|
|
define make-exe
|
|
$(LINK.c) $(AM_CFLAGS) $(AM_LDFLAGS) $(GCC_LD_LOC_OPTIONS) \
|
|
-o $@ \
|
|
$(LINK_OBJS) $(LINK_LIBS)
|
|
$(NM) -g -n $@ > $(basename $@).num
|
|
$(SIZE) $@
|
|
endef
|
|
endif
|
|
|
|
# Miscellaneous additions go here
|
|
|
|
# BSP-specific tools
|
|
PRINTDUMP=$(PROJECT_TOOLS)/print_dump
|