85 | | |
86 | | |
87 | | ==== Strawberry Perl ==== |
88 | | As 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. |
89 | | |
90 | | After 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: |
91 | | {{{ |
92 | | LINKFLAGS = -L=C:\strawberry\c\lib -L=C:\strawberry\c\lib\gcc\mingw32\3.4.5 |
93 | | |
94 | | LDFLAGS = -Wl,-L=C:\strawberry\c\lib -Wl,-L=C:\strawberry\c\lib\gcc\mingw32\3.4.5 |
95 | | }}} |
96 | | This 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: |
97 | | {{{ |
98 | | copy C:\strawberry\c\bin\ld.exe |
99 | | copy C:\strawberry\c\bin\gcc.exe |
100 | | copy C:\strawberry\c\libexec\gcc\mingw32\3.4.5\cc1.exe |
101 | | copy C:\strawberry\c\libexec\gcc\mingw32\3.4.5\cc1plus.exe |
102 | | copy C:\strawberry\c\lib\dllcrt1.o |
103 | | |
104 | | copy C:\strawberry\c\lib\dllcrt2.o |
105 | | copy C:\strawberry\c\lib\gcc\mingw32\3.4.5\crtbegin.o |
106 | | copy C:\strawberry\c\lib\gcc\mingw32\3.4.5\crtend.o |
107 | | copy C:\strawberry\c\lib\crt1.o |
108 | | copy C:\strawberry\c\lib\crt2.o |
109 | | }}} |
110 | | This allows libraries and parrot.exe to build when you finally run "ming32-make". But not everything builds... |
111 | | |
112 | | It 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. |