Commit Graph

48 Commits

Author SHA1 Message Date
Joel Sherrill
6ee6abb40d Added C++ rule.
Added CROSS_TARGET conditionals so unix port can share this file.
1998-05-18 16:38:38 +00:00
Joel Sherrill
60fa630576 Added RTEMS_CROSS_TARGET. 1998-05-18 16:37:50 +00:00
Joel Sherrill
7123d3b77f Modified objcopy to remove extra sections.
Modified gcc 2.8 style link rule to provide start address correctly.
1998-05-04 13:19:29 +00:00
Joel Sherrill
3d4e5906dd Changed default target architecture name 1998-04-30 16:45:55 +00:00
Joel Sherrill
5f92a6a38c Modified objcopy invocation to ignore more sections. 1998-04-30 16:45:08 +00:00
Joel Sherrill
96d56b3690 Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt>. 1998-04-27 18:42:04 +00:00
Joel Sherrill
0e70f60581 Fixes from Ralf Corsepius:
* Posix BSP configuration: Moved some rules from make/custom/*-posix.cfg
      files to make/custom/posix.cfg, Removed references to stdc++ from
      *posix.cfg files (rtems doesn't use/need libstdc++)

    NOTE: Building Posix-BSPs should now work again for native compilation with
    gcc, i..e. linux using primary compiler and primary libc.
    All Posix-BSP configurations that don't use gcc as primary compiler or
    don't use the primary libc don't work, e.g. solaris, linux w/ egcs as
    secondary compiler won't be built correctly.
1998-04-27 14:21:55 +00:00
Joel Sherrill
c1dc8228ca Removed forced enable of POSIX API. Now follow configuration flag. 1998-04-27 14:21:04 +00:00
Joel Sherrill
21c1513f40 Fixed bad CVS Id string.
Removed unnecessary definition of "ED".
1998-04-27 14:20:25 +00:00
Joel Sherrill
b3d3a34edd Stack checker now enabled via initial set of user extensions. This
eliminates the need to build the entire application with the
STACK_CHECKER_ON macro defined.
1998-04-15 15:10:47 +00:00
Joel Sherrill
4381e50e1e Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg 1998-04-14 22:44:49 +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
1504f71edf Stack checker on 1998-04-14 21:33:20 +00:00
Joel Sherrill
92e15e08c2 Updates from PPC refresh 1998-04-14 21:32:56 +00:00
Joel Sherrill
b0562e7465 new file 1998-04-14 19:54:38 +00:00
Joel Sherrill
092940bdc4 Purged references to STACK_CHECKER_REPORT_USAGE 1998-04-06 17:09:44 +00:00
Joel Sherrill
1ea9c3f4a5 Purged references to STACK_CHECKER_REPORT_USAGE 1998-04-06 16:33:48 +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
9d07e59d55 Changed CPU model to mcpu32. 1998-04-06 15:55:37 +00:00
Joel Sherrill
5fafa0e2a6 Added test so the build procedure would stop if a directory did not exist.
This typically indicates a bug in a directory level Makefile or a configure
scrip bug.
1998-04-03 18:46:16 +00:00
Joel Sherrill
55258b4acd Fixed CUSTOM_FILES rule so it properly picked up files included from
make/custom files.
1998-03-31 16:52:32 +00:00
Joel Sherrill
c5fcc75ec9 Made the POSIX API option follow the configure line. 1998-03-30 14:05:03 +00:00
Joel Sherrill
26580ff1ee Made the HAS_POSIX_API follow the configure line option. 1998-03-30 14:04:44 +00:00
Joel Sherrill
de0d00512f Made the C++ option follow the configure option. 1998-03-30 14:04:20 +00:00
Joel Sherrill
cbf2f54333 Made HAS_POSIX_API have a "no" definition when it is not enabled. 1998-03-30 14:03:59 +00:00
Joel Sherrill
83997e2ff3 Made C++ follow the configure option. 1998-03-30 14:03:34 +00:00
Joel Sherrill
e6c92eefbd Changed RTEMS cpu to hppa1.1. 1998-03-24 18:44:40 +00:00
Joel Sherrill
526ebe88a8 Added rule to transform hppa1.1 to hppa1_1 since hppa1.1 is not a
valid cpp symbol.
1998-03-24 18:44:25 +00:00
Joel Sherrill
3ec7bfc7c4 Rename hppa1_1 to hppa1.1 and switched to using __XXX__ macros for
the CPU family name constants.
1998-03-24 16:24:39 +00:00
Joel Sherrill
e4829a055d renamed ppc to powerpc 1998-03-23 22:54:55 +00:00
Joel Sherrill
61bbe54311 Update from Eric Norum:
Here are some patches to the gen68360 BSP.  The improvements include:
        Boot prom run-time selection of DRAM size (1/4/16 Mbytes)
        Full 32-bit ethernet address obtained from boot prom.
        Updated README.
1998-03-23 18:35:07 +00:00
Joel Sherrill
db4aaf8d59 Patch from Eric Norum <eric@skatter.usask.ca>:
I've included a version of make/custom/gen68360.cfg that works with
    this.  Note that I've removed the option of using `-m68020
    -msoft-float -mno-bitfield' as an alternative to using `-mcpu32'.
    The alternative won't work with the new system (since it predefines
    __mc68020__ and not __mcpu32__), and didn't really work before anyway
    (since the newlib that gets linked was built with `-m68020
    -msoft-float' and so could contain bitfield operators).
1998-03-20 17:39:56 +00:00
Joel Sherrill
f8b27df985 New port from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1998-03-20 17:20:45 +00:00
Joel Sherrill
aa24c61b74 Fixed MANAGERS_NOT_WANTED. 1998-03-20 16:30:51 +00:00
Joel Sherrill
d2865dceeb Fix from Chris Johns for inconsistent invocation of make. 1998-03-16 13:52:11 +00:00
Joel Sherrill
96c73abbc2 Patch from Eric Norum:
While trying to work through this problem I decided that the
  build-time selection of the console I/O operation (polling or
  interrupt) was too clumsy.  Here's a patch that allows run-time
  (actually init-time) selection of the console I/O mode.

  It also shows the need for another `flags' or `options'  field in
  the rtems_driver_address_table structure...
1998-02-19 23:02:16 +00:00
Joel Sherrill
73249891c8 Went back to polled console. 1998-02-18 20:30:53 +00:00
Joel Sherrill
5d1ea96d42 added -Wno-unused to debug flags 1998-02-17 20:42:10 +00:00
Joel Sherrill
ac61209b11 Added unused warning per discussion on rtems-snapshots list. 1998-02-17 19:16:18 +00:00
Joel Sherrill
e81ef51bf1 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
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.

  2) configure.in: gcc28 support is enabled by default, i.e. if no
  --enable-gcc28 option is passed on the command line. I am not sure if this
  is intentional.

  IMO, AC_ARG_ENABLE for --enable-gcc28 should look like:

  AC_ARG_ENABLE(gcc28, \
  [  --enable-gcc28                   enable use of gcc 2.8.x features], \
  [case "${enableval}" in
    yes) RTEMS_USE_GCC272=no ;;
    no) RTEMS_USE_GCC272=yes ;;
    *)  AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;;
  esac],[RTEMS_USE_GCC272=yes])

  3) At the end of c/src/exec/score/cpu/m68k/m68k.h
  > #ifdef __cplusplus
  > }
  > #endif
  >
  > #endif /* !ASM */
  in my opinion these two statements should be swapped:
  > #endif /* !ASM */
  >
  > #ifdef __cplusplus
  > }
  > #endif

  I didn't try to compile for m68k, but does't this give an error? Is it
  compensated somewhere else - or didn't I look carefully enough?

  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),

  6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly
  contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't
  make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I
  submitted the contents of an old aclocal-directory last time. - Sorry.

  7) For sh-rtems, we currently need to add additional managers to
  MANAGERS_REQUIRED (from inside of custom/*.cfg). Currently MANAGERS_REQUIRED
  is defined in make/compilers/*.cfg. This  seems to prevent overriding
  MANAGERS_REQUIRED from custom/*.cfg files - Obviously the files are included
  in such a way that the settings from compilers/*cfg always override settings
  from custom/*.cfg files.

  Furthermore, I think, defining MANAGERS_* inside gcc-<target>.cfg files is
  not correct - MANAGERS are not gcc-variant-dependent, but depend
  on targets/bsps and therefore should be defined in a bsp/target dependent
  file, e.g. in custom/*.cfg or target.cfg.in.

  I think defining default settings for MANAGERS* in custom/default.cfg could
  be an appropriate location. But this requires all custom/*.cfg files to
  include default.cfg, which *-posix.cfg files don't seem to do.

  Therefore I would like propose to move MANAGERS* to target.cfg.in - they are
  included by all custom/*.cfg files. Perhaps we/you should use this
  opportunity to merge parts from custom/default.cfg into target.cfg.in. This
  ensures to have the setting included once per target makefile and will open
  the opportunity to have autoconf doing additional work on
  bsp-configurations.



  Peanuts sofar, ... but here it comes ... (:-)

  8) I am preparing a major enhancement to autoconf support for
  gnutools/compilers. It is not yet finished, but usable and I'll therefore
  attach a preliminary version to this mail.

  Motivation:
  * Fix problems with --enable-gcc28, if target-cc is not gcc28 compatible
  * Fix -pipe problems
  * Fix problems with hard-coded paths in configuration files (esp. posix)
  * Fix consistency problems with explictly given gnutools and gcc's gnutools

  Currently included:
  * detection and checking of host and target compiler (gcc/g++)
  * checking if target gnutools are in path
  * checking if <target>-gcc -specs works (autodisabling gcc28 if not)
  * checking if <target>-gcc -pipe works

  Todo :
  * *posix.cfg files are not yet adapted => The hard-coded paths for these
  systems are still in use.
  * Check if the host compiler $CC is properly propagated to the Makefiles (I
  doubt it, but this should not matter)
  * Check if rtems' generic tools still work properly (It looks like, but who
  knows)
  * Integrate CXX support into default.cfg or gcc-target-default.cfg (It looks
  like C++ support is only used by posix BSPs)
  * Automatically handle RANLIB/MKLIB  for targets
  *  Plenty ...  (:-)

  Open problems:
  * Untested for non-gcc compatible host and target compilers. This  should be
  no problem if the tools are named follow gnutool's naming convention and are
  included in $PATH while running configure.
  * Intentionally using different tools than that gcc has been configured for,
  e.g. use a different assembler ? This should be still possible if
  XX_FOR_TARGET is hard-coded into custom/*.cfg. I don't see why anybody
  should want to do this, but who knows?

  I have tested this version on linux and solaris hosts, with gcc's
  directories mounted at weird non-standard mount points, using egcs
  (linux/sh-rtemscoff), gcc-2.7.2.2 using native tools (solaris), gcc-2.7.2.3
  w/ gnutools (solaris/linux). I don't expect it to break anything, but of
  cause I can't promise it. It will break most/all *-posix.cfg configuration
  almost for certain, but not more as rtems' current *posix.cfg configurations
  already do (hard-coded configurations).

  I am not sure if this is ready to be included into the next snapshot or not.
  Perhaps you might try this on your systems and if it you don't notice
  serious bugs you might put it into the snapshot for public testing (I don't
  like this, but I don't see another possiblity to test generality).

  I enclose a patch for configure.in and some configuration files which
  comprizes fixes for all items mentioned except of #3 . Don't forget to run
  "aclocal -I aclocal; autoconf;" after applying the patch (:-).
1998-02-17 14:12:01 +00:00
Joel Sherrill
aa8a8c726b Patch from Ralf Corsepius <corsepiu@@faw.uni-ulm.de>:
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.

  2) configure.in: gcc28 support is enabled by default, i.e. if no
  --enable-gcc28 option is passed on the command line. I am not sure if this
  is intentional.

  IMO, AC_ARG_ENABLE for --enable-gcc28 should look like:

  AC_ARG_ENABLE(gcc28, \
  [  --enable-gcc28                   enable use of gcc 2.8.x features], \
  [case "${enableval}" in
    yes) RTEMS_USE_GCC272=no ;;
    no) RTEMS_USE_GCC272=yes ;;
    *)  AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;;
  esac],[RTEMS_USE_GCC272=yes])

  3) At the end of c/src/exec/score/cpu/m68k/m68k.h
  > #ifdef __cplusplus
  > }
  > #endif
  >
  > #endif /* !ASM */
  in my opinion these two statements should be swapped:
  > #endif /* !ASM */
  >
  > #ifdef __cplusplus
  > }
  > #endif

  I didn't try to compile for m68k, but does't this give an error? Is it
  compensated somewhere else - or didn't I look carefully enough?

  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),

  6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly
  contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't
  make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I
  submitted the contents of an old aclocal-directory last time. - Sorry.

  7) For sh-rtems, we currently need to add additional managers to
  MANAGERS_REQUIRED (from inside of custom/*.cfg). Currently MANAGERS_REQUIRED
  is defined in make/compilers/*.cfg. This  seems to prevent overriding
  MANAGERS_REQUIRED from custom/*.cfg files - Obviously the files are included
  in such a way that the settings from compilers/*cfg always override settings
  from custom/*.cfg files.

  Furthermore, I think, defining MANAGERS_* inside gcc-<target>.cfg files is
  not correct - MANAGERS are not gcc-variant-dependent, but depend
  on targets/bsps and therefore should be defined in a bsp/target dependent
  file, e.g. in custom/*.cfg or target.cfg.in.

  I think defining default settings for MANAGERS* in custom/default.cfg could
  be an appropriate location. But this requires all custom/*.cfg files to
  include default.cfg, which *-posix.cfg files don't seem to do.

  Therefore I would like propose to move MANAGERS* to target.cfg.in - they are
  included by all custom/*.cfg files. Perhaps we/you should use this
  opportunity to merge parts from custom/default.cfg into target.cfg.in. This
  ensures to have the setting included once per target makefile and will open
  the opportunity to have autoconf doing additional work on
  bsp-configurations.



  Peanuts sofar, ... but here it comes ... (:-)

  8) I am preparing a major enhancement to autoconf support for
  gnutools/compilers. It is not yet finished, but usable and I'll therefore
  attach a preliminary version to this mail.

  Motivation:
  * Fix problems with --enable-gcc28, if target-cc is not gcc28 compatible
  * Fix -pipe problems
  * Fix problems with hard-coded paths in configuration files (esp. posix)
  * Fix consistency problems with explictly given gnutools and gcc's gnutools

  Currently included:
  * detection and checking of host and target compiler (gcc/g++)
  * checking if target gnutools are in path
  * checking if <target>-gcc -specs works (autodisabling gcc28 if not)
  * checking if <target>-gcc -pipe works

  Todo :
  * *posix.cfg files are not yet adapted => The hard-coded paths for these
  systems are still in use.
  * Check if the host compiler $CC is properly propagated to the Makefiles (I
  doubt it, but this should not matter)
  * Check if rtems' generic tools still work properly (It looks like, but who
  knows)
  * Integrate CXX support into default.cfg or gcc-target-default.cfg (It looks
  like C++ support is only used by posix BSPs)
  * Automatically handle RANLIB/MKLIB  for targets
  *  Plenty ...  (:-)

  Open problems:
  * Untested for non-gcc compatible host and target compilers. This  should be
  no problem if the tools are named follow gnutool's naming convention and are
  included in $PATH while running configure.
  * Intentionally using different tools than that gcc has been configured for,
  e.g. use a different assembler ? This should be still possible if
  XX_FOR_TARGET is hard-coded into custom/*.cfg. I don't see why anybody
  should want to do this, but who knows?

  I have tested this version on linux and solaris hosts, with gcc's
  directories mounted at weird non-standard mount points, using egcs
  (linux/sh-rtemscoff), gcc-2.7.2.2 using native tools (solaris), gcc-2.7.2.3
  w/ gnutools (solaris/linux). I don't expect it to break anything, but of
  cause I can't promise it. It will break most/all *-posix.cfg configuration
  almost for certain, but not more as rtems' current *posix.cfg configurations
  already do (hard-coded configurations).

  I am not sure if this is ready to be included into the next snapshot or not.
  Perhaps you might try this on your systems and if it you don't notice
  serious bugs you might put it into the snapshot for public testing (I don't
  like this, but I don't see another possiblity to test generality).

  I enclose a patch for configure.in and some configuration files which
  comprizes fixes for all items mentioned except of #3 . Don't forget to run
  "aclocal -I aclocal; autoconf;" after applying the patch (:-).
1998-02-17 14:09:30 +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
e44e678b45 Cleaned up the definition of CONSOLE_USE_POLLED and CONSOLE_USE_INTERRUPTS. 1998-02-04 15:47:44 +00:00
Joel Sherrill
594a413fae Fixed so installed Makefile structure work. 1998-02-02 16:55:57 +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
13331814f7 not submitted 1998-01-27 14:14:20 +00:00
Joel Sherrill
2936b425fd Solaris port updates from Chris Johns 1998-01-23 17:45:05 +00:00
Joel Sherrill
bffb938799 Removed PROJECT_HOME and CONFIG_DIR variables. 1998-01-20 19:30:30 +00:00