Commit Graph

17 Commits

Author SHA1 Message Date
Joel Sherrill
1059abcd94 Regenerated. 1999-04-19 15:37:36 +00:00
Joel Sherrill
183fa829db New file -- automatically generated. 1999-04-19 13:26:15 +00:00
Joel Sherrill
196094eb79 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
This one is an enhancement to acpolish.

    It replaces some Makefile variables by others variable in Makefile.ins
    (tries to use unique name for some variables). It therefore eases
    parsing Makefile.ins for further automatic Makefile.in conversions in
    future.

    To apply:
        cd <rtems-source-tree>
        sh <path-to>/rtems-rc-19990407-8.sh
        ./autogen
1999-04-19 13:19:14 +00:00
Joel Sherrill
6b7ab9bf72 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
FYI: I am not talking about using "make -C <dir>", which probably
    is much faster on M$ hosts than RTEMS's implementation, but about
    removing --enable-gmake-print support and to apply a variant of
    automake's subdirectory.

    Automake's subdirectory rule seems to be a little bit faster, but I
    wouldn't bet on this.

    Attached to this mail is my proposal.

    After applying the patch, please run
        cvs rm aclocal/enable-gmake-print.m4
        ./autogen
1999-04-16 18:23:48 +00:00
Joel Sherrill
8cdb582b49 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
This patch addresses a few minor issues and contains a few (minor)
  preparations for automake.

  * configure.in: Fix for handing c/src/tests subdirectory handling (FIX)
  * aclocal/rtems-top.m4:
    + Add TARGET_SUBDIR and --with-target-subdir (preparation of future
      enhancements for cross-compiling)
    + Activate RTEMS_ROOT handling (automake preparation)
  * automake/*.am: replace comments "#" with "##" so that comments won't
    get included into Makefile.in's anymore
  * c/update-tools/* automake support (NEW)
  * ./autogen update/enhancement (cf. ./autogen for details)

  After applying this patch please run:

    ./autogen
    cvs add c/update-tools/configure.in
    cvs add c/update-tools/Makefile.am
    cvs add c/update-tools/aclocal.m4
1999-04-12 15:41:33 +00:00
Joel Sherrill
7e03d107d7 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Yet some more modifications, I would recommend to be considered before
    releasing a snapshot:

    1. Cleanup to aclocal/
    cvs rm -f aclocal/cygwin.m4
    cvs rm -f aclocal/exeext.m4

    They are neither used nor needed anymore, however they also don't
    disturb (we use autoconf-2.13's AC_EXEEXT instead, now)

    ----------

    2. rtems-rc-19990328-0.diff
    Some (minor) bug-fixes:
    * make/Templates/Makefile.inc.in: use the new installation directory
    ($(prefix)/ instead of $(prefix)/rtems/)
    * c/src/exec/score/tools/generic/Makefile.am: added line to include local.am
    * c/src/exec/score/tools/*/configure.in: added CVS Id header

    ----------

    3. rtems-rc-19990328-1.diff
    Enhancements and cleanups to autogen, rtems-polish.sh, configure.in etc.

    * autogen: Use the file "VERSION" to detect RTEMS toplevel directory,
    extended usage-message, use "find -print"
    * c/update-tools/cipolish: New script to beautify configure.in scripts
    * c/update-tools/rtems-polish.sh: Use the file "VERSION" to detect RTEMS
    toplevel directory, extended usage-message, added variable for perl
    scripts' subdirectory, use "find -print", cipolish support, new options
    -ac -am -ci.
    * aclocal/*.m4, configure.in: moved some AC_SUBST lines to aclocal/*.m4
    (reduces size of configure.in
    scripts, eases splitting configure.in scripts).

    ----------
1999-03-29 21:08:04 +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
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
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
06fa582130 Patches from Ralf Corsepius <corsepiu@faw.uni-ulm.de> and myself to
make solaris target buildable.

    > 1.  The ipc check fails since solaris does not define union semun.
    > The unix port code actually defines this type itself on solaris.  Doing
    > the same thing lets it get configured.  Then...

    > 2.  It looks like BSDINSTALL is not defined properly.

    BSDINSTALL is defined in make/host.cfg.in as
    BSDINSTALL=@INSTALL@

    @INSTALL@ is generated by autoconf's standard macro AC_PROG_INSTALL, which
    is widely used in almost any autoconf/automake configured package. In case
    there is really something wrong with it, then it must be considered a bug
    in autoconf.

    I can see a doubious fragment in AC_PROG_INSTALL, which is used when no
    appropriate bsd-install is found.

Finally Ralf saw a problem with the find on solaris which I also saw and
fixed.
1998-08-19 12:56:20 +00:00
Joel Sherrill
f95d2b53f2 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. Comments:
* Added support for bsd "install" ($(BSDINSTALL)) to host.cfg.in, i.e.
    the standard "install" program that most packages (including automake)
    use. In Makefiles outside of rtems, "install" normally is referenced by
    $(INSTALL), but rtems already uses $(INSTALL) for install-if-change,
    hence I used $(BSDINSTALL) instead to keep up backward compatibility.

    * Removed references to @GREP@ etc. from host.cfg.in, as configure.in
    doesn't check for them (Minor cleanup).

    * Added installation flags INST*FLAGS to host.cfg.in, which should
    replace -m XXXX flags for installation calls.

    *Changes to gcc.cfg to enable it to build host programs from multiple
    sources files.
    Should not disturb existing sources, but neccessary.

    * There was a not-so-minor bug in the configuration files: "make
    install" and "make debug_install" don't work in all subdirectories!! I
    tried to fix this by adding "install" to MTARGETS in main.cfg, which
    seems to solve most of the problems. But there still seem to be rare (?)
    cases where "make debug_install" still seems to have problems.

    * Changes to many host related tool-Makefiles to demonstrate the
    abilities of INST*FLAGS, BSDINSTALL and the new rules in gcc.cfg.
    ..of cause ... but BSDINSTALL is THE standard method to install files
    in most program packages besides rtems. This part of the patch fixes
    some minor protection setting problems, but doesn't support
    TARGET_VARIANTS

    NOTE:
    I hope you will like the BSDINSTALL, INST*FLAGS stuff. It is a step to
    get rid of "install-if-change" and to rely on a more standard
    installation procedure. If you don't like BSDINSTALL, removing it from
    the patch isn't  difficult-  just grep for BSDINSTALL and replace
    BSDINSTALL with INSTALL or MKDIR.


    FINALLY:
    I still have another patch pending (well, not a complete patch yet, it's
    a partial patch to demonstrate the principle), which adds automatic
    rebuilding of files generated by autoconf/configure. At the moment I
    don't dare to submit it, because integrating this patch would require to
    modify all Makefile.ins because we'd need to add a new "include " line
    to each Makefile.in.
1998-07-17 15:49:12 +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
6f9c75c322 Ralf Corsepius reported a number of missing CVS Id's:
> RTEMS is under CVS control and has been since rtems 3.1.16 which was
  > around May 1995.  So I just to add the $Id$.  If you notice other files
  > with missing $Id$'s let me know.  I try to keep w\up with it.

  Now that you have asked -- I'll attach a list of files lacking an RCS-Id to
  this mail. This list has been generated by a little sh-script I'll also
  enclose.
1998-01-16 16:56:48 +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
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
Joel Sherrill
ac7d5ef06a Initial revision 1995-05-11 17:39:37 +00:00