delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/11/20/03:08:28

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Message-ID: <419EFB39.8020005@x-ray.at>
Date: Sat, 20 Nov 2004 09:07:21 +0100
From: Reini Urban <rurban AT x-ray DOT at>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.8a4) Gecko/20040927
MIME-Version: 1.0
To: Peter Rehley <prehley AT mvista DOT com>
CC: Cygwin List <cygwin AT cygwin DOT com>
Subject: Re: flex and dos source files. How is flex built for cygwin
References: <419E499B DOT 4040007 AT mvista DOT com> <6 DOT 1 DOT 0 DOT 6 DOT 0 DOT 20041119143038 DOT 04e7a008 AT pop DOT prospeed DOT net> <419E52C1 DOT 6030604 AT mvista DOT com> <419E5922 DOT 9060501 AT mvista DOT com>
In-Reply-To: <419E5922.9060501@mvista.com>
X-IsSubscribed: yes

Peter Rehley schrieb:
> Peter Rehley wrote:
>> Larry Hall wrote:
>>>> We have a customer that is using flex under a custom version of 
>>>> cygwin that we provided them (with source).  The customer is having 
>>>> problems when their "*.l" files are in dos format.  Flex is taking 
>>>> the lines from the file and adding them into the lex.yy.c file 
>>>> untouched.  (i.e. they still have the \n\r at the end), and this 
>>>> causing problems later on.
>>>>
>>>> I tried using the version of flex that comes with the latest version 
>>>> of cygwin (1.5.12) and flex changes the \n\r to just \n, which makes 
>>>> everything work fine.  Good I thought since the version of flex we 
>>>> provide is not the latest.  I'll just recompile.
>>>>
>>>> But when I tried that with the latest flex (2.5.4a-3) I get the same 
>>>> behavior that the customer is seeing.  I get this behavior even if I 
>>>> compile on the latest version of cygwin.
>>>>
>>>> So, my question is what options are used for building flex?

there's no build script and an inactive maintainer. we don't know. 
hopefully just the standard options.
./configure --prefix=/usr sharedstatedir=/var --mandir=/usr/share/man
make && make install

>>> Linking against /usr/lib/binmode.o perhaps?

He meant that by accident flex was linked against binmode.o, which is 
wrong. It was no advice to reproduce that error with linking against 
binmode or textmount.

>> Tried on cygwin 1.5.12
>> make clean
>> make LDFLAGS="/usr/lib/binmode.o",
>>
>> and
>> make clean
>> make LDFLAGS="-lbinmode"
>>
>> but neither helped

for sure not.

> However linking the /usr/lib/textmode.o did work
> make LDFLAGS="/usr/lib/textmode.o" # <- did the job
> 
> Thanks Larry for pointing me in the right directory :)

Oh god. This was the right direction? Sorry no.

If you open your flex input file in a *textmode mount* \r\n will get 
converted, if you open that in a binmode mount it will not get converted.
$ man mount

So it's entirely a user problem behind the keyboard, and does NOT need a 
changed linker line. Just tell the user to set this mount to textmode, 
so that his DOSEOL will get converted. Or convert the DOSEOL by basic 
commands like unix2dos.

But if you force linking against binmode or textmode, your flex binary 
will do no conversions at all, and will only work on the matching mount 
modes.

This is a pretty basic cygwin FAQ, and I wonder why this needs such a 
long and wrong consideration.
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019