Commit Graph

7 Commits

Author SHA1 Message Date
Joel Sherrill
67077a1b46 Patches rtems-rc-4.5.0-1.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>
that addresses the following:

    * Duplicate variables in Makefiles (many Makefile.ams below c/src/test
      are affected systematically)
    * Erroniously using local.am instead of host.am in host-Makefile.am
      (Only host Makefile.ams should be affected; Erroniously using local.am
      in host-Makefiles doesn't desturb much)
    * use '.' instead of '$pwd' in ./bootstrap (using $pwd does not work if
      $pwd is a symlink on linux).
    * Broken CVS Ids somewhere
    * Removing redundant/obsolete make variables from *.cfg files.

  Except of the last item from the list above, most parts of this patch
  are fairly harmless, sometimes even cosmetical.

  As mentioned before, this patch also contains a new ampolish script.

  This script features:
    * Pretty printing of Makefile.ams (eg. removal of trailing spaces,
      removal of duplicate empty lines, pretty printing make variables, etc.).

    * Some syntactical checks on the contents of Makefiles.am
    * Proper handling of Automake conditionals

  FYI:
    * Applying tools/update/rtems-polish.sh -am completely reformats all
      Makefile.am resulting into a very large (~500k) diff.
    * Applying tools/update/rtems-polish.sh -am twice, finally does not
      reformat the Makefile.ams anymore.
    * Many parts of the patch above result from merging back issues which
      have shown when applying this new ampolish (i.e. partially result from
      extracting the essentials of reformating being proposed by applying it
      on Makefile.ams).

    Though this ampolish is a very nice tool, IMHO, I am hestitant if you
    should apply (i.e. run tools/update/rtems-polish.sh -am) it to the
    sources before the release, because
      * the resulting diff is fairly large
      * I am not 100% sure it doesn't break anything.

    However, applying it after the release would result into compatibility
    problems in applying patches ;)

    I would suggest that you might consider trying it locally, then to
    examine the diff and then to decide whether to apply it in general or
    not.

Joel's Comments:

As Ralf points out, this patch is problematic in that applying it before
a release could break things but applying it afterwards will result in
patches being unusable for Makefiles.  My inclination is to forge ahead
and apply it.
2000-03-21 17:11:40 +00:00
Joel Sherrill
a110b68252 Part of automake VI patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
> 2) rtems-rc-19990131-1.diff
>
> Rework of compilers/*.cfg files (esp. gcc-target-default.cfg) to adapt
> the flags/makefile variables to automake and make standards (cf.
> make.info - implicit rules/variables).
>
> This patch is rather risky and may probably break things, but is an
> essential step towards automake.
>
> FWIW: It also reverts the i386-ASMFLAGS/ASFLAGS-patch, which was wrong,
> as I had to experience ;-.
1999-02-18 17:55:49 +00:00
Joel Sherrill
98100d275f Monstrous patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. I have
made no attempt to divide the comments up and place them with just
the appropriate files.  Here is an excerpt from Ralf's email:

Changes including comments on changes I made after cycling through
all the targets:

  * Added ranlib support. Now all targets use "ranlib" instead of "ar -s"
    to build an index for a library. If ranlib isn't detected during
    configuration, check if ar -s is working and try "ar -s" instead of

  * Removed $(XXX_FOR_TARGET) from make/target.cfg.in, use $(XXX) instead now.

  * gcc-target-default.cfg: LINK_XXXX-defines reworked to solve the -l
    problem under posix (cf gcc-target-default.cfg)

  * rtems-glom replaced by Makefile-rules inside of the wrapup/Makefile.in
    that has been using rtems-glom until now.

  * Removed CCC and friends in gcc-target-default.cfg, as they have been
    breaking CXX support.

  * Removed CONFIG.$(TARGET_ARCH).CC lines from several custom/*.cfg
    files, because this is now set in custom/default.cfg.

  * Added aclocal/ar-s.m4, check whether "ar -s" is working

  * Added aclocal/cygwin.m4 and aclocal/exeext.m4.

  * Reworked aclocal/canonicalize-tools.m4: Added ar -s check; fixes for
    problems when  XXX_FOR_TARGET is given via environment variables (didn't
    work for gcc until now), adding cygwin check, improved autoconf-cache
    handling.

  * Removed -l from make rule dependencies. LINK_LIBS is now allowed to
    contain -L and -l. LINK_OBJS and LINK_FILES must not contain -L or -l.
    gcc28 make-exe rules now link using $(LINK_OBJS) $(LINK_LIBS) => Almost
    all custom/*.cfg are modified. This is very likely to break something
    because of typos or having missed to edit a file.

  Open problems, known bugs, things I didn't do:

  * custom/p4000.cfg seems to be out of date and requires to be reviewed.

    (JRS NOTE: It is subordinate p4650 and p4600 -- both of which build ok
               after minor changes.)

  * custom/psim.cfg needs to be reviewed, I added some changes to it, I am
    insecure about.

    (JRS NOTE: psim had a minor problem endif/endef swapped but runs fine.)

  * rtems-glom.in can now be removed.

  * gcc*.cfg files "make depend" rules don't honor language specific flags
    (e.g CXXFLAGS is ignored for *.cc) - Nothing to worry about now, but may
    cause problems for hosts/targets not using gcc or rtems-add-ons that use
    external packages.

  * AFAIS, the no_bsp BSP can't be build anymore, i.e. configure refused
    to configure for it whatever I tried.

  * The toplevel and toplevel+1 README files are quite out-dated

  * cygwin.m4 isn't of much use for rtems. In most cases (cf.
    aclocal/*.m4) it is worked around by directly using $host_os. I think
    I'll remove it soon after the next snapshot

  * Before release the cygwin patch needs to be tested under cygwin. I may
    have broken/missed something (esp. the sed-pattern to convert \\ into /
    may be broken).

  * You should try to build/run the posix-BSP under solaris - I don't
    expect problems, but I am not 100% sure, esp. with regard to ranlib/ar -s.

  * You should consider to convert all make/compilers/*.cfg files into
    make/compilers/*.cfg.in files and let autoconf generate the *.cfg. This
    may help getting rid of some if/then/else statements and help
    hard-coding some defines into those files in future and shouldn't
    disturb now.

  * Not having installed libc.a/libm.a on a host may still break building
    rtems, esp. when using -disable-gcc28 as the gcc27-configuration scheme
    directly accesses libc.a and libm.a. The problem should not appear when
    using gcc28 because it references libc/libm only through -lc and -lm
    which may be static or dynamic (I didn't test this).

  * shgen is not yet included (I didn't yet have enough time to integrate it).

  * I know about a few more configure-probs (esp. cross-checking
    --enable-* flags).
     + warn/refuse to configure when --enable-libcdir and
       --enable-gcc28 are given.
     + force --enable-libcdir when --disable-gcc28 is given

  * Replaced KSHELL with @KSH@ in some shell scripts generated by configure.in.

  * Added a dependency to aclocal/*.m4 in the toplevel Makefile => configure
    and aclocal.m4 will now be rebuild when any aclocal/*.m4 file is changed

  * Some changes to aclocal/gcc-pipe.m4 and aclocal/gcc-specs.m4

  * Replaced i[[3456]]86-unknown-freebsd2.[[12]] with i[[3456]]86-*freebsd2.*
    in configure.in, as I suppose there might exist a variety of valid vendors
    (2nd field of the name-tripple)

  * Disabled override MAKEFLAGS in toplevel Makefile.in - Potential
    side-effects are not really clear to me.

  * In mvme162.cfg, $(LINK_LIBS) is missing in the CC line in gcc28's make-exe
    rule (yet another one I missed to edit). Just append $(LINK_LIBS) to
    the "CC" line, like I hopefully did to ALL other custom/*.cfg files.

  * the problem with mvme162lx.cfg is a follow-up problem of the
    mvme162.cfg-bug.

  * mvme162/console and idp/console had variables named Buffer which
    conflicted with similarly named variables in some tests.
1998-06-27 17:09:47 +00:00
Joel Sherrill
092940bdc4 Purged references to STACK_CHECKER_REPORT_USAGE 1998-04-06 17:09:44 +00:00
Joel Sherrill
a5cb6730b0 Reordered CFLAGS definition so CFLAGS_DEFAULT is before
CFLAGS_$(TARGET_VARIANTS).  This makes sure that -Wall appears
before any individual warnings are disabled during "debug" builds.
1998-04-06 16:26:53 +00:00
Joel Sherrill
5d1ea96d42 added -Wno-unused to debug flags 1998-02-17 20:42:10 +00:00
Joel Sherrill
bffb938799 Removed PROJECT_HOME and CONFIG_DIR variables. 1998-01-20 19:30:30 +00:00