This is the mail archive of the newlib@sourceware.cygnus.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: TenDRA C and newlib


Pedro Fernando Giffuni wrote:
> 
> I know, it was just an experiment that shows:
> 
> 1) that the configure script expects to use gcc and ONLY gcc.

This is from autoconf (a GNU package) so it should not be a 
surprise that configure works best with the GNU tools.

This applies generally to all packages using GNU autoconf/automake.

> 2) that newlib is not really portable.

We have been through this statement with RTEMS.  Imagine trying to
use a compiler whose primary interface is a GUI with its own packaging
notions.  Even uglier.

The code in newlib/RTEMS is mostly portable.  The build structure is
dependent on a UNIX-ish environment using a command line oriented
compiler much like gcc.  If a particular file uses a GNU extension,
that is a different matter.

Some embedded people find it easier to write a shell script wrapper
that makes a non-GNU toolset look like the GNU equivalent.

> A heads up! for the cygnus maintainers, I guess.

I doubt it. :)

I personally have not tried this but I believe that there is a way to 
override both the compiler and the compiler flags on the command line.
usually something like:

CC=XXX AS=XXX CFLAGS=XXX configure ...

But since this is technically a package for cross-compilation, the
variables
may be different.

I am just saying that you need to address how to build the code
separately
from the portability of the code itself.  Big distinction.


> cheers,
> 
>      Pedro.
> 
> Joel Sherrill wrote:
> >
> > "Pedro F. Giffuni" wrote:
> > >
> > > Hello;
> > >
> > > The README file says I should report bugs on this address, and while the
> > > attached logs are not exactly bugs, they show relevant portability
> > > problems when building with something different from gcc.
> > >
> > > TenDRA C is a compiler with interesting portability features and I did a
> > > simple experiment to see what this strict compiler would find on the
> > > latest version of newlib.
> >
> > It looks to me that that configuration is not right for the build.
> >
> > tcc -DPACKAGE=\"newlib\" -DVERSION=\"1.8.2\"  -I. -I. -O2
> > -DMISSING_SYSCALL_NAMES -I../../targ-include -I.././../libc/include
> > -fno-builtin      -g -c atoi.c
> > "atoi.c", line 1: Error:
> >   [ISO 6.8.2]: Can't open included file, 'no-builtin'.
> >
> > This indicates to me that you are passing -fno-builtin to tcc.  This is
> > a
> > gcc option and apparently causing tcc to preinclude a header file.
> > I can't speak to the other options causing tcc problems.
> >
> > As a secondary issue, I don't know what host/target the tcc you are
> > using is
> > configured for and what you configured newlib for.  It is quite possible
> > that
> > the tcc configuration != the newlib configuration.
> >
> > I think what you are doing could prove interesting but so far you aren't
> > really compiling code yet.  You still have compiler invocation
> > differences
> > to address.
> >
> > --
> > Joel Sherrill, Ph.D.             Director of Research & Development
> > joel@OARcorp.com                 On-Line Applications Research
> > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> >    Support Available             (256) 722-9985

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel@OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]