From: Reini U. <ru...@x-...> - 2010-07-16 10:28:18
|
2010/7/16 Arseny Slobodyuk <am...@ic...>: > just my experience with cygwin build. First, I forgot to set the > 'CYGWIN=winsymlinks' setting which we discussed here at the end of > march. This prevented me from mingw build. Second, there is a problem > with grep: when making makevars in /boot with (simplified) cygwin has a new, faster symlink files, which are not supported by mingw nor by clisp, but by the underlying cygwin libc only. clisp supports the old winsymlinks .lnk files, so clisp supports all. But mingw build tools will fail. > $(GREP) -v '^FILES=' ../makevars > makevars > > there are two types of line terminators in a row, i.e. each line ends by 0d 0d > 0a. This results in this Yes, this asks for trouble. Using the old textformat CRLF is not supported anymore, you may only create a mount point for this dir with the text option. But bash and most of the coreutils do not support it anymore. > make[1]: Entering directory `/cygdrive/e/clisp-cvs/cygwclisp/bu12/readline' > make[1]: Nothing to be done for `clisp-module'. > make[1]: Leaving directory `/cygdrive/e/clisp-cvs/cygwclisp/bu12/readline' > -I/cygdrive/e/clisp-cvs/libsigsegv/i686-pc-cygwin/include -I/cygdrive/e/clisp-c > -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing > -declarations -Wno-sign-compare -Wno-format-nonliteral -O2 -fexpensive-optimizat > -I/cygdrive/e/clisp-cvs/cygwclisp/bu12/linkkit -c modules.cNAMIC_MODULES -I. > ./clisp-link: line 105: $'gcc\r': command not found > ./clisp-link: failed in /cygdrive/e/clisp-cvs/cygwclisp/bu12/base > make: *** [base] Error 1 > > This happens with any DOS-terminated file and -v option of grep, may > be reproduced from command line. > > Cygwin installer has no line terminator setting anymore, it seems > that the setting is DOS. > So, the builddir/makevars created being > DOS-line-terminated. This cannot be. Default is now unix eol. Only via mount you may create textmode translation, but I rather think a mingw tool created those files. > grep version is 2.5.4. Grep 2.3 on my other machine outputs just 0d's > at line ends (although cygwin line term. setting there is > DOS). So, grep 2.3 is ok. grep 2.3 is pre cygwin-1.7 where we did the switch. > sed '/^FILES=/ d' ../makevars >makevars > instead of grep expression above works fine. > > There are only grep-2.5.4-1 and grep-2.5.4-2 on my favorite cygwin server, > they both do this. You may try setup-legacy.exe to update your old cygwin-1.5 installation where CRLF is still supported. But better get rid of the textmode files under cygwin. -- Reini Urban |