From bd5e4f3baf926e95100c994f4c3042de8f2753f1 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 21 May 1998 18:26:58 +0000 Subject: Added bare bsp from Chris Johns . --- c/src/lib/libbsp/Makefile.in | 17 +- c/src/lib/libbsp/bare/Makefile.in | 20 +++ c/src/lib/libbsp/bare/README | 85 ++++++++++ c/src/lib/libbsp/bare/bsp_specs | 23 +++ c/src/lib/libbsp/bare/include/Makefile.in | 33 ++++ c/src/lib/libbsp/bare/include/bsp.h | 92 ++++++++++ c/src/lib/libbsp/bare/wrapup/Makefile.in | 49 ++++++ configure | 268 +++++++++++++++++++----------- configure.in | 68 ++++++-- make/custom/bare.cfg | 51 ++++++ make/leaf.cfg | 5 + make/target.cfg.in | 4 + 12 files changed, 604 insertions(+), 111 deletions(-) create mode 100644 c/src/lib/libbsp/bare/Makefile.in create mode 100644 c/src/lib/libbsp/bare/README create mode 100644 c/src/lib/libbsp/bare/bsp_specs create mode 100644 c/src/lib/libbsp/bare/include/Makefile.in create mode 100644 c/src/lib/libbsp/bare/include/bsp.h create mode 100644 c/src/lib/libbsp/bare/wrapup/Makefile.in create mode 100644 make/custom/bare.cfg 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 +#include +#include + +/* + * 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 @@ -34,6 +34,10 @@ ac_help="$ac_help 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" @@ -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 <&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 <&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 <&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 <&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) -- cgit v1.2.3