forked from Imagelibrary/rtems
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a6b6f0c130 |
17
.cvsignore
17
.cvsignore
@@ -1,17 +0,0 @@
|
|||||||
aclocal.m4
|
|
||||||
autom4te*.cache
|
|
||||||
config.cache
|
|
||||||
config.guess
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
install-sh
|
|
||||||
install.sh
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
mdate-sh
|
|
||||||
missing
|
|
||||||
mkinstalldirs
|
|
||||||
texinfo.tex
|
|
||||||
2
COPYING
2
COPYING
@@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# $RTEMS$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|||||||
3
INSTALL
3
INSTALL
@@ -39,7 +39,8 @@ NOTES:
|
|||||||
(most) UNIX machines, zcat is associated with compress (.Z files).
|
(most) UNIX machines, zcat is associated with compress (.Z files).
|
||||||
|
|
||||||
(3) If you do not have gzip 1.2.4, it is available from numerous sites
|
(3) If you do not have gzip 1.2.4, it is available from numerous sites
|
||||||
including this one. Other sites include ftp.gnu.org and ftp.cdrom.com.
|
including this one. Other sites include prep.ai.mit.edu and
|
||||||
|
gatekeeper.dec.com.
|
||||||
|
|
||||||
(4) The GNU archive files included in this distribution are packaged
|
(4) The GNU archive files included in this distribution are packaged
|
||||||
exactly like they are on official GNU ftp sites. When extracting
|
exactly like they are on official GNU ftp sites. When extracting
|
||||||
|
|||||||
63
LICENSE.NET
63
LICENSE.NET
@@ -1,63 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
|
|
||||||
The RTEMS TCP/IP stack is a port of the FreeBSD TCP/IP stack. The following
|
|
||||||
copyright and licensing information applies to this code.
|
|
||||||
|
|
||||||
This code is found under the c/src/libnetworking directory but does not
|
|
||||||
constitute the entire contents of that subdirectory.
|
|
||||||
|
|
||||||
=============================================================================
|
|
||||||
|
|
||||||
Copyright (c) 1980, 1983, 1988, 1993
|
|
||||||
The Regents of the University of California. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
3. All advertising materials mentioning features or use of this software
|
|
||||||
must display the following acknowledgment:
|
|
||||||
This product includes software developed by the University of
|
|
||||||
California, Berkeley and its contributors.
|
|
||||||
4. Neither the name of the University nor the names of its contributors
|
|
||||||
may be used to endorse or promote products derived from this software
|
|
||||||
without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
||||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
||||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
||||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGE.
|
|
||||||
|
|
||||||
-
|
|
||||||
Portions Copyright (c) 1993 by Digital Equipment Corporation.
|
|
||||||
|
|
||||||
Permission to use, copy, modify, and distribute this software for any
|
|
||||||
purpose with or without fee is hereby granted, provided that the above
|
|
||||||
copyright notice and this permission notice appear in all copies, and that
|
|
||||||
the name of Digital Equipment Corporation not be used in advertising or
|
|
||||||
publicity pertaining to distribution of the document or software without
|
|
||||||
specific, written prior permission.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
|
|
||||||
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
|
|
||||||
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
|
|
||||||
CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
||||||
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
||||||
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
|
||||||
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
=============================================================================
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
|
|
||||||
The RTEMS RPC/XDR support is a port of the freely distributed
|
|
||||||
Sun Microsystems implementation. The following copyright and
|
|
||||||
licensing information applies to this code.
|
|
||||||
|
|
||||||
This code is in the c/src/librpc directory.
|
|
||||||
|
|
||||||
=============================================================================
|
|
||||||
|
|
||||||
Copyright (C) 1984, Sun Microsystems, Inc.
|
|
||||||
|
|
||||||
Sun RPC is a product of Sun Microsystems, Inc. and is provided for
|
|
||||||
unrestricted use provided that this legend is included on all tape
|
|
||||||
media and as a part of the software program in whole or part. Users
|
|
||||||
may copy or modify Sun RPC without charge, but are not authorized
|
|
||||||
to license or distribute it to anyone else except as part of a product or
|
|
||||||
program developed by the user.
|
|
||||||
|
|
||||||
SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
|
|
||||||
WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
|
|
||||||
|
|
||||||
Sun RPC is provided with no support and without any obligation on the
|
|
||||||
part of Sun Microsystems, Inc. to assist in its use, correction,
|
|
||||||
modification or enhancement.
|
|
||||||
|
|
||||||
SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
|
|
||||||
INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
|
|
||||||
OR ANY PART THEREOF.
|
|
||||||
|
|
||||||
In no event will Sun Microsystems, Inc. be liable for any lost revenue
|
|
||||||
or profits or other special, indirect and consequential damages, even if
|
|
||||||
Sun has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
Sun Microsystems, Inc.
|
|
||||||
2550 Garcia Avenue
|
|
||||||
Mountain View, California 94043
|
|
||||||
|
|
||||||
=============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
|
|
||||||
The source code in c/src/libnetworking/rtems_webserver is a port
|
|
||||||
of the Go Ahead Software, Inc. WebServer. Their copyright and
|
|
||||||
licensing terms apply. See c/src/libnetworking/rtems_webserver/license.txt
|
|
||||||
for details.
|
|
||||||
41
Makefile.am
41
Makefile.am
@@ -1,41 +0,0 @@
|
|||||||
#
|
|
||||||
# top level directory for RTEMS build tree
|
|
||||||
#
|
|
||||||
## The target's toplevel Makefile now is in c/src
|
|
||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I aclocal
|
|
||||||
|
|
||||||
SUBDIRS = make $(build_SUBDIRS) $(host_SUBDIRS) $(target_SUBDIRS)
|
|
||||||
|
|
||||||
AUTOMAKE_FILES = automake/compile.am automake/host.am automake/lib.am \
|
|
||||||
automake/local.am automake/subdirs.am \
|
|
||||||
automake/leaf.am automake/force-preinstall.am
|
|
||||||
|
|
||||||
ACLOCAL_FILES = aclocal/bsp-alias.m4 aclocal/canonical-host.m4 \
|
|
||||||
aclocal/canonical-target-name.m4 aclocal/canonicalize-tools.m4 \
|
|
||||||
aclocal/check-bsp-cache.m4 aclocal/check-bsps.m4 aclocal/check-cpu.m4 \
|
|
||||||
aclocal/check-cxx.m4 aclocal/check-itron.m4 \
|
|
||||||
aclocal/check-multiprocessing.m4 aclocal/check-networking.m4 \
|
|
||||||
aclocal/check-newlib.m4 aclocal/check-posix.m4 aclocal/check-rdbg.m4 \
|
|
||||||
aclocal/enable-bare.m4 aclocal/enable-cxx.m4 \
|
|
||||||
aclocal/enable-inlines.m4 aclocal/enable-itron.m4 \
|
|
||||||
aclocal/enable-multiprocessing.m4 aclocal/enable-networking.m4 \
|
|
||||||
aclocal/enable-posix.m4 aclocal/enable-rdbg.m4 aclocal/enable-rtemsbsp.m4 \
|
|
||||||
aclocal/enable-tests.m4 aclocal/gcc-pipe.m4 aclocal/gcc-specs.m4 \
|
|
||||||
aclocal/i386-gas-code16.m4 aclocal/multilib.m4 aclocal/path-ksh.m4 \
|
|
||||||
aclocal/path-perl.m4 aclocal/prog-cc.m4 aclocal/prog-cxx.m4 \
|
|
||||||
aclocal/project-root.m4 aclocal/rtems-debug.m4 \
|
|
||||||
aclocal/rtems-test-no-pause.m4 aclocal/rtems-top.m4 \
|
|
||||||
aclocal/target.m4 aclocal/tool-paths.m4 aclocal/bspopts.m4 \
|
|
||||||
aclocal/ppc.m4 aclocal/bsp-configure.m4 aclocal/gcc-isystem.m4
|
|
||||||
|
|
||||||
noinst_SCRIPTS = bootstrap
|
|
||||||
|
|
||||||
EXTRA_DIST = $(AUTOMAKE_FILES) $(ACLOCAL_FILES) README.configure SUPPORT \
|
|
||||||
VERSION LICENSE $(noinst_SCRIPTS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/automake/subdirs.am
|
|
||||||
include $(top_srcdir)/automake/host.am
|
|
||||||
76
Makefile.in
Normal file
76
Makefile.in
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
#
|
||||||
|
# top level directory for RTEMS build tree
|
||||||
|
#
|
||||||
|
# Modified by Jiri to implement autoconf and cygnus one-tree build
|
||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
bindir = @bindir@
|
||||||
|
libdir = @libdir@
|
||||||
|
includedir = @includedir@
|
||||||
|
target = @target@
|
||||||
|
manext = 1
|
||||||
|
mandir = @mandir@/man$(manext)
|
||||||
|
program_prefix = @program_prefix@
|
||||||
|
|
||||||
|
export bindir
|
||||||
|
|
||||||
|
RTEMS_ROOT = @top_srcdir@
|
||||||
|
PROJECT_ROOT = @PROJECT_ROOT@
|
||||||
|
|
||||||
|
VPATH=@srcdir@
|
||||||
|
|
||||||
|
ifeq ($(RTEMS_BSP),)
|
||||||
|
RTEMS_BSP = @RTEMS_BSP_LIST@
|
||||||
|
endif
|
||||||
|
|
||||||
|
include $(RTEMS_ROOT)/make/main.cfg
|
||||||
|
|
||||||
|
MTARGETS = pre_install_src all install $(TARGET_VARIANTS) $(TARGET_VARIANTS:%=%_all) \
|
||||||
|
$(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_tests) \
|
||||||
|
clean_wrapup distclean clean_dirs clean_tools tests clean depend
|
||||||
|
|
||||||
|
EXIT_CMD = exit 1
|
||||||
|
|
||||||
|
# Don't pass flags from previous make - especially NOT CFLAGS
|
||||||
|
# NOTE: Previous versions overrode MAKEFLAGS, but this also disables
|
||||||
|
# a lot of useful features
|
||||||
|
# override MAKEFLAGS=
|
||||||
|
|
||||||
|
$(MTARGETS):
|
||||||
|
BASEDIR=`pwd`; \
|
||||||
|
for bsp in $(RTEMS_BSP) xxx; \
|
||||||
|
do if [ $$bsp != xxx ] ; then \
|
||||||
|
cd $$BASEDIR; \
|
||||||
|
cmd="cd c; $(MAKE) RTEMS_BSP=$$bsp $(FLAGS_TO_PASS) \
|
||||||
|
$@" ; \
|
||||||
|
eval $$cmd || $(EXIT_CMD); \
|
||||||
|
fi; done;
|
||||||
|
|
||||||
|
## Configuration stuff
|
||||||
|
|
||||||
|
ACLOCAL = aclocal -I aclocal
|
||||||
|
AUTOCONF = autoconf
|
||||||
|
|
||||||
|
ACLOCAL_FILES := $(wildcard $(srcdir)/aclocal/*.m4)
|
||||||
|
ACLOCAL_M4 = aclocal.m4
|
||||||
|
|
||||||
|
$(ACLOCAL_M4): configure.in $(ACLOCAL_FILES)
|
||||||
|
-cd $(RTEMS_ROOT) && $(ACLOCAL)
|
||||||
|
|
||||||
|
Makefile: Makefile.in config.status
|
||||||
|
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||||
|
|
||||||
|
config.status: $(RTEMS_ROOT)/configure
|
||||||
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
|
$(RTEMS_ROOT)/configure: $(RTEMS_ROOT)/configure.in $(ACLOCAL_M4)
|
||||||
|
-cd $(RTEMS_ROOT) && $(AUTOCONF)
|
||||||
|
|
||||||
|
.PRECIOUS: $(ACLOCAL_M4) configure Makefile config.status
|
||||||
|
|
||||||
2
README
2
README
@@ -39,7 +39,7 @@ Ada versus C
|
|||||||
There are two implementations of RTEMS in this source tree --
|
There are two implementations of RTEMS in this source tree --
|
||||||
in Ada and in C. These two implementations are functionally
|
in Ada and in C. These two implementations are functionally
|
||||||
and structurally equivalent. The C implementation follows
|
and structurally equivalent. The C implementation follows
|
||||||
the packaging conventions and hierarchical nature of the Ada
|
the packaging conventions and hiearchical nature of the Ada
|
||||||
implementation. In addition, a style has been followed which
|
implementation. In addition, a style has been followed which
|
||||||
allows one to easily find the corresponding Ada and C
|
allows one to easily find the corresponding Ada and C
|
||||||
implementations.
|
implementations.
|
||||||
|
|||||||
73
README.cdn-X
73
README.cdn-X
@@ -1,73 +0,0 @@
|
|||||||
Building RTEMS Canadian Cross
|
|
||||||
=============================
|
|
||||||
|
|
||||||
RTEMS now contains experimental and yet incomplete support for building
|
|
||||||
it Canadian Cross.
|
|
||||||
|
|
||||||
1. Introduction
|
|
||||||
---------------
|
|
||||||
If you don't know what Canadian Cross Building means, you probably don't want
|
|
||||||
to apply it and should consider stop reading here.
|
|
||||||
|
|
||||||
Interested readers might want to read Ian Lance Taylor's article at
|
|
||||||
http://www.airs.com/ian/configure for underlaying details and working
|
|
||||||
principles.
|
|
||||||
|
|
||||||
|
|
||||||
2. RTEMS
|
|
||||||
--------
|
|
||||||
Example: Building RTEMS for sparc-rtems under i386-pc-linux-gnu to be hosted
|
|
||||||
on a i386-cygwin platform.
|
|
||||||
|
|
||||||
2.1 Required tools
|
|
||||||
------------------
|
|
||||||
* A i386-pc-linux-gnu cross sparc-rtems toolchain.
|
|
||||||
* A i386-pc-linux-gnu cross i386-cygwin toolchain.
|
|
||||||
* A i386-pc-linux-gnu native toolchain.
|
|
||||||
|
|
||||||
We further on assume these to be installed to these locations:
|
|
||||||
/opt/rtems .. linux cross sparc-rtems toolchain
|
|
||||||
/opt/cygwin .. linux cross i386-cygwin cross-toolchain
|
|
||||||
/usr .. linux native toolchain and further tools.
|
|
||||||
|
|
||||||
2.2 Building sparc-rtems
|
|
||||||
------------------------
|
|
||||||
The first step is to build RTEMS for sparc-rtems under linux.
|
|
||||||
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
<path>/rtems/configure [options] \
|
|
||||||
--target=sparc-rtems \
|
|
||||||
--prefix=/opt/cygwin
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
|
|
||||||
This will build a standard sparc-rtems RTEMS and install it to the given
|
|
||||||
PREFIX.
|
|
||||||
|
|
||||||
2.3 Building i386-cygwin host support
|
|
||||||
-------------------------------------
|
|
||||||
The next step is to build RTEMS host support for i386-cygwin.
|
|
||||||
This basically means to cross-build the host tools contained in RTEMS.
|
|
||||||
|
|
||||||
mkdir host
|
|
||||||
cd host
|
|
||||||
<path>/rtems/configure [options] \
|
|
||||||
--target=sparc-rtems \
|
|
||||||
--build=`<path>/rtems/config.guess` \
|
|
||||||
--host=i386-cygwin \
|
|
||||||
--prefix=/opt/cygwin
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
|
|
||||||
This will build RTEMS host-tools for i386-cygwin and install them to the given
|
|
||||||
PREFIX.
|
|
||||||
|
|
||||||
|
|
||||||
3. Known issues
|
|
||||||
---------------
|
|
||||||
|
|
||||||
* At present time, building RTEMS Canadian Cross is known to be immature, and
|
|
||||||
to require additional work. Do not expect this to work.
|
|
||||||
|
|
||||||
* The <toplevel>/make/ directory hierarchy is not treated correctly.
|
|
||||||
205
README.configure
205
README.configure
@@ -10,9 +10,6 @@ configured and built either standalone or together with the compiler
|
|||||||
tools in the Cygnus one-tree structure. Using autoconf also means
|
tools in the Cygnus one-tree structure. Using autoconf also means
|
||||||
that RTEMS now can be built in a separate build directory.
|
that RTEMS now can be built in a separate build directory.
|
||||||
|
|
||||||
To re-generate auto*tool generated files (configure, Makefile.in etc),
|
|
||||||
autoconf-2.57 and automake-1.7.2 are required.
|
|
||||||
|
|
||||||
2. Installation
|
2. Installation
|
||||||
===============
|
===============
|
||||||
|
|
||||||
@@ -24,90 +21,72 @@ RTEMS-specific option are supported:
|
|||||||
|
|
||||||
--disable-rtems-inlines
|
--disable-rtems-inlines
|
||||||
--disable-posix
|
--disable-posix
|
||||||
--disable-itron
|
--disable-tests
|
||||||
--disable-networking
|
--disable-networking
|
||||||
--enable-cxx
|
--enable-cxx
|
||||||
--enable-bare-cpu-model=<MODEL>
|
--enable-bare-cpu-model=<MODEL>
|
||||||
--enable-bare-cpu-cflags=<FLAGS>
|
--enable-bare-cpu-cflags=<FLAGS>
|
||||||
--enable-multiprocessing
|
--enable-gcc28 (also use enable-libcdir when disabled)
|
||||||
|
--enable-gmake-print-directory
|
||||||
|
--enable-libcdir=<DIRECTORY> (do not use if gcc 2.8 is enabled)
|
||||||
--enable-rtemsbsp="bsp1 bsp2 ..."
|
--enable-rtemsbsp="bsp1 bsp2 ..."
|
||||||
--enable-tests
|
|
||||||
--enable-rdbg (only valid for i386 and some PowerPC BSPs)
|
|
||||||
--enable-docs
|
|
||||||
|
|
||||||
In addition, the following standard autoconf options are frequently
|
In addition, the following standard autoconf options are frequently
|
||||||
used when configuring RTEMS installations:
|
used when configuring RTEMS installations:
|
||||||
|
|
||||||
--prefix=INSTALL_DIRECTORY
|
--prefix=INSTALL_DIRECTORY
|
||||||
|
--program-prefix=
|
||||||
|
|
||||||
By default, inline routines are used instead of macros where possible.
|
By default, the RTEMS posix interface is built for targets that support
|
||||||
Macros can be selected using the --disable-inlines option. [NOTE:
|
|
||||||
Some APIs may not support macro versions of their inline routines.]
|
|
||||||
|
|
||||||
By default, the RTEMS POSIX 1003.1b interface is built for targets that support
|
|
||||||
it. It can be disabled with the --disable-posix option.
|
it. It can be disabled with the --disable-posix option.
|
||||||
|
|
||||||
By default, the RTEMS uITRON interface is built for targets that support
|
|
||||||
it. It can be disabled with the --disable-itron option.
|
|
||||||
|
|
||||||
By default, the RTEMS networking support is built for targets which
|
By default, the RTEMS networking support is built for targets which
|
||||||
support it. It can be specifically disabled for those targets
|
support it. It can be specifically disabled for those targets
|
||||||
with the --disable-networking option.
|
with the --disable-networking option.
|
||||||
|
|
||||||
By default, the RTEMS remote debugger server support is not built.
|
|
||||||
It can be specifically enabled for the targets that support it.
|
|
||||||
with the --enable-rdbg option. NB : the RTEMS networking support
|
|
||||||
must be enabled to support the remote debugger server.
|
|
||||||
|
|
||||||
By default, the RTEMS support of C++ is disabled. It can be enabled
|
By default, the RTEMS support of C++ is disabled. It can be enabled
|
||||||
with the --enable-cxx option. If the rtems++ C++ library is installed
|
with the --enable-cxx option. If the rtems++ C++ library is installed
|
||||||
it will also be build.
|
it will also be build.
|
||||||
|
|
||||||
By default, the RTEMS test suites are NOT configured -- only the
|
By default, the RTEMS test suites are configured. The --disable-tests
|
||||||
sample tests are built. --enable-tests will configure
|
will not configure the RTEMS test suite. This is used only to speed-up
|
||||||
the RTEMS test suite. The default speeds up the build
|
configuration in case building the tests are not necessary.
|
||||||
and configure process when the tests are not desired.
|
|
||||||
|
|
||||||
By default, RTEMS is built using arguments and build rules which require a
|
By default, RTEMS is built using arguments and build rules which are
|
||||||
gcc supporting the -specs option, ie. a gcc >= 2.8.
|
compatible with gcc 2.7.2.2. This requires that the user specify
|
||||||
[The --disable-gcc28 option, which has been present in former releases, has
|
the location of the Standard C Library with the --enable-libcdir
|
||||||
been removed.]
|
option. If using a gcc which supports the -specs option, then
|
||||||
|
the --enable-gcc28 option may be used to enable this feature.
|
||||||
By default, multiprocessing is is not built. It can be enabled
|
You should use the --enable-gcc28 option when using either the
|
||||||
for those BSPs supporting it by the --enable-multiprocessing option.
|
egcs source tree, testgcc snapshots, or gcc 2.8.0 or newer.
|
||||||
|
|
||||||
By default, all bsps for a target are built. The bare BSP is not built
|
By default, all bsps for a target are built. The bare BSP is not built
|
||||||
unless directly specified. There are two ways of changing this:
|
unless directlty specified. There are two ways of changing this:
|
||||||
|
|
||||||
+ use the --enable-rtemsbsp option which will set the specified
|
+ use the --enable-rtemsbsp otion which will set the specified
|
||||||
bsps as the default bsps, or
|
bsps as the default bsps, or
|
||||||
+ set the RTEMS_BSP variable during make (see below).
|
+ set the RTEMS_BSP variable during make (see below).
|
||||||
|
|
||||||
The --enable-rtemsbsp= option configures RTEMS for a specific board
|
The --enable-rtemsbsp= option configures RTEMS for a specific target
|
||||||
within a target architecture. Remember that the target specifies the
|
architecture. The following targets are supported:
|
||||||
CPU family while the BSP specifies the precise board you will be using.
|
|
||||||
The following targets are supported:
|
|
||||||
|
|
||||||
(none) will build the host-based version on Linux,
|
(none) will build the host-based version on Linux,
|
||||||
Solaris and HPUX.
|
Solaris and HPUX.
|
||||||
|
|
||||||
a29k-rtems only standalone, uses non-gnu compiler
|
a29k-rtems only standalone, uses non-gnu compiler
|
||||||
arm-rtems
|
|
||||||
h8300-rtems
|
|
||||||
i386-rtems
|
i386-rtems
|
||||||
|
i386-go32-rtems see notes
|
||||||
i960-rtems
|
i960-rtems
|
||||||
hppa1.1-rtems
|
hppa1.1-rtems
|
||||||
m68k-rtems
|
m68k-rtems
|
||||||
mips-rtems
|
|
||||||
mips64orion-rtems
|
mips64orion-rtems
|
||||||
no_cpu-rtems
|
no_cpu-rtems
|
||||||
powerpc-rtems
|
powerpc-rtems
|
||||||
sh-rtems
|
|
||||||
sparc-rtems
|
sparc-rtems
|
||||||
bare see notes
|
bare see notes
|
||||||
|
|
||||||
The cross-compiler is set to $(target)-gcc by default. This can be
|
The cross-compiler is set to $(target)-gcc by default. This can be
|
||||||
overridden by:
|
overriden by:
|
||||||
|
|
||||||
+ using the --program-prefix option to configure to specify the
|
+ using the --program-prefix option to configure to specify the
|
||||||
string which will prepended to the tool names. Be sure to include
|
string which will prepended to the tool names. Be sure to include
|
||||||
@@ -131,12 +110,8 @@ As an example, to build and install the mvme136 and dmv152 bsps for m68k do:
|
|||||||
The sample tests are built by 'make all', do a 'make test' to build the full
|
The sample tests are built by 'make all', do a 'make test' to build the full
|
||||||
test suite.
|
test suite.
|
||||||
|
|
||||||
By default, --enable-docs is disabled and documentation is not built.
|
|
||||||
|
|
||||||
2.2 Build with Cygnus one-tree release
|
2.2 Build with Cygnus one-tree release
|
||||||
|
|
||||||
[NOTE: This section does not apply anymore.]
|
|
||||||
|
|
||||||
To build and install RTEMS with the one-tree structure, just copy the rtems
|
To build and install RTEMS with the one-tree structure, just copy the rtems
|
||||||
directory to the tree. The one-tree configure.in and Makefile.in has to be
|
directory to the tree. The one-tree configure.in and Makefile.in has to be
|
||||||
replaced with the RTEMS-aware versions. The build options are the same as
|
replaced with the RTEMS-aware versions. The build options are the same as
|
||||||
@@ -144,6 +119,33 @@ for the standalone build.
|
|||||||
|
|
||||||
2.3 Target Dependent Notes
|
2.3 Target Dependent Notes
|
||||||
|
|
||||||
|
i386-go32-rtems:
|
||||||
|
|
||||||
|
1. This is based on djgpp v1.xx. It needs to be updated to v2.xx.
|
||||||
|
2. This cannot be built one-tree style since RTEMS requires some
|
||||||
|
files which must be obtained from the binary distribution of the
|
||||||
|
djgpp library. DJGPP can be obtained from
|
||||||
|
http://www.delorie.com/djgpp/dl/ofc.
|
||||||
|
3. You will need to manually install a number of files from the
|
||||||
|
binary distribution of the DJGPP library doing something
|
||||||
|
like the following:
|
||||||
|
|
||||||
|
# unzip the djgpp distribution
|
||||||
|
cd include
|
||||||
|
cp dpmi.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
|
||||||
|
cp go32.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
|
||||||
|
cp dos.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
|
||||||
|
cp pc.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
|
||||||
|
|
||||||
|
cd ../lib
|
||||||
|
cp crt* INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2
|
||||||
|
cp libpc* INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2
|
||||||
|
|
||||||
|
# Make sure about destination on the next lines. It keeps the newlib
|
||||||
|
# libc.a and the binary djgpp libc.a from conflicting.
|
||||||
|
cp libc.a INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/libcgo32.a
|
||||||
|
cp libc_p.a INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/libcgo32_p.a
|
||||||
|
|
||||||
bare:
|
bare:
|
||||||
|
|
||||||
1. See the README in the bare bsp source directory. This should
|
1. See the README in the bare bsp source directory. This should
|
||||||
@@ -176,101 +178,82 @@ following:
|
|||||||
|
|
||||||
The following bsps are supported:
|
The following bsps are supported:
|
||||||
|
|
||||||
host-based : posix (on Linux, FreeBSD, Cygwin, Solaris, and HPUX)
|
host-based : posix (on linux, solaris and hpux)
|
||||||
|
|
||||||
arm : arm_bare_bsp armulator edb7312 vegaplus
|
|
||||||
|
|
||||||
c4x : c4xsim
|
|
||||||
|
|
||||||
h8300 : h8sim
|
|
||||||
|
|
||||||
i386 : i386ex pc386 pc386dx pc486 pc586 pc686 pck6 ts_386ex
|
|
||||||
NOTE: The "pc386" BSP can be compiled to support a
|
|
||||||
variety of PC configurations including PC-104
|
|
||||||
based solutions.
|
|
||||||
|
|
||||||
i960 : cvme961 i960sim rxgen960
|
|
||||||
|
|
||||||
m68k : dmv152 efi332 efi68k gen68302 gen68340 gen68360
|
|
||||||
gen68360_040 idp mcf5206elite mrm332 mvme136 mvme147
|
|
||||||
mvme147s mvme162 mvme162lx ods68302
|
|
||||||
|
|
||||||
no_cpu : no_bsp (porting example)
|
|
||||||
|
|
||||||
mips : p4600 p4650 (p4000 port with either R4600 or R4650)
|
|
||||||
jmr3904 genmongoosev
|
|
||||||
|
|
||||||
or32: : orp
|
|
||||||
|
|
||||||
powerpc : dmv177 eth_comm gen405 helas403 mcp750 mbx8xx mtx603e
|
|
||||||
mvme230x ppcn_60x psim score603e
|
|
||||||
|
|
||||||
NOTE: The "motorola_powerpc" BSP is a single BSP which
|
|
||||||
can be conditionally compiled to support most Motorola
|
|
||||||
VMEbus, CompactPCI, and MTX boards.)
|
|
||||||
|
|
||||||
sh : gensh1 gensh2 shsim simsh4 gensh4
|
|
||||||
|
|
||||||
sparc : erc32 erc32nfp leon1 leon2
|
|
||||||
|
|
||||||
any : bare
|
|
||||||
|
|
||||||
The following ports are considered deprecated and will be removed in
|
|
||||||
a future release:
|
|
||||||
|
|
||||||
a29k : portsw
|
a29k : portsw
|
||||||
|
i386 : force386 i386ex pc386
|
||||||
|
i386-go32 : go32 go32_p5
|
||||||
|
i960 : cvme961
|
||||||
hppa1.1 : simhppa
|
hppa1.1 : simhppa
|
||||||
|
m68k : dmv152 efi332 efi68k gen68302 gen68340 gen68360
|
||||||
mips64orion : (deprecated)
|
gen68360_040 idp mvme136 mvme147 mvme147s mvme162 ods68302
|
||||||
p4600 p4650 (p4000 port with either R4600 or R4650)
|
no_cpu : no_bsp
|
||||||
|
mips64orion : p4600 p4650 (p4000 port with either R4600 or R4650)
|
||||||
NOTE: MIPS support is NOT being dropped. This is a clean up
|
powerpc : papyrus psim helas403
|
||||||
effort and the mips64orion BSPs and CPUs will be
|
sh : gensh1
|
||||||
supported by the mips port.
|
sparc : erc32
|
||||||
|
any : bare
|
||||||
|
|
||||||
5. Makefile structure
|
5. Makefile structure
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
The makefiles have been re-organized. Most gnu-based bsps now use three
|
The makefiles have been re-organised. Most gnu-based bsps now use three
|
||||||
main makefiles:
|
main makefiles:
|
||||||
+ custom/default.cfg,
|
+ custom/default.cfg,
|
||||||
+ custom/bsp.cfg and
|
+ custom/bsp.cfg and
|
||||||
+ compilers/gcc-target-default.cfg.
|
+ ompilers/gcc-target-default.cfg.
|
||||||
|
|
||||||
Default.cfg sets the default values of certain common build options.
|
Default.cfg sets the deafult values of certain common build options.
|
||||||
|
|
||||||
Bsp.cfg set bsp-specific build options and can also override the
|
Bsp.cfg set bsp-specific build options and can also override the
|
||||||
default settings.
|
default settings.
|
||||||
|
|
||||||
Gcc-target-default.cfg contains the common gcc definitions.
|
Gcc-target-default.cfg contains the common gcc definitions. Some targets
|
||||||
|
(a29k, no_cpu, and posix) still use the old structure.
|
||||||
|
|
||||||
6. Adding a bsp
|
6. Adding a bsp
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Please refer to the BSP and Device Driver Guide.
|
The top-level configure.in has to be modified if a new target is added
|
||||||
|
or if a new bsp is to be built by default. The additions required is
|
||||||
|
basically to add which makefiles are to be created by configure and
|
||||||
|
to add the target to the selection statement. To re-generate
|
||||||
|
configure, autoconf-2.12 is needed.
|
||||||
|
|
||||||
7. Tested configurations
|
7. Tested configurations
|
||||||
========================
|
========================
|
||||||
|
|
||||||
All gnu-based bsps have been built on Linux.
|
All gnu-based bsps have been built on Linux.
|
||||||
|
|
||||||
The native (posix) ports have been built and run only on Linux.
|
The native (posix) ports have been built and run only on Linux.
|
||||||
|
|
||||||
The following configurations have NOT been tested:
|
The following configurations have NOT been tested:
|
||||||
|
|
||||||
+ Anything on Nextstep, HPUX and Irix.
|
+ Anything on Nextstep, HPUX and Irix.
|
||||||
+ The a29k port
|
+ The a29k port.
|
||||||
+ The C4x and OR32 ports (requires specially patched toolchain)
|
|
||||||
|
|
||||||
8. Prerequisites
|
8. Pre-requisites
|
||||||
================
|
=================
|
||||||
|
|
||||||
Gawk version 2 or higher.
|
Gawk version 2 or higher.
|
||||||
GNU make version 3.72 or higher.
|
GNU make version 3.72 or higher.
|
||||||
Bash.
|
Bash.
|
||||||
gcc version > 2.8
|
gcc version ???
|
||||||
|
|
||||||
|
TODO
|
||||||
|
====
|
||||||
|
|
||||||
|
The install-if-change script requires bash. On solaris systems, this should
|
||||||
|
be changed to ksh, since ksh is provided with solaris (bash not).
|
||||||
|
|
||||||
|
A fairly rescent version of gawk is needed to build RTEMS. This should be
|
||||||
|
changed so that a plain vanilla awk also works. [NOTE: This dependency
|
||||||
|
should disappear when the "gcc 2.8 -specs" is finished.]
|
||||||
|
|
||||||
|
'make install' should only install necessary files, not the full
|
||||||
|
PROJECT_RELEASE directory as now.
|
||||||
|
|
||||||
|
Posix port on solaris-2.5 fails due to undefined built-in functions
|
||||||
|
(gcc-2.7.2, might be my installation).
|
||||||
|
|
||||||
|
Improve support for 'make CFLAGS=xxx'.
|
||||||
|
|
||||||
NOTE: These prerequisites are probably out of date but autoconf should detect
|
|
||||||
any problems.
|
|
||||||
|
|||||||
15
SUPPORT
15
SUPPORT
@@ -2,13 +2,14 @@
|
|||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
On-Line Applications Research Corporation (OAR) offers support,
|
RTEMS was developed by On-Line Applications Research Corporation (OAR)
|
||||||
customization, and training for RTEMS. Custom RTEMS development services
|
for the U.S. Army Missile Command. OAR offers support, customization,
|
||||||
includes porting RTEMS to new processors and the development of custom board
|
and training for RTEMS. Custom RTEMS development services includes
|
||||||
|
porting RTEMS to new processors and the development of custom board
|
||||||
support packages and device drivers. In addition, OAR is available
|
support packages and device drivers. In addition, OAR is available
|
||||||
to assist in the development of your real-time embedded application.
|
to assist in the development of your real-time embedded application.
|
||||||
|
|
||||||
For more information, email Mark Johannes at mark.johannes@OARcorp.com
|
For more information, email Mark Johannes at mark@OARcorp.com
|
||||||
or contact OAR at:
|
or contact OAR at:
|
||||||
|
|
||||||
On-Line Applications Research Corporation
|
On-Line Applications Research Corporation
|
||||||
@@ -17,6 +18,8 @@ Huntsville AL 35805
|
|||||||
Voice: (205) 722-9985
|
Voice: (205) 722-9985
|
||||||
Fax: (205 722-0985
|
Fax: (205 722-0985
|
||||||
|
|
||||||
RTEMS maintenance and development is funded solely by RTEMS users.
|
In the past, RTEMS maintainance and enhancements were primarily funded
|
||||||
The future of RTEMS depends on its user base.
|
by the development contracts sponsored by the U.S. Army. Now RTEMS
|
||||||
|
is funded solely by RTEMS users. The future of RTEMS depends on
|
||||||
|
its user base.
|
||||||
|
|
||||||
|
|||||||
4
VERSION
4
VERSION
@@ -1,7 +1,5 @@
|
|||||||
#
|
#
|
||||||
# This file is automatically generated -- DO NOT EDIT!!!
|
|
||||||
#
|
|
||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
RTEMS Version 4.6.5
|
RTEMS Version 4.0.0
|
||||||
|
|||||||
395
acinclude.m4
395
acinclude.m4
@@ -1,395 +0,0 @@
|
|||||||
## All directories belong in one of 3 categories.
|
|
||||||
## ${HOST_CONFIGDIRS_LIST} is directories we build using the host tools.
|
|
||||||
## ${TARGET_CONFIGDIRS_LIST} is directories we build using the target tools.
|
|
||||||
## ${BUILD_CONFIGDIRS_LIST} is directories we build using the build tools
|
|
||||||
|
|
||||||
AC_PREREQ(2.57)
|
|
||||||
|
|
||||||
dnl RTEMS_ARG_VAR(VAR,HELP-STRING)
|
|
||||||
dnl An internal macros to have help strings pretty
|
|
||||||
dnl printed with configure --help, without letting autoconf spoil config subdir
|
|
||||||
dnl environments by trying to propagate them
|
|
||||||
dnl Stripped down version of autoconf-2.52's AC_ARG_VAR.
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_ARG_VAR],
|
|
||||||
[
|
|
||||||
m4_expand_once([m4_divert_once([HELP_VAR],
|
|
||||||
[AC_HELP_STRING([$1], [$2], [ ])])],
|
|
||||||
[$0($1)])dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_SUBST_IFNOT],
|
|
||||||
[AS_IF([`echo " [$]$1 " | grep " $2 " > /dev/null`],
|
|
||||||
[],
|
|
||||||
[AC_SUBST([$1],["[$]$1 $2"])])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_TOOLS],
|
|
||||||
[
|
|
||||||
m4_ifdef([_RTEMS_$2_CONFIGDIRS_LIST],
|
|
||||||
[
|
|
||||||
_RTEMS_ARG_VAR([CC_FOR_$2],
|
|
||||||
[c-compiler to be used for $1 subdirs (default: auto-detected)])
|
|
||||||
_RTEMS_ARG_VAR([CFLAGS_FOR_$2],
|
|
||||||
[c-flags to be used for $1 subdirs (default: provided by autoconf)])
|
|
||||||
_RTEMS_ARG_VAR([CXX_FOR_$2],
|
|
||||||
[c++-compiler to be used for $1 subdirs (default: auto-detected)])
|
|
||||||
_RTEMS_ARG_VAR([CXXFLAGS_FOR_$2],
|
|
||||||
[c++-flags to be used for $1 subdirs (default: provided by autoconf)])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS],
|
|
||||||
[
|
|
||||||
AC_CONFIG_COMMANDS_PRE([
|
|
||||||
|
|
||||||
if test -z "${build_alias}"; then
|
|
||||||
# build_alias is empty
|
|
||||||
if test -z "${host_alias}"; then
|
|
||||||
# host_alias is empty
|
|
||||||
if test -z "${target_alias}"; then
|
|
||||||
: target_alias is empty
|
|
||||||
else
|
|
||||||
: target_alias is not empty
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# host_alias is not empty
|
|
||||||
if test -z "${target_alias}"; then
|
|
||||||
: target_alias is empty
|
|
||||||
target_alias="${host_alias}"
|
|
||||||
else
|
|
||||||
: target_alias is not empty
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# build_alias is not empty
|
|
||||||
if test -z "${host_alias}"; then
|
|
||||||
# host_alias is empty
|
|
||||||
if test -z "${target_alias}"; then
|
|
||||||
: target_alias is empty
|
|
||||||
else
|
|
||||||
: target_alias is not empty
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
# host_alias is not empty
|
|
||||||
if test -z "${target_alias}"; then
|
|
||||||
: target_alias is empty
|
|
||||||
target_alias="${host_alias}"
|
|
||||||
else
|
|
||||||
: target_alias is not empty
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
_RTEMS_BUILD_CONFIG_PREPARE
|
|
||||||
_RTEMS_HOST_CONFIG_PREPARE
|
|
||||||
_RTEMS_TARGET_CONFIG_PREPARE
|
|
||||||
|
|
||||||
build_subdir="."
|
|
||||||
build_SUBDIRS="${build_configdirs}"
|
|
||||||
build_configdirs="${build_configdirs}"
|
|
||||||
|
|
||||||
AS_IF([test $build != $host],
|
|
||||||
[dnl
|
|
||||||
host_subdir="${host_alias-$host}"
|
|
||||||
host_SUBDIRS=`echo "${host_configdirs}" | \
|
|
||||||
sed -e "s%\([[^ ]][[^ ]]*\)%$host_subdir/\1%g"`
|
|
||||||
host_configdirs="${host_configdirs}"
|
|
||||||
],[dnl
|
|
||||||
host_SUBDIRS="${host_configdirs}"
|
|
||||||
host_configdirs="${host_configdirs}"
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([test $build != $target],
|
|
||||||
[dnl
|
|
||||||
target_subdir="${target_alias-$target}"
|
|
||||||
target_SUBDIRS=`echo "${target_configdirs}" | \
|
|
||||||
sed -e "s%\([[^ ]][[^ ]]*\)%$target_subdir/\1%g"`
|
|
||||||
target_configdirs="${target_configdirs}"
|
|
||||||
],[dnl
|
|
||||||
target_SUBDIRS="${target_configdirs}"
|
|
||||||
target_configdirs="${target_configdirs}"
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_SUBST(host_SUBDIRS)
|
|
||||||
AC_SUBST(target_SUBDIRS)
|
|
||||||
AC_SUBST(build_SUBDIRS)
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_CONFIG_COMMANDS_POST([
|
|
||||||
_RTEMS_OUTPUT_SUBDIRS([build],[BUILD])
|
|
||||||
_RTEMS_OUTPUT_SUBDIRS([host],[HOST])
|
|
||||||
_RTEMS_OUTPUT_SUBDIRS([target],[TARGET])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl _RTEMS_SRCPATHS(BUILD-DIR-NAME)
|
|
||||||
dnl ----------------------------
|
|
||||||
dnl Inputs:
|
|
||||||
dnl - BUILD-DIR-NAME is `top-build -> build' and `top-src -> src'
|
|
||||||
dnl - `$srcdir' is `top-build -> top-src'
|
|
||||||
dnl
|
|
||||||
dnl Outputs:
|
|
||||||
dnl - `ac_builddir' is `.', for symmetry only.
|
|
||||||
dnl - `ac_top_builddir' is `build -> top_build'.
|
|
||||||
dnl If not empty, has a trailing slash.
|
|
||||||
dnl - `ac_srcdir' is `build -> src'.
|
|
||||||
dnl - `ac_top_srcdir' is `build -> top-src'.
|
|
||||||
dnl
|
|
||||||
dnl and `ac_buildpath' etc., the absolute paths.
|
|
||||||
m4_define([_RTEMS_SRCPATHS],
|
|
||||||
[
|
|
||||||
m4_if([$2],,
|
|
||||||
[dstdir=$1],
|
|
||||||
[case "$2" in
|
|
||||||
"." | "" ) # No subdir was given
|
|
||||||
dstdir=$1;;
|
|
||||||
* ) # A subdir was given
|
|
||||||
dstdir=$2/$1;;
|
|
||||||
esac])
|
|
||||||
ac_builddir=.
|
|
||||||
|
|
||||||
AS_IF([test $dstdir != .],
|
|
||||||
[ # Strip off leading ./
|
|
||||||
ac_builddir_suffix=/`echo $dstdir | sed 's,^\.[[\\/]],,'`
|
|
||||||
ac_srcdir_suffix=/`echo $1 | sed 's,^\.[[\\/]],,'`
|
|
||||||
# A "../" for each directory in $ac_dir_suffix.
|
|
||||||
ac_top_builddir=`echo "$ac_builddir_suffix" | sed 's,/[[^\\/]]*,../,g'`
|
|
||||||
],[
|
|
||||||
ac_dir_suffix= ac_top_builddir=
|
|
||||||
])
|
|
||||||
|
|
||||||
case $srcdir in
|
|
||||||
.) # No --srcdir option. We are building in place.
|
|
||||||
ac_srcdir=.
|
|
||||||
if test -z "$ac_top_builddir"; then
|
|
||||||
ac_top_srcdir=.
|
|
||||||
else
|
|
||||||
ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
|
|
||||||
fi ;;
|
|
||||||
[[\\/]]* | ?:[[\\/]]* ) # Absolute path.
|
|
||||||
ac_srcdir=$srcdir$ac_srcdir_suffix;
|
|
||||||
ac_top_srcdir=$srcdir;
|
|
||||||
;;
|
|
||||||
*) # Relative path.
|
|
||||||
ac_srcdir=$ac_top_builddir$srcdir$ac_srcdir_suffix;
|
|
||||||
ac_top_srcdir=$ac_top_builddir$srcdir;
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
dnl Don't blindly perform a `cd $1/$ac_foo && pwd` since $ac_foo can be
|
|
||||||
dnl absolute.
|
|
||||||
|
|
||||||
ac_buildpath=`cd $dstdir && cd $ac_builddir && pwd`
|
|
||||||
ac_top_buildpath=`cd $dstdir && cd $ac_top_builddir && pwd`
|
|
||||||
ac_srcpath=`cd $dstdir && cd $ac_srcdir && pwd`
|
|
||||||
ac_top_srcpath=`cd $dstdir && cd $ac_top_srcdir && pwd`
|
|
||||||
])# _AC_SRCPATHS
|
|
||||||
|
|
||||||
dnl _RTEMS_OUTPUT_SUBDIRS([host|target|build],[HOST|TARGET|BUILD])
|
|
||||||
AC_DEFUN([_RTEMS_OUTPUT_SUBDIRS],[
|
|
||||||
m4_ifdef([_RTEMS_$2_CONFIGDIRS_LIST],
|
|
||||||
[
|
|
||||||
if test "$no_recursion" != yes; then
|
|
||||||
|
|
||||||
if test -n "${$1_SUBDIRS}"; then
|
|
||||||
ac_sub_configure_args="[$]$1args"
|
|
||||||
|
|
||||||
# Always prepend --prefix to ensure using the same prefix
|
|
||||||
# in subdir configurations.
|
|
||||||
ac_sub_configure_args="'--prefix=$prefix' $ac_sub_configure_args"
|
|
||||||
|
|
||||||
# make sure that $1_subdir is not empty
|
|
||||||
test -n "$$1_subdir" || $1_subdir="."
|
|
||||||
|
|
||||||
case "$$1_subdir" in
|
|
||||||
"." ) ;;
|
|
||||||
* )
|
|
||||||
ac_sub_configure_args="$ac_sub_configure_args '--with-target-subdir=$$1_subdir' '--exec-prefix=${prefix}/$$1_subdir'"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
ac_popdir=`pwd`
|
|
||||||
for ac_dir in $$1_configdirs; do
|
|
||||||
|
|
||||||
# Do not complain, so a configure script can configure whichever
|
|
||||||
# parts of a large source tree are present.
|
|
||||||
test -d $srcdir/$ac_dir || continue
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([configuring in $$1_subdir/$ac_dir])
|
|
||||||
AS_MKDIR_P(["$$1_subdir/$ac_dir"])
|
|
||||||
_RTEMS_SRCPATHS(["$ac_dir"],["$$1_subdir"])
|
|
||||||
|
|
||||||
cd $$1_subdir/$ac_dir
|
|
||||||
|
|
||||||
# Check for guested configure; otherwise get Cygnus style configure.
|
|
||||||
if test -f $ac_srcdir/configure.gnu; then
|
|
||||||
ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'"
|
|
||||||
elif test -f $ac_srcdir/configure; then
|
|
||||||
ac_sub_configure="$SHELL '$ac_srcdir/configure'"
|
|
||||||
elif test -f $ac_srcdir/configure.in; then
|
|
||||||
ac_sub_configure=$ac_configure
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([no configuration information is in $ac_dir])
|
|
||||||
ac_sub_configure=
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The recursion is here.
|
|
||||||
if test -n "$ac_sub_configure"; then
|
|
||||||
# Make the cache file name correct relative to the subdirectory.
|
|
||||||
case $cache_file in
|
|
||||||
[[\\/]]* | ?:[[\\/]]* ) ac_sub_cache_file=$cache_file ;;
|
|
||||||
*) # Relative path.
|
|
||||||
ac_sub_cache_file=$ac_top_builddir$cache_file ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
ac_sub_configure_vars=
|
|
||||||
ac_sub_configure_vars="$ac_sub_configure_vars '--cache-file=$ac_sub_cache_file'"
|
|
||||||
ac_sub_configure_vars="$ac_sub_configure_vars '--srcdir=$ac_srcdir'"
|
|
||||||
|
|
||||||
test -n "[$]CC_FOR_$2" && \
|
|
||||||
ac_sub_configure_vars="$ac_sub_configure_vars 'CC=[$]CC_FOR_$2'"
|
|
||||||
test -n "[$]CXX_FOR_$2" && \
|
|
||||||
ac_sub_configure_vars="$ac_sub_configure_vars 'CXX=[$]CXX_FOR_$2'"
|
|
||||||
test -n "[$]CFLAGS_FOR_$2" && \
|
|
||||||
ac_sub_configure_vars="$ac_sub_configure_vars 'CFLAGS=[$]CFLAGS_FOR_$2'"
|
|
||||||
test -n "[$]CXXFLAGS_FOR_$2" && \
|
|
||||||
ac_sub_configure_vars="$ac_sub_configure_vars 'CXXFLAGS=[$]CXXFLAGS_FOR_$2'"
|
|
||||||
|
|
||||||
# The eval makes quoting arguments work.
|
|
||||||
AC_MSG_NOTICE([running $ac_sub_configure $ac_sub_configure_args $ac_sub_configure_vars])
|
|
||||||
eval $ac_sub_configure $ac_sub_configure_args $ac_sub_configure_vars ||
|
|
||||||
AC_MSG_ERROR([$ac_sub_configure failed for $ac_dir])
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$ac_popdir"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_CONFIGURE_ARGS_PRUNE],
|
|
||||||
[
|
|
||||||
$1_prune()
|
|
||||||
{
|
|
||||||
$1=
|
|
||||||
for ac_arg
|
|
||||||
do
|
|
||||||
if test -n "$ac_prev"; then
|
|
||||||
ac_prev=
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
case $ac_arg in
|
|
||||||
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
|
||||||
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
|
||||||
ac_prev=cache_file ;;
|
|
||||||
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
|
||||||
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
|
|
||||||
| --c=*)
|
|
||||||
;;
|
|
||||||
--config-cache | -C)
|
|
||||||
;;
|
|
||||||
|
|
||||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
|
||||||
ac_prev=srcdir ;;
|
|
||||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
|
||||||
;;
|
|
||||||
|
|
||||||
-host* | --host* );;
|
|
||||||
-host | --host )
|
|
||||||
ac_prev=host_alias;;
|
|
||||||
-target* | --target* );;
|
|
||||||
-target | --target )
|
|
||||||
ac_prev=target_alias;;
|
|
||||||
-build* | --build* );;
|
|
||||||
-build | --build )
|
|
||||||
ac_prev=build_alias;;
|
|
||||||
|
|
||||||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
|
||||||
ac_prev=prefix ;;
|
|
||||||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
|
||||||
;;
|
|
||||||
|
|
||||||
*_alias=* );;
|
|
||||||
|
|
||||||
m4_if([$2],,,[$2])
|
|
||||||
*) $1="$$1 '$ac_arg'" ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
export $1
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
## PUBLIC: RTEMS_BUILD_CONFIG_SUBDIRS(build_subdir)
|
|
||||||
# subdirs to be built for the build environment
|
|
||||||
AC_DEFUN([RTEMS_BUILD_CONFIG_SUBDIRS],[
|
|
||||||
m4_append([_RTEMS_BUILD_CONFIGDIRS_LIST],[ $1])
|
|
||||||
dnl Always append to build_configdirs
|
|
||||||
AC_SUBST(build_configdirs,"$build_configdirs $1")
|
|
||||||
|
|
||||||
m4_divert_text([DEFAULTS],
|
|
||||||
[ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
|
|
||||||
m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_BUILD_CONFIG_PREPARE],[
|
|
||||||
## # Record the configure arguments in Makefile.
|
|
||||||
m4_ifdef([_RTEMS_BUILD_CONFIGDIRS_LIST],
|
|
||||||
[
|
|
||||||
m4_expand_once([_RTEMS_TOOLS([build],[BUILD])])
|
|
||||||
m4_expand_once([_RTEMS_CONFIGURE_ARGS_PRUNE([buildargs])])
|
|
||||||
eval buildargs_prune $ac_configure_args
|
|
||||||
buildargs="'--host=${build_alias-$build}' '--build=${build_alias-$build}' ${buildargs}"
|
|
||||||
buildargs="${buildargs} '--target=${target_alias-$target}'"
|
|
||||||
],[])
|
|
||||||
AC_SUBST(buildargs)
|
|
||||||
AC_SUBST(build_subdir)
|
|
||||||
])
|
|
||||||
|
|
||||||
## PUBLIC: RTEMS_HOST_CONFIG_SUBDIRS(host_subdir)
|
|
||||||
# subdirs to be build for the host environment
|
|
||||||
AC_DEFUN([RTEMS_HOST_CONFIG_SUBDIRS],[
|
|
||||||
m4_append([_RTEMS_HOST_CONFIGDIRS_LIST],[ $1])dnl
|
|
||||||
|
|
||||||
_RTEMS_SUBST_IFNOT([host_configdirs],[$1])
|
|
||||||
|
|
||||||
m4_divert_text([DEFAULTS],
|
|
||||||
[ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
|
|
||||||
m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_HOST_CONFIG_PREPARE],[
|
|
||||||
m4_ifdef([_RTEMS_HOST_CONFIGDIRS_LIST],
|
|
||||||
[
|
|
||||||
m4_expand_once([_RTEMS_TOOLS([host],[HOST])])
|
|
||||||
m4_expand_once([_RTEMS_CONFIGURE_ARGS_PRUNE([hostargs])])
|
|
||||||
eval hostargs_prune $ac_configure_args
|
|
||||||
hostargs="'--host=${host_alias-$host}' '--build=${build_alias-$build}' '--target=${target_alias-$target}' ${hostargs}"
|
|
||||||
],[])
|
|
||||||
AC_SUBST(hostargs)
|
|
||||||
AC_SUBST(host_subdir)
|
|
||||||
])
|
|
||||||
|
|
||||||
## PUBLIC: RTEMS_TARGET_CONFIG_SUBDIRS(target_subdir)
|
|
||||||
# subdirs to be build for the target environment
|
|
||||||
AC_DEFUN([RTEMS_TARGET_CONFIG_SUBDIRS],[
|
|
||||||
m4_append([_RTEMS_TARGET_CONFIGDIRS_LIST],[ $1])
|
|
||||||
|
|
||||||
_RTEMS_SUBST_IFNOT([target_configdirs],[$1])
|
|
||||||
|
|
||||||
m4_divert_text([DEFAULTS],
|
|
||||||
[ac_subdirs_all="$ac_subdirs_all m4_normalize([$1])"])
|
|
||||||
m4_expand_once([_RTEMS_COMMANDS_POST_CONFIG_SUBDIRS])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_TARGET_CONFIG_PREPARE],[
|
|
||||||
m4_ifdef([_RTEMS_TARGET_CONFIGDIRS_LIST],
|
|
||||||
[
|
|
||||||
m4_expand_once([_RTEMS_TOOLS([target],[TARGET])])
|
|
||||||
m4_expand_once([_RTEMS_CONFIGURE_ARGS_PRUNE([targetargs])])
|
|
||||||
eval targetargs_prune $ac_configure_args
|
|
||||||
targetargs="'--host=${target_alias-$target}' '--build=${build_alias-$build}' '--target=${target_alias-$target}' ${targetargs}"
|
|
||||||
],[])
|
|
||||||
AC_SUBST(targetargs)
|
|
||||||
AC_SUBST(target_subdir)
|
|
||||||
])
|
|
||||||
614
aclocal.m4
vendored
Normal file
614
aclocal.m4
vendored
Normal file
@@ -0,0 +1,614 @@
|
|||||||
|
dnl aclocal.m4 generated automatically by aclocal 1.2
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl macro to detect mkdir
|
||||||
|
AC_DEFUN(RTEMS_PATH_MKDIR,
|
||||||
|
[AC_PATH_PROG(MKDIR,mkdir)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl macro to check for mkdir -p
|
||||||
|
AC_DEFUN(RTEMS_PROG_MKDIR_P,
|
||||||
|
[
|
||||||
|
AC_REQUIRE([RTEMS_PATH_MKDIR])
|
||||||
|
AC_MSG_CHECKING([for working $MKDIR -p])
|
||||||
|
AC_CACHE_VAL(rtems_cv_prog_mkdir_p,
|
||||||
|
[rm -rf conftestdata
|
||||||
|
if $MKDIR -p conftestdata 2>/dev/null ;then
|
||||||
|
rtems_cv_prog_MKDIR_P="yes"
|
||||||
|
else
|
||||||
|
rtems_cv_prog_MKDIR_P="no"
|
||||||
|
fi])dnl
|
||||||
|
rm -rf conftestdata
|
||||||
|
AC_MSG_RESULT($rtems_cv_prog_MKDIR_P)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl macro to check for mkdir -m 0755
|
||||||
|
AC_DEFUN(RTEMS_PROG_MKDIR_M,
|
||||||
|
[
|
||||||
|
AC_REQUIRE([RTEMS_PATH_MKDIR])
|
||||||
|
AC_MSG_CHECKING([for working $MKDIR -m 0755])
|
||||||
|
AC_CACHE_VAL(rtems_cv_prog_MKDIR_P,
|
||||||
|
[rm -rf conftestdata
|
||||||
|
if $MKDIR -m 0775 conftestdata 2>/dev/null; then
|
||||||
|
rtems_cv_prog_MKDIR_M="yes"
|
||||||
|
else
|
||||||
|
rtems_cv_prog_MKDIR_M="no"
|
||||||
|
fi])dnl
|
||||||
|
rm -rf conftestdata
|
||||||
|
AC_MSG_RESULT($rtems_cv_prog_MKDIR_M)
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl canonicalize target name
|
||||||
|
dnl NOTE: Most rtems targets do not fullfil autoconf's
|
||||||
|
dnl target naming conventions "processor-vendor-os"
|
||||||
|
dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
|
||||||
|
dnl and we have to fix it for rtems ourselves
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
|
||||||
|
[AC_MSG_CHECKING(rtems target cpu)
|
||||||
|
changequote(<<, >>)dnl
|
||||||
|
target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
|
||||||
|
changequote([, ])dnl
|
||||||
|
AC_MSG_RESULT($target_cpu)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set program_prefix
|
||||||
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Extracted from configure
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_TOOL_PREFIX,
|
||||||
|
[AC_REQUIRE([AC_CANONICAL_TARGET])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||||
|
|
||||||
|
if [[ "${program_prefix}" = "NONE" ]] ; then
|
||||||
|
if [[ "${target}" = "${host}" ]] ; then
|
||||||
|
program_prefix=
|
||||||
|
else
|
||||||
|
program_prefix=${target}-
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check for target gcc
|
||||||
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Completely reworked
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PROG_CC,
|
||||||
|
[
|
||||||
|
AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||||
|
AC_BEFORE([$0], [AC_PROG_CC])dnl
|
||||||
|
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
|
||||||
|
|
||||||
|
dnl Only accept gcc and cc
|
||||||
|
dnl NOTE: This might be too restrictive for native compilation
|
||||||
|
AC_PATH_PROGS(CC_FOR_TARGET, "$program_prefix"gcc "$program_prefix"cc )
|
||||||
|
test -z "$CC_FOR_TARGET" \
|
||||||
|
&& AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||||
|
|
||||||
|
dnl backup
|
||||||
|
rtems_save_CC=$CC
|
||||||
|
rtems_save_CFLAGS=$CFLAGS
|
||||||
|
|
||||||
|
dnl temporarily set CC
|
||||||
|
CC=$CC_FOR_TARGET
|
||||||
|
|
||||||
|
AC_PROG_CC_WORKS
|
||||||
|
AC_PROG_CC_GNU
|
||||||
|
|
||||||
|
if test $ac_cv_prog_gcc = yes; then
|
||||||
|
GCC=yes
|
||||||
|
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||||
|
dnl plays around with CFLAGS (such as to build both debugging and
|
||||||
|
dnl normal versions of a library), tasteless as that idea is.
|
||||||
|
ac_test_CFLAGS="${CFLAGS+set}"
|
||||||
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS=
|
||||||
|
AC_PROG_CC_G
|
||||||
|
if test "$ac_test_CFLAGS" = set; then
|
||||||
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
|
elif test $ac_cv_prog_cc_g = yes; then
|
||||||
|
CFLAGS="-g -O2"
|
||||||
|
else
|
||||||
|
CFLAGS="-O2"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
GCC=
|
||||||
|
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rtems_cv_prog_gcc=$ac_cv_prog_gcc
|
||||||
|
rtems_cv_prog_cc_g=$ac_cv_prog_cc_g
|
||||||
|
rtems_cv_prog_cc_works=$ac_cv_prog_cc_works
|
||||||
|
rtems_cv_prog_cc_cross=$ac_cv_prog_cc_cross
|
||||||
|
|
||||||
|
dnl restore initial values
|
||||||
|
CC=$rtems_save_CC
|
||||||
|
CFLAGS=$rtems_save_CFLAGS
|
||||||
|
|
||||||
|
unset ac_cv_prog_gcc
|
||||||
|
unset ac_cv_prog_cc_g
|
||||||
|
unset ac_cv_prog_cc_works
|
||||||
|
unset ac_cv_prog_cc_cross
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check whether the target compiler accepts -specs
|
||||||
|
dnl
|
||||||
|
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_GCC_SPECS,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts -specs,rtems_cv_gcc_specs,
|
||||||
|
[
|
||||||
|
rtems_cv_gcc_specs=no
|
||||||
|
if test "$rtems_cv_prog_gcc" = "yes"; then
|
||||||
|
touch confspec
|
||||||
|
echo 'void f(){}' >conftest.c
|
||||||
|
if test -z "`${CC_FOR_TARGET} -specs confspec -c conftest.c 2>&1`";then
|
||||||
|
rtems_cv_gcc_specs=yes
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f confspec conftest*
|
||||||
|
])])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check whether the target compiler accepts -pipe
|
||||||
|
dnl
|
||||||
|
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_GCC_PIPE,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts --pipe,rtems_cv_gcc_pipe,
|
||||||
|
[
|
||||||
|
rtems_cv_gcc_pipe=no
|
||||||
|
if test "$rtems_cv_prog_gcc" = "yes"; then
|
||||||
|
case "$host_os" in
|
||||||
|
cygwin32*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo 'void f(){}' >conftest.c
|
||||||
|
if test -z "`${CC_FOR_TARGET} --pipe -c conftest.c 2>&1`";then
|
||||||
|
rtems_cv_gcc_pipe=yes
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check for target g++
|
||||||
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Completely reworked
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PROG_CXX,
|
||||||
|
[
|
||||||
|
AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
|
||||||
|
AC_BEFORE([$0], [AC_PROG_CXX])dnl
|
||||||
|
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
|
||||||
|
|
||||||
|
dnl Only accept g++ and c++
|
||||||
|
dnl NOTE: This might be too restrictive for native compilation
|
||||||
|
AC_PATH_PROGS(CXX_FOR_TARGET, "$program_prefix"g++ "$program_prefix"c++)
|
||||||
|
test -z "$CXX_FOR_TARGET" \
|
||||||
|
&& AC_MSG_ERROR([no acceptable c++ found in \$PATH])
|
||||||
|
|
||||||
|
dnl backup
|
||||||
|
rtems_save_CXX=$CXX
|
||||||
|
rtems_save_CXXFLAGS=$CXXFLAGS
|
||||||
|
|
||||||
|
dnl temporarily set CXX
|
||||||
|
CXX=$CXX_FOR_TARGET
|
||||||
|
|
||||||
|
AC_PROG_CXX_WORKS
|
||||||
|
AC_PROG_CXX_GNU
|
||||||
|
|
||||||
|
if test $ac_cv_prog_gxx = yes; then
|
||||||
|
GXX=yes
|
||||||
|
dnl Check whether -g works, even if CXXFLAGS is set, in case the package
|
||||||
|
dnl plays around with CXXFLAGS (such as to build both debugging and
|
||||||
|
dnl normal versions of a library), tasteless as that idea is.
|
||||||
|
ac_test_CXXFLAGS="${CXXFLAGS+set}"
|
||||||
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||||
|
CXXFLAGS=
|
||||||
|
AC_PROG_CXX_G
|
||||||
|
if test "$ac_test_CXXFLAGS" = set; then
|
||||||
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||||
|
elif test $ac_cv_prog_cxx_g = yes; then
|
||||||
|
CXXFLAGS="-g -O2"
|
||||||
|
else
|
||||||
|
CXXFLAGS="-O2"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
GXX=
|
||||||
|
test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rtems_cv_prog_gxx=$ac_cv_prog_gxx
|
||||||
|
rtems_cv_prog_cxx_g=$ac_cv_prog_cxx_g
|
||||||
|
rtems_cv_prog_cxx_works=$ac_cv_prog_cxx_works
|
||||||
|
rtems_cv_prog_cxx_cross=$ac_cv_prog_cxx_cross
|
||||||
|
|
||||||
|
CXX=$rtems_save_CXX
|
||||||
|
CXXFLAGS=$rtems_save_CXXFLAGS
|
||||||
|
|
||||||
|
dnl restore initial values
|
||||||
|
unset ac_cv_prog_gxx
|
||||||
|
unset ac_cv_prog_cc_g
|
||||||
|
unset ac_cv_prog_cxx_works
|
||||||
|
unset ac_cv_prog_cxx_cross
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set target tools
|
||||||
|
dnl
|
||||||
|
dnl 98/06/23 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl fixing cache/environment variable handling
|
||||||
|
dnl adding checks for cygwin/egcs '\\'-bug
|
||||||
|
dnl adding checks for ranlib/ar -s problem
|
||||||
|
dnl
|
||||||
|
dnl 98/02/12 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_GCC_PRINT,
|
||||||
|
[ case $host_os in
|
||||||
|
*cygwin32*)
|
||||||
|
dnl FIXME: Hack for cygwin/egcs reporting mixed '\\' and '/'
|
||||||
|
dnl Should be removed once cygwin/egcs reports '/' only
|
||||||
|
$1=`$CC_FOR_TARGET --print-prog-name=$2 | sed -e 's%\\\\%/%g' `
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
$1=`$CC_FOR_TARGET --print-prog-name=$2`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PATH_TOOL,
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([target's $2])
|
||||||
|
AC_CACHE_VAL(ac_cv_path_$1,:)
|
||||||
|
AC_MSG_RESULT([$ac_cv_path_$1])
|
||||||
|
|
||||||
|
if test -n "$ac_cv_path_$1"; then
|
||||||
|
dnl retrieve the value from the cache
|
||||||
|
$1=$ac_cv_path_$1
|
||||||
|
else
|
||||||
|
dnl the cache was not set
|
||||||
|
if test -z "[$]$1" ; then
|
||||||
|
if test "$rtems_cv_prog_gcc" = "yes"; then
|
||||||
|
# We are using gcc, ask it about its tool
|
||||||
|
# NOTE: Necessary if gcc was configured to use the target's
|
||||||
|
# native tools or uses prefixes for gnutools (e.g. gas instead of as)
|
||||||
|
RTEMS_GCC_PRINT($1,$2)
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# The user set an environment variable.
|
||||||
|
# Check whether it is an absolute path, otherwise AC_PATH_PROG
|
||||||
|
# will override the environment variable, which isn't what the user
|
||||||
|
# intends
|
||||||
|
AC_MSG_CHECKING([whether environment variable $1 is an absolute path])
|
||||||
|
case "[$]$1" in
|
||||||
|
/*) # valid
|
||||||
|
AC_MSG_RESULT("yes")
|
||||||
|
;;
|
||||||
|
*) # invalid for AC_PATH_PROG
|
||||||
|
AC_MSG_RESULT("no")
|
||||||
|
AC_MSG_ERROR([***]
|
||||||
|
[Environment variable $1 should ether]
|
||||||
|
[be unset (preferred) or contain an absolute path])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_PATH_PROG($1,"$program_prefix"$2,$3)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])dnl
|
||||||
|
|
||||||
|
dnl FIXME: What shall be done if these tools are not available?
|
||||||
|
RTEMS_PATH_TOOL(AR_FOR_TARGET,ar,no)
|
||||||
|
RTEMS_PATH_TOOL(AS_FOR_TARGET,as,no)
|
||||||
|
RTEMS_PATH_TOOL(LD_FOR_TARGET,ld,no)
|
||||||
|
RTEMS_PATH_TOOL(NM_FOR_TARGET,nm,no)
|
||||||
|
|
||||||
|
dnl special treatment of ranlib
|
||||||
|
RTEMS_PATH_TOOL(RANLIB_FOR_TARGET,ranlib,no)
|
||||||
|
if test "$RANLIB_FOR_TARGET" = "no"; then
|
||||||
|
# ranlib wasn't found; check if ar -s is available
|
||||||
|
RTEMS_AR_FOR_TARGET_S
|
||||||
|
if test $rtems_cv_AR_FOR_TARGET_S = "yes" ; then
|
||||||
|
dnl override RANLIB_FOR_TARGET's cache
|
||||||
|
ac_cv_path_RANLIB_FOR_TARGET="$AR_FOR_TARGET -s"
|
||||||
|
RANLIB_FOR_TARGET=$ac_cv_path_RANLIB_FOR_TARGET
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([***]
|
||||||
|
[Can't figure out how to build a library index]
|
||||||
|
[Nether ranlib nor ar -s seem to be available] )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl NOTE: These may not be available if not using gnutools
|
||||||
|
RTEMS_PATH_TOOL(OBJCOPY_FOR_TARGET,objcopy,no)
|
||||||
|
RTEMS_PATH_TOOL(SIZE_FOR_TARGET,size,no)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_AR_FOR_TARGET_S,
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK(whether $AR_FOR_TARGET -s works,
|
||||||
|
rtems_cv_AR_FOR_TARGET_S,
|
||||||
|
[
|
||||||
|
cat > conftest.$ac_ext <<EOF
|
||||||
|
int foo( int b )
|
||||||
|
{ return b; }
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND($CC_FOR_TARGET -o conftest.o -c conftest.$ac_ext) \
|
||||||
|
&& AC_TRY_COMMAND($AR_FOR_TARGET -sr conftest.a conftest.o) \
|
||||||
|
&& test -s conftest.a ; \
|
||||||
|
then
|
||||||
|
rtems_cv_AR_FOR_TARGET_S="yes"
|
||||||
|
else
|
||||||
|
rtems_cv_AR_FOR_TARGET_S="no"
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl check for i386 gas supporting 16 bit mode
|
||||||
|
dnl - binutils 2.9.1.0.7 and higher
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_I386_GAS_CODE16,
|
||||||
|
if test "${target_cpu}" = "i386"; then
|
||||||
|
AC_CACHE_CHECK([for 16 bit mode assembler support],
|
||||||
|
rtems_cv_prog_gas_code16,
|
||||||
|
[cat > conftest.s << EOF
|
||||||
|
.code16
|
||||||
|
data32
|
||||||
|
addr32
|
||||||
|
lgdt 0
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND($AS_FOR_TARGET -o conftest.o conftest.s); then
|
||||||
|
rtems_cv_prog_gas_code16=yes
|
||||||
|
else
|
||||||
|
rtems_cv_prog_gas_code16=no
|
||||||
|
fi])
|
||||||
|
RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
|
||||||
|
fi
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Detect the Cygwin32 environment (unix under Win32)
|
||||||
|
dnl
|
||||||
|
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
|
||||||
|
dnl Hacked from automake-1.3
|
||||||
|
|
||||||
|
# Check to see if we're running under Cygwin32, without using
|
||||||
|
# AC_CANONICAL_*. If so, set output variable CYGWIN32 to "yes".
|
||||||
|
# Otherwise set it to "no".
|
||||||
|
|
||||||
|
dnl RTEMS_CYGWIN32()
|
||||||
|
AC_DEFUN(RTEMS_CYGWIN32,
|
||||||
|
[AC_CACHE_CHECK(for Cygwin32 environment, rtems_cv_cygwin32,
|
||||||
|
[AC_TRY_COMPILE(,[return __CYGWIN32__;],
|
||||||
|
rtems_cv_cygwin32=yes, rtems_cv_cygwin32=no)
|
||||||
|
rm -f conftest*])
|
||||||
|
CYGWIN32=
|
||||||
|
test "$rtems_cv_cygwin32" = yes && CYGWIN32=yes])
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set the EXE extension
|
||||||
|
dnl
|
||||||
|
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
|
||||||
|
dnl Hacked from automake-1.3
|
||||||
|
|
||||||
|
# Check to see if we're running under Win32, without using
|
||||||
|
# AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
|
||||||
|
# Otherwise set it to "".
|
||||||
|
|
||||||
|
dnl RTEMS_EXEEXT()
|
||||||
|
dnl This knows we add .exe if we're building in the Cygwin32
|
||||||
|
dnl environment. But if we're not, then it compiles a test program
|
||||||
|
dnl to see if there is a suffix for executables.
|
||||||
|
AC_DEFUN(RTEMS_EXEEXT,
|
||||||
|
[AC_REQUIRE([RTEMS_CYGWIN32])
|
||||||
|
AC_MSG_CHECKING([for executable suffix])
|
||||||
|
AC_CACHE_VAL(rtems_cv_exeext,
|
||||||
|
[if test "$CYGWIN32" = yes; then
|
||||||
|
rtems_cv_exeext=.exe
|
||||||
|
else
|
||||||
|
cat > rtems_c_test.c << 'EOF'
|
||||||
|
int main() {
|
||||||
|
/* Nothing needed here */
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
${CC-cc} -o rtems_c_test $CFLAGS $CPPFLAGS $LDFLAGS rtems_c_test.c $LIBS 1>&5
|
||||||
|
rtems_cv_exeext=`echo rtems_c_test.* | grep -v rtems_c_test.c | sed -e s/rtems_c_test//`
|
||||||
|
rm -f rtems_c_test*])
|
||||||
|
test x"${rtems_cv_exeext}" = x && rtems_cv_exeext=no
|
||||||
|
fi
|
||||||
|
EXEEXT=""
|
||||||
|
test x"${rtems_cv_exeext}" != xno && EXEEXT=${rtems_cv_exeext}
|
||||||
|
AC_MSG_RESULT(${rtems_cv_exeext})
|
||||||
|
AC_SUBST(EXEEXT)])
|
||||||
|
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check for System V IPC calls used by Unix simulators
|
||||||
|
dnl
|
||||||
|
dnl 98/07/17 Dario Alcocer alcocer@netcom.com
|
||||||
|
dnl Ralf Corsepius corsepiu@faw.uni-ulm.de
|
||||||
|
dnl
|
||||||
|
dnl Note: $host_os should probably *not* ever be used here to
|
||||||
|
dnl determine if host supports System V IPC calls, since some
|
||||||
|
dnl (e.g. FreeBSD 2.x) are configured by default to include only
|
||||||
|
dnl a subset of the System V IPC calls. Therefore, to make sure
|
||||||
|
dnl all of the required calls are found, test for each call explicitly.
|
||||||
|
dnl
|
||||||
|
dnl All of the calls use IPC_PRIVATE, so tests will not unintentionally
|
||||||
|
dnl modify any existing key sets. See the man pages for semget, shmget,
|
||||||
|
dnl msgget, semctl, shmctl and msgctl for details.
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_SEM,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V semaphores,
|
||||||
|
rtems_cv_sysv_sem,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/sem.h>
|
||||||
|
int main () {
|
||||||
|
#if !defined(sun)
|
||||||
|
union semun arg ;
|
||||||
|
#else
|
||||||
|
union semun {
|
||||||
|
int val;
|
||||||
|
struct semid_ds *buf;
|
||||||
|
ushort *array;
|
||||||
|
} arg;
|
||||||
|
#endif
|
||||||
|
int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
arg.val = 0; /* avoid implicit type cast to union */
|
||||||
|
if (semctl(id, 0, IPC_RMID, arg) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_SHM,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V shared memory,
|
||||||
|
rtems_cv_sysv_shm,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/shm.h>
|
||||||
|
int main () {
|
||||||
|
int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
if (shmctl(id, IPC_RMID, 0) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_MSG,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V messages,
|
||||||
|
rtems_cv_sysv_msg,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/msg.h>
|
||||||
|
int main () {
|
||||||
|
int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
if (msgctl(id, IPC_RMID, 0) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl RTEMS_CHECK_MAKEFILE(path)
|
||||||
|
dnl Search for Makefile.in's within the directory starting
|
||||||
|
dnl at path and append an entry for Makefile to global variable
|
||||||
|
dnl "makefiles" (from configure.in) for each Makefile.in found
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(RTEMS_CHECK_MAKEFILE,
|
||||||
|
[RTEMS_CHECK_FILES_IN($1,Makefile,makefiles)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl RTEMS_CHECK_FILES_IN(path,file,var)
|
||||||
|
dnl path .. path relative to srcdir, where to start searching for files
|
||||||
|
dnl file .. name of the files to search for
|
||||||
|
dnl var .. shell variable to append files found
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CHECK_FILES_IN,
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING(for $2.in in $1)
|
||||||
|
if test -d $srcdir/$1; then
|
||||||
|
rtems_av_save_dir=`pwd`;
|
||||||
|
cd $srcdir;
|
||||||
|
rtems_av_tmp=`find $1 -name "$2.in" -print | sed "s/$2\.in/%/" | sort | sed "s/%/$2/"`
|
||||||
|
$3="$$3 $rtems_av_tmp";
|
||||||
|
cd $rtems_av_save_dir;
|
||||||
|
AC_MSG_RESULT(done)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
25
aclocal/ar-s.m4
Normal file
25
aclocal/ar-s.m4
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_AR_FOR_TARGET_S,
|
||||||
|
[
|
||||||
|
AC_CACHE_CHECK(whether $AR_FOR_TARGET -s works,
|
||||||
|
rtems_cv_AR_FOR_TARGET_S,
|
||||||
|
[
|
||||||
|
cat > conftest.$ac_ext <<EOF
|
||||||
|
int foo( int b )
|
||||||
|
{ return b; }
|
||||||
|
EOF
|
||||||
|
if AC_TRY_COMMAND($CC_FOR_TARGET -o conftest.o -c conftest.$ac_ext) \
|
||||||
|
&& AC_TRY_COMMAND($AR_FOR_TARGET -sr conftest.a conftest.o) \
|
||||||
|
&& test -s conftest.a ; \
|
||||||
|
then
|
||||||
|
rtems_cv_AR_FOR_TARGET_S="yes"
|
||||||
|
else
|
||||||
|
rtems_cv_AR_FOR_TARGET_S="no"
|
||||||
|
fi
|
||||||
|
rm -f conftest*
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
dnl
|
|
||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl _RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
|
|
||||||
dnl Internal subroutine to RTEMS_BSP_ALIAS
|
|
||||||
AC_DEFUN([_RTEMS_BSP_ALIAS],
|
|
||||||
[# account for "aliased" bsps which share source code
|
|
||||||
case $1 in
|
|
||||||
simcpu32) $2=sim68000 ;; # BSVC CPU32 variant
|
|
||||||
c3xsim) $2=c4xsim ;; # TI C3x Simulator in gdb
|
|
||||||
mcp750) $2=motorola_powerpc ;; # Motorola PPC board variant
|
|
||||||
mvme2100) $2=motorola_powerpc ;; # Motorola PPC board variant
|
|
||||||
mvme2307) $2=motorola_powerpc ;; # Motorola PPC board variant
|
|
||||||
mtx603e) $2=motorola_powerpc ;; # Motorola PPC board variant
|
|
||||||
mvme162lx) $2=mvme162 ;; # m68k - mvme162 board variant
|
|
||||||
gen68360_040) $2=gen68360 ;; # m68k - 68360 in companion mode
|
|
||||||
p4600) $2=p4000 ;; # mips64orion - p4000 board w/IDT 4600
|
|
||||||
p4650) $2=p4000 ;; # mips64orion - p4000 board w/IDT 4650
|
|
||||||
mbx8*) $2=mbx8xx ;; # MBX821/MBX860 board
|
|
||||||
pc386dx) $2=pc386 ;; # i386 - PC w/o FPU
|
|
||||||
pc486) $2=pc386 ;; # i386 - PC with i486DX
|
|
||||||
pc586) $2=pc386 ;; # i386 - PC with Pentium
|
|
||||||
pc686) $2=pc386 ;; # i386 - PC with PentiumPro
|
|
||||||
pck6) $2=pc386 ;; # i386 - PC with K6
|
|
||||||
bare*) $2=bare ;; # EXP: bare-aliases
|
|
||||||
sis) $2=erc32 ;; # ERC32 SIS simulator
|
|
||||||
leon2) $2=leon2 ;; # leon with fpu
|
|
||||||
leon3) $2=leon3 ;; # another leon variant
|
|
||||||
simsh7032) $2=shsim ;; # SH7032 simulator
|
|
||||||
simsh7045) $2=shsim ;; # SH7045 simulator
|
|
||||||
*) $2=$1;;
|
|
||||||
esac]
|
|
||||||
)
|
|
||||||
|
|
||||||
dnl RTEMS_BSP_ALIAS(BSP_ALIAS,RTEMS_BSP_FAMILY)
|
|
||||||
dnl convert a bsp alias $1 into its bsp directory RTEMS_BSP_FAMILY
|
|
||||||
AC_DEFUN([RTEMS_BSP_ALIAS],
|
|
||||||
[_RTEMS_BSP_ALIAS(m4_if([$1],,[$RTEMS_BSP],[$1]),
|
|
||||||
m4_if([$2],,[RTEMS_BSP_FAMILY],[$2]))]
|
|
||||||
)
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
dnl RTEMS_BSP_ARG_ENABLE(FEATURE, HELP-STRING, ACTION-IF-TRUE [, ACTION-IF-FALSE])
|
|
||||||
dnl
|
|
||||||
dnl Accept --enable-FEATURE=<RTEMS_BSP>:<bsp-value> and
|
|
||||||
dnl --enable-FEATURE=<value> in BSP-configure scripts.
|
|
||||||
dnl
|
|
||||||
dnl Configure scripts will receive <bsp-value> if <RTEMS_BSP> matches the
|
|
||||||
dnl actual value of the shell variable RTEMS_BSP (cf. RTEMS_ENV_RTEMSBSP),
|
|
||||||
dnl and the raw value passed to --enable-FEATURE otherwise.
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_BSP_ARG_ENABLE],
|
|
||||||
[AC_REQUIRE([RTEMS_ENV_RTEMSBSP])
|
|
||||||
AC_ARG_ENABLE([$1],[$2],
|
|
||||||
[enableval=`echo "[$enable_]patsubst([$1], -, _)" | sed -e "s%^${RTEMS_BSP}:%%"`
|
|
||||||
eval "[enable_]patsubst([$1], -, _)='$enableval'"
|
|
||||||
$3],[$4])
|
|
||||||
])
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl RTEMS_BSP_CONFIGURE
|
|
||||||
dnl Common macro to be included by all bsp-configure.acs
|
|
||||||
AC_DEFUN([RTEMS_BSP_CONFIGURE],
|
|
||||||
[
|
|
||||||
AC_PREREQ([2.52])
|
|
||||||
AM_MAINTAINER_MODE
|
|
||||||
RTEMS_ENV_RTEMSBSP
|
|
||||||
|
|
||||||
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
|
|
||||||
|
|
||||||
RTEMS_CANONICAL_HOST
|
|
||||||
AM_CONFIG_HEADER([include/bspopts.tmp:include/bspopts.h.in],[
|
|
||||||
echo "/* BSP dependent options file */" >$tmp/config.h
|
|
||||||
echo "/* automatically generated -- DO NOT EDIT!! */" >>$tmp/config.h
|
|
||||||
echo >>$tmp/config.h
|
|
||||||
echo "#ifndef __BSP_OPTIONS_h" >>$tmp/config.h
|
|
||||||
echo "#define __BSP_OPTIONS_h" >>$tmp/config.h
|
|
||||||
echo >>$tmp/config.h
|
|
||||||
sed -e '/.*PACKAGE.*/d' include/bspopts.tmp >> $tmp/config.h
|
|
||||||
echo >>$tmp/config.h
|
|
||||||
echo "#endif" >>$tmp/config.h
|
|
||||||
AS_IF([cmp -s include/bspopts.h $tmp/config.h 2>/dev/null],[
|
|
||||||
AC_MSG_NOTICE([include/bspopts.h is unchanged])
|
|
||||||
rm -f $tmp/config.h],[
|
|
||||||
AC_MSG_NOTICE([creating include/bspopts.h])
|
|
||||||
rm -f include/bspopts.h
|
|
||||||
mv $tmp/config.h include/bspopts.h
|
|
||||||
])
|
|
||||||
])
|
|
||||||
RTEMS_PROJECT_ROOT
|
|
||||||
|
|
||||||
RTEMS_CHECK_MULTIPROCESSING
|
|
||||||
])
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl RTEMS_BSPOPTS_* - some autoconf voodoo to handle default values and
|
|
||||||
dnl help-strings for per-BSP-environment variables.
|
|
||||||
|
|
||||||
dnl To be used in bsp-configure scripts
|
|
||||||
|
|
||||||
|
|
||||||
dnl Example:
|
|
||||||
dnl
|
|
||||||
dnl RTEMS_BSPOPTS_SET([foo],[bar],[0])
|
|
||||||
dnl RTEMS_BSPOPTS_SET([foo],[baz*],[hello])
|
|
||||||
dnl RTEMS_BSPOPTS_SET([foo],[*],[])
|
|
||||||
dnl RTEMS_BSPOPTS_HELP([foo],[env. variable foo])
|
|
||||||
dnl -> Add "0" as default value of variable "foo" for BSP "bar"
|
|
||||||
dnl -> Add "hello" as default value of variable "foo" for all BSPs starting
|
|
||||||
dnl with "baz" in their name.
|
|
||||||
dnl -> Undefine foo as default clause for all BSP's.
|
|
||||||
dnl
|
|
||||||
dnl All this basically expands to a /bin/shell "case"-statement with
|
|
||||||
dnl accompanying autoconf magic to propagate VAR to bspopts.h.
|
|
||||||
|
|
||||||
|
|
||||||
dnl RTEMS_BSPOPTS_HELP(VAR,HELP-STRING)
|
|
||||||
dnl Set up printing the HELP-STRING for bspopts.h's variable VAR and add
|
|
||||||
dnl appropriate /bin/sh-magic to "configure" to have VAR set up.
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_BSPOPTS_HELP],[
|
|
||||||
RTEMS_ARG_VAR([$1],[$2])
|
|
||||||
m4_ifdef([_$1],[
|
|
||||||
case ${RTEMS_BSP} in
|
|
||||||
_$1[]dnl
|
|
||||||
esac],[])
|
|
||||||
if test -n "[$]{$1}"; then[]dnl
|
|
||||||
AC_DEFINE_UNQUOTED([$1],
|
|
||||||
[[$]$1],
|
|
||||||
[$2])dnl
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl RTEMS_BSPOPTS_SET(VAR,BSP,DEFAULT)
|
|
||||||
dnl Set up a value DEFAULT to be used as default value for variable VAR for
|
|
||||||
dnl BSP in RTEMS_BSPOPTS_HELP.
|
|
||||||
|
|
||||||
dnl MUST be use in front of exactly _one_ corresponding RTEMS_BSPOPTS_HELP
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_BSPOPTS_SET],[dnl
|
|
||||||
m4_append([_$1],
|
|
||||||
[$2 )
|
|
||||||
$1=[$]{$1-$3} ;;
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|
||||||
dnl RTEMS_ARG_VAR(VAR,HELP-STRING)
|
|
||||||
dnl An internal macros to have RTEMS_BSPOPTS_HELP's help string pretty
|
|
||||||
dnl printed with configure --help.
|
|
||||||
dnl Stripped down version of autoconf-2.52's AC_ARG_VAR.
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ARG_VAR],
|
|
||||||
[
|
|
||||||
m4_expand_once([m4_divert_once([HELP_VAR],
|
|
||||||
[AC_HELP_STRING([$1], [$2], [ ])])],
|
|
||||||
[$0($1)])dnl
|
|
||||||
])
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CANONICAL_HOST],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
||||||
RTEMS_HOST=$host_os
|
|
||||||
case "${target}" in
|
|
||||||
# hpux unix port should go here
|
|
||||||
i[[34567]]86-*linux*) # unix "simulator" port
|
|
||||||
RTEMS_HOST=Linux
|
|
||||||
;;
|
|
||||||
i[[34567]]86-*freebsd*) # unix "simulator" port
|
|
||||||
RTEMS_HOST=FreeBSD
|
|
||||||
;;
|
|
||||||
i[[34567]]86-pc-cygwin*) # Cygwin is just enough unix like :)
|
|
||||||
RTEMS_HOST=Cygwin
|
|
||||||
;;
|
|
||||||
sparc-sun-solaris*) # unix "simulator" port
|
|
||||||
RTEMS_HOST=Solaris
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST(RTEMS_HOST)
|
|
||||||
])dnl
|
|
||||||
@@ -2,40 +2,16 @@ dnl
|
|||||||
dnl $Id$
|
dnl $Id$
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
dnl canonicalize target cpu
|
dnl canonicalize target name
|
||||||
dnl NOTE: Most rtems targets do not fullfil autoconf's
|
dnl NOTE: Most rtems targets do not fullfil autoconf's
|
||||||
dnl target naming conventions "processor-vendor-os"
|
dnl target naming conventions "processor-vendor-os"
|
||||||
dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
|
dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
|
||||||
dnl and we have to fix it for rtems ourselves
|
dnl and we have to fix it for rtems ourselves
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CANONICAL_TARGET_CPU],
|
AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
|
||||||
[
|
[AC_MSG_CHECKING(rtems target cpu)
|
||||||
AC_CANONICAL_TARGET
|
changequote(<<, >>)dnl
|
||||||
AC_MSG_CHECKING(rtems target cpu)
|
target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
|
||||||
case "${target}" in
|
changequote([, ])dnl
|
||||||
# hpux unix port should go here
|
AC_MSG_RESULT($target_cpu)
|
||||||
i[[34567]]86-*linux*) # unix "simulator" port
|
|
||||||
RTEMS_CPU=unix
|
|
||||||
;;
|
|
||||||
i[[34567]]86-*freebsd*) # unix "simulator" port
|
|
||||||
RTEMS_CPU=unix
|
|
||||||
;;
|
|
||||||
i[[34567]]86-pc-cygwin*) # Cygwin is just enough unix like :)
|
|
||||||
RTEMS_CPU=unix
|
|
||||||
;;
|
|
||||||
no_cpu-*rtems*)
|
|
||||||
RTEMS_CPU=no_cpu
|
|
||||||
;;
|
|
||||||
sparc-sun-solaris*) # unix "simulator" port
|
|
||||||
RTEMS_CPU=unix
|
|
||||||
;;
|
|
||||||
tic4x-*rtems*) # gcc changed the name
|
|
||||||
RTEMS_CPU=c4x
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
RTEMS_CPU=`echo $target | sed 's%^\([[^-]]*\)-\(.*\)$%\1%'`
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST(RTEMS_CPU)
|
|
||||||
AC_MSG_RESULT($RTEMS_CPU)
|
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -3,21 +3,94 @@ dnl $Id$
|
|||||||
dnl
|
dnl
|
||||||
dnl Set target tools
|
dnl Set target tools
|
||||||
dnl
|
dnl
|
||||||
|
dnl 98/06/23 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl fixing cache/environment variable handling
|
||||||
|
dnl adding checks for cygwin/egcs '\\'-bug
|
||||||
|
dnl adding checks for ranlib/ar -s problem
|
||||||
|
dnl
|
||||||
|
dnl 98/02/12 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CANONICALIZE_TOOLS],
|
AC_DEFUN(RTEMS_GCC_PRINT,
|
||||||
|
[ case $host_os in
|
||||||
|
*cygwin32*)
|
||||||
|
dnl FIXME: Hack for cygwin/egcs reporting mixed '\\' and '/'
|
||||||
|
dnl Should be removed once cygwin/egcs reports '/' only
|
||||||
|
$1=`$CC_FOR_TARGET --print-prog-name=$2 | sed -e 's%\\\\%/%g' `
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
$1=`$CC_FOR_TARGET --print-prog-name=$2`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_PATH_TOOL,
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING([target's $2])
|
||||||
|
AC_CACHE_VAL(ac_cv_path_$1,:)
|
||||||
|
AC_MSG_RESULT([$ac_cv_path_$1])
|
||||||
|
|
||||||
|
if test -n "$ac_cv_path_$1"; then
|
||||||
|
dnl retrieve the value from the cache
|
||||||
|
$1=$ac_cv_path_$1
|
||||||
|
else
|
||||||
|
dnl the cache was not set
|
||||||
|
if test -z "[$]$1" ; then
|
||||||
|
if test "$rtems_cv_prog_gcc" = "yes"; then
|
||||||
|
# We are using gcc, ask it about its tool
|
||||||
|
# NOTE: Necessary if gcc was configured to use the target's
|
||||||
|
# native tools or uses prefixes for gnutools (e.g. gas instead of as)
|
||||||
|
RTEMS_GCC_PRINT($1,$2)
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# The user set an environment variable.
|
||||||
|
# Check whether it is an absolute path, otherwise AC_PATH_PROG
|
||||||
|
# will override the environment variable, which isn't what the user
|
||||||
|
# intends
|
||||||
|
AC_MSG_CHECKING([whether environment variable $1 is an absolute path])
|
||||||
|
case "[$]$1" in
|
||||||
|
/*) # valid
|
||||||
|
AC_MSG_RESULT("yes")
|
||||||
|
;;
|
||||||
|
*) # invalid for AC_PATH_PROG
|
||||||
|
AC_MSG_RESULT("no")
|
||||||
|
AC_MSG_ERROR([***]
|
||||||
|
[Environment variable $1 should ether]
|
||||||
|
[be unset (preferred) or contain an absolute path])
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
AC_PATH_PROG($1,"$program_prefix"$2,$3)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
|
||||||
[AC_REQUIRE([RTEMS_PROG_CC])dnl
|
[AC_REQUIRE([RTEMS_PROG_CC])dnl
|
||||||
|
|
||||||
dnl FIXME: What shall be done if these tools are not available?
|
dnl FIXME: What shall be done if these tools are not available?
|
||||||
RTEMS_CHECK_TOOL(AR,ar,no)
|
RTEMS_PATH_TOOL(AR_FOR_TARGET,ar,no)
|
||||||
RTEMS_CHECK_TOOL(AS,as,no)
|
RTEMS_PATH_TOOL(AS_FOR_TARGET,as,no)
|
||||||
RTEMS_CHECK_TOOL(LD,ld,no)
|
RTEMS_PATH_TOOL(LD_FOR_TARGET,ld,no)
|
||||||
RTEMS_CHECK_TOOL(NM,nm,no)
|
RTEMS_PATH_TOOL(NM_FOR_TARGET,nm,no)
|
||||||
|
|
||||||
dnl special treatment of ranlib
|
dnl special treatment of ranlib
|
||||||
RTEMS_CHECK_TOOL(RANLIB,ranlib,:)
|
RTEMS_PATH_TOOL(RANLIB_FOR_TARGET,ranlib,no)
|
||||||
|
if test "$RANLIB_FOR_TARGET" = "no"; then
|
||||||
|
# ranlib wasn't found; check if ar -s is available
|
||||||
|
RTEMS_AR_FOR_TARGET_S
|
||||||
|
if test $rtems_cv_AR_FOR_TARGET_S = "yes" ; then
|
||||||
|
dnl override RANLIB_FOR_TARGET's cache
|
||||||
|
ac_cv_path_RANLIB_FOR_TARGET="$AR_FOR_TARGET -s"
|
||||||
|
RANLIB_FOR_TARGET=$ac_cv_path_RANLIB_FOR_TARGET
|
||||||
|
else
|
||||||
|
AC_MSG_ERROR([***]
|
||||||
|
[Can't figure out how to build a library index]
|
||||||
|
[Nether ranlib nor ar -s seem to be available] )
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
dnl NOTE: These may not be available if not using gnutools
|
dnl NOTE: These may not be available if not using gnutools
|
||||||
RTEMS_CHECK_TOOL(OBJCOPY,objcopy,no)
|
RTEMS_PATH_TOOL(OBJCOPY_FOR_TARGET,objcopy,no)
|
||||||
RTEMS_CHECK_TOOL(SIZE,size,no)
|
RTEMS_PATH_TOOL(SIZE_FOR_TARGET,size,no)
|
||||||
RTEMS_CHECK_TOOL(STRIP,strip,:)
|
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl RTEMS_CHECK_BSP_CACHE(RTEMS_BSP)
|
|
||||||
AC_DEFUN([RTEMS_CHECK_BSP_CACHE],
|
|
||||||
[
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
|
|
||||||
AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl set RTEMS_BSP
|
|
||||||
AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for RTEMS_CPU_MODEL], [rtems_cv_RTEMS_CPU_MODEL],
|
|
||||||
[. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache])
|
|
||||||
RTEMS_CPU_MODEL=$rtems_cv_RTEMS_CPU_MODEL
|
|
||||||
AC_SUBST(RTEMS_CPU_MODEL)
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for RTEMS_BSP_FAMILY],[rtems_cv_RTEMS_BSP_FAMILY],
|
|
||||||
[. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache])
|
|
||||||
RTEMS_BSP_FAMILY=$rtems_cv_RTEMS_BSP_FAMILY
|
|
||||||
AC_SUBST(RTEMS_BSP_FAMILY)
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for RTEMS_BSP_CFLAGS],[rtems_cv_RTEMS_BSP_CFLAGS],
|
|
||||||
[. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache])
|
|
||||||
RTEMS_BSP_CFLAGS=$rtems_cv_RTEMS_BSP_CFLAGS
|
|
||||||
AC_SUBST(RTEMS_BSP_CFLAGS)
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for RTEMS_BSP_CFLAGS_OPTIMIZE_V],[rtems_cv_RTEMS_BSP_CFLAGS_OPTIMIZE_V],
|
|
||||||
[. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache])
|
|
||||||
RTEMS_BSP_CFLAGS_OPTIMIZE_V=$rtems_cv_RTEMS_BSP_CFLAGS_OPTIMIZE_V
|
|
||||||
AC_SUBST(RTEMS_BSP_CFLAGS_OPTIMIZE_V)
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for RTEMS_BSP_CFLAGS_DEBUG_V],[rtems_cv_RTEMS_BSP_CFLAGS_DEBUG_V],
|
|
||||||
[. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache])
|
|
||||||
RTEMS_BSP_CFLAGS_DEBUG_V=$rtems_cv_RTEMS_BSP_CFLAGS_DEBUG_V
|
|
||||||
AC_SUBST(RTEMS_BSP_CFLAGS_DEBUG_V)
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for RTEMS_BSP_CFLAGS_PROFILE_V],[rtems_cv_RTEMS_BSP_CFLAGS_PROFILE_V],
|
|
||||||
[. $RTEMS_TOPdir/c/[$]$1/make/[$]$1.cache])
|
|
||||||
RTEMS_BSP_CFLAGS_PROFILE_V=$rtems_cv_RTEMS_BSP_CFLAGS_PROFILE_V
|
|
||||||
AC_SUBST(RTEMS_BSP_CFLAGS_PROFILE_V)
|
|
||||||
])
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl Report all available bsps for a target,
|
|
||||||
dnl check if a bsp-subdirectory is present for all bsps found
|
|
||||||
dnl
|
|
||||||
dnl RTEMS_CHECK_BSPS(bsp_list)
|
|
||||||
AC_DEFUN([RTEMS_CHECK_BSPS],
|
|
||||||
[
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl sets RTEMS_CPU, target
|
|
||||||
AC_REQUIRE([RTEMS_TOP])dnl sets RTEMS_TOPdir
|
|
||||||
AC_MSG_CHECKING([for bsps])
|
|
||||||
files=`ls $srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU`
|
|
||||||
for file in $files; do
|
|
||||||
if test -r $srcdir/$RTEMS_TOPdir/c/src/lib/libbsp/$RTEMS_CPU/$file/bsp_specs; then
|
|
||||||
case $file in
|
|
||||||
# Now account for BSPs with build variants
|
|
||||||
c4xsim) $1="[$]$1 c4xsim c3xsim";;
|
|
||||||
gen68360) $1="[$]$1 gen68360 gen68360_040";;
|
|
||||||
p4000) $1="[$]$1 p4600 p4650";;
|
|
||||||
mvme162) $1="[$]$1 mvme162 mvme162lx";;
|
|
||||||
mbx8xx) $1="[$]$1 mbx821_001 mbx860_002 mbx860_005b";;
|
|
||||||
motorola_powerpc) $1="[$]$1 mvme2307 mcp750 mtx603e";;
|
|
||||||
pc386) $1="[$]$1 pc386 pc386dx pc486 pc586 pc686 pck6";;
|
|
||||||
erc32) $1="[$]$1 erc32 sis";;
|
|
||||||
leon) $1="[$]$1 leon2 leon3";;
|
|
||||||
sim68000) $1="[$]$1 sim68000 simcpu32";;
|
|
||||||
shsim) $1="[$]$1 simsh7032 simsh7045";;
|
|
||||||
*) $1="[$]$1 $file";;
|
|
||||||
esac;
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
AC_MSG_RESULT([[$]$1 .. done])
|
|
||||||
])dnl
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl check if RTEMS support a cpu
|
|
||||||
AC_DEFUN([RTEMS_CHECK_CPU],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_TOP])
|
|
||||||
AC_REQUIRE([RTEMS_CANONICAL_TARGET_CPU])
|
|
||||||
|
|
||||||
# Is this a supported CPU?
|
|
||||||
AC_MSG_CHECKING([if cpu $RTEMS_CPU is supported])
|
|
||||||
# FIXME: Temporary hack
|
|
||||||
if test -d "$srcdir/$RTEMS_TOPdir/cpukit/score/cpu/$RTEMS_CPU"; then
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR(no)
|
|
||||||
fi
|
|
||||||
])dnl
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CHECK_CUSTOM_BSP],[
|
|
||||||
AC_REQUIRE([RTEMS_TOP])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for make/custom/[$]$1.cfg])
|
|
||||||
AS_IF([test -r "$srcdir/$RTEMS_TOPdir/make/custom/[$]$1.cfg"],
|
|
||||||
[AC_MSG_RESULT([yes])],
|
|
||||||
[AC_MSG_ERROR([no])])
|
|
||||||
])
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_CHECK_CXX],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
|
||||||
AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl
|
|
||||||
AC_REQUIRE([RTEMS_PROG_CXX_FOR_TARGET])dnl
|
|
||||||
AC_CACHE_CHECK([whether to build rtems++],
|
|
||||||
rtems_cv_HAS_CPLUSPLUS,
|
|
||||||
[ if test "$RTEMS_HAS_CPLUSPLUS" = "yes"; then
|
|
||||||
if test -n "$CXX"; then
|
|
||||||
rtems_cv_HAS_CPLUSPLUS="yes"
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_CPLUSPLUS="no"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_CPLUSPLUS="no"
|
|
||||||
fi])
|
|
||||||
HAS_CPLUSPLUS="$rtems_cv_HAS_CPLUSPLUS";
|
|
||||||
AC_SUBST(HAS_CPLUSPLUS)dnl
|
|
||||||
|
|
||||||
if test "$HAS_CPLUSPLUS" = "yes"; then
|
|
||||||
CPLUS_LD_LIBS='$(PROJECT_RELEASE)/lib/librtems++$(LIB_VARIANT).a'
|
|
||||||
fi
|
|
||||||
AC_SUBST(CPLUS_LD_LIBS)
|
|
||||||
])
|
|
||||||
24
aclocal/check-files-in.m4
Normal file
24
aclocal/check-files-in.m4
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl RTEMS_CHECK_FILES_IN(path,file,var)
|
||||||
|
dnl path .. path relative to srcdir, where to start searching for files
|
||||||
|
dnl file .. name of the files to search for
|
||||||
|
dnl var .. shell variable to append files found
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_CHECK_FILES_IN,
|
||||||
|
[
|
||||||
|
AC_MSG_CHECKING(for $2.in in $1)
|
||||||
|
if test -d $srcdir/$1; then
|
||||||
|
rtems_av_save_dir=`pwd`;
|
||||||
|
cd $srcdir;
|
||||||
|
rtems_av_tmp=`find $1 -name "$2.in" -print | sed "s/$2\.in/%/" | sort | sed "s/%/$2/"`
|
||||||
|
$3="$$3 $rtems_av_tmp";
|
||||||
|
cd $rtems_av_save_dir;
|
||||||
|
AC_MSG_RESULT(done)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
fi
|
||||||
|
])
|
||||||
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_CHECK_ITRON_API],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENABLE_ITRON])dnl
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([whether CPU supports libitron],
|
|
||||||
rtems_cv_HAS_ITRON_API,
|
|
||||||
[dnl
|
|
||||||
case "$RTEMS_CPU" in
|
|
||||||
unix*)
|
|
||||||
rtems_cv_HAS_ITRON_API="no"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if test "${RTEMS_HAS_ITRON_API}" = "yes"; then
|
|
||||||
rtems_cv_HAS_ITRON_API="yes";
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_ITRON_API="disabled";
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac])
|
|
||||||
if test "$rtems_cv_HAS_ITRON_API" = "yes"; then
|
|
||||||
HAS_ITRON_API="yes";
|
|
||||||
else
|
|
||||||
HAS_ITRON_API="no";
|
|
||||||
fi
|
|
||||||
AC_SUBST(HAS_ITRON_API)dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_DEFINE_ITRON_API],
|
|
||||||
[AC_REQUIRE([RTEMS_CHECK_ITRON_API])dnl
|
|
||||||
if test x"${HAS_ITRON_API}" = x"yes";
|
|
||||||
then
|
|
||||||
AC_DEFINE_UNQUOTED(RTEMS_ITRON_API,1,[if itron api is supported])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
12
aclocal/check-makefile.m4
Normal file
12
aclocal/check-makefile.m4
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl RTEMS_CHECK_MAKEFILE(path)
|
||||||
|
dnl Search for Makefile.in's within the directory starting
|
||||||
|
dnl at path and append an entry for Makefile to global variable
|
||||||
|
dnl "makefiles" (from configure.in) for each Makefile.in found
|
||||||
|
dnl
|
||||||
|
AC_DEFUN(RTEMS_CHECK_MAKEFILE,
|
||||||
|
[RTEMS_CHECK_FILES_IN($1,Makefile,makefiles)
|
||||||
|
])
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
dnl
|
|
||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CHECK_MULTIPROCESSING],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENABLE_MULTILIB])dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENV_RTEMSBSP])dnl
|
|
||||||
AC_REQUIRE([RTEMS_TOP])dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENABLE_MULTIPROCESSING])dnl
|
|
||||||
AC_REQUIRE([RTEMS_BSP_ALIAS])dnl
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([if wanting multiprocessing],
|
|
||||||
[rtems_cv_want_multiprocessing],
|
|
||||||
[
|
|
||||||
AS_IF([test x"$multilib" = x"no"],
|
|
||||||
[# no cpukit
|
|
||||||
rtems_cv_want_multiprocessing="$enable_multiprocessing"
|
|
||||||
],[
|
|
||||||
#HACK: Should check for RTEMS_MULTIPROCESSING in cpuopts.h, instead
|
|
||||||
rtems_cv_want_multiprocessing="$enable_multiprocessing"
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
AS_IF([test "$rtems_cv_want_multiprocessing" = "yes"],
|
|
||||||
[
|
|
||||||
AC_CACHE_CHECK([whether BSP supports multiprocessing],
|
|
||||||
[rtems_cv_HAS_MP],[
|
|
||||||
if test -d "$srcdir/${RTEMS_TOPdir}/c/src/lib/libbsp/${RTEMS_CPU}/${RTEMS_BSP_FAMILY}/shmsupp"; then
|
|
||||||
rtems_cv_HAS_MP="yes" ;
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_MP="no";
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
if test $rtems_cv_HAS_MP = "no"; then
|
|
||||||
AC_MSG_ERROR([multiprocessing requested but not supported])
|
|
||||||
fi
|
|
||||||
],[rtems_cv_HAS_MP="no";])
|
|
||||||
|
|
||||||
AC_SUBST(HAS_MP,[$rtems_cv_HAS_MP])
|
|
||||||
])
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_CHECK_NETWORKING],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENABLE_NETWORKING])dnl
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([whether BSP supports networking],
|
|
||||||
rtems_cv_HAS_NETWORKING,
|
|
||||||
[dnl
|
|
||||||
case "$RTEMS_CPU" in
|
|
||||||
unix*)
|
|
||||||
rtems_cv_HAS_NETWORKING="no"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if test "${RTEMS_HAS_NETWORKING}" = "yes"; then
|
|
||||||
rtems_cv_HAS_NETWORKING="yes";
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_NETWORKING="disabled";
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac])
|
|
||||||
if test "$rtems_cv_HAS_NETWORKING" = "yes"; then
|
|
||||||
HAS_NETWORKING="yes";
|
|
||||||
else
|
|
||||||
HAS_NETWORKING="no";
|
|
||||||
fi
|
|
||||||
AC_SUBST(HAS_NETWORKING)dnl
|
|
||||||
])
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CHECK_NEWLIB],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])dnl
|
|
||||||
AC_REQUIRE([RTEMS_CANONICALIZE_TOOLS])dnl
|
|
||||||
AC_CACHE_CHECK([for RTEMS newlib],
|
|
||||||
rtems_cv_use_newlib,
|
|
||||||
[
|
|
||||||
dnl some versions of newlib provide not_required_by_rtems
|
|
||||||
AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[extern void not_required_by_rtems() ;]],
|
|
||||||
[[not_required_by_rtems()]])],
|
|
||||||
[rtems_cv_use_newlib="yes"],[])
|
|
||||||
|
|
||||||
dnl some versions of newlib provide rtems_provides_crt0()
|
|
||||||
AS_IF([test -z "$rtems_cv_use_newlib"],
|
|
||||||
[AC_LINK_IFELSE(
|
|
||||||
[AC_LANG_PROGRAM([[extern void rtems_provides_crt0() ;]],
|
|
||||||
[[rtems_provides_crt0()]])],
|
|
||||||
[rtems_cv_use_newlib="yes"],[rtems_cv_use_newlib="no"])
|
|
||||||
])
|
|
||||||
])
|
|
||||||
RTEMS_USE_NEWLIB="$rtems_cv_use_newlib"
|
|
||||||
AC_SUBST(RTEMS_USE_NEWLIB)
|
|
||||||
|
|
||||||
AS_IF([test x"${RTEMS_USE_NEWLIB}" = x"yes"],
|
|
||||||
[ AC_DEFINE_UNQUOTED(RTEMS_NEWLIB,1,[if using newlib])]
|
|
||||||
)
|
|
||||||
])
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_CHECK_POSIX_API],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENABLE_POSIX])dnl
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([whether CPU supports libposix],
|
|
||||||
rtems_cv_HAS_POSIX_API,
|
|
||||||
[dnl
|
|
||||||
case "$RTEMS_CPU" in
|
|
||||||
unix*)
|
|
||||||
rtems_cv_HAS_POSIX_API="no"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if test "${RTEMS_HAS_POSIX_API}" = "yes"; then
|
|
||||||
rtems_cv_HAS_POSIX_API="yes";
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_POSIX_API="disabled";
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac])
|
|
||||||
if test "$rtems_cv_HAS_POSIX_API" = "yes"; then
|
|
||||||
HAS_POSIX_API="yes";
|
|
||||||
else
|
|
||||||
HAS_POSIX_API="no";
|
|
||||||
fi
|
|
||||||
AC_SUBST(HAS_POSIX_API)dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_DEFINE_POSIX_API],
|
|
||||||
[AC_REQUIRE([RTEMS_CHECK_POSIX_API])dnl
|
|
||||||
AS_IF(
|
|
||||||
[test x"${HAS_POSIX_API}" = x"yes"],
|
|
||||||
[AC_DEFINE_UNQUOTED(RTEMS_POSIX_API,1,[if posix api is supported])])
|
|
||||||
])
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_CHECK_RDBG],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_TOP])dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_CPU])dnl
|
|
||||||
AC_REQUIRE([RTEMS_CHECK_NETWORKING])dnl
|
|
||||||
AC_REQUIRE([RTEMS_ENABLE_RDBG])dnl
|
|
||||||
AC_CACHE_CHECK([whether BSP supports librdbg],
|
|
||||||
rtems_cv_HAS_RDBG,
|
|
||||||
[
|
|
||||||
if test -d "$srcdir/${RTEMS_TOPdir}/c/src/librdbg/src/${RTEMS_CPU}/${$1}";
|
|
||||||
then
|
|
||||||
rtems_cv_HAS_RDBG="yes" ;
|
|
||||||
elif test -d "$srcdir/${RTEMS_TOPdir}/c/src/librdbg/src/${RTEMS_CPU}/any";
|
|
||||||
then
|
|
||||||
rtems_cv_HAS_RDBG="yes" ;
|
|
||||||
elif test "${RTEMS_CPU}" = "powerpc";
|
|
||||||
then
|
|
||||||
A=`grep -l RTEMS_PPC_EXCEPTION_PROCESSING_MODEL $srcdir/${RTEMS_TOPdir}/make/custom/* 2>/dev/null`;
|
|
||||||
C=""
|
|
||||||
for i in ${A} ;
|
|
||||||
do
|
|
||||||
B=`basename ${i} .cfg`;
|
|
||||||
C="${C} ${B}";
|
|
||||||
done
|
|
||||||
rtems_cv_HAS_RDBG="no";
|
|
||||||
for j in ${C} ;
|
|
||||||
do
|
|
||||||
if test "${$1}" = "${j}" ;
|
|
||||||
then
|
|
||||||
rtems_cv_HAS_RDBG="yes";
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
else
|
|
||||||
rtems_cv_HAS_RDBG="no";
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
HAS_RDBG="$rtems_cv_HAS_RDBG"
|
|
||||||
AC_SUBST(HAS_RDBG)
|
|
||||||
])
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
## Check for a cross tool, similar to AC_CHECK_TOOL, but do not fall back to
|
|
||||||
## the un-prefixed version of PROG-TO-CHECK-FOR.
|
|
||||||
dnl RTEMS_CHECK_TOOL(VARIABLE, PROG-TO-CHECK-FOR[, VALUE-IF-NOT-FOUND [, PATH]])
|
|
||||||
AC_DEFUN([RTEMS_CHECK_TOOL],
|
|
||||||
[
|
|
||||||
AS_IF([test "x$build_alias" != "x$host_alias"],
|
|
||||||
[rtems_tool_prefix=${ac_tool_prefix}])
|
|
||||||
AC_CHECK_PROG($1, ${rtems_tool_prefix}$2, ${rtems_tool_prefix}$2, $3, $4)
|
|
||||||
])
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Misc utility macros for subdir handling to work around missing abilities
|
|
||||||
dnl in autoconf, automake and structural issues with RTEMS
|
|
||||||
dnl
|
|
||||||
dnl Contains parts derived from autoconf-2.13 AC_OUTPUT_SUBDIRS and Cygnus'
|
|
||||||
dnl configure.in.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl _AC_DOTS(PATH)
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_AC_DOTS],[
|
|
||||||
# A "../" for each directory in $1.
|
|
||||||
ac_dots=`echo $1 | \
|
|
||||||
sed -e 's%^\./%%' -e 's%[[^/]]$%&/%' -e 's%[[^/]]*/%../%g'`
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl _RTEMS_ADJUST_SRCDIR(REVAR,CONFIG_DIR[,TARGET_SUBDIR])
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_RTEMS_ADJUST_SRCDIR],[
|
|
||||||
_AC_DOTS(ifelse([$3], ,[$2],[$3/$2]))
|
|
||||||
|
|
||||||
case "$srcdir" in
|
|
||||||
.) # No --srcdir option. We are building in place.
|
|
||||||
$1=$srcdir ;;
|
|
||||||
[[\\/]]* | ?:[[\\/]]*) # Absolute path.
|
|
||||||
$1=$srcdir/$2 ;;
|
|
||||||
*) # Relative path.
|
|
||||||
$1=$ac_dots$srcdir/$2 ;;
|
|
||||||
esac
|
|
||||||
])
|
|
||||||
21
aclocal/cygwin.m4
Normal file
21
aclocal/cygwin.m4
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Detect the Cygwin32 environment (unix under Win32)
|
||||||
|
dnl
|
||||||
|
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
|
||||||
|
dnl Hacked from automake-1.3
|
||||||
|
|
||||||
|
# Check to see if we're running under Cygwin32, without using
|
||||||
|
# AC_CANONICAL_*. If so, set output variable CYGWIN32 to "yes".
|
||||||
|
# Otherwise set it to "no".
|
||||||
|
|
||||||
|
dnl RTEMS_CYGWIN32()
|
||||||
|
AC_DEFUN(RTEMS_CYGWIN32,
|
||||||
|
[AC_CACHE_CHECK(for Cygwin32 environment, rtems_cv_cygwin32,
|
||||||
|
[AC_TRY_COMPILE(,[return __CYGWIN32__;],
|
||||||
|
rtems_cv_cygwin32=yes, rtems_cv_cygwin32=no)
|
||||||
|
rm -f conftest*])
|
||||||
|
CYGWIN32=
|
||||||
|
test "$rtems_cv_cygwin32" = yes && CYGWIN32=yes])
|
||||||
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
AC_DEFUN([RTEMS_ENABLE_BARE],
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(bare-cpu-cflags,
|
|
||||||
[AC_HELP_STRING([--enable-bare-cpu-cflags],
|
|
||||||
[specify a particular cpu cflag (bare bsp specific)])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
no) BARE_CPU_CFLAGS="" ;;
|
|
||||||
*) BARE_CPU_CFLAGS="${enableval}" ;;
|
|
||||||
esac],
|
|
||||||
[BARE_CPU_CFLAGS=""])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(bare-cpu-model,
|
|
||||||
[AC_HELP_STRING([--enable-bare-cpu-model],
|
|
||||||
[specify a particular cpu model (bare bsp specific)])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
no) BARE_CPU_MODEL="" ;;
|
|
||||||
*) BARE_CPU_MODEL="${enableval}" ;;
|
|
||||||
esac],
|
|
||||||
[BARE_CPU_MODEL=""])
|
|
||||||
])
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_CXX],
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(cxx,
|
|
||||||
[AC_HELP_STRING([--enable-cxx],
|
|
||||||
[enable C++ support and build the rtems++ library])],
|
|
||||||
[case "${enable_cxx}" in
|
|
||||||
yes) RTEMS_HAS_CPLUSPLUS=yes ;;
|
|
||||||
no) RTEMS_HAS_CPLUSPLUS=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for enable-cxx option) ;;
|
|
||||||
esac], [RTEMS_HAS_CPLUSPLUS=no])
|
|
||||||
])
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_INLINES],
|
|
||||||
[AC_ARG_ENABLE(rtems-inlines,
|
|
||||||
[AC_HELP_STRING([--enable-rtems-inlines],
|
|
||||||
[enable RTEMS inline functions (default:enabled, disable to use macros)])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_USE_MACROS=no ;;
|
|
||||||
no) RTEMS_USE_MACROS=yes ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for disable-rtems-inlines option) ;;
|
|
||||||
esac],[RTEMS_USE_MACROS=no])
|
|
||||||
AC_SUBST(RTEMS_USE_MACROS)dnl
|
|
||||||
|
|
||||||
AS_IF([test x"${RTEMS_USE_MACROS}" = x"yes"],
|
|
||||||
[AC_DEFINE_UNQUOTED(USE_MACROS,1,[if using macros])],
|
|
||||||
[AC_DEFINE_UNQUOTED(USE_INLINES,1,[if using inlines])])
|
|
||||||
])
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_ITRON],
|
|
||||||
[
|
|
||||||
## AC_BEFORE([$0], [RTEMS_CHECK_ITRON_API])dnl
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(itron,
|
|
||||||
[AC_HELP_STRING([--enable-itron],[enable itron interface])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_HAS_ITRON_API=yes ;;
|
|
||||||
no) RTEMS_HAS_ITRON_API=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for enable-itron option) ;;
|
|
||||||
esac],[RTEMS_HAS_ITRON_API=yes])
|
|
||||||
|
|
||||||
case "${host}" in
|
|
||||||
# hpux unix port should go here
|
|
||||||
i[[34567]]86-pc-linux*) # unix "simulator" port
|
|
||||||
RTEMS_HAS_ITRON_API=no
|
|
||||||
;;
|
|
||||||
i[[34567]]86-*freebsd*) # unix "simulator" port
|
|
||||||
RTEMS_HAS_ITRON_API=no
|
|
||||||
;;
|
|
||||||
no_cpu-*rtems*)
|
|
||||||
RTEMS_HAS_ITRON_API=no
|
|
||||||
;;
|
|
||||||
sparc-sun-solaris*) # unix "simulator" port
|
|
||||||
RTEMS_HAS_ITRON_API=no
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST(RTEMS_HAS_ITRON_API)
|
|
||||||
])
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_MULTIPROCESSING],
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(multiprocessing,
|
|
||||||
[AC_HELP_STRING([--enable-multiprocessing],
|
|
||||||
[enable multiprocessing interface])],
|
|
||||||
[case "${enable_multiprocessing}" in
|
|
||||||
yes) ;;
|
|
||||||
no) ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for enable-multiprocessing option) ;;
|
|
||||||
esac],[enable_multiprocessing=no])
|
|
||||||
])
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_NETWORKING],
|
|
||||||
[
|
|
||||||
## AC_BEFORE([$0], [RTEMS_CHECK_NETWORKING])dnl
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(networking,
|
|
||||||
[AC_HELP_STRING([--enable-networking],[enable TCP/IP stack])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_HAS_NETWORKING=yes ;;
|
|
||||||
no) RTEMS_HAS_NETWORKING=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for enable-networking option) ;;
|
|
||||||
esac],[RTEMS_HAS_NETWORKING=yes])
|
|
||||||
AC_SUBST(RTEMS_HAS_NETWORKING)dnl
|
|
||||||
])
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_POSIX],
|
|
||||||
[
|
|
||||||
## AC_BEFORE([$0], [RTEMS_CHECK_POSIX_API])dnl
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(posix,
|
|
||||||
[AC_HELP_STRING([--enable-posix],[enable posix interface])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_HAS_POSIX_API=yes ;;
|
|
||||||
no) RTEMS_HAS_POSIX_API=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for enable-posix option) ;;
|
|
||||||
esac],[RTEMS_HAS_POSIX_API=yes])
|
|
||||||
|
|
||||||
case "${host}" in
|
|
||||||
# hpux unix port should go here
|
|
||||||
i[[34567]]86-pc-linux*) # unix "simulator" port
|
|
||||||
RTEMS_HAS_POSIX_API=no
|
|
||||||
;;
|
|
||||||
i[[34567]]86-*freebsd*) # unix "simulator" port
|
|
||||||
RTEMS_HAS_POSIX_API=no
|
|
||||||
;;
|
|
||||||
no_cpu-*rtems*)
|
|
||||||
RTEMS_HAS_POSIX_API=no
|
|
||||||
;;
|
|
||||||
sparc-sun-solaris*) # unix "simulator" port
|
|
||||||
RTEMS_HAS_POSIX_API=no
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST(RTEMS_HAS_POSIX_API)
|
|
||||||
])
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_RDBG],
|
|
||||||
[
|
|
||||||
AC_BEFORE([$0], [RTEMS_CHECK_RDBG])dnl
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(rdbg,
|
|
||||||
[AC_HELP_STRING([--enable-rdbg],[enable remote debugger])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_HAS_RDBG=yes ;;
|
|
||||||
no) RTEMS_HAS_RDBG=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for enable-rdbg option) ;;
|
|
||||||
esac],[RTEMS_HAS_RDBG=no])
|
|
||||||
AC_SUBST(RTEMS_HAS_RDBG)dnl
|
|
||||||
])
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl Override the set of BSPs to be built.
|
|
||||||
dnl used by the toplevel configure script
|
|
||||||
dnl RTEMS_ENABLE_RTEMSBSP(rtems_bsp_list)
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_RTEMSBSP],
|
|
||||||
[
|
|
||||||
AC_BEFORE([$0], [RTEMS_ENV_RTEMSBSP])
|
|
||||||
AC_ARG_ENABLE(rtemsbsp,
|
|
||||||
[AC_HELP_STRING([--enable-rtemsbsp="bsp1 bsp2 .."],
|
|
||||||
[BSPs to include in build])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes|no) AC_MSG_ERROR([missing argument to --enable-rtemsbsp="bsp1 bsp2"]);;
|
|
||||||
*) $1=$enableval;;
|
|
||||||
esac],[$1=""])
|
|
||||||
])
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_TESTS],
|
|
||||||
[
|
|
||||||
# If the tests are enabled, then find all the test suite Makefiles
|
|
||||||
AC_MSG_CHECKING([if the test suites are enabled? ])
|
|
||||||
AC_ARG_ENABLE(tests,
|
|
||||||
[AC_HELP_STRING([--enable-tests],[enable tests (default:disabled)])],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) tests_enabled=yes ;;
|
|
||||||
no) tests_enabled=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for tests option) ;;
|
|
||||||
esac], [tests_enabled=no])
|
|
||||||
AC_MSG_RESULT([$tests_enabled])
|
|
||||||
])
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
dnl Pass a single BSP via an environment variable
|
|
||||||
dnl used by per BSP configure scripts
|
|
||||||
AC_DEFUN([RTEMS_ENV_RTEMSBSP],
|
|
||||||
[dnl
|
|
||||||
AC_BEFORE([$0], [RTEMS_ENABLE_RTEMSBSP])dnl
|
|
||||||
AC_BEFORE([$0], [RTEMS_PROJECT_ROOT])dnl
|
|
||||||
AC_BEFORE([$0], [RTEMS_CHECK_CUSTOM_BSP])dnl
|
|
||||||
|
|
||||||
AC_ARG_VAR([CPU_CFLAGS],[CFLAGS specifying CPU-dependent features])
|
|
||||||
AC_ARG_VAR([CFLAGS_OPTIMIZE_V],[CFLAGS for building the OPTIMIZE variant])
|
|
||||||
AC_ARG_VAR([CFLAGS_DEBUG_V],[CFLAGS for building the DEBUG variant])
|
|
||||||
AC_ARG_VAR([CFLAGS_PROFILE_V],[CFLAGS for building the PROFILE variant])
|
|
||||||
AC_ARG_VAR([RTEMS_BSP_FAMILY],[RTEMS's BSP directory])
|
|
||||||
AC_ARG_VAR([RTEMS_CPU_MODEL],[RTEMS's cpu model])
|
|
||||||
|
|
||||||
AC_ARG_VAR([RTEMS_BSP],[RTEMS_BSP to build])
|
|
||||||
AC_MSG_CHECKING([for RTEMS_BSP])
|
|
||||||
AC_CACHE_VAL(rtems_cv_RTEMS_BSP,
|
|
||||||
[dnl
|
|
||||||
test -n "${RTEMS_BSP}" && rtems_cv_RTEMS_BSP="$RTEMS_BSP";
|
|
||||||
])dnl
|
|
||||||
if test -z "$rtems_cv_RTEMS_BSP"; then
|
|
||||||
AC_MSG_ERROR([Missing RTEMS_BSP])
|
|
||||||
fi
|
|
||||||
RTEMS_BSP="$rtems_cv_RTEMS_BSP"
|
|
||||||
AC_MSG_RESULT(${RTEMS_BSP})
|
|
||||||
AC_SUBST(RTEMS_BSP)
|
|
||||||
|
|
||||||
RTEMS_BSP_SPECS="-specs bsp_specs -qrtems"
|
|
||||||
AC_SUBST(RTEMS_BSP_SPECS)
|
|
||||||
|
|
||||||
GCC_SPECS="-B\$(PROJECT_ROOT)/lib/ -B\$(PROJECT_ROOT)/$RTEMS_BSP/lib/"
|
|
||||||
AC_SUBST(GCC_SPECS)
|
|
||||||
|
|
||||||
PROJECT_INCLUDE="\$(PROJECT_ROOT)/$RTEMS_BSP/lib/include"
|
|
||||||
AC_SUBST(PROJECT_INCLUDE)
|
|
||||||
|
|
||||||
PROJECT_RELEASE="\$(PROJECT_ROOT)/$RTEMS_BSP"
|
|
||||||
AC_SUBST(PROJECT_RELEASE)
|
|
||||||
|
|
||||||
RTEMS_ROOT="\$(PROJECT_ROOT)/c/$RTEMS_BSP"
|
|
||||||
AC_SUBST(RTEMS_ROOT)
|
|
||||||
|
|
||||||
RTEMS_ENABLE_BARE
|
|
||||||
AC_SUBST(BARE_CPU_MODEL)
|
|
||||||
AC_SUBST(BARE_CPU_CFLAGS)
|
|
||||||
|
|
||||||
AM_CONDITIONAL([MULTILIB],[false])
|
|
||||||
|
|
||||||
includedir="\${exec_prefix}/${RTEMS_BSP}/lib/include"
|
|
||||||
libdir="\${exec_prefix}/${RTEMS_BSP}/lib"
|
|
||||||
|
|
||||||
bsplibdir="\${exec_prefix}/${RTEMS_BSP}/lib"
|
|
||||||
AC_SUBST(bsplibdir)
|
|
||||||
])
|
|
||||||
38
aclocal/exeext.m4
Normal file
38
aclocal/exeext.m4
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set the EXE extension
|
||||||
|
dnl
|
||||||
|
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
|
||||||
|
dnl Hacked from automake-1.3
|
||||||
|
|
||||||
|
# Check to see if we're running under Win32, without using
|
||||||
|
# AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
|
||||||
|
# Otherwise set it to "".
|
||||||
|
|
||||||
|
dnl RTEMS_EXEEXT()
|
||||||
|
dnl This knows we add .exe if we're building in the Cygwin32
|
||||||
|
dnl environment. But if we're not, then it compiles a test program
|
||||||
|
dnl to see if there is a suffix for executables.
|
||||||
|
AC_DEFUN(RTEMS_EXEEXT,
|
||||||
|
[AC_REQUIRE([RTEMS_CYGWIN32])
|
||||||
|
AC_MSG_CHECKING([for executable suffix])
|
||||||
|
AC_CACHE_VAL(rtems_cv_exeext,
|
||||||
|
[if test "$CYGWIN32" = yes; then
|
||||||
|
rtems_cv_exeext=.exe
|
||||||
|
else
|
||||||
|
cat > rtems_c_test.c << 'EOF'
|
||||||
|
int main() {
|
||||||
|
/* Nothing needed here */
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
${CC-cc} -o rtems_c_test $CFLAGS $CPPFLAGS $LDFLAGS rtems_c_test.c $LIBS 1>&5
|
||||||
|
rtems_cv_exeext=`echo rtems_c_test.* | grep -v rtems_c_test.c | sed -e s/rtems_c_test//`
|
||||||
|
rm -f rtems_c_test*])
|
||||||
|
test x"${rtems_cv_exeext}" = x && rtems_cv_exeext=no
|
||||||
|
fi
|
||||||
|
EXEEXT=""
|
||||||
|
test x"${rtems_cv_exeext}" != xno && EXEEXT=${rtems_cv_exeext}
|
||||||
|
AC_MSG_RESULT(${rtems_cv_exeext})
|
||||||
|
AC_SUBST(EXEEXT)])
|
||||||
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
dnl
|
|
||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
dnl Check whether the gcc accepts -isystem
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_GCC_ISYSTEM],
|
|
||||||
[AC_REQUIRE([RTEMS_PROG_CC])
|
|
||||||
AC_CACHE_CHECK(whether $CC accepts -isystem,rtems_cv_gcc_isystem,
|
|
||||||
[
|
|
||||||
rtems_cv_gcc_isystem=no
|
|
||||||
if test x"$GCC" = x"yes"; then
|
|
||||||
cat << EOF > conftest.h
|
|
||||||
int conftest123();
|
|
||||||
EOF
|
|
||||||
cat << EOF > conftest.c
|
|
||||||
#include <conftest.h>
|
|
||||||
int conftest123() {}
|
|
||||||
EOF
|
|
||||||
if test -z "`${CC} -isystem./ -c conftest.c 2>&1`";then
|
|
||||||
rtems_cv_gcc_isystem=yes
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
rm -f conftest*
|
|
||||||
])])
|
|
||||||
@@ -3,19 +3,27 @@ dnl $Id$
|
|||||||
dnl
|
dnl
|
||||||
dnl Check whether the target compiler accepts -pipe
|
dnl Check whether the target compiler accepts -pipe
|
||||||
dnl
|
dnl
|
||||||
|
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
|
||||||
|
dnl
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_GCC_PIPE],
|
AC_DEFUN(RTEMS_GCC_PIPE,
|
||||||
[AC_REQUIRE([RTEMS_PROG_CC])
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
AC_CACHE_CHECK(whether $CC accepts --pipe,rtems_cv_gcc_pipe,
|
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts --pipe,rtems_cv_gcc_pipe,
|
||||||
[
|
[
|
||||||
rtems_cv_gcc_pipe=no
|
rtems_cv_gcc_pipe=no
|
||||||
if test x"$GCC" = x"yes"; then
|
if test "$rtems_cv_prog_gcc" = "yes"; then
|
||||||
|
case "$host_os" in
|
||||||
|
cygwin32*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
echo 'void f(){}' >conftest.c
|
echo 'void f(){}' >conftest.c
|
||||||
if test -z "`${CC} --pipe -c conftest.c 2>&1`";then
|
if test -z "`${CC_FOR_TARGET} --pipe -c conftest.c 2>&1`";then
|
||||||
rtems_cv_gcc_pipe=yes
|
rtems_cv_gcc_pipe=yes
|
||||||
fi
|
fi
|
||||||
rm -f conftest*
|
rm -f conftest*
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -3,16 +3,18 @@ dnl $Id$
|
|||||||
dnl
|
dnl
|
||||||
dnl Check whether the target compiler accepts -specs
|
dnl Check whether the target compiler accepts -specs
|
||||||
dnl
|
dnl
|
||||||
|
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
|
||||||
|
dnl
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_GCC_SPECS],
|
AC_DEFUN(RTEMS_GCC_SPECS,
|
||||||
[AC_REQUIRE([RTEMS_PROG_CC])
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
AC_CACHE_CHECK(whether $CC accepts -specs,rtems_cv_gcc_specs,
|
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts -specs,rtems_cv_gcc_specs,
|
||||||
[
|
[
|
||||||
rtems_cv_gcc_specs=no
|
rtems_cv_gcc_specs=no
|
||||||
if test x"$GCC" = x"yes"; then
|
if test "$rtems_cv_prog_gcc" = "yes"; then
|
||||||
touch confspec
|
touch confspec
|
||||||
echo 'void f(){}' >conftest.c
|
echo 'void f(){}' >conftest.c
|
||||||
if test -z "`${CC} -specs confspec -c conftest.c 2>&1`";then
|
if test -z "`${CC_FOR_TARGET} -specs confspec -c conftest.c 2>&1`";then
|
||||||
rtems_cv_gcc_specs=yes
|
rtems_cv_gcc_specs=yes
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ dnl
|
|||||||
dnl check for i386 gas supporting 16 bit mode
|
dnl check for i386 gas supporting 16 bit mode
|
||||||
dnl - binutils 2.9.1.0.7 and higher
|
dnl - binutils 2.9.1.0.7 and higher
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_I386_GAS_CODE16],
|
AC_DEFUN(RTEMS_I386_GAS_CODE16,
|
||||||
[ if test "${host_cpu}" = "i386"; then
|
if test "${target_cpu}" = "i386"; then
|
||||||
AC_CACHE_CHECK([for 16 bit mode assembler support],
|
AC_CACHE_CHECK([for 16 bit mode assembler support],
|
||||||
rtems_cv_prog_gas_code16,
|
rtems_cv_prog_gas_code16,
|
||||||
[cat > conftest.s << EOF
|
[cat > conftest.s << EOF
|
||||||
@@ -15,17 +15,12 @@ AC_DEFUN([RTEMS_I386_GAS_CODE16],
|
|||||||
addr32
|
addr32
|
||||||
lgdt 0
|
lgdt 0
|
||||||
EOF
|
EOF
|
||||||
if AC_TRY_COMMAND($AS -o conftest.o conftest.s); then
|
if AC_TRY_COMMAND($AS_FOR_TARGET -o conftest.o conftest.s); then
|
||||||
rtems_cv_prog_gas_code16=yes
|
rtems_cv_prog_gas_code16=yes
|
||||||
else
|
else
|
||||||
rtems_cv_prog_gas_code16=no
|
rtems_cv_prog_gas_code16=no
|
||||||
fi])
|
fi])
|
||||||
RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
|
RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
|
||||||
fi
|
fi
|
||||||
AC_SUBST(RTEMS_GAS_CODE16)
|
)
|
||||||
if test x"${RTEMS_GAS_CODE16}" = x"yes";
|
|
||||||
then
|
|
||||||
AC_DEFINE_UNQUOTED(NEW_GAS,1,[if using 16 bit mode assembler support])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
|
|||||||
41
aclocal/mkdir.m4
Normal file
41
aclocal/mkdir.m4
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
|
||||||
|
dnl macro to detect mkdir
|
||||||
|
AC_DEFUN(RTEMS_PATH_MKDIR,
|
||||||
|
[AC_PATH_PROG(MKDIR,mkdir)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl macro to check for mkdir -p
|
||||||
|
AC_DEFUN(RTEMS_PROG_MKDIR_P,
|
||||||
|
[
|
||||||
|
AC_REQUIRE([RTEMS_PATH_MKDIR])
|
||||||
|
AC_MSG_CHECKING([for working $MKDIR -p])
|
||||||
|
AC_CACHE_VAL(rtems_cv_prog_mkdir_p,
|
||||||
|
[rm -rf conftestdata
|
||||||
|
if $MKDIR -p conftestdata 2>/dev/null ;then
|
||||||
|
rtems_cv_prog_MKDIR_P="yes"
|
||||||
|
else
|
||||||
|
rtems_cv_prog_MKDIR_P="no"
|
||||||
|
fi])dnl
|
||||||
|
rm -rf conftestdata
|
||||||
|
AC_MSG_RESULT($rtems_cv_prog_MKDIR_P)
|
||||||
|
])
|
||||||
|
|
||||||
|
dnl macro to check for mkdir -m 0755
|
||||||
|
AC_DEFUN(RTEMS_PROG_MKDIR_M,
|
||||||
|
[
|
||||||
|
AC_REQUIRE([RTEMS_PATH_MKDIR])
|
||||||
|
AC_MSG_CHECKING([for working $MKDIR -m 0755])
|
||||||
|
AC_CACHE_VAL(rtems_cv_prog_MKDIR_P,
|
||||||
|
[rm -rf conftestdata
|
||||||
|
if $MKDIR -m 0775 conftestdata 2>/dev/null; then
|
||||||
|
rtems_cv_prog_MKDIR_M="yes"
|
||||||
|
else
|
||||||
|
rtems_cv_prog_MKDIR_M="no"
|
||||||
|
fi])dnl
|
||||||
|
rm -rf conftestdata
|
||||||
|
AC_MSG_RESULT($rtems_cv_prog_MKDIR_M)
|
||||||
|
])
|
||||||
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
dnl This provides configure definitions used for multilib support
|
|
||||||
|
|
||||||
dnl parts of these macros are derived from newlib-1.8.2's multilib support
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_MULTILIB],
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(multilib,
|
|
||||||
AC_HELP_STRING([--enable-multilib],
|
|
||||||
[build many library versions (default=no)]),
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) multilib=yes ;;
|
|
||||||
no) multilib=no ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
|
|
||||||
esac], [multilib=no])dnl
|
|
||||||
|
|
||||||
AM_CONDITIONAL(MULTILIB,test x"${multilib}" = x"yes")
|
|
||||||
])
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PATH_KSH],
|
|
||||||
[
|
|
||||||
dnl NOTE: prefer bash over ksh over sh
|
|
||||||
AC_PATH_PROGS(KSH,bash ksh sh)
|
|
||||||
if test -z "$KSH"; then
|
|
||||||
dnl NOTE: This cannot happen -- /bin/sh must always exist
|
|
||||||
AC_MSG_ERROR(
|
|
||||||
[***]
|
|
||||||
[ Cannot determine a usable shell bash/ksh/sh]
|
|
||||||
[ Please contact your system administrator] );
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PATH_PERL],
|
|
||||||
[
|
|
||||||
AC_PATH_PROG(PERL,perl)
|
|
||||||
if test -z "$PERL" ; then
|
|
||||||
AC_MSG_WARN(
|
|
||||||
[***]
|
|
||||||
[ perl was not found]
|
|
||||||
[ Note: Some tools will not be built.])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
# $Id$
|
|
||||||
#
|
|
||||||
# Some hacks for handling powerpc-exception subdirectories
|
|
||||||
#
|
|
||||||
# Note: Consider this file a temporary band-aid until a better, more general
|
|
||||||
# subdirectory handling solution is introduced to RTEMS.
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PPC_EXCEPTIONS],
|
|
||||||
[
|
|
||||||
exceptions="$1_exception_processing"
|
|
||||||
AC_SUBST(exceptions)
|
|
||||||
|
|
||||||
AC_CONFIG_COMMANDS_POST(
|
|
||||||
[
|
|
||||||
exceptions_subdirs="$1_exception_processing"
|
|
||||||
updir=/../support
|
|
||||||
|
|
||||||
if test "$no_recursion" != yes; then
|
|
||||||
|
|
||||||
RTEMS_CONFIGURE_ARGS_QUOTE([ac_sub_configure_args])
|
|
||||||
|
|
||||||
for ac_subdir in : $exceptions_subdirs; do test "x$ac_subdir" = x: && continue
|
|
||||||
|
|
||||||
# Do not complain, so a configure script can configure whichever
|
|
||||||
# parts of a large source tree are present.
|
|
||||||
test -d $srcdir${updir}/$ac_subdir || continue
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([configuring in $ac_subdir])
|
|
||||||
case $srcdir in
|
|
||||||
.) ;;
|
|
||||||
*) AS_MKDIR_P(["./$ac_subdir"])
|
|
||||||
if test -d ./$ac_subdir; then :;
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([cannot create `pwd`/$ac_subdir])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
ac_popdir=`pwd`
|
|
||||||
cd $ac_subdir
|
|
||||||
|
|
||||||
# A "../" for each directory in /$ac_subdir.
|
|
||||||
ac_dots=`echo $ac_subdir |
|
|
||||||
sed 's,^\./,,;s,[[^/]]$,&/,;s,[[^/]]*/,../,g'`
|
|
||||||
|
|
||||||
case $srcdir in
|
|
||||||
.) # No --srcdir option. We are building in place.
|
|
||||||
ac_sub_srcdir=$srcdir${updir} ;;
|
|
||||||
[[\\/]]* | ?:[[\\/]]* ) # Absolute path.
|
|
||||||
ac_sub_srcdir=$srcdir${updir}/$ac_subdir ;;
|
|
||||||
*) # Relative path.
|
|
||||||
ac_sub_srcdir=$ac_dots$srcdir${updir}/$ac_subdir ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Check for guested configure; otherwise get Cygnus style configure.
|
|
||||||
if test -f $ac_sub_srcdir/configure.gnu; then
|
|
||||||
ac_sub_configure="$SHELL '$ac_sub_srcdir/configure.gnu'"
|
|
||||||
elif test -f $ac_sub_srcdir/configure; then
|
|
||||||
ac_sub_configure="$SHELL '$ac_sub_srcdir/configure'"
|
|
||||||
elif test -f $ac_sub_srcdir/configure.in; then
|
|
||||||
ac_sub_configure=$ac_configure
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([no configuration information is in $ac_subdir])
|
|
||||||
ac_sub_configure=
|
|
||||||
fi
|
|
||||||
|
|
||||||
# The recursion is here.
|
|
||||||
if test -n "$ac_sub_configure"; then
|
|
||||||
# Make the cache file name correct relative to the subdirectory.
|
|
||||||
case $cache_file in
|
|
||||||
[[\\/]]* | ?:[[\\/]]* ) ac_sub_cache_file=$cache_file ;;
|
|
||||||
*) # Relative path.
|
|
||||||
ac_sub_cache_file=$ac_dots$cache_file ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_MSG_NOTICE([running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir])
|
|
||||||
# The eval makes quoting arguments work.
|
|
||||||
eval $ac_sub_configure $ac_sub_configure_args \
|
|
||||||
--cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir ||
|
|
||||||
AC_MSG_ERROR([$ac_sub_configure failed for $ac_subdir])
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$ac_popdir"
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
])
|
|
||||||
@@ -3,46 +3,63 @@ dnl $Id$
|
|||||||
dnl
|
dnl
|
||||||
dnl Check for target gcc
|
dnl Check for target gcc
|
||||||
dnl
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Completely reworked
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PROG_CC],
|
AC_DEFUN(RTEMS_PROG_CC,
|
||||||
[
|
[
|
||||||
AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||||
AC_BEFORE([$0], [AC_PROG_CC])dnl
|
AC_BEFORE([$0], [AC_PROG_CC])dnl
|
||||||
AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
|
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
|
||||||
|
|
||||||
_RTEMS_FLAGS([CFLAGS],
|
dnl Only accept gcc and cc
|
||||||
["\$(CPU_CFLAGS) \$(RTEMS_CFLAGS_\$(VARIANT_V)_V) \$(CFLAGS_\$(VARIANT_V)_V) -g"])
|
dnl NOTE: This might be too restrictive for native compilation
|
||||||
|
AC_PATH_PROGS(CC_FOR_TARGET, "$program_prefix"gcc "$program_prefix"cc )
|
||||||
|
test -z "$CC_FOR_TARGET" \
|
||||||
|
&& AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||||
|
|
||||||
RTEMS_CHECK_TOOL(CC,gcc)
|
dnl backup
|
||||||
test -z "$CC" && \
|
rtems_save_CC=$CC
|
||||||
AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
rtems_save_CFLAGS=$CFLAGS
|
||||||
AC_PROG_CC
|
|
||||||
AC_PROG_CPP
|
|
||||||
|
|
||||||
AM_CONDITIONAL(RTEMS_USE_GCC,test x"$GCC" = x"yes")
|
dnl temporarily set CC
|
||||||
])
|
CC=$CC_FOR_TARGET
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PROG_CC_FOR_TARGET],
|
AC_PROG_CC_WORKS
|
||||||
[
|
AC_PROG_CC_GNU
|
||||||
dnl check target cc
|
|
||||||
RTEMS_PROG_CC
|
|
||||||
dnl check if the compiler supports -isystem
|
|
||||||
RTEMS_GCC_ISYSTEM
|
|
||||||
dnl check if the target compiler may use --pipe
|
|
||||||
RTEMS_GCC_PIPE
|
|
||||||
test "$rtems_cv_gcc_pipe" = "yes" && CC="$CC --pipe"
|
|
||||||
|
|
||||||
dnl check if the compiler supports --specs
|
if test $ac_cv_prog_gcc = yes; then
|
||||||
RTEMS_GCC_SPECS
|
GCC=yes
|
||||||
|
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||||
if test "$GCC" = yes; then
|
dnl plays around with CFLAGS (such as to build both debugging and
|
||||||
RTEMS_CFLAGS="$RTEMS_CFLAGS -Wall"
|
dnl normal versions of a library), tasteless as that idea is.
|
||||||
m4_if([$1],,[],[RTEMS_CFLAGS="$RTEMS_CFLAGS $1"])
|
ac_test_CFLAGS="${CFLAGS+set}"
|
||||||
|
ac_save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS=
|
||||||
|
AC_PROG_CC_G
|
||||||
|
if test "$ac_test_CFLAGS" = set; then
|
||||||
|
CFLAGS="$ac_save_CFLAGS"
|
||||||
|
elif test $ac_cv_prog_cc_g = yes; then
|
||||||
|
CFLAGS="-g -O2"
|
||||||
|
else
|
||||||
|
CFLAGS="-O2"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
GCC=
|
||||||
|
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AS_IF([test x"$rtems_cv_gcc_isystem" = x"yes"],[
|
rtems_cv_prog_gcc=$ac_cv_prog_gcc
|
||||||
RTEMS_CPPFLAGS="-isystem \$(PROJECT_INCLUDE)"],[
|
rtems_cv_prog_cc_g=$ac_cv_prog_cc_g
|
||||||
RTEMS_CPPFLAGS="-I\$(PROJECT_INCLUDE)"
|
rtems_cv_prog_cc_works=$ac_cv_prog_cc_works
|
||||||
])
|
rtems_cv_prog_cc_cross=$ac_cv_prog_cc_cross
|
||||||
AC_SUBST(RTEMS_CPPFLAGS)
|
|
||||||
|
dnl restore initial values
|
||||||
|
CC=$rtems_save_CC
|
||||||
|
CFLAGS=$rtems_save_CFLAGS
|
||||||
|
|
||||||
|
unset ac_cv_prog_gcc
|
||||||
|
unset ac_cv_prog_cc_g
|
||||||
|
unset ac_cv_prog_cc_works
|
||||||
|
unset ac_cv_prog_cc_cross
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PROG_CCAS],
|
|
||||||
[
|
|
||||||
AC_REQUIRE([RTEMS_PROG_CC])
|
|
||||||
AC_SUBST(CCAS,["$CC \$(GCCSPECS)"])
|
|
||||||
AC_SUBST(CCASFLAGS,["-DASM \$(CFLAGS) \$(INCLUDES)"])
|
|
||||||
])
|
|
||||||
@@ -3,33 +3,63 @@ dnl $Id$
|
|||||||
dnl
|
dnl
|
||||||
dnl Check for target g++
|
dnl Check for target g++
|
||||||
dnl
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Completely reworked
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PROG_CXX_FOR_TARGET],
|
AC_DEFUN(RTEMS_PROG_CXX,
|
||||||
[
|
[
|
||||||
AC_BEFORE([$0], [RTEMS_CANONICALIZE_TOOLS])dnl
|
AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
|
||||||
AC_REQUIRE([RTEMS_ENABLE_CXX])
|
AC_BEFORE([$0], [AC_PROG_CXX])dnl
|
||||||
RTEMS_CHECK_TOOL(CXX,g++)
|
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
|
||||||
if test "$RTEMS_HAS_CPLUSPLUS" = "yes";
|
|
||||||
then
|
|
||||||
_RTEMS_FLAGS([CXXFLAGS],
|
|
||||||
["\$(CPU_CFLAGS) \$(RTEMS_CFLAGS_\$(VARIANT_V)_V) \$(CFLAGS_\$(VARIANT_V)_V) -g"])
|
|
||||||
|
|
||||||
dnl Only accept g++
|
dnl Only accept g++ and c++
|
||||||
dnl NOTE: This might be too restrictive
|
dnl NOTE: This might be too restrictive for native compilation
|
||||||
test -z "$CXX" \
|
AC_PATH_PROGS(CXX_FOR_TARGET, "$program_prefix"g++ "$program_prefix"c++)
|
||||||
|
test -z "$CXX_FOR_TARGET" \
|
||||||
&& AC_MSG_ERROR([no acceptable c++ found in \$PATH])
|
&& AC_MSG_ERROR([no acceptable c++ found in \$PATH])
|
||||||
AC_PROG_CXX
|
|
||||||
|
|
||||||
if test "$ac_cv_prog_cc_cross" != "$ac_cv_prog_cxx_cross"; then
|
dnl backup
|
||||||
AC_MSG_ERROR([***]
|
rtems_save_CXX=$CXX
|
||||||
[Inconsistency in compiler configuration:]
|
rtems_save_CXXFLAGS=$CXXFLAGS
|
||||||
[Target C compiler and target C++ compiler]
|
|
||||||
[must both either be cross compilers or native compilers]
|
dnl temporarily set CXX
|
||||||
[Hint: If building a posix bsp: LD_LIBRARY_PATH?] )
|
CXX=$CXX_FOR_TARGET
|
||||||
|
|
||||||
|
AC_PROG_CXX_WORKS
|
||||||
|
AC_PROG_CXX_GNU
|
||||||
|
|
||||||
|
if test $ac_cv_prog_gxx = yes; then
|
||||||
|
GXX=yes
|
||||||
|
dnl Check whether -g works, even if CXXFLAGS is set, in case the package
|
||||||
|
dnl plays around with CXXFLAGS (such as to build both debugging and
|
||||||
|
dnl normal versions of a library), tasteless as that idea is.
|
||||||
|
ac_test_CXXFLAGS="${CXXFLAGS+set}"
|
||||||
|
ac_save_CXXFLAGS="$CXXFLAGS"
|
||||||
|
CXXFLAGS=
|
||||||
|
AC_PROG_CXX_G
|
||||||
|
if test "$ac_test_CXXFLAGS" = set; then
|
||||||
|
CXXFLAGS="$ac_save_CXXFLAGS"
|
||||||
|
elif test $ac_cv_prog_cxx_g = yes; then
|
||||||
|
CXXFLAGS="-g -O2"
|
||||||
|
else
|
||||||
|
CXXFLAGS="-O2"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
else
|
else
|
||||||
## Work-around to a bug in automake
|
GXX=
|
||||||
AM_CONDITIONAL([am__fastdepCXX],[false])
|
test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rtems_cv_prog_gxx=$ac_cv_prog_gxx
|
||||||
|
rtems_cv_prog_cxx_g=$ac_cv_prog_cxx_g
|
||||||
|
rtems_cv_prog_cxx_works=$ac_cv_prog_cxx_works
|
||||||
|
rtems_cv_prog_cxx_cross=$ac_cv_prog_cxx_cross
|
||||||
|
|
||||||
|
CXX=$rtems_save_CXX
|
||||||
|
CXXFLAGS=$rtems_save_CXXFLAGS
|
||||||
|
|
||||||
|
dnl restore initial values
|
||||||
|
unset ac_cv_prog_gxx
|
||||||
|
unset ac_cv_prog_cc_g
|
||||||
|
unset ac_cv_prog_cxx_works
|
||||||
|
unset ac_cv_prog_cxx_cross
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
##
|
|
||||||
## WARNING: All the stuff below is pretty immature.
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PROG_GNAT],
|
|
||||||
[AC_REQUIRE([AC_CHECK_TOOL_PREFIX])
|
|
||||||
AC_REQUIRE([RTEMS_PROG_CC_FOR_TARGET])
|
|
||||||
|
|
||||||
AC_ARG_VAR([GNATMAKE],[GNATMAKE compiler command])
|
|
||||||
AC_ARG_VAR([ADAFLAGS],[ADA compiler flags])
|
|
||||||
|
|
||||||
RTEMS_CHECK_TOOL([GNATMAKE],[gnatmake],[])
|
|
||||||
AS_IF([test -z "$GNATMAKE"],[AC_MSG_ERROR([No GNATMAKE found])])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether $GNATMAKE works])
|
|
||||||
rm -f conftest.*
|
|
||||||
cat >conftest.adb <<EOF
|
|
||||||
procedure conftest is begin null; end conftest;
|
|
||||||
EOF
|
|
||||||
|
|
||||||
AS_IF([$GNATMAKE -c conftest.adb 1>>config.log 2>&1],
|
|
||||||
[HAVE_GNAT=yes],
|
|
||||||
[HAVE_GNAT=no])
|
|
||||||
AC_MSG_RESULT([$HAVE_GNAT])
|
|
||||||
rm -f conftest.*
|
|
||||||
])
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
dnl
|
|
||||||
dnl $Id$
|
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl PROJECT_TOPdir .. relative path to the top of the build-tree
|
|
||||||
dnl PROJECT_ROOT .. relative path to the top of the temporary
|
|
||||||
dnl installation directory inside the build-tree
|
|
||||||
dnl RTEMS_TOPdir .. relative path of a subpackage's configure.in to the
|
|
||||||
dnl toplevel configure.in of the source-tree
|
|
||||||
dnl RTEMS_ROOT .. path to the top of a bsp's build directory
|
|
||||||
dnl [Applied by custom/*.cfg, depredicated otherwise]
|
|
||||||
dnl
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_PROJECT_ROOT],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_TOP])
|
|
||||||
|
|
||||||
PACKHEX="\$(PROJECT_TOPdir)/tools/build/packhex"
|
|
||||||
AC_SUBST(PACKHEX)
|
|
||||||
])
|
|
||||||
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
dnl RTEMS_CONFIGURE_ARGS_QUOTE(dnl RETURN_VAR, [ADDITIONAL_CASES], [VAR_TO_PROCESS]])
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_RTEMS_CONFIGURE_ARGS_QUOTE],
|
|
||||||
[
|
|
||||||
$1_prune()
|
|
||||||
{
|
|
||||||
# Remove --cache-file and --srcdir arguments so they do not pile up.
|
|
||||||
$1=
|
|
||||||
ac_prev=
|
|
||||||
for ac_arg
|
|
||||||
do
|
|
||||||
if test -n "$ac_prev"; then
|
|
||||||
ac_prev=
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
case $ac_arg in
|
|
||||||
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
|
||||||
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
|
||||||
ac_prev=cache_file ;;
|
|
||||||
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
|
||||||
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
|
|
||||||
| --c=*)
|
|
||||||
;;
|
|
||||||
--config-cache | -C)
|
|
||||||
;;
|
|
||||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
|
||||||
ac_prev=srcdir ;;
|
|
||||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
|
||||||
;;
|
|
||||||
m4_if([$2],,,[$2])
|
|
||||||
*) $1="$$1 '$ac_arg'" ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
export $1
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CONFIGURE_ARGS_QUOTE],[
|
|
||||||
m4_expand_once([_RTEMS_CONFIGURE_ARGS_QUOTE([$1],[$2])])
|
|
||||||
eval $1_prune m4_if([$3],,[$ac_configure_args],[[$]$3])
|
|
||||||
])
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
AC_DEFUN([RTEMS_ENABLE_RPMPREFIX],[
|
|
||||||
AC_ARG_ENABLE([rpmprefix],
|
|
||||||
[ --enable-rpmprefix=<rpmprefix> prefix rpms],
|
|
||||||
[case $enable_rpmprefix in
|
|
||||||
yes ) rpmprefix="rtems-"]RTEMS_API["-";;
|
|
||||||
no ) rpmprefix="%{nil}";;
|
|
||||||
* ) AS_IF([test -z "$enable_rpmprefix"],
|
|
||||||
[rpmprefix="%{nil}"],
|
|
||||||
[rpmprefix="$enable_rpmprefix"]);;
|
|
||||||
esac],
|
|
||||||
[rpmprefix="rtems-"]RTEMS_API["-"])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([osversions],
|
|
||||||
[ --enable-osversions whether to use version numbers in os-tripples],
|
|
||||||
[case $enable_osversions in
|
|
||||||
yes ) osversion=RTEMS_API;;
|
|
||||||
* ) osversion=;;
|
|
||||||
esac],
|
|
||||||
[osversion=])
|
|
||||||
])
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
AC_DEFUN([_RTEMS_CPU_SUBDIR],
|
|
||||||
[
|
|
||||||
$1 ) if test -d ${srcdir}/ifelse([$2],,[$1],[$2/$1]) ; then
|
|
||||||
AC_CONFIG_SUBDIRS(ifelse([$2],,[$1],[$2/$1]))
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
## RTEMS_CPU_SUBDIRS([PREFIX])
|
|
||||||
AC_DEFUN([RTEMS_CPU_SUBDIRS],
|
|
||||||
[
|
|
||||||
## EDIT: If adding a new cpu to RTEMS, add it to the case block below.
|
|
||||||
case $RTEMS_CPU in
|
|
||||||
_RTEMS_CPU_SUBDIR([a29k],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([arm],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([c4x],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([h8300],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([hppa1.1],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([i386],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([i960],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([m68k],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([mips],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([mips64orion],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([no_cpu],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([or32],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([powerpc],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([sh],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([sparc],[$1]);;
|
|
||||||
_RTEMS_CPU_SUBDIR([unix],[$1]);;
|
|
||||||
*) AC_MSG_ERROR([Invalid RTEMS_CPU <[$]{RTEMS_CPU}>])
|
|
||||||
esac
|
|
||||||
])
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_ENABLE_RTEMS_DEBUG],
|
|
||||||
[
|
|
||||||
AC_ARG_ENABLE(rtems-debug,
|
|
||||||
AC_HELP_STRING([--enable-rtems-debug],[enable RTEMS_DEBUG]),
|
|
||||||
[case "${enable_rtems_debug}" in
|
|
||||||
yes) enable_rtems_debug=yes ;;
|
|
||||||
no) enable_rtems_debug=no ;;
|
|
||||||
*) AC_MSG_ERROR([bad value ${enable_rtems_debug} for RTEMS_DEBUG]) ;;
|
|
||||||
esac],[enable_rtems_debug=no])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CHECK_RTEMS_DEBUG],
|
|
||||||
[AC_REQUIRE([RTEMS_ENABLE_RTEMS_DEBUG])
|
|
||||||
AS_IF([test x"${enable_rtems_debug}" = x"yes"]
|
|
||||||
[AC_DEFINE_UNQUOTED(RTEMS_DEBUG,1,[if RTEMS_DEBUG is enabled])])
|
|
||||||
])
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
##
|
|
||||||
## Some hacks to set up RTEMS_*FLAGS
|
|
||||||
## Internal macro, not supposed to be explictly used in configure.ac's
|
|
||||||
|
|
||||||
AC_DEFUN([_RTEMS_FLAGS],[
|
|
||||||
AS_IF([test -n "[$]{$1}"],
|
|
||||||
[RTEMS_$1=[$]{$1}],
|
|
||||||
[RTEMS_$1=$2])
|
|
||||||
AC_SUBST([RTEMS_$1])
|
|
||||||
])
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
AC_DEFUN([RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE],
|
|
||||||
[AC_ARG_ENABLE(test-no-pause,
|
|
||||||
AC_HELP_STRING([--disable-test-no-pause],[disable RTEMS_TEST_NO_PAUSE]),
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) RTEMS_TEST_NO_PAUSE=yes ;;
|
|
||||||
no) RTEMS_TEST_NO_PAUSE=no ;;
|
|
||||||
*) AC_MSG_ERROR([bad value ${enableval} for RTEMS_TEST_NO_PAUSE]) ;;
|
|
||||||
esac],[RTEMS_TEST_NO_PAUSE=yes])
|
|
||||||
])
|
|
||||||
|
|
||||||
AC_DEFUN([RTEMS_CHECK_RTEMS_TEST_NO_PAUSE],
|
|
||||||
[AC_REQUIRE([RTEMS_ENABLE_RTEMS_TEST_NO_PAUSE])
|
|
||||||
if test x"${RTEMS_TEST_NO_PAUSE}" = x"yes";
|
|
||||||
then
|
|
||||||
AC_DEFINE_UNQUOTED(RTEMS_TEST_NO_PAUSE,1,[if RTEMS_TEST_NO_PAUSE is enabled])
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
m4_define([RTEMS_API],[4.6])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl RTEMS_TOP($1)
|
|
||||||
dnl
|
|
||||||
dnl $1 .. relative path from this configure.in to the toplevel configure.in
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([RTEMS_TOP],
|
|
||||||
[dnl
|
|
||||||
AC_REQUIRE([RTEMS_VERSIONING])
|
|
||||||
AC_CONFIG_AUX_DIR([$1])
|
|
||||||
AC_CHECK_PROGS(MAKE, gmake make)
|
|
||||||
AC_BEFORE([$0], [AM_INIT_AUTOMAKE])dnl
|
|
||||||
|
|
||||||
AC_PREFIX_DEFAULT([/opt/rtems-][RTEMS_API])
|
|
||||||
|
|
||||||
## HACK to allow gnu-make conditionals in automake-Makefiles.
|
|
||||||
ENDIF=endif
|
|
||||||
AC_SUBST(ENDIF)
|
|
||||||
|
|
||||||
RTEMS_TOPdir="$1";
|
|
||||||
AC_SUBST(RTEMS_TOPdir)
|
|
||||||
|
|
||||||
## with_target_subdirs is handled implicitly by autoconf
|
|
||||||
test -n "$with_target_subdir" || with_target_subdir="."
|
|
||||||
|
|
||||||
if test "$with_target_subdir" = "." ; then
|
|
||||||
# Native
|
|
||||||
PROJECT_TOPdir=${RTEMS_TOPdir}/'$(top_builddir)'
|
|
||||||
else
|
|
||||||
# Cross
|
|
||||||
dots=`echo $with_target_subdir|\
|
|
||||||
sed -e 's%^\./%%' -e 's%[[^/]]$%&/%' -e 's%[[^/]]*/%../%g'`
|
|
||||||
PROJECT_TOPdir=${dots}${RTEMS_TOPdir}/'$(top_builddir)'
|
|
||||||
fi
|
|
||||||
AC_SUBST(PROJECT_TOPdir)
|
|
||||||
|
|
||||||
PROJECT_ROOT="${RTEMS_TOPdir}/\$(top_builddir)"
|
|
||||||
AC_SUBST(PROJECT_ROOT)
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for RTEMS Version])
|
|
||||||
AS_IF([test -r "${srcdir}/${RTEMS_TOPdir}/aclocal/version.m4"],
|
|
||||||
[],
|
|
||||||
[AC_MSG_ERROR([Unable to find ${RTEMS_TOPdir}/aclocal/version.m4])])
|
|
||||||
AC_MSG_RESULT([_RTEMS_VERSION])
|
|
||||||
])dnl
|
|
||||||
96
aclocal/sysv-ipc.m4
Normal file
96
aclocal/sysv-ipc.m4
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Check for System V IPC calls used by Unix simulators
|
||||||
|
dnl
|
||||||
|
dnl 98/07/17 Dario Alcocer alcocer@netcom.com
|
||||||
|
dnl Ralf Corsepius corsepiu@faw.uni-ulm.de
|
||||||
|
dnl
|
||||||
|
dnl Note: $host_os should probably *not* ever be used here to
|
||||||
|
dnl determine if host supports System V IPC calls, since some
|
||||||
|
dnl (e.g. FreeBSD 2.x) are configured by default to include only
|
||||||
|
dnl a subset of the System V IPC calls. Therefore, to make sure
|
||||||
|
dnl all of the required calls are found, test for each call explicitly.
|
||||||
|
dnl
|
||||||
|
dnl All of the calls use IPC_PRIVATE, so tests will not unintentionally
|
||||||
|
dnl modify any existing key sets. See the man pages for semget, shmget,
|
||||||
|
dnl msgget, semctl, shmctl and msgctl for details.
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_SEM,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V semaphores,
|
||||||
|
rtems_cv_sysv_sem,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/sem.h>
|
||||||
|
int main () {
|
||||||
|
#if !defined(sun)
|
||||||
|
union semun arg ;
|
||||||
|
#else
|
||||||
|
union semun {
|
||||||
|
int val;
|
||||||
|
struct semid_ds *buf;
|
||||||
|
ushort *array;
|
||||||
|
} arg;
|
||||||
|
#endif
|
||||||
|
int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
arg.val = 0; /* avoid implicit type cast to union */
|
||||||
|
if (semctl(id, 0, IPC_RMID, arg) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_SHM,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V shared memory,
|
||||||
|
rtems_cv_sysv_shm,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/shm.h>
|
||||||
|
int main () {
|
||||||
|
int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
if (shmctl(id, IPC_RMID, 0) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_SYSV_MSG,
|
||||||
|
[AC_REQUIRE([RTEMS_PROG_CC])
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V messages,
|
||||||
|
rtems_cv_sysv_msg,
|
||||||
|
[
|
||||||
|
AC_TRY_RUN([
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <sys/msg.h>
|
||||||
|
int main () {
|
||||||
|
int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
|
||||||
|
if (id == -1)
|
||||||
|
exit(1);
|
||||||
|
if (msgctl(id, IPC_RMID, 0) == -1)
|
||||||
|
exit(1);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
],
|
||||||
|
rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
|
||||||
|
])
|
||||||
|
])
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
dnl $Id$
|
|
||||||
|
|
||||||
## HACK: Work-around to structural issue with RTEMS
|
|
||||||
## The macros below violate most autoconf and canonicalization standards
|
|
||||||
AC_DEFUN([RTEMS_CONFIG_BUILD_SUBDIRS],
|
|
||||||
[AC_REQUIRE([_RTEMS_OUTPUT_BUILD_SUBDIRS])
|
|
||||||
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS [$1]"
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl Derived from automake-1.4's AC_OUTPUT_SUBDIRS
|
|
||||||
AC_DEFUN([_RTEMS_OUTPUT_BUILD_SUBDIRS],
|
|
||||||
[AC_CONFIG_COMMANDS([bsp-tools],
|
|
||||||
[
|
|
||||||
# HACK: This is a blantant hack and breaks Canadian crosses
|
|
||||||
build_alias="$build_alias"
|
|
||||||
host_alias="$build_alias"
|
|
||||||
if test "$no_recursion" != yes; then
|
|
||||||
if test x"$build_alias" != x"$host_alias"; then
|
|
||||||
target_subdir="$host_alias"
|
|
||||||
else
|
|
||||||
target_subdir="."
|
|
||||||
fi
|
|
||||||
RTEMS_CONFIGURE_ARGS_QUOTE([ac_sub_configure_args],
|
|
||||||
[
|
|
||||||
-host* | --host* ) ;;
|
|
||||||
--host ) ac_prev=host_alias;;
|
|
||||||
-target* | --target* ) ;;
|
|
||||||
-target ) ac_prev=target_alias ;;
|
|
||||||
-build* | --build* ) ;;
|
|
||||||
-build ) ac_prev_build_alias ;;
|
|
||||||
*_alias=* ) ;; # HACK: Workaround to autoconf passing *_alias
|
|
||||||
],
|
|
||||||
[rtems_configure_args])
|
|
||||||
|
|
||||||
for rtems_config_dir in $RTEMS_BUILD_SUBDIRS; do
|
|
||||||
# Do not complain, so a configure script can configure whichever
|
|
||||||
# parts of a large source tree are present.
|
|
||||||
if test ! -d $srcdir/$rtems_config_dir; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
_RTEMS_PUSH_BUILDDIR([$rtems_config_dir])
|
|
||||||
|
|
||||||
_RTEMS_SUB_SRCDIR([$rtems_config_dir])
|
|
||||||
|
|
||||||
# The recursion is here.
|
|
||||||
if test -n "$ac_sub_configure"; then
|
|
||||||
# ac_sub_cache_file=./config.cache
|
|
||||||
ac_sub_cache_file=/dev/null
|
|
||||||
_RTEMS_GIVEN_INSTALL
|
|
||||||
|
|
||||||
echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
|
|
||||||
# The eval makes quoting arguments work.
|
|
||||||
if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure \
|
|
||||||
$ac_sub_configure_args \
|
|
||||||
--srcdir=$ac_sub_srcdir \
|
|
||||||
--with-target-subdir=$target_subdir \
|
|
||||||
--cache-file=$ac_sub_cache_file
|
|
||||||
then :
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([$ac_sub_configure failed for $rtems_config_dir])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
_RTEMS_POP_BUILDDIR
|
|
||||||
done
|
|
||||||
fi],
|
|
||||||
[
|
|
||||||
RTEMS_BUILD_SUBDIRS="$RTEMS_BUILD_SUBDIRS"
|
|
||||||
rtems_configure_args="$ac_configure_args"
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
## FIXME: This is obsolete. Only kept for backward compatibility
|
|
||||||
AU_DEFUN([RTEMS_OUTPUT_BUILD_SUBDIRS],[])
|
|
||||||
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Misc utility macros for subdir handling to work around missing abilities
|
|
||||||
dnl in autoconf, automake and structural issues with RTEMS
|
|
||||||
dnl
|
|
||||||
dnl Contains parts derived from autoconf-2.13 AC_OUTPUT_SUBDIRS and Cygnus'
|
|
||||||
dnl configure.in.
|
|
||||||
dnl
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl _RTEMS_PUSH_BUILDDIR(SUBDIR)
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_RTEMS_PUSH_BUILDDIR],
|
|
||||||
[
|
|
||||||
# _RTEMS_PUSH_BUILDDIR
|
|
||||||
echo configuring in $1
|
|
||||||
case "$srcdir" in
|
|
||||||
.) ;;
|
|
||||||
*) AS_MKDIR_P([$1])
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
ac_popdir=`pwd`
|
|
||||||
cd $1
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl _RTEMS_POP_BUILDDIR
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_RTEMS_POP_BUILDDIR],
|
|
||||||
[
|
|
||||||
cd "$ac_popdir"
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl _RTEMS_GIVEN_INSTALL
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_RTEMS_GIVEN_INSTALL],
|
|
||||||
[
|
|
||||||
ifdef([AC_PROVIDE_AC_PROG_INSTALL],[
|
|
||||||
case "$ac_given_INSTALL" in
|
|
||||||
[[\\/]]* | ?:[[\\/]]*) INSTALL="$ac_given_INSTALL" ;;
|
|
||||||
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
|
||||||
esac
|
|
||||||
])dnl
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl _RTEMS_SUB_SRCDIR(AC_CONFIG_DIR[,TARGET_SUBDIR])
|
|
||||||
dnl
|
|
||||||
AC_DEFUN([_RTEMS_SUB_SRCDIR],[
|
|
||||||
# _RTEMS_SUB_SRCDIR
|
|
||||||
_RTEMS_ADJUST_SRCDIR(ac_sub_srcdir,$1,$2)
|
|
||||||
|
|
||||||
# Check for configure
|
|
||||||
if test -f $ac_sub_srcdir/configure; then
|
|
||||||
ac_sub_configure=$ac_sub_srcdir/configure
|
|
||||||
else
|
|
||||||
AC_MSG_WARN([no configuration information is in $1])
|
|
||||||
ac_sub_configure=
|
|
||||||
fi
|
|
||||||
])
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
AC_DEFUN([RTEMS_TOOLPATHS],
|
|
||||||
[
|
|
||||||
# tooldir='$(exec_prefix)/'$target_alias
|
|
||||||
# Temporary work-around until building in source tree is supported
|
|
||||||
AC_REQUIRE([RTEMS_PROJECT_ROOT])
|
|
||||||
|
|
||||||
tooldir='$(PROJECT_ROOT)'
|
|
||||||
AC_SUBST(tooldir)
|
|
||||||
|
|
||||||
project_includedir='$(tooldir)'/include
|
|
||||||
AC_SUBST(project_includedir)
|
|
||||||
|
|
||||||
project_libdir='$(tooldir)/lib$(MULTISUBDIR)'
|
|
||||||
AC_SUBST(project_libdir)
|
|
||||||
|
|
||||||
project_bindir='$(tooldir)/bin'
|
|
||||||
AC_SUBST(project_bindir)
|
|
||||||
|
|
||||||
rtems_bspdir='$(prefix)/${RTEMS_BSP}'
|
|
||||||
AC_SUBST(rtems_bspdir)
|
|
||||||
rtems_makedir='$(prefix)/make'
|
|
||||||
AC_SUBST(rtems_makedir)
|
|
||||||
])
|
|
||||||
20
aclocal/tool-prefix.m4
Normal file
20
aclocal/tool-prefix.m4
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
dnl
|
||||||
|
dnl $Id$
|
||||||
|
dnl
|
||||||
|
dnl Set program_prefix
|
||||||
|
dnl
|
||||||
|
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
||||||
|
dnl Extracted from configure
|
||||||
|
|
||||||
|
AC_DEFUN(RTEMS_TOOL_PREFIX,
|
||||||
|
[AC_REQUIRE([AC_CANONICAL_TARGET])dnl
|
||||||
|
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
|
||||||
|
|
||||||
|
if [[ "${program_prefix}" = "NONE" ]] ; then
|
||||||
|
if [[ "${target}" = "${host}" ]] ; then
|
||||||
|
program_prefix=
|
||||||
|
else
|
||||||
|
program_prefix=${target}-
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
])
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
AC_DEFUN([RTEMS_VERSIONING],
|
|
||||||
m4_define([_RTEMS_VERSION],[4.6.5]))
|
|
||||||
@@ -1,231 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
## -------------------------------------------------------------------------
|
|
||||||
## NOTE: This file is rather immature and has to be considered to be
|
|
||||||
## almost experimental.
|
|
||||||
##
|
|
||||||
## Expect frequent changes -- It deserves to be cleaned up :(
|
|
||||||
## -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
## The section below is based on make/compilers/gcc-target-default.cfg
|
|
||||||
## used in former versions of RTEMS.
|
|
||||||
|
|
||||||
##
|
|
||||||
## Set up the flags for the toolchains:
|
|
||||||
##
|
|
||||||
## We are considering 3 different building schemes here:
|
|
||||||
## * Using gcc's being able to accept -specs (aka gcc-2.8 building scheme)
|
|
||||||
## * Using gcc's not being able to accept -specs (aka gcc-2.7.2 building
|
|
||||||
## scheme)
|
|
||||||
## * Using third party toolchains (aka non-gcc building scheme)
|
|
||||||
##
|
|
||||||
## Automake conditionals in use:
|
|
||||||
## RTEMS_USE_GCC .. if we are using GCC
|
|
||||||
|
|
||||||
## NOTES:
|
|
||||||
## * The gcc-2.8 building scheme is the nominal building scheme and
|
|
||||||
## is actively supported.
|
|
||||||
## * The non-gcc building scheme requires manually setting up environment
|
|
||||||
## variables and is hardly tested at all
|
|
||||||
|
|
||||||
## CFLAGS_OPTIMIZE_V, CFLAGS_DEBUG_V, CFLAGS_PROFILE_V are the values we
|
|
||||||
## would want the corresponding macros to be set to.
|
|
||||||
##
|
|
||||||
## CFLAGS_OPTIMIZE, CFLAGS_DEBUG, CFLAGS_PROFILE are set by the
|
|
||||||
## 'VARIANT=<OPTIMIZE|DEBUG|PROFILE>' targets to their _V values.
|
|
||||||
|
|
||||||
## XCPPFLAGS, XCFLAGS, XCXXFLAGS, XASFLAGS
|
|
||||||
## are used to add flags from the shell
|
|
||||||
## cf. make.info ("Implicit rules/variables" for details)
|
|
||||||
|
|
||||||
if RTEMS_USE_GCC
|
|
||||||
## All the stuff below is specific to gcc
|
|
||||||
|
|
||||||
## gcc >= 2.8.x
|
|
||||||
GCCSPECS = $(GCC_SPECS) $(RTEMS_BSP_SPECS)
|
|
||||||
else
|
|
||||||
## fall back to the old style compilers/*.cfg
|
|
||||||
## CONFIG.CC is supposed to be provided by <BSP>.cfg
|
|
||||||
include $(CONFIG.CC)
|
|
||||||
endif # RTEMS_USE_GCC
|
|
||||||
|
|
||||||
DEFS = @DEFS@
|
|
||||||
|
|
||||||
CPPFLAGS = @CPPFLAGS@ $(CPU_DEFINES) $(DEFINES) $(XCPPFLAGS)
|
|
||||||
CFLAGS = @RTEMS_CFLAGS@ $(XCFLAGS)
|
|
||||||
## FIXME: This should be correct, but is not supported, yet
|
|
||||||
# CXXFLAGS = @RTEMS_CXXFLAGS@ $(XCXXFLAGS)
|
|
||||||
## Fall back to using RTEMS_CFLAGS for C++
|
|
||||||
CXXFLAGS = @RTEMS_CFLAGS@ $(XCXXFLAGS)
|
|
||||||
ASFLAGS = $(CPU_ASFLAGS) $(CPU_CFLAGS) $(XASFLAGS)
|
|
||||||
|
|
||||||
LINK_LIBS = $(LD_LIBS)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Client compiler and support tools
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# How to compile stuff into ${ARCH} subdirectory
|
|
||||||
#
|
|
||||||
|
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
|
||||||
CCLD = $(CC)
|
|
||||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
|
||||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
|
||||||
|
|
||||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
|
||||||
CXXLD = $(CXX)
|
|
||||||
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
|
|
||||||
$(AM_LDFLAGS) $(LDFLAGS) -o $@
|
|
||||||
|
|
||||||
CCAS = $(CC)
|
|
||||||
CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
|
||||||
|
|
||||||
# OBSOLETE: Don't use
|
|
||||||
AS = $(CC)
|
|
||||||
ASCOMPILE = $(AS) $(AM_ASFLAGS) $(ASFLAGS)
|
|
||||||
|
|
||||||
${ARCH}/%.o: %.c
|
|
||||||
${COMPILE} -o $@ -c $<
|
|
||||||
|
|
||||||
${ARCH}/%.o: %.cc
|
|
||||||
${CXXCOMPILE} -o $@ -c $<
|
|
||||||
|
|
||||||
${ARCH}/%.o: %.S
|
|
||||||
${CCASCOMPILE} -DASM -o $@ -c $<
|
|
||||||
|
|
||||||
# Dependency files for use by gmake
|
|
||||||
# NOTE: we don't put them into $(ARCH)
|
|
||||||
# so that 'make clean' doesn't blow it away
|
|
||||||
|
|
||||||
DEPEND=Depends-${ARCH}
|
|
||||||
|
|
||||||
# We deliberately don't have anything depend on the
|
|
||||||
# $(DEPEND) file; otherwise it will get rebuilt even
|
|
||||||
# on 'make clean'
|
|
||||||
#
|
|
||||||
|
|
||||||
if RTEMS_USE_GCC
|
|
||||||
## HACK: Specific to gcc
|
|
||||||
## FIXME: The approach below is known to be conceptionally broken.
|
|
||||||
depend-gcc: $(C_FILES) $(CC_FILES) $(S_FILES)
|
|
||||||
## Use gcc -M to generate dependencies
|
|
||||||
## Replace foo.o with $(ARCH)/foo.o
|
|
||||||
## Replace $(ARCH) value with string $(ARCH)
|
|
||||||
## so that it will for debug and profile cases
|
|
||||||
$(COMPILE) -M $^ | \
|
|
||||||
sed -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \
|
|
||||||
-e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp
|
|
||||||
mv $(DEPEND).tmp $(DEPEND)
|
|
||||||
|
|
||||||
# pull in dependencies if they exist
|
|
||||||
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
|
||||||
include ${DEPEND}
|
|
||||||
@ENDIF@
|
|
||||||
endif
|
|
||||||
depend: depend-am
|
|
||||||
|
|
||||||
# spell out all the LINK_FILE's, rather than using -lbsp, so
|
|
||||||
# that $(LINK_FILES) can be a dependency
|
|
||||||
|
|
||||||
LINK_OBJS = \
|
|
||||||
$(OBJS) \
|
|
||||||
$(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel)
|
|
||||||
|
|
||||||
LINK_FILES =\
|
|
||||||
$(START_FILE) \
|
|
||||||
$(OBJS) \
|
|
||||||
$(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel)
|
|
||||||
|
|
||||||
if RTEMS_USE_GCC
|
|
||||||
## gcc >= 2.8
|
|
||||||
define make-rel
|
|
||||||
$(LINK) -qnolinkcmds -nostdlib -Wl,-r $(XLDFLAGS) $^
|
|
||||||
endef
|
|
||||||
else
|
|
||||||
## non-gcc
|
|
||||||
define make-rel
|
|
||||||
$(LINK) $(XLDFLAGS) $^
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
## -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
## translate VARIANT into VARIANT_V
|
|
||||||
VARIANT = OPTIMIZE
|
|
||||||
|
|
||||||
VARIANT_OPTIMIZE_V = OPTIMIZE
|
|
||||||
VARIANT_DEBUG_V = DEBUG
|
|
||||||
VARIANT_PROFILE_V = PROFILE
|
|
||||||
VARIANT_optimize_V = OPTIMIZE
|
|
||||||
VARIANT_debug_V = DEBUG
|
|
||||||
VARIANT_profile_V = PROFILE
|
|
||||||
|
|
||||||
VARIANT_V = $(VARIANT_$(VARIANT)_V)
|
|
||||||
|
|
||||||
## Setup the variant build subdirectory
|
|
||||||
ARCH_OPTIMIZE_V = o-optimize
|
|
||||||
ARCH_DEBUG_V = o-debug
|
|
||||||
ARCH_PROFILE_V = o-profile
|
|
||||||
|
|
||||||
ARCH__V = $(ARCH_OPTIMIZE_V)
|
|
||||||
ARCH = $(ARCH_$(VARIANT_V)_V)
|
|
||||||
|
|
||||||
## Setup the library suffix
|
|
||||||
LIBSUFFIX_OPTIMIZE_V =
|
|
||||||
LIBSUFFIX_DEBUG_V = _g
|
|
||||||
LIBSUFFIX_PROFILE_V = _p
|
|
||||||
LIBSUFFIX__V = $(LIBSUFFIX_OPTIMIZE_V)
|
|
||||||
|
|
||||||
LIB_VARIANT = $(LIBSUFFIX_$(VARIANT_V)_V)
|
|
||||||
|
|
||||||
## These are supposed to be set in make/custom/<bsp>.cfg
|
|
||||||
CPU_CFLAGS = @CPU_CFLAGS@
|
|
||||||
CFLAGS_OPTIMIZE_V = @CFLAGS_OPTIMIZE_V@
|
|
||||||
CFLAGS_DEBUG_V = @CFLAGS_DEBUG_V@
|
|
||||||
CFLAGS_PROFILE_V = @CFLAGS_PROFILE_V@
|
|
||||||
CFLAGS__V = $(CFLAGS_OPTIMIZE_V)
|
|
||||||
|
|
||||||
## ------------------------------------------------------------------------
|
|
||||||
## Setup hard-coded flags
|
|
||||||
if RTEMS_USE_GCC
|
|
||||||
## gcc >= gcc-2.8
|
|
||||||
RTEMS_CFLAGS_OPTIMIZE_V =
|
|
||||||
RTEMS_CFLAGS_DEBUG_V = -qrtems_debug -Wno-unused
|
|
||||||
RTEMS_CFLAGS_PROFILE_V = -pg
|
|
||||||
|
|
||||||
## non-gcc
|
|
||||||
## We can't guess what flags might be required here.
|
|
||||||
## Pass the values from the environment if you want to apply them.
|
|
||||||
endif
|
|
||||||
RTEMS_CFLAGS__V = $(RTEMS_CFLAGS_OPTIMIZE_V)
|
|
||||||
|
|
||||||
## -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
CC = @CC@ $(GCCSPECS)
|
|
||||||
CXX = @CXX@ $(GCCSPECS)
|
|
||||||
CPP = @CPP@ $(GCCSPECS)
|
|
||||||
|
|
||||||
LD = @LD@
|
|
||||||
OBJCOPY = @OBJCOPY@
|
|
||||||
NM = @NM@
|
|
||||||
SIZE = @SIZE@
|
|
||||||
STRIP = @STRIP@
|
|
||||||
|
|
||||||
##
|
|
||||||
AM_CPPFLAGS = $(RTEMS_CPPFLAGS)
|
|
||||||
AM_CFLAGS =
|
|
||||||
AM_CXXFLAGS =
|
|
||||||
AM_CCASFLAGS = $(CPU_CFLAGS) $(RTEMS_CPPFLAGS) $(RTEMS_CCASFLAGS)
|
|
||||||
|
|
||||||
${ARCH}:
|
|
||||||
mkdir ${ARCH}
|
|
||||||
|
|
||||||
clean-local:
|
|
||||||
$(RM) -r o-optimize o-debug o-profile $(CLEANDIRS)
|
|
||||||
$(RM) Depends-o-optimize.tmp Depends-o-debug.tmp Depends-o-profile.tmp
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
## This file is a temporary band-aid for the ppc-BSPs.
|
|
||||||
## DO NOT use it, it will eventually be removed in future.
|
|
||||||
|
|
||||||
PREINSTALL_FILES = $(TMPINSTALL_FILES)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
|
|
||||||
## NOTE: This is a temporary work-around to keep
|
|
||||||
## RTEMS's non automake standard make targets working.
|
|
||||||
## Once automake is fully integrated these make targets
|
|
||||||
## and this file will probably be removed
|
|
||||||
|
|
||||||
debug:
|
|
||||||
@echo
|
|
||||||
@echo "\"make debug\" is obsolete, instead use:"
|
|
||||||
@echo " make VARIANT=DEBUG"
|
|
||||||
@echo
|
|
||||||
|
|
||||||
.PHONY: debug
|
|
||||||
|
|
||||||
profile:
|
|
||||||
@echo
|
|
||||||
@echo "\"make profile\" is obsolete, instead use:"
|
|
||||||
@echo " make VARIANT=PROFILE"
|
|
||||||
@echo
|
|
||||||
|
|
||||||
preinstall-am: $(PREINSTALL_FILES)
|
|
||||||
preinstall: preinstall-am
|
|
||||||
.PHONY: preinstall preinstall-am
|
|
||||||
|
|
||||||
depend-am:
|
|
||||||
depend: depend-am
|
|
||||||
.PHONY: depend depend-am
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
|
||||||
|
|
||||||
CXXLINK_APP = $(CXXLINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
|
|
||||||
ifndef make-cxx-exe
|
|
||||||
define make-cxx-exe
|
|
||||||
$(CXXLINK_APP)
|
|
||||||
endef
|
|
||||||
@ENDIF@
|
|
||||||
|
|
||||||
LINK_APP = $(LINK) $(LDLIBS) $(LINK_OBJS) $(LINK_LIBS)
|
|
||||||
ifndef make-exe
|
|
||||||
define make-exe
|
|
||||||
$(LINK_APP)
|
|
||||||
endef
|
|
||||||
@ENDIF@
|
|
||||||
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
AR = @AR@
|
|
||||||
RANLIB = @RANLIB@
|
|
||||||
|
|
||||||
ARFLAGS = ruv
|
|
||||||
|
|
||||||
define make-library
|
|
||||||
test -d $(ARCH) || mkdir $(ARCH)
|
|
||||||
$(RM) $@
|
|
||||||
$(AR) $(ARFLAGS) $@ $^
|
|
||||||
$(RANLIB) $@
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(PROJECT_RELEASE)/lib:
|
|
||||||
@$(mkinstalldirs) $@
|
|
||||||
|
|
||||||
TMPINSTALL_FILES = $(PROJECT_RELEASE)/lib
|
|
||||||
|
|
||||||
.PRECIOUS: $(LIB)
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
|
|
||||||
debug:
|
|
||||||
@echo
|
|
||||||
@echo "\"make debug\" is obsolete, instead use:"
|
|
||||||
@echo " make VARIANT=DEBUG"
|
|
||||||
@echo
|
|
||||||
|
|
||||||
.PHONY: debug
|
|
||||||
|
|
||||||
profile:
|
|
||||||
@echo
|
|
||||||
@echo "\"make profile\" is obsolete, instead use:"
|
|
||||||
@echo " make VARIANT=PROFILE"
|
|
||||||
@echo
|
|
||||||
|
|
||||||
.PHONY: profile
|
|
||||||
|
|
||||||
preinstall-am: $(PREINSTALL_FILES)
|
|
||||||
preinstall: preinstall-am
|
|
||||||
.PHONY: preinstall preinstall-am
|
|
||||||
|
|
||||||
depend-am: depend-gcc
|
|
||||||
depend: depend-am
|
|
||||||
.PHONY: depend depend-am depend-gcc
|
|
||||||
|
|
||||||
PROJECT_TOOLS = $(PROJECT_RELEASE)/build-tools
|
|
||||||
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
## $Id$
|
|
||||||
|
|
||||||
## Borrowed from automake-1.4 and adapted to RTEMS
|
|
||||||
|
|
||||||
## NOTE: This is a temporary work-around to keep
|
|
||||||
## RTEMS's non automake standard make targets working.
|
|
||||||
## Once automake is fully integrated these make targets
|
|
||||||
## and this file will probably be removed
|
|
||||||
|
|
||||||
depend-recursive \
|
|
||||||
preinstall-recursive:
|
|
||||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
|
||||||
dot_seen=no; \
|
|
||||||
target=`echo $@ | sed s/-recursive//`; \
|
|
||||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
|
||||||
echo "Making $$target in $$subdir"; \
|
|
||||||
if test "$$subdir" = "."; then \
|
|
||||||
dot_seen=yes; \
|
|
||||||
local_target="$$target-am"; \
|
|
||||||
else \
|
|
||||||
local_target="$$target"; \
|
|
||||||
fi; \
|
|
||||||
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
|
||||||
## This trick allows "-k" to keep its natural meaning when running a
|
|
||||||
## recursive rule.
|
|
||||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
|
||||||
done; \
|
|
||||||
if test "$$dot_seen" = "no"; then \
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
|
||||||
fi; test -z "$$fail"
|
|
||||||
|
|
||||||
preinstall: preinstall-recursive
|
|
||||||
.PHONY: preinstall-recursive
|
|
||||||
|
|
||||||
depend: depend-recursive
|
|
||||||
.PHONY: depend-recursive
|
|
||||||
193
bootstrap
193
bootstrap
@@ -1,193 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
#
|
|
||||||
# helps bootstrapping, when checked out from CVS
|
|
||||||
# requires GNU autoconf and GNU automake
|
|
||||||
#
|
|
||||||
# $Id$
|
|
||||||
|
|
||||||
# this is not meant to be exported outside the source tree
|
|
||||||
|
|
||||||
# NOTE: Inspired by libtool's autogen script
|
|
||||||
|
|
||||||
# to be run from the toplevel directory of RTEMS'
|
|
||||||
# source tree
|
|
||||||
|
|
||||||
progname=`basename $0`
|
|
||||||
top_srcdir=`dirname $0`
|
|
||||||
|
|
||||||
verbose="";
|
|
||||||
quiet="false"
|
|
||||||
mode="generate"
|
|
||||||
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
echo
|
|
||||||
echo "usage: ${progname} [-h|-q|-v]"
|
|
||||||
echo
|
|
||||||
echo "options:"
|
|
||||||
echo " -h .. display this message and exit";
|
|
||||||
echo " -q .. quiet, don't display directories";
|
|
||||||
echo " -v .. verbose, pass -v to automake when invoking automake"
|
|
||||||
echo " -c .. clean, remove all aclocal/autoconf/automake generated files"
|
|
||||||
echo
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
generate_bspdir_acinclude()
|
|
||||||
{
|
|
||||||
cat << EOF > acinclude.m4~
|
|
||||||
# RTEMS_CHECK_BSPDIR(RTEMS_BSP)
|
|
||||||
AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
|
||||||
[
|
|
||||||
RTEMS_BSP_ALIAS(ifelse([\$1],,[\${RTEMS_BSP}],[\$1]),bspdir)
|
|
||||||
case "\$bspdir" in
|
|
||||||
EOF
|
|
||||||
|
|
||||||
for i in */bsp_specs; do
|
|
||||||
d=`dirname $i`
|
|
||||||
cat << EOF >> acinclude.m4~
|
|
||||||
$d )
|
|
||||||
AC_CONFIG_SUBDIRS([$d]);;
|
|
||||||
EOF
|
|
||||||
done
|
|
||||||
cat << EOF >> acinclude.m4~
|
|
||||||
*)
|
|
||||||
AC_MSG_ERROR([Invalid BSP]);;
|
|
||||||
esac
|
|
||||||
])
|
|
||||||
EOF
|
|
||||||
if cmp -s acinclude.m4 acinclude.m4~ 2>/dev/null; then
|
|
||||||
echo "acinclude.m4 is unchanged";
|
|
||||||
else
|
|
||||||
cp acinclude.m4~ acinclude.m4
|
|
||||||
fi
|
|
||||||
rm -f acinclude.m4~
|
|
||||||
}
|
|
||||||
|
|
||||||
if test ! -f $top_srcdir/aclocal/version.m4; then
|
|
||||||
echo "${progname}:"
|
|
||||||
echo " Installation problem: Can't find file aclocal/version.m4"
|
|
||||||
exit 1;
|
|
||||||
fi
|
|
||||||
|
|
||||||
while test $# -gt 0; do
|
|
||||||
case $1 in
|
|
||||||
-h|--he|--hel|--help)
|
|
||||||
usage ;;
|
|
||||||
-q|--qu|--qui|--quie|--quiet)
|
|
||||||
quiet="true";
|
|
||||||
shift;;
|
|
||||||
-v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
|
|
||||||
verbose="-v";
|
|
||||||
shift;;
|
|
||||||
-c|--cl|--cle|--clea|--clean)
|
|
||||||
mode="clean";
|
|
||||||
shift;;
|
|
||||||
-*) echo "unknown option $1" ;
|
|
||||||
usage ;;
|
|
||||||
*) echo "invalid parameter $1" ;
|
|
||||||
usage ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
case $mode in
|
|
||||||
generate)
|
|
||||||
AUTOCONF=${AUTOCONF-autoconf}
|
|
||||||
if test -z "$AUTOCONF"; then
|
|
||||||
echo "You must have autoconf installed to run $program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
AUTOHEADER=${AUTOHEADER-autoheader}
|
|
||||||
if test -z "$AUTOHEADER"; then
|
|
||||||
echo "You must have autoconf installed to run $program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
AUTOMAKE=${AUTOMAKE-automake}
|
|
||||||
if test -z "$AUTOMAKE"; then
|
|
||||||
echo "You must have automake installed to run $program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ACLOCAL=${ACLOCAL-aclocal}
|
|
||||||
if test -z "$ACLOCAL"; then
|
|
||||||
echo "You must have automake installed to run $program"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $top_srcdir in
|
|
||||||
/* ) aclocal_dir=$top_srcdir
|
|
||||||
;;
|
|
||||||
*) aclocal_dir=`pwd`/$top_srcdir
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
confs=`find . \( -name 'configure.in' -o -name 'configure.ac' \) -print`
|
|
||||||
for i in $confs; do
|
|
||||||
dir=`dirname $i`;
|
|
||||||
configure=`basename $i`;
|
|
||||||
( test "$quiet" = "true" || echo "$dir";
|
|
||||||
cd $dir;
|
|
||||||
test -n "`grep RTEMS_CHECK_BSPDIR ${configure}`" && \
|
|
||||||
generate_bspdir_acinclude;
|
|
||||||
pat="s,\$(RTEMS_TOPdir),${aclocal_dir},g"
|
|
||||||
aclocal_args=`grep '^[ ]*ACLOCAL_AMFLAGS' Makefile.am | \
|
|
||||||
sed -e 's%.*ACLOCAL_AMFLAGS.*\=[ ]*%%g' -e $pat ` ;
|
|
||||||
test "$verbose" = "-v" && echo "${ACLOCAL} $aclocal_args"
|
|
||||||
${ACLOCAL} $aclocal_args;
|
|
||||||
test -n "`grep CONFIG_HEADER ${configure}`" && ${AUTOHEADER} \
|
|
||||||
&& test "$verbose" = "-v" && echo "${AUTOHEADER}";
|
|
||||||
test -n "`grep RTEMS_BSP_CONFIGURE ${configure}`" && ${AUTOHEADER} \
|
|
||||||
&& test "$verbose" = "-v" && echo "${AUTOHEADER}";
|
|
||||||
test -f Makefile.am && ${AUTOMAKE} -a -c $verbose ;
|
|
||||||
${AUTOCONF};
|
|
||||||
test -f Makefile.am && test -n "`grep 'stamp-h\.in' Makefile.in`" \
|
|
||||||
&& echo timestamp > stamp-h.in
|
|
||||||
)
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
|
|
||||||
clean)
|
|
||||||
test "$quiet" = "true" || echo "removing automake generated Makefile.in files"
|
|
||||||
files=`find . -name 'Makefile.am' -print | sed -e 's%\.am%\.in%g'` ;
|
|
||||||
for i in $files; do if test -f $i; then
|
|
||||||
rm -f $i
|
|
||||||
test "$verbose" = "-v" && echo "$i"
|
|
||||||
fi; done
|
|
||||||
|
|
||||||
test "$quiet" = "true" || echo "removing configure files"
|
|
||||||
files=`find . -name 'configure' -print` ;
|
|
||||||
test "$verbose" = "-v" && test -n "$files" && echo "$files" ;
|
|
||||||
for i in $files; do if test -f $i; then
|
|
||||||
# The config.sub shipped with automake <= 1.7.5 does handle c4x/tic4x-* correctly.
|
|
||||||
# rm -f config.sub
|
|
||||||
rm -f $i config.guess depcomp install-sh mdate-sh missing \
|
|
||||||
mkinstalldirs texinfo.tex
|
|
||||||
test "$verbose" = "-v" && echo "$i"
|
|
||||||
fi; done
|
|
||||||
|
|
||||||
test "$quiet" = "true" || echo "removing aclocal.m4 files"
|
|
||||||
files=`find . -name 'aclocal.m4' -print` ;
|
|
||||||
test "$verbose" = "-v" && test -n "$files" && echo "$files" ;
|
|
||||||
for i in $files; do if test -f $i; then
|
|
||||||
rm -f $i
|
|
||||||
test "$verbose" = "-v" && echo "$i"
|
|
||||||
fi; done
|
|
||||||
|
|
||||||
find . -name '*~' -print | xargs rm -f
|
|
||||||
find . -name 'bspopts.h*' -print | xargs rm -f
|
|
||||||
find . -name '*.orig' -print | xargs rm -f
|
|
||||||
find . -name '*.rej' -print | xargs rm -f
|
|
||||||
find . -name 'config.status' -print | xargs rm -f
|
|
||||||
find . -name 'config.log' -print | xargs rm -f
|
|
||||||
find . -name 'config.cache' -print | xargs rm -f
|
|
||||||
find . -name 'Makefile' -print | xargs rm -f
|
|
||||||
find . -name '.deps' -print | xargs rm -rf
|
|
||||||
find . -name '.libs' -print | xargs rm -rf
|
|
||||||
find . -name 'stamp-h.in' | xargs rm -rf
|
|
||||||
find . -name 'autom4te*.cache' | xargs rm -rf
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
14
c/.cvsignore
14
c/.cvsignore
@@ -1,14 +0,0 @@
|
|||||||
aclocal.m4
|
|
||||||
autom4te*.cache
|
|
||||||
config.cache
|
|
||||||
config.guess
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
install-sh
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
missing
|
|
||||||
mkinstalldirs
|
|
||||||
@@ -120,8 +120,7 @@ The following persons/organizations have made contributions:
|
|||||||
+ Ralf Corsepius (corsepiu@faw.uni-ulm.de) of the Research Institute for
|
+ Ralf Corsepius (corsepiu@faw.uni-ulm.de) of the Research Institute for
|
||||||
Applied Knowledge Processing at the University of Ulm (FAW), Germany,
|
Applied Knowledge Processing at the University of Ulm (FAW), Germany,
|
||||||
for numerous enhancements to the RTEMS autoconf support as well as
|
for numerous enhancements to the RTEMS autoconf support as well as
|
||||||
for the Hitachi SH port. His contributions are too many to list but
|
for the Hitachi SH port.
|
||||||
also include work on RPMs for RTEMS tools.
|
|
||||||
|
|
||||||
+ Dario Alcocer <alcocer@connectnet.com> submitted a port of the
|
+ Dario Alcocer <alcocer@connectnet.com> submitted a port of the
|
||||||
RTEMS port to FreeBSD.
|
RTEMS port to FreeBSD.
|
||||||
@@ -137,61 +136,6 @@ The following persons/organizations have made contributions:
|
|||||||
Puchheim,Germany submitted some improvements to the PPC403
|
Puchheim,Germany submitted some improvements to the PPC403
|
||||||
support and added the helas403 BSP.
|
support and added the helas403 BSP.
|
||||||
|
|
||||||
+ Jay Monkman (jmonkman@frasca.com) of Frasca International, Inc
|
|
||||||
submitted the support for the Motorola MPC860 CPU including the
|
|
||||||
'eth_comm' BSP
|
|
||||||
|
|
||||||
+ Charles Gauthier <Charles.Gauthier@iit.nrc.ca> of the Institute for
|
|
||||||
Information Technology for the National Research Council of Canada
|
|
||||||
submitted the Motorola MVME167 BSP.
|
|
||||||
|
|
||||||
+ Tony Ambardar (tonya@ece.ubc.ca) at the University of British Columbia
|
|
||||||
ported RTEMS to the TS-1325 embedded PC from Technologic Systems
|
|
||||||
(http://www.t-systems.com), and provided patches to enable software
|
|
||||||
floating-point emulation for x86 targets.
|
|
||||||
|
|
||||||
+ Jay Kulpinski (jskulpin@eng01.gdds.com) of General Dynamics Defense
|
|
||||||
Systems (Pittsfield, MA) submitted a board support package for the
|
|
||||||
Motorola MVME230x PowerPC family, borrowing from the PSIM and MPC750
|
|
||||||
BSPs. This includes support for the Raven ASIC, DEC21140 ethernet,
|
|
||||||
16550 serial port, and MK48T59 NVRAM.
|
|
||||||
|
|
||||||
+ Eric Valette <valette@crf.canon.fr> and Emmanuel Raguet <raguet@crf.canon.fr>
|
|
||||||
of Canon CRF - Communication Dept for numerous submissions including
|
|
||||||
remote debugging on the i386 and PowerPC, port of RPC, port of the
|
|
||||||
GoAhead web server, port of RTEMS to the ARM architecture,
|
|
||||||
BSP for the Motorola MCP750 PowerPC board, and numerous improvements
|
|
||||||
to the i386 and PowerPC ports of RTEMS including a new enhanced
|
|
||||||
interrupt management API that reduces interrupt latency while making
|
|
||||||
it easier to support external interrupt controllers.
|
|
||||||
|
|
||||||
+ Mark Bronson <mark@ramix.com> of RAMIX for submitting i960RP
|
|
||||||
support and the rxgen960 board support package.
|
|
||||||
|
|
||||||
+ Joel Sherrill <joel@OARcorp.com> for the BSPs that work with
|
|
||||||
numerous simulators including psim, i960sim, c4xsim, h8sim, armulator,
|
|
||||||
sim68000, and simcpu32. Most of these BSPs work with instruction
|
|
||||||
set simulators in gdb.
|
|
||||||
|
|
||||||
+ Darlene Stewart <Darlene.Stewart@nrc.ca> and Charles Gauthier
|
|
||||||
<Charles.Gauthier@nrc.ca> of the Institute for Information Technology
|
|
||||||
for the National Research Council of Canada submitted the Motorola
|
|
||||||
MBX8XX BSP and consolidated libcpu support for the MPC860 and MPC821
|
|
||||||
into MPC8XX.
|
|
||||||
|
|
||||||
+ John Cotton <jcotton@ualberta.ca> and Charles Gauthier
|
|
||||||
<Charles.Gauthier@nrc.ca> of the Institute for Information
|
|
||||||
Technology for the National Research Council of Canada
|
|
||||||
submitted the RTEMS Cache Manager.
|
|
||||||
|
|
||||||
+ Philip Quaife <philip@qs.co.nz> of Q Solutions ported
|
|
||||||
RTEMS to the Hitachi H8300H. This effort was sponsored by
|
|
||||||
Comnet Technologies Ltd.
|
|
||||||
|
|
||||||
+ Joel Sherrill <joel@OARcorp.com> and Jennifer Averett <jennifer@OARcorp.com>
|
|
||||||
for the Texas Instruments C3x/C4x port and c4xsim BSP that works
|
|
||||||
with the C3x/C4X instruction set simulator in gdb.
|
|
||||||
|
|
||||||
Finally, the RTEMS project would like to thank those who have contributed
|
Finally, the RTEMS project would like to thank those who have contributed
|
||||||
to the other free software efforts which RTEMS utilizes. The primary RTEMS
|
to the other free software efforts which RTEMS utilizes. The primary RTEMS
|
||||||
development environment is from the Free Software Foundation (the GNU
|
development environment is from the Free Software Foundation (the GNU
|
||||||
|
|||||||
119
c/ChangeLog
119
c/ChangeLog
@@ -1,119 +0,0 @@
|
|||||||
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
|
|
||||||
|
|
||||||
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Remove AC_CONFIG_AUX_DIR.
|
|
||||||
|
|
||||||
2003-02-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Remove references to obsolete files
|
|
||||||
README.DOS REQUIRES PROBLEMS TESTED README UPDATE_HELP.
|
|
||||||
Add TOOL_TARGETS.
|
|
||||||
|
|
||||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
|
|
||||||
|
|
||||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: AC_PREREQ(2.57).
|
|
||||||
|
|
||||||
2002-11-07 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* TOOL_TARGETS: Updated.
|
|
||||||
* PROBLEMS, README, REQUIRES, TESTED, UPDATE_HELP: Removed
|
|
||||||
since they were obsolete.
|
|
||||||
|
|
||||||
2002-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Use mkinstalldirs instead of mkdir.
|
|
||||||
|
|
||||||
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Fix --enable-rtemsbsp= handling.
|
|
||||||
|
|
||||||
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* .cvsignore: Reformat.
|
|
||||||
Add autom4te*cache.
|
|
||||||
Remove autom4te.cache.
|
|
||||||
|
|
||||||
2002-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Apply RTEMS_CONFIGURE_ARGS_QUOTE.
|
|
||||||
|
|
||||||
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac:
|
|
||||||
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
|
|
||||||
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
|
|
||||||
* Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
|
|
||||||
2002-02-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Remove make from SUBDIRS.
|
|
||||||
* configure.ac: Remove make from CONFIG_SUBDIRS, cosmetics.
|
|
||||||
|
|
||||||
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
|
|
||||||
* configure.in: Remove.
|
|
||||||
* configure.ac: New file, generated from configure.in by autoupdate.
|
|
||||||
|
|
||||||
2001-05-25 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* TESTED: Corrected the name of the MRM332 BSP.
|
|
||||||
|
|
||||||
2001-05-25 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* TESTED: Updated the list of BSPs.
|
|
||||||
* TOOLS_TARGETS: Updated the list of tools and object formats.
|
|
||||||
|
|
||||||
2001-03-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.in: Use ${MAKE} in message at the end of the
|
|
||||||
configure.in.
|
|
||||||
|
|
||||||
2001-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.in: Apply _RTEMS_ADJUST_SRCDIR.
|
|
||||||
|
|
||||||
2000-12-14 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* TESTED: Added comment on 68en302 now that there is a network driver.
|
|
||||||
|
|
||||||
2000-11-25 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* TESTED: Added jmr3904 entry.
|
|
||||||
|
|
||||||
2000-11-20 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* TESTED: Added new sparc variations (erc32, leon, and Tharsys).
|
|
||||||
|
|
||||||
2000-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.in: catch -enable-rtemsbsp (Allowed by autoconf).
|
|
||||||
Autoconf allows one to pass -enable-*, but this file expected --enable*.
|
|
||||||
|
|
||||||
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
|
||||||
|
|
||||||
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
|
|
||||||
|
|
||||||
2000-10-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Switch to GNU-canonicalization.
|
|
||||||
|
|
||||||
2000-10-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Make sure $SHELL inside of Makefiles does not get
|
|
||||||
propagated to the BSP-subdirectories if a user specified CONFIG_SHELL.
|
|
||||||
|
|
||||||
2000-08-10 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* ChangeLog: New file.
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I ../aclocal
|
|
||||||
|
|
||||||
## NOTE: This Makefile.am is rather fragile to the value of RTEMS_BSP
|
|
||||||
## Esp. make clean and make distclean have unwanted side-effects
|
|
||||||
## if RTEMS_BSP is not properly set up.
|
|
||||||
|
|
||||||
RTEMS_BSP = $(RTEMS_BSP_LIST)
|
|
||||||
## The '.' in SUBDIRS ensures that local make-targets (xxx-am) will be
|
|
||||||
## triggered before $(RTEMS_BSP_LIST) subdirectories are made.
|
|
||||||
SUBDIRS = . $(RTEMS_BSP)
|
|
||||||
|
|
||||||
## Use @RTEMS_BSP_LIST@ here, using $(RTEMS_BSP_LIST) would trigger
|
|
||||||
## this rule for invalid BSPs
|
|
||||||
@RTEMS_BSP_LIST@: src/configure
|
|
||||||
@set fnord $(MAKEFLAGS); amf=$$2; \
|
|
||||||
test -n "${RTEMS_BSP}" && for i in ${RTEMS_BSP}; do \
|
|
||||||
echo "Configuring RTEMS_BSP=$$i"; \
|
|
||||||
$(mkinstalldirs) $$i; \
|
|
||||||
( cd $$i && \
|
|
||||||
CONFIG_SHELL=$(SHELL) RTEMS_BSP=$$i $(rtems_bsp_configure) \
|
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) preinstall ) \
|
|
||||||
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|
|
||||||
done
|
|
||||||
|
|
||||||
## Let all RTEMS' make targets depend on ${RTEMS_BSP}
|
|
||||||
all-local: ${RTEMS_BSP}
|
|
||||||
preinstall-am: ${RTEMS_BSP}
|
|
||||||
depend-am: ${RTEMS_BSP}
|
|
||||||
|
|
||||||
## Pull in extra files intro the distribution
|
|
||||||
EXTRA_DIST = ACKNOWLEDGEMENTS
|
|
||||||
EXTRA_DIST += TOOL_TARGETS
|
|
||||||
|
|
||||||
DIST_SUBDIRS = ${RTEMS_BSP}
|
|
||||||
## -------------------------------------------------------
|
|
||||||
include $(top_srcdir)/../automake/subdirs.am
|
|
||||||
include $(top_srcdir)/../automake/host.am
|
|
||||||
133
c/Makefile.in
Normal file
133
c/Makefile.in
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
# top level directory for RTEMS build tree
|
||||||
|
# This Makefile is *not* a good example of a directory Makefile.
|
||||||
|
#
|
||||||
|
|
||||||
|
@SET_MAKE@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
prefix = @prefix@
|
||||||
|
exec_prefix = @exec_prefix@
|
||||||
|
bindir = @bindir@
|
||||||
|
libdir = @libdir@
|
||||||
|
includedir = @includedir@
|
||||||
|
target = @target@
|
||||||
|
manext = 1
|
||||||
|
mandir = @mandir@/man$(manext)
|
||||||
|
program_prefix = @program_prefix@
|
||||||
|
VPATH = @srcdir@
|
||||||
|
RTEMS_ROOT = @top_srcdir@
|
||||||
|
PROJECT_ROOT = @PROJECT_ROOT@
|
||||||
|
|
||||||
|
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
|
||||||
|
include $(RTEMS_ROOT)/make/directory.cfg
|
||||||
|
|
||||||
|
SUB_DIRS=build-tools src
|
||||||
|
|
||||||
|
# We only make the install point for the networking header files if needed.
|
||||||
|
LIBNETWORKING_yes_V = lib/include/networking lib/include/networking/sys \
|
||||||
|
lib/include/networking/machine lib/include/networking/rtems \
|
||||||
|
lib/include/networking/vm lib/include/networking/net \
|
||||||
|
lib/include/networking/netinet lib/include/networking/arpa \
|
||||||
|
lib/include/networking/nfs
|
||||||
|
LIBNETWORKING = $(LIBNETWORKING_$(HAS_NETWORKING)_V)
|
||||||
|
|
||||||
|
# We only make the rtems++ install point if it is enabled.
|
||||||
|
LIBRTEMSCPLUSPLUS_yes_V = lib/include/rtems++
|
||||||
|
LIBRTEMSCPLUSPLUS = $(LIBRTEMSCPLUSPLUS_$(HAS_CPLUSPLUS)_V)
|
||||||
|
|
||||||
|
# directories to be created in install point
|
||||||
|
CREATE_DIRS = \
|
||||||
|
lib lib/include lib/include/sys lib/include/rtems \
|
||||||
|
lib/include/rtems/score lib/include/rtems/rtems lib/include/rtems/posix \
|
||||||
|
lib/include/libc lib/include/libc/sys \
|
||||||
|
lib/include/motorola lib/include/zilog \
|
||||||
|
$(LIBNETWORKING) \
|
||||||
|
$(LIBRTEMSCPLUSPLUS) \
|
||||||
|
bin samples \
|
||||||
|
tests tests/screens tests/screens/sptests \
|
||||||
|
tests/screens/psxtests tests/screens/mptests \
|
||||||
|
tests/screens/mptests/node1 tests/screens/mptests/node2 \
|
||||||
|
build-tools update-tools
|
||||||
|
|
||||||
|
# Make all/install must include 'env'
|
||||||
|
# if something is added to TARGET_VARIANTS, then account for it here
|
||||||
|
make_src_makefiles: Makefile.in Makefile
|
||||||
|
-find . -name Makefile \
|
||||||
|
-exec grep -l "^preinstall" {} \; > make_src_makefiles.tmp
|
||||||
|
-grep tools make_src_makefiles.tmp > make_src_makefiles
|
||||||
|
-grep -v tools make_src_makefiles.tmp >> make_src_makefiles
|
||||||
|
-rm make_src_makefiles.tmp
|
||||||
|
|
||||||
|
|
||||||
|
pre_install_src: env make_src_makefiles
|
||||||
|
cd build-tools/scripts; $(MAKE)
|
||||||
|
@echo "Order of preinstall directories"
|
||||||
|
cat make_src_makefiles
|
||||||
|
@echo
|
||||||
|
CURRDIR=`pwd`; \
|
||||||
|
for i in `cat make_src_makefiles` ; do \
|
||||||
|
DIR=`dirname $$i`; \
|
||||||
|
cd $$DIR; \
|
||||||
|
$(MAKE) preinstall; \
|
||||||
|
cd $$CURRDIR; \
|
||||||
|
done
|
||||||
|
all: pre_install_src env
|
||||||
|
debug: pre_install_src env
|
||||||
|
profile: pre_install_src env
|
||||||
|
|
||||||
|
install: all install_files
|
||||||
|
debug_install: env debug install_files
|
||||||
|
profile_install: env profile install_files
|
||||||
|
|
||||||
|
debug_all: debug
|
||||||
|
profile_all: profile
|
||||||
|
|
||||||
|
# top level clean/clobber will delete the install points
|
||||||
|
clean_WRAPUP = $(MAKE) clean_wrapup
|
||||||
|
clobber_WRAPUP = $(MAKE) clean_wrapup
|
||||||
|
|
||||||
|
clean_wrapup: clean_tools clean_dirs clean_modules
|
||||||
|
|
||||||
|
.PHONY: dirs clean_wrapup clean_dirs clean_tools clean_modules env install
|
||||||
|
|
||||||
|
dirs:
|
||||||
|
-$(MKDIR) ${CREATE_DIRS:%=$(PROJECT_ROOT)/$(RTEMS_BSP)/%}
|
||||||
|
if test -d $(PROJECT_ROOT)/c/src/lib/libhwapi; then \
|
||||||
|
(cd $(PROJECT_ROOT)/c/src/lib/libhwapi ; $(MAKE) mkdirs) \
|
||||||
|
fi
|
||||||
|
|
||||||
|
distclean: clobber
|
||||||
|
|
||||||
|
clean_dirs:
|
||||||
|
$(RM) -r $(PROJECT_RELEASE)
|
||||||
|
|
||||||
|
clean_tools:
|
||||||
|
cd build-tools; $(MAKE) clean
|
||||||
|
|
||||||
|
$(PROJECT_ROOT)/$(RTEMS_BSP)/Makefile.inc: $(PROJECT_ROOT)/make/Templates/Makefile.inc
|
||||||
|
echo "RTEMS_BSP = $(RTEMS_BSP)" > $@
|
||||||
|
$(CAT) $< >> $@
|
||||||
|
|
||||||
|
# NOTE: The wildcard on the install should pick up everything except
|
||||||
|
# the tests directory. This significantly minimizes the install size.
|
||||||
|
|
||||||
|
install_files: $(PROJECT_ROOT)/$(RTEMS_BSP)/Makefile.inc
|
||||||
|
-$(MKDIR) $(prefix)/
|
||||||
|
-$(MKDIR) $(prefix)/rtems
|
||||||
|
-$(RM) -rf $(prefix)/rtems/$(RTEMS_BSP)
|
||||||
|
cd ../; tar cf - $(RTEMS_BSP)/[bilsuM]* | \
|
||||||
|
(cd $(prefix)/rtems; tar xpBf - )
|
||||||
|
cd ../make; $(MAKE) RTEMS_BSP=$(RTEMS_BSP) install
|
||||||
|
|
||||||
|
tests:
|
||||||
|
cd src/tests; $(MAKE) all
|
||||||
|
|
||||||
|
debug_tests: debug
|
||||||
|
cd src/tests; $(MAKE) debug
|
||||||
|
|
||||||
|
profile_tests: profile
|
||||||
|
cd src/tests; $(MAKE) profile
|
||||||
|
|
||||||
|
env: $(SRCS) dirs
|
||||||
73
c/PROBLEMS
Normal file
73
c/PROBLEMS
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
This is the list of outstanding problems in this release.
|
||||||
|
|
||||||
|
+ AMD 29k port is based on a non-GNU toolset.
|
||||||
|
|
||||||
|
+ The test spfatal is out of date and as a result will NOT execute
|
||||||
|
correctly. The addition of POSIX and consequent ongoing initialization
|
||||||
|
reorganization makes it pointless to fix this until the POSIX support
|
||||||
|
is completely in place.
|
||||||
|
|
||||||
|
+ The m68k family has become quite large and an understanding of the
|
||||||
|
compatibility of the peripherals on the various members of the 683xx
|
||||||
|
family would allow someone to designate some of the drivers submitted
|
||||||
|
for the gen683xx BSPs as useful on other members.
|
||||||
|
|
||||||
|
+ The only supported i960 family member is the CA. No support for the
|
||||||
|
floating point support found in other family members is present.
|
||||||
|
This also implies that RTEMS may "think" of something as generic
|
||||||
|
across the i960 family when in fact it is specific to the CA.
|
||||||
|
To make matters worse, the i960 target board owned by the RTEMS Project
|
||||||
|
is now broken and as a result even the i960CA is a "compile only" port.
|
||||||
|
|
||||||
|
+ Some of the BSPs still define RAM_START and RAM_END in the bsp.h file.
|
||||||
|
It is better to define these in the linkcmds file. It is also nice
|
||||||
|
to use the linkcmds file to place overlays for on-board hardware.
|
||||||
|
|
||||||
|
+ Not all of the BSP console drivers have been converted to termios.
|
||||||
|
Look at the m68k/gen68360, sparc/erc32, and powerpc/psim BSPs for
|
||||||
|
examples.
|
||||||
|
|
||||||
|
+ UNIX port notes:
|
||||||
|
|
||||||
|
+ sometimes a stray SIGALRM is reported as spfatal completes.
|
||||||
|
|
||||||
|
+ There are conflicts between the names of native library routines
|
||||||
|
which MUST be used and those in the POSIX support. This must
|
||||||
|
be addressed. The POSIX API cannot be used with this port as a
|
||||||
|
result of this.
|
||||||
|
|
||||||
|
+ Someone suggested writing a mini-system call interface to
|
||||||
|
include with RTEMS which would eliminate name conflicts. This
|
||||||
|
would allow the RTEMS POSIX API to be tested in this configuration.
|
||||||
|
|
||||||
|
+ Some of the tests may execute correctly and not produce the exact
|
||||||
|
ordering of lines in the screen file. This appears to be a combination
|
||||||
|
of a number of factors including buffering, processor speed, IO
|
||||||
|
device overhead, and clock interrupt rate. The biggest problem is that
|
||||||
|
some tests depend on polled IO with no unexpected context switches.
|
||||||
|
These may not be resolvable while maintaining the spirit of the test.
|
||||||
|
|
||||||
|
+ The clock device drivers should really avoid doing the division
|
||||||
|
by 1000 in the clock tick ISR to convert microseconds into
|
||||||
|
milliseconds. This only applies to clock drivers which generate
|
||||||
|
an ISR each millisecond and only call rtems_clock_tick every
|
||||||
|
so many ISRs.
|
||||||
|
|
||||||
|
+ Cross-check configure --enable-* flags.
|
||||||
|
+ warn/refuse to configure when --enable-libcdir and
|
||||||
|
--enable-gcc28 are given.
|
||||||
|
+ force --enable-libcdir when --disable-gcc28 is given
|
||||||
|
|
||||||
|
+ make profile does not currently work for a variety of reasons. Few
|
||||||
|
BSPs include profile versions of the libraries in their bsp_specs
|
||||||
|
file. There is no mechanism to sample data for gperf to process.
|
||||||
|
All of this will need to be addressed before "make profile" is truly
|
||||||
|
useful.
|
||||||
|
|
||||||
|
+ Bare BSP does not compile for all configurations yet. This is
|
||||||
|
primarily due to libcpu support code assuming that the BSP has
|
||||||
|
made something available which is not with a bare BSP.
|
||||||
37
c/README
Normal file
37
c/README
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
This is the top level of the RTEMS directory structure. The following
|
||||||
|
is a description of the files and directories in this directory:
|
||||||
|
|
||||||
|
Makefile.in
|
||||||
|
The top-level Make command file used to build the C implementation
|
||||||
|
of RTEMS. [RTEMS assumes the use of GNU make.]
|
||||||
|
|
||||||
|
README
|
||||||
|
This file.
|
||||||
|
|
||||||
|
REQUIRES
|
||||||
|
A list of the other tools which are assumed to be installed
|
||||||
|
before RTEMS is built.
|
||||||
|
|
||||||
|
SUPPORT
|
||||||
|
Information on third-party support for RTEMS.
|
||||||
|
|
||||||
|
build-tools
|
||||||
|
This directory contains the source for various utilities
|
||||||
|
needed to build RTEMS.
|
||||||
|
|
||||||
|
make
|
||||||
|
Make command files "included" from those in the source distribution.
|
||||||
|
[RTEMS assumes the use of GNU make.]
|
||||||
|
|
||||||
|
patches
|
||||||
|
This directory contains patches for this release of RTEMS.
|
||||||
|
|
||||||
|
src
|
||||||
|
This directory contains the source code for the C
|
||||||
|
implementation of RTEMS as well as the test suites, sample
|
||||||
|
applications, Board Support Packages, Device Drivers, and
|
||||||
|
support libraries.
|
||||||
72
c/README.DOS
Normal file
72
c/README.DOS
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
tools
|
||||||
|
-----
|
||||||
|
The RTEMS build procedure was designed with the capabilitiies of a
|
||||||
|
typical UNIX computer in mind. Making this procedure work under MS-DOS
|
||||||
|
is not that difficult but requires that MS-DOS versions of a number
|
||||||
|
of UNIX utilities be acquired and installed. For time being, the
|
||||||
|
best advice which can be offered is:
|
||||||
|
|
||||||
|
"This is a nasty question, since when I first set up the DOS machine
|
||||||
|
(long before I acquired RTEMS) I ftp'd a bunch of different tool
|
||||||
|
sets (all from SimTel), and then picked individual tools from each
|
||||||
|
set that worked best for me. The djgpp tools are probably a good
|
||||||
|
starting point, especially to get a working sed. Next the gnu tools
|
||||||
|
in SimTel/msdos/gnuish, and then others. Sorry I can't give you more
|
||||||
|
specific names. The only real requirement for the tools is that
|
||||||
|
they *must* accept redirection of command line arguments from a file
|
||||||
|
using the '@' notation (i.e., "mkdir @/tmp/args" reads the argument
|
||||||
|
list from file /tmp/args)."
|
||||||
|
|
||||||
|
There is a special version (source and executable) of GNU make 3.71 for
|
||||||
|
MS-DOS which minimizes the amount of memory used by recursive makes
|
||||||
|
available on lancelot.gcs.redstone.army.mil in the file:
|
||||||
|
|
||||||
|
/pub/msdos/gmake371.tgz
|
||||||
|
|
||||||
|
Many of the RTEMS specific utilities used in the build and installation
|
||||||
|
are UNIX shell scripts. On a UNIX host, these are normally interpreted
|
||||||
|
by the Bourne Again Shell (BASH) or the Korn Shell (ksh). Most of these
|
||||||
|
scripts can be successfully executed with the following shell from the
|
||||||
|
MS-DOS archives from Simtel.
|
||||||
|
|
||||||
|
SimTel/msdos/sysutil/ms_sh23b.zip
|
||||||
|
|
||||||
|
Please be sure to use the 16-bit version. The Simtel archives are
|
||||||
|
available from ftp.cdrom.com as well as a number of mirror sites.
|
||||||
|
|
||||||
|
go32
|
||||||
|
----
|
||||||
|
go32 dumps the stack when a program seg-faults, and if this happens while
|
||||||
|
on an alternate stack an infinite loop can ensue. Setting the environment
|
||||||
|
variable GO32="core /tmp/core" will prevent more than 20 lines or
|
||||||
|
so of stack information from being dumped after a crash, and the output
|
||||||
|
will go to a file rather than the screen.
|
||||||
|
|
||||||
|
The go32 debuggers get confused by the relocated stacks used by tasks,
|
||||||
|
and tend to crash when variables are inspected.
|
||||||
|
|
||||||
|
djgcc include files
|
||||||
|
-------------------
|
||||||
|
In general, we use RTEMS include files because these contain the proper
|
||||||
|
declarations for the libc, and in particular, the stdio functions.
|
||||||
|
When calling go32-specific functions it is necessary to include some
|
||||||
|
djgpp include files, as well. Unfortunately, there are some disagreements
|
||||||
|
between RTEMS and djgpp as to how certain functions and types are
|
||||||
|
declared. In these cases, the RTEMS source have been modified to
|
||||||
|
special-case the differences.
|
||||||
|
|
||||||
|
other
|
||||||
|
-----
|
||||||
|
* Pressing F12 will immediately abort the program.
|
||||||
|
See lib/libbsp/i386/go32/console/inch.c.
|
||||||
|
|
||||||
|
* lib/libbsp/i386/go32/timer uses the on-board timer chip by default,
|
||||||
|
which has a resolution of about 1 microsecond. However, if executing
|
||||||
|
on a Pentium processor you can use the on-chip 64-bit cycle counter,
|
||||||
|
which counts at whatever clock rate your processor runs at. To enable
|
||||||
|
this, set RTEMS_CPU_MODEL=pentium in make/custom/go32.cfg.
|
||||||
|
|
||||||
13
c/REQUIRES
Normal file
13
c/REQUIRES
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
1. The installation procedure assumes that "gcc" is installed
|
||||||
|
and is in your path for the installation of local tools.
|
||||||
|
|
||||||
|
2. gcc 2.7.2 with crossgcc patches (ftp.cygnus.com:/pub/embedded/crossgcc)
|
||||||
|
|
||||||
|
3. binutils 2.6 with crossgcc patches.
|
||||||
|
|
||||||
|
4. newlib with RTEMS configurations.
|
||||||
|
|
||||||
74
c/TESTED
Normal file
74
c/TESTED
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
This file is current for the 4.0.0 release.
|
||||||
|
|
||||||
|
The RTEMS project uses Intel x86 based computers running the RedHat
|
||||||
|
distribution of the Linux operating system internally for development.
|
||||||
|
This release has been tested on the following Languages/CPUs/Targets using
|
||||||
|
RedHat Linux 4.2 as the host environment:
|
||||||
|
|
||||||
|
CPU CPU
|
||||||
|
FAMILY MODEL TARGET SUITES
|
||||||
|
======== ========= ======================= ===============
|
||||||
|
m68k m68000 efi68k (note 1)
|
||||||
|
m68k m68020 Motorola MVME136 (note 1, 6)
|
||||||
|
m68k m68030 Motorola MVME147 (note 1)
|
||||||
|
m68k m68030 Motorola MVME147s (note 1)
|
||||||
|
m68k m68lc040 Motorola MVME162 (note 1)
|
||||||
|
m68k m68lc040 Motorola MVME162LX (note 1)
|
||||||
|
m68k m68ec040 Motorola IDP (note 1)
|
||||||
|
m68k m68020 DY-4 DMV152 (note 1)
|
||||||
|
m68k m68302 generic 68302 (note 1)
|
||||||
|
m68k m68302 ods 68302 (note 1)
|
||||||
|
m68k m68332 efi332 (note 1)
|
||||||
|
m68k m68360 generic 68360 (note 1, 6)
|
||||||
|
m68k m68360 68360 in companion mode (note 1, 6)
|
||||||
|
i386 i386_fp Force CPU-386 (note 1, 7)
|
||||||
|
i386 i386ex generic i386ex (note 1, 6)
|
||||||
|
i386 ix86 bare PC (pc386) (note 1, 6)
|
||||||
|
i386 i486 DJGPP/PC-AT (note 7)
|
||||||
|
i386 pentium DJGPP/PC-AT (note 7)
|
||||||
|
i960 i960ca Cyclone CVME961 (note 4)
|
||||||
|
hppa hppa7100 simhppa (note 1)
|
||||||
|
mips idt4600 p4000 (note 1)
|
||||||
|
mips idt4650 p4000 (note 1)
|
||||||
|
powerpc ppc403 helas403 (note 1, 6)
|
||||||
|
powerpc ppc403 Papyrus (note 1)
|
||||||
|
powerpc ppc403 psim (note 5)
|
||||||
|
sh sh7032 generic sh1 (note 1)
|
||||||
|
sparc erc32 generic erc32 ALL TESTS (note 5)
|
||||||
|
a29k a29k port sw (note 2)
|
||||||
|
UNIX NA Solaris 2 (SPARC) (note 2)
|
||||||
|
UNIX NA Solaris 2 (SPARC) (note 2)
|
||||||
|
UNIX NA Linux (i386) ALL TESTS (inlines)
|
||||||
|
UNIX NA Linux (i386) ALL TESTS (macros)
|
||||||
|
UNIX NA HPUX (PA-RISC) (note 2)
|
||||||
|
no_cpu NA no_bsp (note 3)
|
||||||
|
|
||||||
|
NOTES:
|
||||||
|
|
||||||
|
"NOT TESTED" indicates that this was not tested in the testing cycle
|
||||||
|
immediately preceding the snapshot.
|
||||||
|
|
||||||
|
(1) Target board is not owned by RTEMS Project. The target is known
|
||||||
|
to compile and link with all appropriate tests successfully.
|
||||||
|
If the target does not support multiprocessor configurations, then
|
||||||
|
"ALL TESTS" does not include the multiprocessor tests.
|
||||||
|
|
||||||
|
(2) RTEMS Project cannot internally compile or test this target.
|
||||||
|
As of 4.0.0, the HP-UX is not recognized in the configure script
|
||||||
|
The a29k does not use GNU tools and may suffer from bit rot.
|
||||||
|
|
||||||
|
(3) Target is not intended to be executed. It is only an example.
|
||||||
|
|
||||||
|
(4) The board owned by the RTEMS Project is broken. The BSP is known
|
||||||
|
to compile and link with all appropriate tests successfully.
|
||||||
|
|
||||||
|
(5) This BSP is tested on a CPU software simulator.
|
||||||
|
|
||||||
|
(6) This BSP was tested by an RTEMS volunteer and reported to work.
|
||||||
|
|
||||||
|
(7) The BSP is deprecated. For information on what would be
|
||||||
|
required to update it contact rtems@OARcorp.com.
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
|
|
||||||
The following are targets for the GNU tools (gcc, binutils, newlib, and gdb)
|
|
||||||
that are for RTEMS, their object format, and status notes
|
|
||||||
|
|
||||||
arm:
|
|
||||||
arm-rtems ELF
|
|
||||||
|
|
||||||
c4x:
|
|
||||||
c4x-rtems COFF Requires patches
|
|
||||||
|
|
||||||
hppa:
|
|
||||||
hppa1.1-rtems ELF
|
|
||||||
|
|
||||||
|
|
||||||
h8300:
|
|
||||||
h8300-rtems COFF
|
|
||||||
|
|
||||||
i386:
|
|
||||||
i386-rtems ELF
|
|
||||||
i386-rtemself ELF
|
|
||||||
i386-rtemscoff COFF Obsoleted
|
|
||||||
i386-go32-rtems COFF Obsoleted - no supporting BSP
|
|
||||||
|
|
||||||
i960:
|
|
||||||
i960-rtems COFF Switch to ELF when possible
|
|
||||||
i960-rtemscoff COFF
|
|
||||||
i960-rtemself ELF Not currently in any tools
|
|
||||||
|
|
||||||
NOTE: As of October 2002, i960 has been deprecated in gdb and gcc.
|
|
||||||
|
|
||||||
m68k:
|
|
||||||
m68k-rtems COFF Switch to ELF when possible
|
|
||||||
m68k-rtemscoff COFF
|
|
||||||
m68k-rtemself ELF Not in all tools
|
|
||||||
|
|
||||||
NOTE: m68k-elf is in post egcs 1.1.2 snapshots.
|
|
||||||
|
|
||||||
mips:
|
|
||||||
mips*-rtems ELF Big endian
|
|
||||||
mips*el-rtems ELF Little endian
|
|
||||||
|
|
||||||
NOTE: Little endian configuration is not in all tools and
|
|
||||||
is untested for RTEMS itself.
|
|
||||||
|
|
||||||
powerpc:
|
|
||||||
powerpc-rtems ELF
|
|
||||||
powerpcle-rtems ELF Little endian
|
|
||||||
|
|
||||||
NOTE: Little endian configuration is not in all tools and
|
|
||||||
is untested for RTEMS itself.
|
|
||||||
|
|
||||||
sh:
|
|
||||||
sh-rtems COFF
|
|
||||||
sh-rtemscoff COFF
|
|
||||||
sh-rtemself ELF
|
|
||||||
|
|
||||||
NOTE: ELF is not completely stable for SH yet.
|
|
||||||
|
|
||||||
sparc:
|
|
||||||
sparc-rtems ELF
|
|
||||||
sparc-rtemself ELF
|
|
||||||
sparc-rtemsaout A.OUT
|
|
||||||
52
c/UPDATE_HELP
Normal file
52
c/UPDATE_HELP
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#
|
||||||
|
# $Id$
|
||||||
|
#
|
||||||
|
|
||||||
|
Between RTEMS 3.1.0 and 3.2.0, every RTEMS defined symbol made visible
|
||||||
|
was renamed. This document describes the change and the tools provided
|
||||||
|
to assist you in updating your RTEMS 3.1.0 application.
|
||||||
|
|
||||||
|
[NOTE: This change was not included in snapshots prior to 3.1.15.]
|
||||||
|
|
||||||
|
DESCRIPTION OF NAME CHANGES:
|
||||||
|
============================
|
||||||
|
|
||||||
|
The primary change was the addition of the prefix "rtems_" or "RTEMS_" to
|
||||||
|
EVERY user visible RTEMS provided constant and routine. The primary
|
||||||
|
factor in the decision to make such a sweeping change was conflicts
|
||||||
|
between the the RTEMS and POSIX API's.
|
||||||
|
|
||||||
|
|
||||||
|
TO UPDATE YOUR APPLICATION:
|
||||||
|
===========================
|
||||||
|
|
||||||
|
The update script requires that Perl be installed on your computer.
|
||||||
|
It has only been tested with Perl 5.x.
|
||||||
|
|
||||||
|
After RTEMS has been built, in the directory "$r/<BSP>/update_tools", will
|
||||||
|
be a set of tools to aid in making the application source changes necessary
|
||||||
|
to address (hopefully) all of the name changes in the RTEMS API between
|
||||||
|
releases 3.1.0 and 3.2.0.
|
||||||
|
|
||||||
|
The update shell script is the only executable which is invoked by the
|
||||||
|
user directly. The word-replace Perl script is invoked by the update
|
||||||
|
shell script.
|
||||||
|
|
||||||
|
WARNING: These tools modify the files IN PLACE!!! Backup your
|
||||||
|
source before using these tools.
|
||||||
|
|
||||||
|
To udpate your application, change directories to the top of your application
|
||||||
|
source tree and execute the update script. It should be something similar
|
||||||
|
to the following:
|
||||||
|
|
||||||
|
cd MY_APP
|
||||||
|
$r/<BSP>/update-tools/update
|
||||||
|
|
||||||
|
The update script will ask if you have backed up your source code before
|
||||||
|
beginning the update process. While operating on files, it will print
|
||||||
|
the name of each file and a dot for each change made to the source file.
|
||||||
|
|
||||||
|
NOTE: These scripts do not attempt to address changes in calling
|
||||||
|
sequences. After the script has run, you will need to update
|
||||||
|
calls to rtems_clock_get(), rtems_timer_fire_after(), and
|
||||||
|
rtems_timer_fire_when() by hand.
|
||||||
14
c/build-tools/Makefile.in
Normal file
14
c/build-tools/Makefile.in
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# $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
|
||||||
|
|
||||||
|
SUB_DIRS=os scripts src
|
||||||
14
c/build-tools/os/Makefile.in
Normal file
14
c/build-tools/os/Makefile.in
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# $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
|
||||||
|
|
||||||
|
SUB_DIRS=$(wildcard $(RTEMS_HOST))
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user