Commit Graph

64 Commits

Author SHA1 Message Date
Joel Sherrill
579fc6a3a3 Per request from Chris Johns <ccj@acm.org>, I added code to detect
when the bare bsp was enabled without setting both --enable-cpu-model
and --enable-cpu-cflags.
1998-08-13 14:47:18 +00:00
Joel Sherrill
67a2288991 Patch from Eric VALETTE <valette@crf.canon.fr>:
Here is a enhanced version of my previous patch. This patch enables
    to potentially share the new interrupt management code for all Intel targets
    (pc386, go32 and force386) bsp.

    Note :  this patch is complete only for pc386. It still needs to
            be completed for go32 and force386. I carrefully checked
            that anything needed is in for force386 (only some function
            name changes for IDT manipulation and GDT segment
            manipulation). But anyway I will not be able to test any
            of theses targets...
1998-07-23 22:02:34 +00:00
Joel Sherrill
613ab621df Patch from Dario Alcocer <alcocer@connectnet.com> and Ralf Corsepius
<corsepiu@faw.uni-ulm.de> which attempts to detect when the UNIX port
is being configured on a system without System V IPC support.  This
is an optional component on both FreeBSD and Linux systems.  Most
Linux 2.x kernels ship with it enabled but it is still a real risk.

This test may have undesirable side-effects on some hosts.  We will
address those conflicts as they arise.
1998-07-23 19:39:25 +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
57c9bc284e Removed rtems-glom as a generated file. Regenerated aclocal.m4 and configure. 1998-07-07 18:35:01 +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
a5400c06d6 Bare bsp patch from Chris Johns and regenerated files. 1998-06-25 16:21:31 +00:00
Joel Sherrill
9a6994b490 Added freebsd support from Dario Alcocer <alcocer@connectnet.com>. 1998-06-18 15:22:35 +00:00
Joel Sherrill
1388d19eea Regenerated aclocal and configure after cleaning up the check that
a BSP source directory was present to eliminate a chunk of redundant code.
1998-06-04 15:15:08 +00:00
Joel Sherrill
d7c9cbe449 ppc-rtems is now an alias for powerpc-rtems. 1998-06-03 11:22:18 +00:00
Joel Sherrill
550ca7d5e4 hppa1.1 -> hppa1_1 remapping crept back in somehow -- gona again.
Bare BSP is now only enabled when explicitly specified.

Bare BSP options and variables are clearly named so as to be obviously
BSP specific.  This should avoid conflicts.
1998-05-22 12:25:52 +00:00
Joel Sherrill
bd5e4f3baf Added bare bsp from Chris Johns <cjohns@plessey.com.au>. 1998-05-21 18:26:58 +00:00
Joel Sherrill
2efdd08b40 Patch from Ralf Corseipus to fix latent configure problems suddenly triggered:
The breakdown:
        * CC_FOR_TARGET and CXX_FOR_TARGET were not correctly re-read
          from autoconf's configuration cache (config.cache)

        * If <target>-[gcc|g++] was not found while running configure,
          the config macros tried to use other (wrong) compilers (e.g. cc).

    Changes:
        * New RTEMS_PROG_CC macro (aclocal/prog-cc.m4).
        * New RTEMS_PROG_CXX macro (aclocal/prog-cxx.m4)
        * Moved a shell script fragment from configure.in to a
          new m4-autoconf macro (New file: aclocal/tool-prefix.m4)
        * Minor changes to configure.in

    I tested it with linux/posix (native gcc/primary libc) and
    sh-rtems/gensh1 on a linux host and didn't notice any bugs
    related to the problems mentioned above.  There seem to be
    more bugs with the posix bsp, but I consider them minor as
    the build run completed successfully. It is just too late
    for me to attempt to fix them now.
1998-05-20 17:06:57 +00:00
Joel Sherrill
0b767238bc Support bsp_specs style building for linux and solaris. Improved C++
support.
1998-05-18 16:36:09 +00:00
Joel Sherrill
9829978395 Fixed bug where posix tests were not being enabled. 1998-04-27 13:43:46 +00:00
Joel Sherrill
2758c9f20b Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg 1998-04-14 22:13:05 +00:00
Joel Sherrill
70dda0eab9 Patch from Samuel Tardieu <sam@inf.enst.fr> so the messages printed
followed GNU conventions.
1998-04-03 18:02:16 +00:00
Joel Sherrill
42dc81e206 Renamed hppa1_1 to hppa1.1 1998-03-23 23:08:10 +00:00
Joel Sherrill
e4829a055d renamed ppc to powerpc 1998-03-23 22:54:55 +00:00
Joel Sherrill
41f61bcca1 Updated so test tools are installed even when --disable-tests is
specified.  Otherwise a target specific runtest is not installed.
1998-02-19 22:54:14 +00:00
Joel Sherrill
540292a24d Ralf Corsepius pushing us farther down the autconf path:
"Ladies and Gentlement, we proudly present: a roughly hacked autoconf-ed
  rtems-glom.in" (:-)

  BTW, to follow up to the discussion about installation points, rtems-glom in
  its current shape is an ideal example of a target dependent file. If
  bsp-specific configure-scripts would exist, it might also be a bsp-dependent
  file that contains RTEMS_BSP hard-coded (by configure) into it.
1998-02-17 19:23:47 +00:00
Joel Sherrill
3771cc6ee8 Update from Ralf Corsepius:
Yep, I have a bunch of bug-fixes and additions pending (Yet another monster
  patch, ... I can hear you scream :-).

  1) configure.in : one AC_CONFIG_HEADER(...) line too much.

  5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as
  gnu-programs use "cxx" to specify C++ specific configure options, while cpp
  is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf
  internally uses $CXX),
1998-02-17 13:48:43 +00:00
Joel Sherrill
2bb990f0a5 Fixed hppa1.1 configuration. 1998-02-11 21:20:43 +00:00
Joel Sherrill
7a524954fe Change suggested by Ralf Corsepius:
I am not sure if this is related to this problem, but here is an observation:

  All config.sub scripts from rtems' intrastructure packages internally
  transform i386-rtems into i386-pc-rtems

      newlib-1.8.0-rtems/config.sub i386-rtems --> i386-pc-rtems
      egcs-1.0/config.sub i386-rtems ---> i386-pc-rtems
      egcs-1.0.1/config.sub i386-rtems ---> i386-pc-rtems
      bintutils-2.8.1.0.19/config.sub i386-rtems ---> i386-pc-rtems
      gas-98xxxx/config.sub i386-rtems ---> i386-pc-rtems

  The only exception is rtems itself:

      rtems/config.sub i386-rtems ---> i386-rtems

  I am not sure if this influences i386-rtems + c++/posix, but this indicates
  that rtems' config.sub script should to be updated.
  To fix this, simply copying config.sub e.g. from egcs and removing all
  i[3456]-rtems* case statement lines from configure.in should be sufficient.

  BTW, from autoconf's point of view i386-pc-rtems is the correct target
  conforming autoconf's naming conventions, but using i386-rtems for all
  packages (infrastructure and rtems) should make no difference.
1998-02-04 15:54:31 +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
243ce5d741 correction 1998-01-30 20:57:53 +00:00
Joel Sherrill
4a7c0451ad Reverted change ... 1998-01-22 22:46:55 +00:00
Joel Sherrill
ba02475531 Corrected/simplified setting of RTEMS_ROOT. 1998-01-22 15:20:43 +00:00
Joel Sherrill
9ad1f135fa Added autoconf support for strerror/sys_errlist per Ralf Corsepius'
direction.  This fixes a problem reported by Steve Evans of Radstone
since he is using glibc2.
1998-01-21 18:28:09 +00:00
Joel Sherrill
6d6f1b34e1 Fixed libhwapi to reflect eeprom to non volatile memory rename. 1998-01-20 19:30:48 +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
300c8a76ff Added "done" to end of list of BSPs found. 1998-01-15 21:31:37 +00:00
Joel Sherrill
566aea7ddb Fixed code for --disable-rtems-inlines so that it would complete
configuration successfully.

Added code to detect configuring macros and POSIX API at the same time.
There is no macro implementation for the POSIX API.
1998-01-15 20:29:51 +00:00
Joel Sherrill
fcb114c188 Made --enable-gcc28 the default. 1997-12-22 20:33:55 +00:00
Joel Sherrill
6d5769fd35 Added size_rtems as a generated file. 1997-12-22 17:26:19 +00:00
Joel Sherrill
87cec4844b Changed RTEMS_BSP to RTEMS_BSP_LIST. 1997-12-16 18:40:08 +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
80a16ec48d Redid hwapi makefile search to remove need for -follow option to find.
Avoid generating Makefiles for KA9Q and C++ when they are disabled.
1997-12-06 15:44:46 +00:00
Joel Sherrill
744df7952d Added better/more correct support for Linux and Solaris simulators. 1997-12-04 18:38:05 +00:00
Joel Sherrill
ba1a2af91e Fixed test for RTEMS_HAS_POSIX_API so the executive POSIX API related
Makefiles would be properly generated.
1997-12-01 21:27:24 +00:00
Joel Sherrill
b9ca4ba9c9 Even more cleanup to make sure all the --enable/disable options avoid
generating Makefiles where possible.

Added code to make sure make/custom file and bsp directory exist for
configured bsps.  This code also accounts for "aliased" BSPs.
1997-12-01 17:07:52 +00:00
Joel Sherrill
377178181c Serious cleanup to reduce the number of explicitly listed Makefiles,
eliminated autoconf looking for commands which are unused, and reduce the
number of Makefiles generated.
1997-11-30 18:34:11 +00:00
Joel Sherrill
1670eede8b Changes from Ralf Corsepius (corsepiu@faw.uni-ulm.de) to automatically
generate the list of Makefiles in the configure script.
1997-11-29 18:20:04 +00:00
Joel Sherrill
a50148aff1 Merged code from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to generate
the information in the make/os/XYZ.cfg files using autoconf.
1997-11-18 22:29:32 +00:00
Joel Sherrill
208a922cdf Added TOD code for MVME162 BSP from Katsutoshi Shibuya. 1997-10-23 18:46:03 +00:00
Joel Sherrill
ee9669fc37 Added termios test. 1997-10-23 15:09:50 +00:00
Joel Sherrill
8cd3748d70 Removed duplicate listing of install in MTARGETS.
Add monitor test.
1997-09-21 17:44:14 +00:00
Joel Sherrill
39ffc7da6d Use own pdir option was reversed. 1997-08-26 19:25:20 +00:00
Joel Sherrill
c46732c700 Added ppc-rtems as alternative name.
Moved files around in list of Makefile's to better support
--disable-tests option.
1997-08-04 21:41:38 +00:00
Joel Sherrill
3f70e3cb93 Corrected typo where "+ " was pasted in from another window.
Added c/src/lib/libbsp/m68k/mvme162/consolex/Makefile to list.
1997-08-01 20:22:29 +00:00