Hi!
I have started to compile with llvm-g++ and gcc on Windows Xp.
Here it is what I used :
set path=%path%;c:\mingw\bin;D:\extracted\icu2\icu\bin
e:
cd e:\extracted\parrot-0.5.0\bin
perl configure.pl --cc=E:\llvm\bin\llvm-gcc.exe
--cxx=E:\llvm\bin\llvm-g++.exe --link=E:\llvm\bin\llvm-g++.exe
--ld=E:\llvm\bin\llvm-g++.exe
After compiling the (mingw)make stopped with
an error it could not run ./miniparrot.exe
Bug 1.
I fixed this by changing CUR_DIR in the generated makefile
It looks like miniparrot.exe cannot be run unless CUR_DIR is equal to
the real current dir
(in my case, it is E:\extracted\parrot-0.5.0)...
I am not sure how to fix this in the configurator or else...
Bug 2...
Then make could continue
but it stopped with a compilation error in parrot-0.5.0\src\dynpmc
llvc-g++ did not like that command line ended with "".
I mean I saw this:
E:\llvm\bin\llvm-g++.exe -o dynlexpad.dll "dynlexpad.o" -lkernel32
-luser32 -lg
di32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32
-lnetapi32 -l
uuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt
-Wl,-L "E:/e
xtracted/parrot-0.5.0/blib/lib" -L"d:\m\perl\lib\CORE" -mdll
-L"d:\m\perl\lib\
CORE" ""
It turned out that "" is supposed to be -lparrot ... Missing lib in
E:\extracted\parrot-0.5.0\tools\build\dynpmc.pl
I cannot compile dll yet... even if I add -lparrot because I get errors
Bug 3
I get these errors:
E:\extracted\parrot-0.5.0\src\dynpmc>E:/extracted/parrot-0.5.0/tools/build/dynpm
c.pl linklibs dynlexpad
E:\llvm\bin\llvm-g++.exe -o dynlexpad.dll "dynlexpad.o" -lkernel32
-luser32 -lg
di32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32
-lnetapi32 -l
uuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lmsvcrt
-Wl,-L "E:/e
xtracted/parrot-0.5.0/blib/lib" -L"d:\m\perl\lib\CORE" -mdll
-L"d:\m\perl\lib\
CORE" "-lparrot"
E:/extracted/parrot-0.5.0/blib/lib/libparrot.a(io_win32.o): In function
`PIO_win
32_init':
E:\extracted\parrot-0.5.0/src/io/io_win32.c:276: undefined reference to
`WSAStar
[EMAIL PROTECTED]'
E:\extracted\parrot-0.5.0/src/io/io_win32.c:278: undefined reference to
`WSAGetL
[EMAIL PROTECTED]'
E:/extracted/parrot-0.5.0/blib/lib/libparrot.a(io_win32.o): In function
`PIO_soc
kaddr_in':
E:\extracted\parrot-0.5.0/src/io/io_win32.c:641: undefined reference to
`inet_ad
[EMAIL PROTECTED]'
E:\extracted\parrot-0.5.0/src/io/io_win32.c:646: undefined reference to
`gethost
[EMAIL PROTECTED]'
E:\extracted\parrot-0.5.0/src/io/io_win32.c:657: undefined reference to
[EMAIL PROTECTED]
'
E:/extracted/parrot-0.5.0/blib/lib/libparrot.a(io_win32.o): In function
`PIO_win
32_socket':
E:\extracted\parrot-0.5.0/src/io/io_win32.c:686: undefined reference to
`socket@
12'
E:/extracted/parrot-0.5.0/blib/lib/libparrot.a(io_win32.o): In function
`PIO_win
32_connect':
E:\extracted\parrot-0.5.0/src/io/io_win32.c:727: undefined reference to
`connect
@12'
E:\extracted\parrot-0.5.0/src/io/io_win32.c:729: undefined reference to
`WSAGetL
[EMAIL PROTECTED]'
E:/extracted/parrot-0.5.0/blib/lib/libparrot.a(io_win32.o): In function
`PIO_win
32_send':
It looks like lib -lws2_32 is not linked though it is specified...
I could not find this lib in llvm\lib dir..
2 bugs in configuration, 1 bug (missing lib ws2_32 in llvm)
Regards
Marton Papp