Patch to Build Dynamic-Lib (DLL) version of perl using gnuwin32 b17.1
I have successfully built a dynamic-lib (dll) version of perl version 5.003_94
using the gnuwin32 tools on windows 95 and windows NT 3.51. This port builds
all extension libs for perl as DLLs.
A patch is attached to this message.
Detailed Instructions:
The following assumes you have the gnuwin32 (version b17.1) package installed
and configured on your system. See http://www.cygnus.com/misc/gnu-win32/ for
details on the gnuwin32 package.
1) Obtain perl5.003_94 (from www.perl.com or CPAN) and extract
to a directory on your system.
2) cd to the path where perl5.003_94 is installed. e.g, if you
installed to /perl5.003_94, then cd to /perl5.003_94.
3) Apply this patch:
patch -p1 < dllpatch
Note: If you have problems with the patch that comes with
the gnuwin32 package, (I have had problems getting it to apply
multiple patches in a single file) try the patch located
at http://www.simtel.net/pub/simtelnet/win95/prog/gpatch2b.zip.
Also, the files pp_sys.c and perl.h that the patch modifies must
be in unix format. If your extraction utility (like winzip) converts
to dos format, change the format of these files back before applying
the patch.
5) Modify the ld2 script
Change the PERLPATH variable to the location you extracted perl.
for example, if you extracted perl to /perl5.003_94, change so
the line looks like:
PERLPATH=/perl5.003_94
4) Copy the two scripts ld2, and gcc2 to a directory in your PATH
environment variable. For example, copy to /bin, assuming /bin is
in your PATH. (These two scripts ld2 and gcc2 are 'wrapper' scripts
that encapsulate the multiple-pass dll building steps used by gnuwin32
ld/gcc.)
5) Run the perl Configuration script as stated in the perl README file;
e.g.
sh Configure
select gnuwin32 at this prompt:
First time through, eh? I have some defaults handy for the following
systems:
.
.
.
Which of these apply, if any?
The defaults should be OK for everything else, except for the specific
pathnames for
the gnuwin32 libs, include files, installation dirs, etc on your system.
Note:
On windows 95, the configuration script only stops every other time
for responses from the command line. In this case you can manually edit
the gnuwin32.sh hint file for your paths, copy hints/gnuwin32.sh to
config.sh,
and run Configure non-interactively using sh Configure -d.
6) Do a make, as stated in the perl README file
7) Do a make test. Some test will fail, but you should get around a
83% OK result. (Most failures seem to be due to unix'ism that
don't apply for win32.)
8) Do a make install. This will fail about 1/2 of the way thru. It appears
that perl can't find itself when it forks because it cd's to another
directory during the install process. You get around this by invoking
the install script using a full pathname for perl. For example, if
perl is extracted to perl5.003_94, do a
'/perl5.003_94/perl installperl'. This should complete the install
process.
p5p-msgid:
199704030821.JAA08762@pluto.tiuk.ti.com