On Mon Dec 10 08:52:27 2007, [EMAIL PROTECTED] wrote: > Marton Papp has successfully compiled Parrot with LLVM on Windows with > mingw-make (it's failing 18 tests, which is impressively low for a first > run on a new compiler). Below is his summary of the steps he followed. > I'd like to extract the changes he made for the configuration system. > > -------- Original Message -------- > Subject: Re: hi! LLVM and parrot > Date: Mon, 10 Dec 2007 14:33:46 +0100 > From: [EMAIL PROTECTED] > > [...] > I used this file to compile it > 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-gcc.exe > --ld=E:\llvm\bin\llvm-gcc.exe > > > > I changed the makefile in the directory > where there is line CUR_DIR = . > I changed it for full path of the current directory. > (Otherwise ./mini_parrot caused in error) > In my case, > It became CUR_DIR = E:\extracted\parrot-0.5.0 > > and ran mingw-make > Then make stopped. > I moved into the directory, it just left. > Changed these files/ > In dynpmc.pl > I changed last line of partial_link_cmd. > return > "$LD ". > '-o ' . $target . " " . > join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources) . > " $PATHQUOTE$LIBPARROT$PATHQUOTE $liblist $LDFLAGS $LD_LOAD_FLAGS "; > > and changed this:our $LIBPARROT = q[]; for our $LIBPARROT = q[-lparrot] > > continued make by mingw-make... > > The make failed again , then.... > > I changed parrot-0.5.0\tools\build\dynoplibs.pl > I inserted these lines (copied them from tools\build\dynpmc.pl) : > # Also note that we may need to look in the Parrot blib directory. > if ($CC =~ /gcc/i) { > $liblist .= qq{ -Wl,-L "E:/extracted/parrot-0.5.0/blib/lib"}; > } > else { > $liblist .= qq{ /LIBPATH:"E:/extracted/parrot-0.5.0/blib/lib"}; > } > > I changed last lines of partial_link_cmd in dynpmc.pl > (something similar to this) > > return > "$LD ". > '-o ' . $target . " " . > join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources) . > " $liblist $LDFLAGS $LD_LOAD_FLAGS "; > > The explanation: remove $PATHQUOTE$LIBPARROT$PATHQUOTE so that > unreferenced symbol do not occur.. > I did something similar in the code it is not worth duplicating it here. > > I changed $extraLibs in dynoplibs.pl inpartial_link_cmd > for $extraLibs = '-lparrot .. > I added -lparrot at the beginning.... > > I went into directory just failed. I ran make. > Then I want back to the main make. > I ran it. > > Marton Papp >
All tests pass on Debian/x86 with --cc=llvm-gcc --link=llvm-gcc --ld=llvm-gcc passed to Configure.pl . If someone can confirm that Configure.pl is similarly smart on Windows, this ticket can be closed.