[LLVMdev] LLVM on Windows (cygwin?)

Chris Lattner sabre at nondot.org
Sat May 1 07:42:01 PDT 2004

On Sat, 1 May 2004, Anthony Evans wrote:

> I was wondering whether anyone has attempted to port LLVM to windows
> running with a POSIX layer, such as cygwin?

I know that Brian once got the LLVM CVS core compiled under Cygwin, but I
don't recall how well it worked.  I thought he had the JIT running, but I
might be wrong.

> I recently tried to build and run llvm on cygwin, and I got the llvm tools
> working. There were a few problems in the configure script, namely the
> mmap test fails due to MAP_FIXED not working on windows (all other mmap()
> stuff works), which I simply commented out since its not used by llvm.

Okay, sounds good.

> I could not get the gcc frontend to build:
> /home/tony/llvm/gcc-fe/cfrontend/build/gcc/xgcc
> -B/home/tony/llvm/gcc-fe/cfrontend/build/gcc/
> -B/home/tony/llvm/gcc-fe/cfrontend/build/i686-pc-cygwin/bin/
> -B/home/tony/llvm/gcc-fe/cfrontend/build/i686-pc-cygwin/lib/ -isystem
> /home/tony/llvm/gcc-fe/cfrontend/build/i686-pc-cygwin/include -isystem
> /home/tony/llvm/gcc-fe/cfrontend/build/i686-pc-cygwin/sys-include -O2
> -I../../src/gcc/../winsup/w32api/include -I../../src/gcc/../winsup/include
> -I../../src/gcc/../winsup/cygwin/include -DIN_GCC    -W -Wall
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
> ./include   -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I.
> -I../../src/gcc -I../../src/gcc/. -I../../src/gcc/../include  -DL_chkstk
> -xassembler-with-cpp -c ../../src/gcc/config/i386/cygwin.asm -o
> libgcc/./_chkstk.o
> gccas: /tmp/ccSFlVhW.s:1: syntax error, unexpected $undefined
> /tmp/ccSFlVhW.s:1:  while reading token: '#'
> Which seems to be a libgcc problem.
> Any ideas where to start digging for more information on how to port the
> gcc frontend to cygwin?

Noone to my knowledge has tried compiling the C front-end on cygwin, so
you may run into problems like this.  Here's a patch that I think should
fix this specific problem:

> GCC natively build and runs happily on cygwin, however, it seems that with
> the gcc FE using gccas rather than as breaks the build due to some x86 asm
> being used as part of the build.

Yes, when porting the C front-end to a new target, there are often lots of
little wierd tweaks like this to the build that have to be put in.  :(  If
you run into any other problems, please let me know.



More information about the llvm-dev mailing list