Re: crummy build process for FastCGI-integrated Perl
Rujith S. de Silva (desilva@ind70.industry.net)
Tue, 18 Jun 1996 11:19:33 -0400
Message-Id: <31C551CF.2781E494@ind70.industry.net>
Date: Tue, 18 Jun 1996 11:19:33 -0400
From: "Rujith S. de Silva" <desilva@ind70.industry.net>
To: Mark Brown <mbrown@openmarket.com>
Subject: Re: crummy build process for FastCGI-integrated Perl
Mark Brown wrote:
> Also I am *very* unhappy about the perl build process - making a new
> perl for fastcgi is a real bitch! Particularly as your build process
> did not work on our Sun (SunOS 4.1.3 patches) system so I had to do a
> lot of hacking around, then to find that the extra cflags broke the
> Configure test programs, so other things didn't work (ie no signal
> names!). I eventually configured as normal (no fastcgi changes),
> then edited config.sh (at the prompt) and added the cflags, ldflags &
> libs entries, and changed the stdio settigs (std stdio and base etc
> entries - all together in config.sh) to undef. This worked and
> tested OK.
I ended up doing exactly the same thing, and it worked fine thereupon for the last three
releases of the fcgi-devel-kit on both SunOS and Solaris.
http://www.fastcgi.com/kit/doc/fcgi-perl.htm gives three `recipes' for building perl, and
essentially, one has to combine sections from all three recipes. Maybe you could update
that page to mention the `combined' recipe, as follows:
Unpack the tar file in the parent directory of the FastCGI kit directory, so that the
directories perl5.002 and fcgi-devel-kit are siblings.
Copy the version specific and the common files from fcgi-devel-kit/perl-5 into the
Perl-5 kit.
> cd perl5.002
> mv perl.c perl.c.orig
> mv proto.h proto.h.orig
> mv Configure Configure.orig
> cp -r ../fcgi-devel-kit/perl-5/perl5.002/* .
> cp -r ../fcgi-devel-kit/perl-5/common/* .
Go into the top level directory of the Perl distribution and run Configure.
Edit config.sh at the shell escape in Configure:
cc
Change to use gcc if you are not using it already.
ccflags AND cppflags
Add the following flags:
-I$fcgi/include
-include $fcgi/include/fcgi_stdio.h
This assumes you are using GCC. See the above section on assumptions
extensions AND known_extensions
Add FCGI to the list of extensions
ldflags
Add -L $fcgi/libfcgi to the list.
libs
Add -lfcgi to the list of libraries, should be added before -lc.
static_ext or dynamic_ext
Add FCGI to the list of statically or dynamically loaded extensions.
d_stdio_cnt_lval, d_stdio_ptr_lval, d_stdiobase, d_stdstdio
Change all of these to undef.
Complete the run of Configure.
Later,
Rujith.