Patch rtems-rc-19991203-7.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>

which adds partial automake support to libcpu/<cpu>/*.

    Until now I have only implemented full automake support for the sh (my
    demonstration example :) and the i386 (inevitiable for structural
    reasons of this subdirectory). For all other cpus only their toplevel
    directories (exception: powerpc), include subdirectories and a few
    selected subdirectories have been converted to automake.
    I did this on purpose, because add automake support to each subdirectory
    requires individual adaptations which to be tested individually.

    Additionally the weirdnesses of the powerpc subdirectories hit again,
    esp. some powerpc cpu-models

    * install files to $(PROJECT_INCLUDE)/<cpu-model>/ while others install
      them to  $(PROJECT_INCLUDE)/
    * the scheme used to configure libcpu/powerpc/ is difficult to implement
      using automake, therefore this subdirectory still is configured by
      autoconf (The one out of an unlimited set selection scheme hits again
      :), though powerpc/*/* subdirectories already apply automake.

    The patch also reveils structural weaknesses in RTEMS:

    E.g. There seem to exist at least 5 different general schemes:

    * Not using libcpu at all (eg. i960)
    * Strictly tree-style a libcpu/<cpu-variant>/* (eg. m68k, sh)
    * Flat libcpu directory layout with cpu-variants merged into sources or
      not destinguishing cpu-variants (i386)
    * Not supporting variants with deep source tree (sparc, hppa, mips64orion)
    * Woven directory structure with shared directories (powerpc)

    I regret having to say this, but from my POV this means, that there
    doesn't exist a general implementation scheme for libcpu at all.

    To apply:

        rm -rf ./c/src/lib/libcpu/i386/wrapup
        rm -rf ./c/src/lib/libcpu/mips64orion/include
        rm -rf ./c/src/lib/libcpu/powerpc/ppc403/include
        patch -p1 < rtems-rc-19991203-7.diff
        ./bootstrap
This commit is contained in:
Joel Sherrill
1999-12-21 14:34:30 +00:00
parent db3e01084a
commit 0fe4834611
3 changed files with 0 additions and 123 deletions

View File

@@ -1,73 +0,0 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../..
subdir = i386/wrapup
RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
BSP_PIECES = startup clock console timer
GENERIC_PIECES =
# bummer; have to use $foreach since % pattern subst rules only replace 1x
OBJS = ../$(ARCH)/libcpuspec.a
LIB = $(ARCH)/libcpu.a
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/lib.cfg
INSTALL_CHANGE = @INSTALL_CHANGE@
#
# (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}
@ list_of_o_files=""; \
for i in ${OBJS}; \
do \
DIRNAME=`dirname ${OBJS}` ; \
temp=`$(AR) t $$i`; \
echo $$temp ;\
echo $$DIRNAME ;\
for j in $$temp; \
do \
list_of_o_files="$$list_of_o_files $$DIRNAME/$$j"; \
done ;\
echo $$list_of_o_files ;\
done ;\
$(RM) $@ ;\
$(AR) $(ARFLAGS) $@ $$list_of_o_files ;\
$(RANLIB) $@
all: ${ARCH} $(SRCS) $(LIB)
$(INSTALL_VARIANT) -m 644 $(LIB) $(PROJECT_RELEASE)/lib
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -1,25 +0,0 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../..
subdir = mips64orion/include
RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
INSTALL_CHANGE = @INSTALL_CHANGE@
all:
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status

View File

@@ -1,25 +0,0 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = ../../..
subdir = powerpc/ppc403/include
RTEMS_ROOT = @RTEMS_ROOT@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH = @srcdir@
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
INSTALL_CHANGE = @INSTALL_CHANGE@
all:
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status