This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.

 

ATTRIBS.BND

dllpatch


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]