Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms
On Fri, Jun 13, 2003 at 06:02:02PM -0500, Manoj Srivastava wrote:
> On Fri, 13 Jun 2003 18:20:37 -0400, Daniel Jacobowitz <dan@debian.org> said:
>
> > On Thu, Jun 12, 2003 at 08:40:47PM -0500, Manoj Srivastava wrote:
> >> On Thu, 12 Jun 2003 15:22:17 -0400, Daniel Jacobowitz
> >> <dan@debian.org> said:
> >>
> >> >> You need to read up on your standards. The language called C is
> >> >> defined by only one authoritative standard.
> >> >> ----------------------------------------------------------------------
> >> >> ISO/IEC 9899:1999 (E) (C)ISO/IEC
> >> >>
> >> >> Contents ix
> >> >>
> >> >> 5 This second edition cancels and replaces the first edition,
> >> >> ISO/IEC 9899:1990, as amended and corrected by ISO/IEC
> >> >> 9899/COR1:1994, ISO/IEC 9899/AMD1:1995, and ISO /IEC
> >> >> 9899/COR2:1996.
> >> >>
> >> >> ----------------------------------------------------------------------
> >> >>
> >> >> Thus, I need have no such qualifiers when talking abouit
> >> >> conforming C implmentations.
> >>
> >> > Given the real-world deployment of probably at least a dozen
> >> > major OSs which were 9899:1990 conformant and predate the
> >> > 9899:1999 standard, I'd say that's a pretty useless point of
> >> > view.
> >>
> >> OOh, I am blinded by the cogency of your arguments.
> >>
> >> C99 is over 3 years old.
>
> > And still not fully implemented. Unstable only switched to a
> > compiler with minimal C99 support some months ago. GCC has no
> > roadmap for implementing the remaining C99 features so it may be
> > years before they are available on free operating systems.
>
> And? You seem to be implying (incorrectly), that flex requires
> more of C99 than is already present in Debian and a post 2.95
> gcc. The new flex has been compiled, and has all the test suites
> succesfully compile, on all 11 architectures Debian supports.
>
> >> For ancient platforms, use flex-old.
> >>
> >> Anyway, you are certainly entitled to your opinion, and you can do
> >> whatever you want with your packages and your code.
>
> > I am somewhat distressed that the version of flex provided with
> > Debian (I am assuming from the discussion) will not be usable for
> > cross-platform development without constant care to use flex-old
> > instead. We've finally persuaded binutils and GCC to move into the
> > era of C90 source. I don't think we'll see C99 widely enough
> > supported to write portable software using it until 2008 at least.
>
> Again you raise a strawman. Flex comes with a plethora of
> tests, and all the tests have always been passed. Flex works with all
> 11 architectures that comprise debian (we have a mysterious test
> failure on the most recent m68k run, though I think it may have more
> to do with the new gcc there than anything else).
>
> Now, if you have any concrete objections as to why flex does
> not work in Debian, please feeel free to point them out. If you
> merely want to grumble about how flex may not work until 2008,
> without providing a basis for such grumplings, I am sure I can't help
> you there.
You have missed my point. I am quite aware that flex-generated lexers
will continue to work on all Debian platforms. But until C99 is much
more mature than it is today, many other significant platforms will not
have a C99-compatible compiler - even to the degree of including
<stdint.h>. Therefore Debian becomes more awkward for cross-platform,
portable development. Not useless, because of flex-old, but certainly
more awkward; I will not be able to build Debian packages which require
a recent flex in the same root in which I build cross-platform
software.
Certainly you have not broken Debian; but I maintain that this
short-sightedness does damage Debian's usefulness as a development
platform, for all those targets which many more practical developers
must support in order to do their jobs.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: