summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-05-21 18:26:58 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-05-21 18:26:58 +0000
commitbd5e4f3baf926e95100c994f4c3042de8f2753f1 (patch)
tree21253395d4a7eda1404d418f694237bb45860498
parent90cf4cc734f55ddadc2cda1cb2a85a88722fa7b8 (diff)
downloadrtems-bd5e4f3baf926e95100c994f4c3042de8f2753f1.tar.bz2
Added bare bsp from Chris Johns <cjohns@plessey.com.au>.
-rw-r--r--c/src/lib/libbsp/Makefile.in17
-rw-r--r--c/src/lib/libbsp/bare/Makefile.in20
-rw-r--r--c/src/lib/libbsp/bare/README85
-rw-r--r--c/src/lib/libbsp/bare/bsp_specs23
-rw-r--r--c/src/lib/libbsp/bare/include/Makefile.in33
-rw-r--r--c/src/lib/libbsp/bare/include/bsp.h92
-rw-r--r--c/src/lib/libbsp/bare/wrapup/Makefile.in49
-rw-r--r--configure268
-rw-r--r--configure.in68
-rw-r--r--make/custom/bare.cfg51
-rw-r--r--make/leaf.cfg5
-rw-r--r--make/target.cfg.in4
12 files changed, 604 insertions, 111 deletions
diff --git a/c/src/lib/libbsp/Makefile.in b/c/src/lib/libbsp/Makefile.in
index a5e3dde0d0..14437a408a 100644
--- a/c/src/lib/libbsp/Makefile.in
+++ b/c/src/lib/libbsp/Makefile.in
@@ -15,6 +15,17 @@ include $(RTEMS_ROOT)/make/directory.cfg
# We only build it if HAS_MP was defined
MP_DRIVERS_yes_V = shmdr
MP_DRIVERS = $(MP_DRIVERS_$(HAS_MP)_V)
-
-# Descend into the $(RTEMS_CPU) directory if it exists
-SUB_DIRS=$(MP_DRIVERS) $(wildcard $(RTEMS_CPU))
+
+SUB_DIRS=$(MP_DRIVERS)
+
+# If we are building a "real" BSP, then we need to descend into the
+# appropriate CPU specific directory. The bare BSP is a special
+# case which can be built for any CPU and it resides at the same
+# level as the CPUs. If we are building the bare BSP, then descend
+# into that directory.
+
+ifeq ($(RTEMS_BSP),bare)
+SUB_DIRS += bare
+else
+SUB_DIRS += $(wildcard $(RTEMS_CPU))
+endif
diff --git a/c/src/lib/libbsp/bare/Makefile.in b/c/src/lib/libbsp/bare/Makefile.in
new file mode 100644
index 0000000000..0e1a68c552
--- /dev/null
+++ b/c/src/lib/libbsp/bare/Makefile.in
@@ -0,0 +1,20 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+VPATH = @srcdir@
+RTEMS_ROOT = @top_srcdir@
+PROJECT_ROOT = @PROJECT_ROOT@
+
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
+include $(RTEMS_ROOT)/make/directory.cfg
+
+SRCS=README
+
+all: $(SRCS)
+
+# wrapup is the one that actually builds and installs the library
+# from the individual .rel files built in other directories
+SUB_DIRS=include wrapup
diff --git a/c/src/lib/libbsp/bare/README b/c/src/lib/libbsp/bare/README
new file mode 100644
index 0000000000..773e6aa2c0
--- /dev/null
+++ b/c/src/lib/libbsp/bare/README
@@ -0,0 +1,85 @@
+#
+# $Id$
+#
+
+#
+# Please send any comments, improvements, or bug reports to:
+# Chris Johns
+# Objective Design Systems
+# 35 Cairo Street
+# Cammeray
+# Sydney, NSW 2062
+# ccj@acm.org
+#
+
+#
+# This board support package is not a board support package at all, but
+# a means to build the RTEMS kernel without using a specific BSP.
+#
+# You should be able to build to build this BSP for any cpu type.
+#
+# You must provide the standard BSP type functions and support yourself
+# externally to RTEMS.
+#
+# This BSP is intended to be used by people who fit one or more of the
+# categories below :
+#
+# 1) using custom hardware of little use or interest to others. If you
+# intend to use hardware available to others, please create a BSP
+# and send to OARCorp.
+#
+# 2) production code cannot depend on software which can change. BSP code
+# can change with-out notice, while RTEMS has very tightly defined
+# interfaces which do not change.
+#
+# 3) the need to extend or change an existing BSP in ways which are not
+# of interest to others or the BSP maintainer.
+#
+# I fit all the above.
+#
+
+BSP NAME: bare
+BOARD: not applicable
+BUS: not applicable
+CPU FAMILY: all
+COPROCESSORS: not applicable
+MODE: not applicable
+
+DEBUG MONITOR: not applicable
+
+PERIPHERALS
+===========
+not applicable
+
+DRIVER INFORMATION
+==================
+not applicable
+
+STDIO
+=====
+not applicable
+
+NOTES
+=====
+
+Board description
+-----------------
+not applicable
+
+Host System
+-----------
+Linux (RedHat 4.0/5.0)
+egcs-1.0.2
+binutils-2.8.1, with rtems patches
+newlib-1.8.0, with rtems patches
+
+Verification
+-------------------------------
+Single processor tests: not applicable
+Multi-processort tests: not applicable
+Timing tests:
+ not applicable
+
+Porting
+-------
+ not applicable
diff --git a/c/src/lib/libbsp/bare/bsp_specs b/c/src/lib/libbsp/bare/bsp_specs
new file mode 100644
index 0000000000..61dac86b53
--- /dev/null
+++ b/c/src/lib/libbsp/bare/bsp_specs
@@ -0,0 +1,23 @@
+%rename cpp old_cpp
+%rename lib old_lib
+%rename endfile old_endfile
+%rename startfile old_startfile
+%rename link old_link
+
+*cpp:
+%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
+
+*lib:
+%{!qrtems: %(old_lib)} %{qrtems: --start-group \
+%{!qrtems_debug: -lrtemsall} %{qrtems_debug: -lrtemsall_g} \
+-lc -lgcc --end-group \
+%{!qnolinkcmds: -T linkcmds%s}}
+
+*startfile:
+%{!qrtems: %(old_startfile)} %{qrtems: \
+%{!qrtems_debug: start.o%s} \
+%{qrtems_debug: start_g.o%s}}
+
+*link:
+%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start}
+
diff --git a/c/src/lib/libbsp/bare/include/Makefile.in b/c/src/lib/libbsp/bare/include/Makefile.in
new file mode 100644
index 0000000000..666b222fd0
--- /dev/null
+++ b/c/src/lib/libbsp/bare/include/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+VPATH = @srcdir@
+RTEMS_ROOT = @top_srcdir@
+PROJECT_ROOT = @PROJECT_ROOT@
+
+H_FILES = $(srcdir)/bsp.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
+include $(RTEMS_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
+ $(INSTALL) -m 444 $(EQ_FILES) $(PROJECT_INCLUDE)
diff --git a/c/src/lib/libbsp/bare/include/bsp.h b/c/src/lib/libbsp/bare/include/bsp.h
new file mode 100644
index 0000000000..47a2ba8398
--- /dev/null
+++ b/c/src/lib/libbsp/bare/include/bsp.h
@@ -0,0 +1,92 @@
+/* bsp.h
+ *
+ * This include file contains all board IO definitions.
+ *
+ * BARE : Allows you to build RTEMS with-out any BSP specific stuff
+ *
+ * COPYRIGHT (c) 1989-1998.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+*/
+
+#ifndef __BARE_BSP_h
+#define __BARE_BSP_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rtems.h>
+#include <console.h>
+#include <clockdrv.h>
+
+/*
+ * Define the time limits for RTEMS Test Suite test durations.
+ * Long test and short test duration limits are provided. These
+ * values are in seconds and need to be converted to ticks for the
+ * application.
+ *
+ */
+
+#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */
+#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */
+
+/*
+ * Stuff for Time Test 27
+ */
+
+#define MUST_WAIT_FOR_INTERRUPT 0
+
+#define Install_tm27_vector( handler )
+
+#define Cause_tm27_intr()
+
+#define Clear_tm27_intr()
+
+#define Lower_tm27_intr()
+
+/*
+ * Simple spin delay in microsecond units for device drivers.
+ * This is very dependent on the clock speed of the target.
+ */
+
+#define delay( microseconds ) \
+ { \
+ }
+
+/* miscellaneous stuff assumed to exist */
+
+extern rtems_configuration_table BSP_Configuration;
+
+/*
+ * Device Driver Table Entries
+ */
+
+/*
+ * NOTE: Use the standard Console driver entry
+ */
+
+/*
+ * NOTE: Use the standard Clock driver entry
+ */
+
+/*
+ * How many libio files we want
+ */
+
+#define BSP_LIBIO_MAX_FDS 20
+
+/* functions */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/c/src/lib/libbsp/bare/wrapup/Makefile.in b/c/src/lib/libbsp/bare/wrapup/Makefile.in
new file mode 100644
index 0000000000..32ed030b78
--- /dev/null
+++ b/c/src/lib/libbsp/bare/wrapup/Makefile.in
@@ -0,0 +1,49 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+VPATH = @srcdir@
+RTEMS_ROOT = @top_srcdir@
+PROJECT_ROOT = @PROJECT_ROOT@
+
+BSP_PIECES=
+GENERIC_PIECES=
+
+# bummer; have to use $foreach since % pattern subst rules only replace 1x
+OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
+ $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
+LIB=$(ARCH)/libbsp.a
+
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
+include $(RTEMS_ROOT)/make/lib.cfg
+
+#
+# (OPTIONAL) Add local stuff here using +=
+#
+
+DEFINES +=
+CPPFLAGS +=
+CFLAGS +=
+
+LD_PATHS +=
+LD_LIBS +=
+LDFLAGS +=
+
+#
+# Add your list of files to delete here. The config files
+# already know how to delete some stuff, so you may want
+# to just run 'make clean' first to see what gets missed.
+# 'make clobber' already includes 'make clean'
+#
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+$(LIB): ${OBJS}
+ $(make-library)
+
+all: ${ARCH} $(SRCS) $(LIB)
+ $(INSTALL_VARIANT) -m 644 $(LIB) ${PROJECT_RELEASE}/lib
+
diff --git a/configure b/configure
index f8af29e409..726581eea7 100644
--- a/configure
+++ b/configure
@@ -35,6 +35,10 @@ ac_help="$ac_help
\
--enable-libcdir=directory set the directory for the C library"
ac_help="$ac_help
+ --enable-cpu-cflags specify a particular cpu cflag"
+ac_help="$ac_help
+ --enable-cpu-model specify a particular cpu model"
+ac_help="$ac_help
\
--enable-rtemsbsp=bsp1 bsp2 .. BSPs to include in build"
ac_help="$ac_help
@@ -552,7 +556,7 @@ fi
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:556: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:560: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -625,7 +629,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
fi
echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:629: checking host system type" >&5
+echo "configure:633: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@@ -646,7 +650,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:650: checking target system type" >&5
+echo "configure:654: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@@ -664,7 +668,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:668: checking build system type" >&5
+echo "configure:672: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@@ -787,13 +791,37 @@ test -d ${enableval} || { echo "configure: error: "$enableval is not a directory
fi
+# Check whether --enable-cpu-cflags or --disable-cpu-cflags was given.
+if test "${enable_cpu_cflags+set}" = set; then
+ enableval="$enable_cpu_cflags"
+ case "${enableval}" in
+ no) CPU_CFLAGS="" ;;
+ *) CPU_CFLAGS="${enableval}" ;;
+esac
+else
+ CPU_CFLAGS=""
+fi
+
+
+# Check whether --enable-cpu-model or --disable-cpu-model was given.
+if test "${enable_cpu_model+set}" = set; then
+ enableval="$enable_cpu_model"
+ case "${enableval}" in
+ no) RTEMS_CPU_MODEL="" ;;
+ *) RTEMS_CPU_MODEL="${enableval}" ;;
+esac
+else
+ CPU_CFLAGS=""
+fi
+
+
RTEMS_PREFIX=${target_cpu}-${target_vendor}
# Extract the first word of "cat", so it can be a program name with args.
set dummy cat; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:797: checking for $ac_word" >&5
+echo "configure:825: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CAT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -824,7 +852,7 @@ fi
# Extract the first word of "rm", so it can be a program name with args.
set dummy rm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:828: checking for $ac_word" >&5
+echo "configure:856: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -855,7 +883,7 @@ fi
# Extract the first word of "cp", so it can be a program name with args.
set dummy cp; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:859: checking for $ac_word" >&5
+echo "configure:887: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -886,7 +914,7 @@ fi
# Extract the first word of "mv", so it can be a program name with args.
set dummy mv; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:890: checking for $ac_word" >&5
+echo "configure:918: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -917,7 +945,7 @@ fi
# Extract the first word of "ln", so it can be a program name with args.
set dummy ln; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:921: checking for $ac_word" >&5
+echo "configure:949: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_LN'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -946,7 +974,7 @@ else
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:950: checking whether ln -s works" >&5
+echo "configure:978: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -969,7 +997,7 @@ fi
# Extract the first word of "chmod", so it can be a program name with args.
set dummy chmod; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:973: checking for $ac_word" >&5
+echo "configure:1001: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1000,7 +1028,7 @@ fi
# Extract the first word of "sort", so it can be a program name with args.
set dummy sort; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1004: checking for $ac_word" >&5
+echo "configure:1032: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SORT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1032,7 +1060,7 @@ fi
# Extract the first word of "mkdir", so it can be a program name with args.
set dummy mkdir; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1036: checking for $ac_word" >&5
+echo "configure:1064: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MKDIR'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1064,7 +1092,7 @@ fi
echo $ac_n "checking for working $MKDIR -m 0755""... $ac_c" 1>&6
-echo "configure:1068: checking for working $MKDIR -m 0755" >&5
+echo "configure:1096: checking for working $MKDIR -m 0755" >&5
if eval "test \"`echo '$''{'rtems_cv_prog_MKDIR_P'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1081,7 +1109,7 @@ echo "$ac_t""$rtems_cv_prog_MKDIR_M" 1>&6
echo $ac_n "checking for working $MKDIR -p""... $ac_c" 1>&6
-echo "configure:1085: checking for working $MKDIR -p" >&5
+echo "configure:1113: checking for working $MKDIR -p" >&5
if eval "test \"`echo '$''{'rtems_cv_prog_mkdir_p'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1101,7 +1129,7 @@ test "$rtems_cv_prog_MKDIR_M" = "yes" && MKDIR="$MKDIR -m 0755"
# Extract the first word of "touch", so it can be a program name with args.
set dummy touch; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1105: checking for $ac_word" >&5
+echo "configure:1133: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_TOUCH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1132,7 +1160,7 @@ fi
# Extract the first word of "cmp", so it can be a program name with args.
set dummy cmp; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1136: checking for $ac_word" >&5
+echo "configure:1164: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CMP'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1164,7 +1192,7 @@ fi
# Extract the first word of "sed", so it can be a program name with args.
set dummy sed; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1168: checking for $ac_word" >&5
+echo "configure:1196: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SED'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1197,7 +1225,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1201: checking for $ac_word" >&5
+echo "configure:1229: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_M4'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1234,7 +1262,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1238: checking for $ac_word" >&5
+echo "configure:1266: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1279,6 +1307,9 @@ RTEMS_HOST=$host_os
case "${target}" in
# hpux unix port should go here
+ hppa1.1-*-rtems*)
+ target_cpu=hppa1_1
+ ;;
i[3456]86-go32-rtems*)
target_cpu=i386
rtems_bsp="go32 go32_p5"
@@ -1295,6 +1326,9 @@ case "${target}" in
target_cpu=no_cpu
RTEMS_HAS_POSIX_API=no
;;
+ powerpc-*rtems*)
+ target_cpu=ppc
+ ;;
sparc-sun-solaris*) # unix "simulator" port
target_cpu=unix
RTEMS_HOST=Solaris
@@ -1303,7 +1337,7 @@ case "${target}" in
;;
*)
echo $ac_n "checking rtems target cpu""... $ac_c" 1>&6
-echo "configure:1307: checking rtems target cpu" >&5
+echo "configure:1341: checking rtems target cpu" >&5
target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
echo "$ac_t""$target_cpu" 1>&6
@@ -1322,7 +1356,7 @@ fi
# Is this a supported CPU?
echo $ac_n "checking if cpu $target_cpu is supported""... $ac_c" 1>&6
-echo "configure:1326: checking if cpu $target_cpu is supported" >&5
+echo "configure:1360: checking if cpu $target_cpu is supported" >&5
if test -d "$srcdir/c/src/exec/score/cpu/$target_cpu"; then
echo "$ac_t""yes" 1>&6
makefiles="$makefiles c/src/exec/score/cpu/$target_cpu/Makefile"
@@ -1347,7 +1381,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1351: checking for $ac_word" >&5
+echo "configure:1385: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CC_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1387,7 +1421,7 @@ rtems_save_CFLAGS=$CFLAGS
CC=$CC_FOR_TARGET
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1391: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1425: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1397,11 +1431,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 1401 "configure"
+#line 1435 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1421,12 +1455,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1425: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1459: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1430: checking whether we are using GNU C" >&5
+echo "configure:1464: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1435,7 +1469,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1473: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -1450,7 +1484,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1454: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1488: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1492,7 +1526,7 @@ unset ac_cv_prog_cc_cross
echo $ac_n "checking whether $CC_FOR_TARGET accepts -specs""... $ac_c" 1>&6
-echo "configure:1496: checking whether $CC_FOR_TARGET accepts -specs" >&5
+echo "configure:1530: checking whether $CC_FOR_TARGET accepts -specs" >&5
if eval "test \"`echo '$''{'rtems_cv_gcc_specs'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1511,7 +1545,7 @@ echo "$ac_t""$rtems_cv_gcc_specs" 1>&6
echo $ac_n "checking whether $CC_FOR_TARGET accepts --pipe""... $ac_c" 1>&6
-echo "configure:1515: checking whether $CC_FOR_TARGET accepts --pipe" >&5
+echo "configure:1549: checking whether $CC_FOR_TARGET accepts --pipe" >&5
if eval "test \"`echo '$''{'rtems_cv_gcc_pipe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1552,7 +1586,7 @@ do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1556: checking for $ac_word" >&5
+echo "configure:1590: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_CXX_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1592,7 +1626,7 @@ rtems_save_CXXFLAGS=$CXXFLAGS
CXX=$CXX_FOR_TARGET
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1596: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:1630: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
ac_ext=C
# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1602,11 +1636,11 @@ ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $L
cross_compiling=$ac_cv_prog_cxx_cross
cat > conftest.$ac_ext <<EOF
-#line 1606 "configure"
+#line 1640 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cxx_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -1632,12 +1666,12 @@ if test $ac_cv_prog_cxx_works = no; then
{ echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1636: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1670: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
cross_compiling=$ac_cv_prog_cxx_cross
echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:1641: checking whether we are using GNU C++" >&5
+echo "configure:1675: checking whether we are using GNU C++" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1646,7 +1680,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1650: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1684: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gxx=yes
else
ac_cv_prog_gxx=no
@@ -1661,7 +1695,7 @@ if test $ac_cv_prog_gxx = yes; then
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:1665: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:1699: checking whether ${CXX-g++} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1724,7 +1758,7 @@ fi
# Extract the first word of ""$program_prefix"ar", so it can be a program name with args.
set dummy "$program_prefix"ar; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1728: checking for $ac_word" >&5
+echo "configure:1762: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_AR_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1756,7 +1790,7 @@ fi
# Extract the first word of ""$program_prefix"as", so it can be a program name with args.
set dummy "$program_prefix"as; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1760: checking for $ac_word" >&5
+echo "configure:1794: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_AS_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1788,7 +1822,7 @@ fi
# Extract the first word of ""$program_prefix"nm", so it can be a program name with args.
set dummy "$program_prefix"nm; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1792: checking for $ac_word" >&5
+echo "configure:1826: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_NM_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1820,7 +1854,7 @@ fi
# Extract the first word of ""$program_prefix"ld", so it can be a program name with args.
set dummy "$program_prefix"ld; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1824: checking for $ac_word" >&5
+echo "configure:1858: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_LD_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1853,7 +1887,7 @@ fi
# Extract the first word of ""$program_prefix"ranlib", so it can be a program name with args.
set dummy "$program_prefix"ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1857: checking for $ac_word" >&5
+echo "configure:1891: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_RANLIB_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1886,7 +1920,7 @@ fi
# Extract the first word of ""$program_prefix"objcopy", so it can be a program name with args.
set dummy "$program_prefix"objcopy; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1890: checking for $ac_word" >&5
+echo "configure:1924: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_OBJCOPY_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1918,7 +1952,7 @@ fi
# Extract the first word of ""$program_prefix"size", so it can be a program name with args.
set dummy "$program_prefix"size; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1922: checking for $ac_word" >&5
+echo "configure:1956: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_SIZE_FOR_TARGET'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1952,7 +1986,7 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1956: checking for $ac_word" >&5
+echo "configure:1990: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -1981,7 +2015,7 @@ if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1985: checking for $ac_word" >&5
+echo "configure:2019: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2029,7 +2063,7 @@ fi
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2033: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:2067: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -2039,11 +2073,11 @@ ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS
cross_compiling=$ac_cv_prog_cc_cross
cat > conftest.$ac_ext <<EOF
-#line 2043 "configure"
+#line 2077 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:2047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2081: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
@@ -2063,12 +2097,12 @@ if test $ac_cv_prog_cc_works = no; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:2067: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2101: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:2072: checking whether we are using GNU C" >&5
+echo "configure:2106: checking whether we are using GNU C" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2077,7 +2111,7 @@ else
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2081: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:2115: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
@@ -2092,7 +2126,7 @@ if test $ac_cv_prog_gcc = yes; then
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:2096: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:2130: checking whether ${CC-cc} accepts -g" >&5
if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2123,12 +2157,12 @@ fi
for ac_func in strerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2127: checking for $ac_func" >&5
+echo "configure:2161: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2132 "configure"
+#line 2166 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -2151,7 +2185,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:2155: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -2179,7 +2213,7 @@ done
# find all the Executive Makefiles
echo $ac_n "checking for Makefile.in in c/src/exec/score/tools/$target_cpu""... $ac_c" 1>&6
-echo "configure:2183: checking for Makefile.in in c/src/exec/score/tools/$target_cpu" >&5
+echo "configure:2217: checking for Makefile.in in c/src/exec/score/tools/$target_cpu" >&5
if test -d $srcdir/c/src/exec/score/tools/$target_cpu; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2194,7 +2228,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/exec/rtems""... $ac_c" 1>&6
-echo "configure:2198: checking for Makefile.in in c/src/exec/rtems" >&5
+echo "configure:2232: checking for Makefile.in in c/src/exec/rtems" >&5
if test -d $srcdir/c/src/exec/rtems; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2209,7 +2243,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/exec/sapi""... $ac_c" 1>&6
-echo "configure:2213: checking for Makefile.in in c/src/exec/sapi" >&5
+echo "configure:2247: checking for Makefile.in in c/src/exec/sapi" >&5
if test -d $srcdir/c/src/exec/sapi; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2226,7 +2260,7 @@ fi
if test "$RTEMS_HAS_POSIX_API" = "yes"; then
echo $ac_n "checking for Makefile.in in c/src/exec/posix""... $ac_c" 1>&6
-echo "configure:2230: checking for Makefile.in in c/src/exec/posix" >&5
+echo "configure:2264: checking for Makefile.in in c/src/exec/posix" >&5
if test -d $srcdir/c/src/exec/posix; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2248,7 +2282,7 @@ if test -d "$srcdir/c/src/lib/libbsp/$target_cpu"; then
if test -z "$rtems_bsp"; then
echo $ac_n "checking for bsps""... $ac_c" 1>&6
-echo "configure:2252: checking for bsps" >&5
+echo "configure:2286: checking for bsps" >&5
files=`ls $srcdir/c/src/lib/libbsp/$target_cpu`
for file in $files; do
case $file in
@@ -2266,6 +2300,9 @@ echo "configure:2252: checking for bsps" >&5
esac;
done
+ rtems_bsp="$rtems_bsp bare"
+ makefiles="$makefiles c/src/lib/libbsp/bare/Makefile"
+
echo "$ac_t""$rtems_bsp done" 1>&6
fi
@@ -2287,15 +2324,45 @@ echo "configure:2252: checking for bsps" >&5
esac
# Is there code where there should be for this BSP?
- if test -d "$srcdir/c/src/lib/libbsp/$target_cpu/$bspdir"; then
- RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i"
- # make sure the Makefiles in a bsp directory are only done once
- echo $bspdirs | grep $bspdir >/dev/null 2>&1
- if test $? -ne 0 ; then
- bspdirs="$bspdirs $bspdir"
-
+ # The bare bsp is a special case as it is not under the target_cpu path
+ case $i in
+ bare)
+ if test -d "$srcdir/c/src/lib/libbsp/$bspdir"; then
+ RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i"
+ # make sure the Makefiles in a bsp directory are only done once
+ echo $bspdirs | grep $bspdir >/dev/null 2>&1
+ if test $? -ne 0 ; then
+ bspdirs="$bspdirs $bspdir"
+
+echo $ac_n "checking for Makefile.in in c/src/lib/libbsp/$bspdir""... $ac_c" 1>&6
+echo "configure:2339: checking for Makefile.in in c/src/lib/libbsp/$bspdir" >&5
+if test -d $srcdir/c/src/lib/libbsp/$bspdir; then
+ rtems_av_save_dir=`pwd`;
+ cd $srcdir;
+ rtems_av_tmp=`find c/src/lib/libbsp/$bspdir -name "Makefile.in" -print | sed "s/Makefile\.in/%/" | sort | sed "s/%/Makefile/"`
+ makefiles="$makefiles $rtems_av_tmp";
+ cd $rtems_av_save_dir;
+ echo "$ac_t""done" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+ fi
+ else
+ { echo "configure: error: unable to find libbsp directory ($bspdir) for $i" 1>&2; exit 1; }
+ fi
+ ;;
+ *)
+ if test -d "$srcdir/c/src/lib/libbsp/$target_cpu/$bspdir"; then
+ RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i"
+ # make sure the Makefiles in a bsp directory are only done once
+ echo $bspdirs | grep $bspdir >/dev/null 2>&1
+ if test $? -ne 0 ; then
+ bspdirs="$bspdirs $bspdir"
+
echo $ac_n "checking for Makefile.in in c/src/lib/libbsp/$target_cpu/$bspdir""... $ac_c" 1>&6
-echo "configure:2299: checking for Makefile.in in c/src/lib/libbsp/$target_cpu/$bspdir" >&5
+echo "configure:2366: checking for Makefile.in in c/src/lib/libbsp/$target_cpu/$bspdir" >&5
if test -d $srcdir/c/src/lib/libbsp/$target_cpu/$bspdir; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2308,17 +2375,20 @@ else
fi
- fi
- else
- { echo "configure: error: unable to find libbsp directory ($bspdir) for $i" 1>&2; exit 1; }
- fi
+ fi
+ else
+ { echo "configure: error: unable to find libbsp directory ($bspdir) for $i" 1>&2; exit 1; }
+ fi
+ ;;
+ esac
+
done
fi
# find all the CPU dependent library Makefiles
echo $ac_n "checking for Makefile.in in c/src/lib/libcpu/$target_cpu""... $ac_c" 1>&6
-echo "configure:2322: checking for Makefile.in in c/src/lib/libcpu/$target_cpu" >&5
+echo "configure:2392: checking for Makefile.in in c/src/lib/libcpu/$target_cpu" >&5
if test -d $srcdir/c/src/lib/libcpu/$target_cpu; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2335,7 +2405,7 @@ fi
if test "$skip_startfiles" != "yes"; then
echo $ac_n "checking for Makefile.in in c/src/lib/start/$target_cpu""... $ac_c" 1>&6
-echo "configure:2339: checking for Makefile.in in c/src/lib/start/$target_cpu" >&5
+echo "configure:2409: checking for Makefile.in in c/src/lib/start/$target_cpu" >&5
if test -d $srcdir/c/src/lib/start/$target_cpu; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2377,7 +2447,7 @@ fi
# If the tests are enabled, then find all the test suite Makefiles
echo $ac_n "checking if the test suites are enabled? ""... $ac_c" 1>&6
-echo "configure:2381: checking if the test suites are enabled? " >&5
+echo "configure:2451: checking if the test suites are enabled? " >&5
tests_enabled=yes
# Check whether --enable-tests or --disable-tests was given.
if test "${enable_tests+set}" = set; then
@@ -2396,7 +2466,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/tests/tools/$target_cpu""... $ac_c" 1>&6
-echo "configure:2400: checking for Makefile.in in c/src/tests/tools/$target_cpu" >&5
+echo "configure:2470: checking for Makefile.in in c/src/tests/tools/$target_cpu" >&5
if test -d $srcdir/c/src/tests/tools/$target_cpu; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2413,7 +2483,7 @@ fi
if test "$tests_enabled" = "yes"; then
echo $ac_n "checking for Makefile.in in c/src/tests/libtests""... $ac_c" 1>&6
-echo "configure:2417: checking for Makefile.in in c/src/tests/libtests" >&5
+echo "configure:2487: checking for Makefile.in in c/src/tests/libtests" >&5
if test -d $srcdir/c/src/tests/libtests; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2428,7 +2498,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/tests/sptests""... $ac_c" 1>&6
-echo "configure:2432: checking for Makefile.in in c/src/tests/sptests" >&5
+echo "configure:2502: checking for Makefile.in in c/src/tests/sptests" >&5
if test -d $srcdir/c/src/tests/sptests; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2443,7 +2513,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/tests/tmtests""... $ac_c" 1>&6
-echo "configure:2447: checking for Makefile.in in c/src/tests/tmtests" >&5
+echo "configure:2517: checking for Makefile.in in c/src/tests/tmtests" >&5
if test -d $srcdir/c/src/tests/tmtests; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2458,7 +2528,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/tests/mptests""... $ac_c" 1>&6
-echo "configure:2462: checking for Makefile.in in c/src/tests/mptests" >&5
+echo "configure:2532: checking for Makefile.in in c/src/tests/mptests" >&5
if test -d $srcdir/c/src/tests/mptests; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2474,7 +2544,7 @@ fi
if test "$RTEMS_HAS_POSIX_API" = "yes"; then
echo $ac_n "checking for Makefile.in in c/src/tests/psxtests""... $ac_c" 1>&6
-echo "configure:2478: checking for Makefile.in in c/src/tests/psxtests" >&5
+echo "configure:2548: checking for Makefile.in in c/src/tests/psxtests" >&5
if test -d $srcdir/c/src/tests/psxtests; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2492,7 +2562,7 @@ fi
# If the HWAPI is enabled, the find the HWAPI Makefiles
echo $ac_n "checking if the HWAPI is enabled? ""... $ac_c" 1>&6
-echo "configure:2496: checking if the HWAPI is enabled? " >&5
+echo "configure:2566: checking if the HWAPI is enabled? " >&5
# Check whether --enable-hwapi or --disable-hwapi was given.
if test "${enable_hwapi+set}" = set; then
enableval="$enable_hwapi"
@@ -2503,7 +2573,7 @@ if test "${enable_hwapi+set}" = set; then
makefiles="$makefiles c/src/lib/libhwapi/Makefile"
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/analog""... $ac_c" 1>&6
-echo "configure:2507: checking for Makefile.in in c/src/lib/libhwapi/analog" >&5
+echo "configure:2577: checking for Makefile.in in c/src/lib/libhwapi/analog" >&5
if test -d $srcdir/c/src/lib/libhwapi/analog; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2518,7 +2588,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/discrete""... $ac_c" 1>&6
-echo "configure:2522: checking for Makefile.in in c/src/lib/libhwapi/discrete" >&5
+echo "configure:2592: checking for Makefile.in in c/src/lib/libhwapi/discrete" >&5
if test -d $srcdir/c/src/lib/libhwapi/discrete; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2533,7 +2603,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/drivers""... $ac_c" 1>&6
-echo "configure:2537: checking for Makefile.in in c/src/lib/libhwapi/drivers" >&5
+echo "configure:2607: checking for Makefile.in in c/src/lib/libhwapi/drivers" >&5
if test -d $srcdir/c/src/lib/libhwapi/drivers; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2548,7 +2618,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/non_volatile_memory""... $ac_c" 1>&6
-echo "configure:2552: checking for Makefile.in in c/src/lib/libhwapi/non_volatile_memory" >&5
+echo "configure:2622: checking for Makefile.in in c/src/lib/libhwapi/non_volatile_memory" >&5
if test -d $srcdir/c/src/lib/libhwapi/non_volatile_memory; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2563,7 +2633,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/serial""... $ac_c" 1>&6
-echo "configure:2567: checking for Makefile.in in c/src/lib/libhwapi/serial" >&5
+echo "configure:2637: checking for Makefile.in in c/src/lib/libhwapi/serial" >&5
if test -d $srcdir/c/src/lib/libhwapi/serial; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2578,7 +2648,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/support""... $ac_c" 1>&6
-echo "configure:2582: checking for Makefile.in in c/src/lib/libhwapi/support" >&5
+echo "configure:2652: checking for Makefile.in in c/src/lib/libhwapi/support" >&5
if test -d $srcdir/c/src/lib/libhwapi/support; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2593,7 +2663,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libhwapi/wrapup""... $ac_c" 1>&6
-echo "configure:2597: checking for Makefile.in in c/src/lib/libhwapi/wrapup" >&5
+echo "configure:2667: checking for Makefile.in in c/src/lib/libhwapi/wrapup" >&5
if test -d $srcdir/c/src/lib/libhwapi/wrapup; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2633,10 +2703,12 @@ fi
+
+
# pick up all the Makefiles in required parts of the tree
echo $ac_n "checking for Makefile.in in c/build-tools""... $ac_c" 1>&6
-echo "configure:2640: checking for Makefile.in in c/build-tools" >&5
+echo "configure:2712: checking for Makefile.in in c/build-tools" >&5
if test -d $srcdir/c/build-tools; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2651,7 +2723,7 @@ fi
echo $ac_n "checking for Makefile.in in make""... $ac_c" 1>&6
-echo "configure:2655: checking for Makefile.in in make" >&5
+echo "configure:2727: checking for Makefile.in in make" >&5
if test -d $srcdir/make; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2666,7 +2738,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/lib/libmisc""... $ac_c" 1>&6
-echo "configure:2670: checking for Makefile.in in c/src/lib/libmisc" >&5
+echo "configure:2742: checking for Makefile.in in c/src/lib/libmisc" >&5
if test -d $srcdir/c/src/lib/libmisc; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2681,7 +2753,7 @@ fi
echo $ac_n "checking for Makefile.in in c/src/tests/samples""... $ac_c" 1>&6
-echo "configure:2685: checking for Makefile.in in c/src/tests/samples" >&5
+echo "configure:2757: checking for Makefile.in in c/src/tests/samples" >&5
if test -d $srcdir/c/src/tests/samples; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
@@ -2912,6 +2984,8 @@ s%@RTEMS_HAS_KA9Q@%$RTEMS_HAS_KA9Q%g
s%@RTEMS_USE_MACROS@%$RTEMS_USE_MACROS%g
s%@RTEMS_HAS_CPLUSPLUS@%$RTEMS_HAS_CPLUSPLUS%g
s%@RTEMS_USE_GCC272@%$RTEMS_USE_GCC272%g
+s%@CPU_CFLAGS@%$CPU_CFLAGS%g
+s%@RTEMS_CPU_MODEL@%$RTEMS_CPU_MODEL%g
s%@PROJECT_ROOT@%$PROJECT_ROOT%g
s%@program_prefix@%$program_prefix%g
diff --git a/configure.in b/configure.in
index f8674f6e3f..4f520709ff 100644
--- a/configure.in
+++ b/configure.in
@@ -64,6 +64,22 @@ AC_ARG_ENABLE(libcdir, \
[ RTEMS_LIBC_DIR="${enableval}" ; \
test -d ${enableval} || AC_MSG_ERROR("$enableval is not a directory" ) ] )
+AC_ARG_ENABLE(cpu-cflags,
+[ --enable-cpu-cflags specify a particular cpu cflag],
+[case "${enableval}" in
+ no) CPU_CFLAGS="" ;;
+ *) CPU_CFLAGS="${enableval}" ;;
+esac],
+[CPU_CFLAGS=""])
+
+AC_ARG_ENABLE(cpu-model,
+[ --enable-cpu-model specify a particular cpu model],
+[case "${enableval}" in
+ no) RTEMS_CPU_MODEL="" ;;
+ *) RTEMS_CPU_MODEL="${enableval}" ;;
+esac],
+[CPU_CFLAGS=""])
+
RTEMS_PREFIX=${target_cpu}-${target_vendor}
dnl BEGIN configure.host.in
@@ -123,6 +139,9 @@ RTEMS_HOST=$host_os
case "${target}" in
# hpux unix port should go here
+ hppa1.1-*-rtems*)
+ target_cpu=hppa1_1
+ ;;
i[[3456]]86-go32-rtems*)
target_cpu=i386
rtems_bsp="go32 go32_p5"
@@ -139,6 +158,9 @@ case "${target}" in
target_cpu=no_cpu
RTEMS_HAS_POSIX_API=no
;;
+ powerpc-*rtems*)
+ target_cpu=ppc
+ ;;
sparc-sun-solaris*) # unix "simulator" port
target_cpu=unix
RTEMS_HOST=Solaris
@@ -239,6 +261,9 @@ if test -d "$srcdir/c/src/lib/libbsp/$target_cpu"; then
esac;
done
+ rtems_bsp="$rtems_bsp bare"
+ makefiles="$makefiles c/src/lib/libbsp/bare/Makefile"
+
AC_MSG_RESULT([$rtems_bsp done])
fi
@@ -260,17 +285,36 @@ if test -d "$srcdir/c/src/lib/libbsp/$target_cpu"; then
esac
# Is there code where there should be for this BSP?
- if test -d "$srcdir/c/src/lib/libbsp/$target_cpu/$bspdir"; then
- RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i"
- # make sure the Makefiles in a bsp directory are only done once
- echo $bspdirs | grep $bspdir >/dev/null 2>&1
- if test $? -ne 0 ; then
- bspdirs="$bspdirs $bspdir"
- RTEMS_CHECK_MAKEFILE(c/src/lib/libbsp/$target_cpu/$bspdir)
- fi
- else
- AC_MSG_ERROR([unable to find libbsp directory ($bspdir) for $i])
- fi
+ # The bare bsp is a special case as it is not under the target_cpu path
+ case $i in
+ bare)
+ if test -d "$srcdir/c/src/lib/libbsp/$bspdir"; then
+ RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i"
+ # make sure the Makefiles in a bsp directory are only done once
+ echo $bspdirs | grep $bspdir >/dev/null 2>&1
+ if test $? -ne 0 ; then
+ bspdirs="$bspdirs $bspdir"
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libbsp/$bspdir)
+ fi
+ else
+ AC_MSG_ERROR([unable to find libbsp directory ($bspdir) for $i])
+ fi
+ ;;
+ *)
+ if test -d "$srcdir/c/src/lib/libbsp/$target_cpu/$bspdir"; then
+ RTEMS_BSP_LIST="$RTEMS_BSP_LIST $i"
+ # make sure the Makefiles in a bsp directory are only done once
+ echo $bspdirs | grep $bspdir >/dev/null 2>&1
+ if test $? -ne 0 ; then
+ bspdirs="$bspdirs $bspdir"
+ RTEMS_CHECK_MAKEFILE(c/src/lib/libbsp/$target_cpu/$bspdir)
+ fi
+ else
+ AC_MSG_ERROR([unable to find libbsp directory ($bspdir) for $i])
+ fi
+ ;;
+ esac
+
done
fi
@@ -369,6 +413,8 @@ AC_SUBST(RTEMS_USE_MACROS)
AC_SUBST(RTEMS_HAS_CPLUSPLUS)
AC_SUBST(RTEMS_USE_GCC272)
AC_SUBST(RTEMS_LIBC_DIR)
+AC_SUBST(CPU_CFLAGS)
+AC_SUBST(RTEMS_CPU_MODEL)
AC_SUBST(PROJECT_ROOT)
AC_SUBST(program_prefix)
diff --git a/make/custom/bare.cfg b/make/custom/bare.cfg
new file mode 100644
index 0000000000..94ccbc7307
--- /dev/null
+++ b/make/custom/bare.cfg
@@ -0,0 +1,51 @@
+#
+# Config file for the "bare" BSP
+#
+# $Id$
+#
+
+# This is the actual bsp directory used during the build process.
+RTEMS_BSP_FAMILY=bare
+
+RTEMS_BSP=bare
+
+TARGET_ARCH=o-$(RTEMS_BSP_FAMILY)-$(RTEMS_CPU_MODEL)
+
+include $(RTEMS_ROOT)/make/custom/default.cfg
+
+## Target compiler config file, if any
+CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
+
+# optimize flag: typically -0, could use -O4 or -fast
+# -O4 is ok for RTEMS
+CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer
+
+# 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
+#
+# RTEMS_DEBUG (RTEMS)
+# If defined, debug checks in RTEMS and support library code are enabled.
+#
+
+define make-target-options
+ @echo "/* #define NDEBUG 1 */ " >>$@
+ @echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
+ @echo "/* #define RTEMS_DEBUG 1 */" >>$@
+endef
+
+# 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.
+
+define make-exe
+ echo "Cannot do a link with the bare bsp."
+ echo "#!/bin/sh" > $(basename $@).exe
+ echo "echo \"Cannot do a link with the bare bsp.\"" >> $(basename $@).exe
+endef
+
+# Miscellaneous additions go here
diff --git a/make/leaf.cfg b/make/leaf.cfg
index b93ff047d1..4eca33f66c 100644
--- a/make/leaf.cfg
+++ b/make/leaf.cfg
@@ -174,5 +174,10 @@ endif
@echo >>$@
@echo "#endif" >>$@
+ifeq ($(RTEMS_BSP),bare)
+$(ARCH)/bsp_specs.tmp: FORCE
+ cp $(RTEMS_ROOT)/c/src/lib/libbsp/$(RTEMS_BSP_FAMILY)/bsp_specs $@
+else
$(ARCH)/bsp_specs.tmp: FORCE
cp $(RTEMS_ROOT)/c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/bsp_specs $@
+endif
diff --git a/make/target.cfg.in b/make/target.cfg.in
index 56dc124ebf..423987d6fc 100644
--- a/make/target.cfg.in
+++ b/make/target.cfg.in
@@ -51,6 +51,10 @@ RTEMS_USE_MACROS = @RTEMS_USE_MACROS@
RTEMS_USE_GCC272 = @RTEMS_USE_GCC272@
RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
+RTEMS_CPU = @target_cpu@
+RTEMS_CPU_MODEL = @RTEMS_CPU_MODEL@
+CPU_CFLAGS = @CPU_CFLAGS@
+
INSTALL=$(PROJECT_ROOT)/$(RTEMS_BSP)/build-tools/install-if-change
XCFLAGS=$(CFLAGS_FOR_TARGET)