This is the mail archive of the
mailing list for the newlib project.
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
may be different.
I am just saying that you need to address how to build the code
from the portability of the code itself. Big distinction.
> 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