Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-18 Thread Manoj Srivastava
On Mon, 16 Jun 2003 22:55:53 -0400, Neil Roeth [EMAIL PROTECTED] said: 

 On Jun 13, Daniel Jacobowitz ([EMAIL PROTECTED]) wrote:
 On Fri, Jun 13, 2003 at 06:02:02PM -0500, Manoj Srivastava wrote:
  On Fri, 13 Jun 2003 18:20:37 -0400, Daniel Jacobowitz
  [EMAIL PROTECTED] 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
   [EMAIL PROTECTED] 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.

 I think this is an excellent point.  I can think of many times when
 I've done development work in Debian and ported the result to
 Solaris, IRIX or HPUX.  It is, of course, not a requirement for
 Debian that this be easy, but the easier it is, the more convincing
 the argument for integrating Debian into a mixed *nix environment,
 for everyone from developers to CIOs.

Fine. You can then still choose to use flex-old (of course,
 any C++ scanners you have shall fail to work with gcc 3.3, and even
 for C scanners all bets are off wrt new compilers). 


Or you can use the new flex, and get scanners that require
 conforming implementations.

Debian offers you the cjoice -- since there is none which is
 unequivocally better.

manoj
-- 
We all agree on the necessity of compromise.  We just can't agree on
when it's necessary to compromise. --Larry Wall in
[EMAIL PROTECTED]
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E

Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-18 Thread Neil Roeth
On Jun 18, Manoj Srivastava ([EMAIL PROTECTED]) wrote:
  On Mon, 16 Jun 2003 22:55:53 -0400, Neil Roeth [EMAIL PROTECTED] said: 
   On Jun 13, Daniel Jacobowitz ([EMAIL PROTECTED]) wrote:
   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.
  
   I think this is an excellent point.  I can think of many times when
   I've done development work in Debian and ported the result to
   Solaris, IRIX or HPUX.  It is, of course, not a requirement for
   Debian that this be easy, but the easier it is, the more convincing
   the argument for integrating Debian into a mixed *nix environment,
   for everyone from developers to CIOs.
  
   Fine. You can then still choose to use flex-old (of course,
   any C++ scanners you have shall fail to work with gcc 3.3, and even
   for C scanners all bets are off wrt new compilers). 
  
   Or you can use the new flex, and get scanners that require
   conforming implementations.
  
   Debian offers you the cjoice -- since there is none which is
   unequivocally better.

I was addressing the more general short-sightedness point, not the specific
flex issue.  I suppose I could have stated that explicitly.  [package] works
with all 11 architectures that comprise debian is short sighted if there is
significant value to cross platform development, where cross platform means
Debian to non-Debian, not Debian arch to other Debian arch.

-- 
Neil Roeth




Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-17 Thread Herbert Xu
Alan Shutko [EMAIL PROTECTED] wrote:
 
 Huh?  POSIX is the same as SUSv3 now?  They used to be separate.

http://lwn.net/Articles/15697/
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt




Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-16 Thread Manoj Srivastava
On Mon, 16 Jun 2003 13:22:24 +1000, Herbert Xu [EMAIL PROTECTED] said: 

 Manoj Srivastava [EMAIL PROTECTED] wrote:

 I can understand the unease. But consider this: POSIX is already
 over a decade old; and it standardized practices that were

 SuSv3 aka POSIX was released one year ago. 

And changed nothing in the Lex definitions. As I said, we are
 dealing with decades old design.

manoj
-- 
Time flies like an arrow.  Fruit flies like a banana.
Manoj Srivastava   [EMAIL PROTECTED]  http://www.debian.org/%7Esrivasta/
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C




Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-16 Thread Herbert Xu
Manoj Srivastava [EMAIL PROTECTED] wrote:
 
 SuSv3 aka POSIX was released one year ago. 
 
And changed nothing in the Lex definitions. As I said, we are
 dealing with decades old design.

Hmm you must've missed section 1.1 :)

The entire document is aligned with ISO/IEC 9899: 1.  There is no
requirement that lex generates code that is accepted by c89.

But of course this has no bearing on whether a particular implementation
chooses to be backwards compatible or not.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt




Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-16 Thread Alan Shutko
Herbert Xu [EMAIL PROTECTED] writes:

 SuSv3 aka POSIX was released one year ago.

Huh?  POSIX is the same as SUSv3 now?  They used to be separate.

-- 
Alan Shutko [EMAIL PROTECTED] - I am the rocks.
Looking for a developer in St. Louis? http://web.springies.com/~ats/
Ten animals I slam in a net




Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-16 Thread Neil Roeth
On Jun 13, Daniel Jacobowitz ([EMAIL PROTECTED]) wrote:
  On Fri, Jun 13, 2003 at 06:02:02PM -0500, Manoj Srivastava wrote:
   On Fri, 13 Jun 2003 18:20:37 -0400, Daniel Jacobowitz [EMAIL PROTECTED] 
   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
[EMAIL PROTECTED] 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.

I think this is an excellent point.  I can think of many times when I've done
development work in Debian and ported the result to Solaris, IRIX or HPUX.  It
is, of course, not a requirement for Debian that this be easy, but the easier
it is, the more convincing the argument for integrating Debian into a mixed
*nix environment, for everyone from developers to CIOs.

-- 
Neil Roeth




Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms

2003-06-15 Thread Herbert Xu
Manoj Srivastava [EMAIL PROTECTED] wrote:
 
I can understand the unease. But consider this: POSIX is
 already over a decade old; and it standardized practices that were

SuSv3 aka POSIX was released one year ago.
-- 
Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmVHI~} [EMAIL PROTECTED]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt