Changes between Version 2 and Version 3 of Platforms/Windows

Show
Ignore:
Timestamp:
01/24/09 01:04:41 (13 years ago)
Author:
tshinnic
Comment:

current build workaround for 0.9.0 and Strawberry Perl on Windows

Legend:

Unmodified
Added
Removed
Modified
  • Platforms/Windows

    v2 v3  
    9797 
    9898The NCI postgresql test will fail because of the wrong pg.dll name. Everything else should pass. 
     99 
     100 
     101==== Strawberry Perl ==== 
     102As of January 2009, Parrot 0.9.0 and Strawberry Perl 5.10.0.3 play well together, but some workarounds are needed.  The Makefile built by Configure.pl needs two changes, and some files need to be copied from the Strawberry Perl c directories into the Parrot build directory.  The below assumes that you let Strawberry Perl install in its choice of directory. 
     103 
     104After you have generated Makefile by using "perl Configure.pl", but before the first attempt at "ming32-make", edit the Makefile file and change the existing empty make lines to: 
     105{{{ 
     106LINKFLAGS   = -L=C:\strawberry\c\lib -L=C:\strawberry\c\lib\gcc\mingw32\3.4.5 
     107 
     108LDFLAGS     = -Wl,-L=C:\strawberry\c\lib -Wl,-L=C:\strawberry\c\lib\gcc\mingw32\3.4.5 
     109}}} 
     110This allows various build steps to find libraries they would otherwise miss.  However, updating this doesn't cure all the missed files.  To do that you need to copy selected files from Strawberry Perl's C / mingw32 directories to the Parrot build directory, like so: 
     111{{{ 
     112copy C:\strawberry\c\bin\ld.exe  
     113copy C:\strawberry\c\bin\gcc.exe 
     114copy C:\strawberry\c\libexec\gcc\mingw32\3.4.5\cc1.exe 
     115copy C:\strawberry\c\libexec\gcc\mingw32\3.4.5\cc1plus.exe 
     116copy C:\strawberry\c\lib\dllcrt1.o 
     117 
     118copy C:\strawberry\c\lib\dllcrt2.o 
     119copy C:\strawberry\c\lib\gcc\mingw32\3.4.5\crtbegin.o 
     120copy C:\strawberry\c\lib\gcc\mingw32\3.4.5\crtend.o 
     121copy C:\strawberry\c\lib\crt1.o 
     122copy C:\strawberry\c\lib\crt2.o 
     123}}} 
     124This allows libraries and parrot.exe to build when you finally run "ming32-make".  But not everything builds... 
     125 
     126It falls apart at the step of trying to build  pbc_to_exe.exe  because that step builds its own gcc execution command line parameters and assumes all C include files will be in ./include under the build directory.