(Updating with 64 bit for libs.)
Hi,
I would like to add FastCGI http://www.fastcgi.com/ (the C library)
to the webstack project The DRAFT Arc case for FastCGI 2.4.0 is available
below. It is also available in the wiki at
http://wikis.sun.com/display/WebStack/FastCGI
Please do share your comments.
rahul
========================================================================
Including FastCGI 2.4.0 with OpenSolaris
16 November 2007
1. Summary and motivation
1.1. Introduction
This FastTrack delivers FastCGI 2.4.0[1] as a component in
sfw stack.
From the FastCGI HomePage [1], "FastCGI is a language independent,
scalable, open extension to CGI that provides high performance without
the limitations of server specific APIs."
This FastTrack proposes the integration of the most recent stable
release of FastCGI 2.4.0,
This case seeks Minor Release Binding.
2. Technical issues
2.1. Key objects
/usr/fcgi/bin/cgi-fcgi
/usr/fcgi/bin/{ISA}/cgi-fcgi
/usr/fcgi/lib/libfcgi.so.0.0.0
/usr/fcgi/lib/libfcgi.so.0
/usr/fcgi/lib/libfcgi.so
/usr/fcgi/lib/libfcgi.la
/usr/fcgi/lib/libfcgi.a
/usr/fcgi/lib/libfcgi++.so.0.0.0
/usr/fcgi/lib/libfcgi++.so.0
/usr/fcgi/lib/libfcgi++.so
/usr/fcgi/lib/libfcgi++.la
/usr/fcgi/lib/libfcgi++.a
/usr/fcgi/lib/{ISA}/libfcgi.so.0.0.0
/usr/fcgi/lib/{ISA}/libfcgi.so.0
/usr/fcgi/lib/{ISA}/libfcgi.so
/usr/fcgi/lib/{ISA}/libfcgi.la
/usr/fcgi/lib/{ISA}/libfcgi.a
/usr/fcgi/lib/{ISA}/libfcgi++.so.0.0.0
/usr/fcgi/lib/{ISA}/libfcgi++.so.0
/usr/fcgi/lib/{ISA}/libfcgi++.so
/usr/fcgi/lib/{ISA}/libfcgi++.la
/usr/fcgi/lib/{ISA}/libfcgi++.a
/usr/fcgi/include/fastcgi.h
/usr/fcgi/include/fcgi_stdio.h
/usr/fcgi/include/fcgiapp.h
/usr/fcgi/include/fcgimisc.h
/usr/fcgi/include/fcgio.h
/usr/fcgi/include/fcgios.h
/usr/fcgi/include/fcgi_config.h
2.2. Versioning
At any point of time there is only one FastCGI release available. The
current release is 2.4.0 (released on 19.Jan.2003)
2.3 Bindings
Many languages provide bindings for FastCGI (popular examples include
Perl, Python, Tcl, Ruby etc). Each of these languages provide the choice
of using either the pure language version or a version linked with
FastCGI library. These (native or pure bindings for the languages) will
have to be installed separately by the user.
2.4 Directory Naming and Structure
The proposed directory layout for FastCGI is
/usr/fcgi/
/bin
/{ISA}
/lib
/{ISA}
/include
The detailed directory and file layout for FastCGI is provided in
Addendum 1.
3. FastCGI Documentation.
The documentation is available at FastCGI site[2]. No documentation
is delivered as part of installation.
4. Packaging and Delivery
The FastCGI is delivered as SUNWfcgi package.
5. FastCGI Interfaces
5.1. Interface Stability
The FastCGI project released the last major version on 19.Jan.2003 and
has not seen a release from that time, while development continues for
mod_fastcgi at the same site (last release 13.Nov.2007).
5.2. Imported Interfaces
FastCGI does not have any dependency other than the core solaris libraries.
5.3. Exported Interfaces
NAME STABILITY NOTES
/usr/fcgi/bin/cgi-fcgi Uncommitted Executable Location
/usr/fcgi/bin/{ISA}/cgi-fcgi Uncommitted Executable Location
/usr/fcgi/lib/libfcgi.so.0.0.0 Volatile Shared Library
/usr/fcgi/lib/libfcgi.so.0 Volatile Shared Library Link
/usr/fcgi/lib/libfcgi.so Volatile Shared Library Link
/usr/fcgi/lib/libfcgi.la Volatile Libtool Text
/usr/fcgi/lib/libfcgi.a Volatile Static Library
/usr/fcgi/lib/libfcgi++.so.0.0.0 Volatile Shared Library
/usr/fcgi/lib/libfcgi++.so.0 Volatile Shared Library Link
/usr/fcgi/lib/libfcgi++.so Volatile Shared Library Link
/usr/fcgi/lib/libfcgi++.la Volatile Libtool Text
/usr/fcgi/lib/libfcgi++.a Volatile Static Library
/usr/fcgi/lib/{ISA}/libfcgi.so.0.0.0 Volatile Shared Library
/usr/fcgi/lib/{ISA}/libfcgi.so.0 Volatile Shared Library Link
/usr/fcgi/lib/{ISA}/libfcgi.so Volatile Shared Library Link
/usr/fcgi/lib/{ISA}/libfcgi.la Volatile Libtool Text
/usr/fcgi/lib/{ISA}/libfcgi.a Volatile Static Library
/usr/fcgi/lib/{ISA}/libfcgi++.so.0.0.0 Volatile Shared Library
/usr/fcgi/lib/{ISA}/libfcgi++.so.0 Volatile Shared Library Link
/usr/fcgi/lib/{ISA}/libfcgi++.so Volatile Shared Library Link
/usr/fcgi/lib/{ISA}/libfcgi++.la Volatile Libtool Text
/usr/fcgi/lib/{ISA}/libfcgi++.a Volatile Static Library
/usr/fcgi/include/fastcgi.h Uncommitted include file
/usr/fcgi/include/fcgi_stdio.h Uncommitted include file
/usr/fcgi/include/fcgiapp.h Uncommitted include file
/usr/fcgi/include/fcgimisc.h Uncommitted include file
/usr/fcgi/include/fcgio.h Uncommitted include file
/usr/fcgi/include/fcgios.h Uncommitted include file
/usr/fcgi/include/fcgi_config.h Uncommitted include file
6. References
[1] http://www.fastcgi.com
[2] http://www.fastcgi.com/devkit/doc
================================================================
Addendum 1: FastCGI Integration Directory and File Structure.
1. The following files are included in the FastCGI integration:
/usr/
fcgi/
bin/
cgi-fcgi
bin/{ISA}/
cgi-fcgi
include/
fastcgi.h
fcgi_stdio.h
fcgiapp.h
fcgimisc.h
fcgio.h
fcgios.h
fcgi_config.h
lib/
libfcgi.so.0.0.0
libfcgi.so.0
libfcgi.so
libfcgi.la
libfcgi.a
libfcgi++.so.0.0.0
libfcgi++.so.0
libfcgi++.so
libfcgi++.la
libfcgi++.a
lib/{ISA}/
libfcgi.so.0.0.0
libfcgi.so.0
libfcgi.so
libfcgi.la
libfcgi.a
libfcgi++.so.0.0.0
libfcgi++.so.0
libfcgi++.so
libfcgi++.la
libfcgi++.a