Commit Graph

507 Commits

Author SHA1 Message Date
Joel Sherrill
cb0f1fc5ac Another attempt to get runtest installed. 1999-03-31 22:05:43 +00:00
Joel Sherrill
b5d8eca1b5 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to fix a typo. 1999-03-29 22:22:56 +00:00
Joel Sherrill
244ecd9fb8 These files were not added as part of a recent patch from
Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1999-03-24 23:14:36 +00:00
Joel Sherrill
9b8baa128b Automake II patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. Email
description follows:

Description:

    * automake for *all* tool subdirectories (Makefile.am, configure.in etc.)
    * autogen now also considers CONFIG_HEADER (generates stamp-h.ins and
      config.h.ins)
    * c/src/tests/tools/generic/difftest and
      c/src/tests/tools/generic/sorttimes generated by configure scripts
    * c/update-tools/ampolish, beautifier for Makefile.ams, similar to
      acpolish
    * rtems-polish.sh added to c/update-tools/ + ampolish support
    * New subdirectory ./automake, contains automake -Makefile fragments to
      support RTEMS make "debug, debug_install, profile, profile_install" for
      native Makefile.ams (== ignore these make targets).
    * aclocal/rtems-top.m4's RTEMS_TOP now reads the automake makefile
      variable VERSION from RTEMS ./VERSION file.
    * ./configure.in uses the macros from aclocal + support for the tools'
      configure scripts

  Remarks:
    * To run rtems-polish.sh, "cd <rtems-source-tree>;
      ./c/update-tools/rtems-polish.sh"
    * AFAIS, now all native subdirectories are converted to automake (Please
      drop me a note, if I forgot something).
    * Unless you notice something fatal, IMO the time has come for a public
      try (== snapshot). I do not intend to send more automake related patches
      within, say 2 weeks, to give these patches time to settle and to give me
      some time to think on how to continue.
    * The patch assumes installation to the new main installation directory
      [$(prefix)].
1999-03-23 18:02:17 +00:00
Joel Sherrill
d8ff79366b Towards automake XI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
This patch is the most scary of all proposals I've been mailing to you
    this week until now.

    It consists of 3 parts:
        1. a patch
        2. a perl script (acpolish)
        3. a shell script wrapper to invoke the perl-script.

    The perl-script reads in each Makefile.in and modifies them
    ("polishes/beautifies" them :-).

    These modifications are not easy to describe:

    Basically, it hard-codes some automake Makefile-variables and rules into
    RTEMS autoconf-Makefile.ins (Note: autoconf vs. automake!!) and converts
    some settings/variables to configure scripts' requirements (Yes,
    plural).

    E.g. it adds the automake standard variables $top_builddir and $subdir,
    adds dependency rules for automatic re-generation of Makefiles from
    Makefile.in, adds support variables for relative paths to multiple
    configure scripts etc.


    The patch is a one-line patch to enable the support of the new features
    added by acpolish.

    The shell script is a wrapper which pokes around inside of the source
    tree for Makefile.ins and invokes acpolish on all autoconf-Makefile.ins.

    acpolish is designed to be able to run several times on the same
    Makefile.in and may once become a more general tool to convert RTEMS
    Makefile.in to automake. Therefore, I'd like to keep it inside of source
    tree. (e.g. as contrib/acpolish or c/update-tools/acpolish). However, it
    doesn't make sense to export it outside of RTEMS.


To apply this:

    cd <source-tree>
    patch -p1 -E < <path-to-patch>/rtems-rc-19990318-1.diff
    tar xzvf <path-to>/rtems-rc-polish.tar.gz
    ./rtems-polish.sh
    ./autogen

    Note: The path contrib/acpolish is hard-coded into rtems-polish.sh, if
    you decide to put it in an alternative place, please modify
    rtems-polish.sh to reflect this change.

    Later:
    cvs rm make/rtems.cfg (It isn't used anymore)
    cvs add contrib
    cvs add contrib/acpolish
    cvs commit

    I've tested this intensively, but naturally I can't exclude bugs.

    Ralf.

    PS.: Most probably, this is the last "Towards automake" patch. The next
    one probably will be a real automake patch.
1999-03-19 22:27:02 +00:00
Joel Sherrill
5906ac5e9f Towards automake X patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
This one once again changes the scheme to preinstall bsp_specs.

    It moves generating PROJECT_ROOT/lib/bsp_specs to
    libbsp/<cpu>/<bsp>/wrapup/Makefile.in.

    I.e. it decentralizes generation of bsp_specs to a bsp-dependent
    directory, because preinstalling bsp_specs in a centralized Makefile
    like it has been done until now does not harmonize well with spliting
    the toplevel configure script in cpu and bsp-dependent configure scripts
    and automake.

    First apply the patch (rtems-rc-19990318-0.diff) below, then run the
    reorg-bsp_specs.sh script.

    IMO, this one is comparatively harmless and eases automake support
    significantly.
1999-03-19 22:10:04 +00:00
Joel Sherrill
e069cdc3f1 Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 5) rtems-rc-19990202-1.diff/reorg-install.sh
>
> reorg-install.sh fixes a Makefile variable name clash of RTEMS
> configuration files and automake/autoconf standards.
> Until now, RTEMS used $(INSTALL) for install-if-change. Automake and
> autoconf use $(INSTALL) for a bsd-compatible install. As
> install-if-change and bsd-install are not compatible, I renamed all
> references to install-if-changed to $(INSTALL_CHANGED) and used
> $(INSTALL) for bsd-install (==automake/autoconf standard).  When
> automake will be introduced install-if-change will probably be replaced
> by $(INSTALL) and therefore will slowly vanish. For the moment, this
> patch fixes a very nasty problem which prevents adding any automake file
> until now (There are still more).
1999-03-01 15:18:26 +00:00
Joel Sherrill
8548fe0ae2 Part of the automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 5) rtems-rc-19990202-1.diff/reorg-install.sh
>
> reorg-install.sh fixes a Makefile variable name clash of RTEMS
> configuration files and automake/autoconf standards.
> Until now, RTEMS used $(INSTALL) for install-if-change. Automake and
> autoconf use $(INSTALL) for a bsd-compatible install. As
> install-if-change and bsd-install are not compatible, I renamed all
> references to install-if-changed to $(INSTALL_CHANGED) and used
> $(INSTALL) for bsd-install (==automake/autoconf standard).  When
> automake will be introduced install-if-change will probably be replaced
> by $(INSTALL) and therefore will slowly vanish. For the moment, this
> patch fixes a very nasty problem which prevents adding any automake file
> until now (There are still more).
1999-02-18 18:36:05 +00:00
Joel Sherrill
ba2adf540e Patch from Jiri Gaisler <jgais@ce.chalmers.se>:
getting the spurious trap handling to work required a couple more
  fixes - I have attached a patch against rtems-4.0.0 with the
  necessary changes. I also added functionality so that the
  address of the trapped instruction is reported and in case of
  a data access error, the data address is also reported.
1999-01-19 20:09:33 +00:00
Joel Sherrill
01629105c2 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to rename all
.s files to .S in conformance with GNU conventions.  This is a
minor step along the way to supporting automake.
1998-12-14 23:15:38 +00:00
Joel Sherrill
11cfb6f7f6 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
1. Rtems contains some perl scripts that use hard-coded paths to
      /usr/bin/perl or /usr/local/bin/perl I have already fixed these
      problems by adding some checks to configure.in.   While doing this,
      I also cleaned up some more autoconf related problems for generating
      shell scripts.  This patch might seem a bit scary to you, but I am
      quite confident it won't break something (I've been testing it for
      almost a week now, however it might introduce typos for a limited
      number configurations I don't have access to - But it shouldn't be
      a problem for you to test them :-).

   I expect to get this finished tonight, hence you will very likely
   have the patch when you get up tomorrow.

   Changes:

   * Check for PERL and disable all PERL scripts if perl wasn't found.
   * Generate all KSHELL-scripts with autoconf instead of make-script
   * Automatic dependency handling for autoconf generated KSHELL or PERL
     scripts (make/rtems.cfg)

   Notes:
   * this patch contains new files and deletes some other files.
   * The patch is relative to rtems-4.0.0-beta4 with my previous
     rtems-rc-981014-1.diff patch applied.

   Testing:
      I tested it with sh-rtems and posix under linux. Now all targets
      which are touched by this patch and which are not used while building
      for sh-rtems and posix still need to be tested. AFAIS, only the
      sparc/erc32 BSP should be affected by this criterion. And if you
      like to, you should also consider testing it on a Cygwin32 and a
      Solaris host for one arbitrary BSP.
1998-10-14 20:19:30 +00:00
Joel Sherrill
030ff41790 Conditionals for CONSOLE_USE_INTERRUPTS should have been "if" not
"if defined".
1998-07-07 16:38:18 +00:00
Joel Sherrill
bdb1057668 Spacing changes. 1998-06-18 15:13:29 +00:00
Joel Sherrill
55951bc1e6 Switched to termios callback structure. 1998-05-04 12:40:21 +00:00
Joel Sherrill
2e34f4ad4f Removed tripling of workspace API when POSIX API is enabled. confdefs.h
is now correct enough where this is not necessary.  This was in to
cover up the deficiencies in figuring out how much memory a GNAT/RTEMS
application required.  There is a good stab at this now.
1998-04-30 11:43:19 +00:00
Joel Sherrill
1ca488b55d Added sections to remove warnings 1998-04-30 11:40:07 +00:00
Joel Sherrill
c719991664 moved tools to bsp directory 1998-04-30 10:46:52 +00:00
Joel Sherrill
bd9c3d1e76 Numerous changes which in total greatly reduced the amount of source
code in each BSP's bspstart.c.  These changes were:

  + confdefs.h now knows libio's semaphore requirements
  + shared/main.c now copies Configuration to BSP_Configuration
  + shared/main.c fills in the Cpu_table with default values

This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP.  Plus now the maximum number of open
files can now be set on the gcc command line.
1998-04-15 20:50:31 +00:00
Joel Sherrill
b6394ae434 Transitioned to shared bsp_libc_init() and cleaned up comments. 1998-04-15 15:13:01 +00:00
Joel Sherrill
9b64c2d5f7 Per suggestion from Eric Norum, went from one initial extension set
to multiple.  This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.
1998-04-15 00:10:03 +00:00
Joel Sherrill
c244a9ee2c Stack checker extension now accounted for in confdefs.h 1998-04-14 21:32:12 +00:00
Joel Sherrill
3b89891244 Now accounts for region used by RTEMS malloc and extension used
by newlib.
1998-04-14 20:54:26 +00:00
Joel Sherrill
8f95b5f67b Moved bsp_postdriver_hook() to a shared file and made it a common
component.
1998-03-30 14:01:19 +00:00
Joel Sherrill
e2a2ec6016 Switch to using a shared main() for all of the embedded BSPs
based on the GNU tools.  This usually involved correcting the
type of bsp_start(), bsp_cleanup(), adjusting the start code to
call the right start routine (the shared boot_card()), and then
removing code from bsp_start() which was performed in the new
boot_card()/main() path.
1998-03-21 15:37:18 +00:00
Joel Sherrill
60b791ada1 updated copyright to 1998 1998-02-17 23:46:28 +00:00
Joel Sherrill
f86ec4236f Added .eh_frame, C++ constructor, and C++ destructor sections. 1998-02-17 23:35:54 +00:00
Joel Sherrill
a858910778 Incorporated Ralf Corsepius' idea for new -q flags to properly support
"gmake debug".
1998-02-11 22:13:46 +00:00
Joel Sherrill
52dd75da50 Corrected spelling error so interrupt driven console would work. 1998-02-03 18:29:05 +00:00
Joel Sherrill
5c3511e5cf Big patch form Ralf Corsepius described in this email:
Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working
  with different shells and relative/absolute paths.

  What I did is relatively simple in principle:
  Instead of setting RTEMS_ROOT in configure.in and then let configure
  substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile
  set RTEMS_ROOT from each Makefile's @top_srcdir@ value.

  The difference is subtile, but with enormous side effects:
  - If RTEMS_ROOT is set in configure, then the same single value will be
  propagated to all Makefiles. This breaks using relative paths, as the
  relative path to the root of the source tree is used inside of all
  subdirectory Makefiles.
  - Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@.  top_srcdir  is
  computed individually by configure for each single Makefile.in, hereby
  receiving the correct value, no matter if relative or absolute paths are
  used.

  To get this working, I needed to remove setting RTEMS_ROOT from
  target.cfg.in, because this overrides the value of RTEMS_ROOT from each
  individual Makefile.


  Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all
  "include $(RTEMS_CUSTOM)" directives with"include
  $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this,
  but I think, to have one variable less is clearer and easier to
  understand than having several variables refering to the next one.


  I enclose a small patch to this mail, which
  - fixes the config.h problem (to finally clearify misunderstands)
  - removes assignment/subsitution of RTEMS_ROOT from configure.in
  - contains a workaround for the application Makefile's RTEMS_ROOT
  problem (reported by Eric)
  - removes some unused lines from the toplevel Makefile.in
  - removes assignment of RTEMS_ROOT from make/target.cfg.in
1998-01-30 21:49:51 +00:00
Joel Sherrill
cb5bfe40fd Removed CONFIG_DIR and PROJECT_HOME directories. 1998-01-20 19:41:09 +00:00
Joel Sherrill
608641e6d2 Corrected prototypes for all termios console write driver entries to
properly reflect the const on the buffer pointer being passed in.
1997-12-22 17:29:51 +00:00
Joel Sherrill
8fe6d358bf Moved -qnolinkcmds option so arguments passed on the command line are
interpreted at the right point per Eric Norum's discovery:

    The problem with the my previous `fix' for adding linker commands
    was with the ordering of the options to the linker.

    For example, to make a larger heap size, the application Makefile would
    CFLAGS_LD = -Wl,--defsym -Wl,HeapSize=0x40000

    The command passed to the linker would be :
    m68k-rtems-ld .... -T xxx/linkcmds .... --defsym HeapSize=0x40000 .....

    This doesn't work because the script in linkcmds inserts a default
    value for HeapSize if HeapSize is not defined by the time the linker
    looks at the linkcmds script.

    The solution seems to be to move the -T linkcmds%s in the bsp_specs
    file out of the link specfication and into the lib specification -- a
    little unorthodox, perhaps, but it seems to work!
1997-12-20 16:59:11 +00:00
Joel Sherrill
f7fa7d76ce Modified bsp_specs per Eric Norum's suggestion to handle -qnolinkcmds
switch which lets the user specify a different linker script.
1997-12-19 14:48:19 +00:00
Joel Sherrill
674c900f24 Modified a lot of files to take a first cut at supporting building from
any directory in the build tree.  The only variable which must be set
before the command "gmake" is invoked is RTEMS_BSP (e.g. RTEMS_BSP=erc32).
1997-12-10 16:58:00 +00:00
Joel Sherrill
405829bdbf Added argument as required by new version of termios_open. 1997-11-18 22:32:25 +00:00
Joel Sherrill
87d3d02640 Switched to new style for read support routine. 1997-10-23 18:49:02 +00:00
Joel Sherrill
5993d021dc Added console_reserve_resources. 1997-10-23 15:12:08 +00:00
Joel Sherrill
a7e2729c61 Converted to termios style device driver. 1997-10-21 18:38:24 +00:00
Joel Sherrill
b54624299a Modified to search RTEMS library before Newlib C library. 1997-10-08 19:52:47 +00:00
Joel Sherrill
98e4ebf594 Fixed typo in the pointer to the license terms. 1997-10-08 15:45:54 +00:00
Joel Sherrill
a2016b9965 Removed include directory at "build" point and the link of this directory
to lib/include.

Went to using a PROJECT_INCLUDE variable.
1997-10-08 14:42:08 +00:00
Joel Sherrill
ffa6183035 Increased interrupt stack space. 1997-10-06 21:30:16 +00:00
Joel Sherrill
8f35817acf eliminated potential for overfilling buffer on read 1997-09-15 18:52:26 +00:00
Joel Sherrill
e9932367e7 Switched to new style which does not require hackspecs.awk. 1997-08-28 21:54:59 +00:00
Joel Sherrill
f80faebea7 Modified to support the BSP family concept. 1997-08-27 20:33:11 +00:00
Joel Sherrill
8bc90517d0 Fixed typo and removed duplicated code 1997-08-04 21:58:30 +00:00
Joel Sherrill
03f2154e51 headers updated to reflect new style copyright notice as part
of switching to the modified GNU GPL.
1997-04-22 17:20:27 +00:00
Joel Sherrill
9fbba98c99 Fixed path which points to shared directory for all BSPs. 1997-04-16 17:47:48 +00:00
Joel Sherrill
b5847517fc Switched all bsps which had an implementation of sbrk.c which only
returned an error to using a single shared copy of this file.
1997-04-15 17:37:12 +00:00
Joel Sherrill
254b445071 This set of changes is the build of what was required to convert to
GNU autoconf.  This is the first large step in allowing an RTEMS
user to perform a one-tree build (per crossgcc FAQ) including RTEMS
in the build process.  With this change RTEMS is configured in
built in the same style as the GNU tools, yet retains the basic
structure of its traditional Makefiles (ala Tony Bennett).
Jiri Gaisler (jgais@wd.estec.esa.nl) deserves (and received)
a big thank you for doing this.

There are still issues to be resolved but as of this commit, all target
which can be built on a linux host have been using a modified version
of the source Jiri submitted.  This source was merged and most targets
built in the tree before this commit.

There are some issues which remain to be resolved but they are primarily
related to host OS dependencies, script issues, the use of gawk
for hack_specs, and the dependence on gcc snapshots.  These will
be resolved.
1997-04-01 23:07:52 +00:00