Hi, I think this is a great idea to include this. Thank you for suggesting that the include files be placed under /usr/include/pcre to help keep things nice and clean:) Will this be compiled with the Sun Studio compilers? Also, do we need a 64bit version of the libraries? I know that most libraries are 32bit. Just thought the question should be asked.
Octave --- Bart Smaalders <bart.smaalders at Sun.COM> wrote: > I'm sponsoring the attached fast-track for Stefan Teleman. > The requested binding is patch/micro release, and the > stability levels are as noted in the document. > > Materials are in the case directory. > > This case times out on 3/28/2007. > > - Bart > > -- > Bart Smaalders Solaris Kernel Performance > barts at cyber.eng.sun.com http://blogs.sun.com/barts > > Including PCRE with Solaris > > Stefan Teleman <Stefan.Teleman at Sun.COM> > 15 March 2007 > > 1. Summary and motivation > > The inclusion of PHP5 has created a number of external library > dependency requirements. One of these dependencies is PCRE > [Perl-Compatible Regular Expressions] [1] [3]. > > According to PCRE's Home Page, "The PCRE library is a set of > functions that implement regular expression pattern matching > using the same syntax and semantics as Perl 5. PCRE has its own > native API, as well as a set of wrapper functions that correspond > to the POSIX regular expression API." [1] [2] > > PCRE is used by many open source projects, including Apache, PHP, > KDE, Postfix, Nmap, etc. The inclusion of PCRE in Solaris would > facilitate the integration of other open source projects depending > on PCRE. PCRE was originally written by Philip Hazel at Cambridge > University, UK. > > This FastTrack case proposes the integration of PCRE in Solaris. > > PCRE is an Open Source project, and is developed outside of SMI. > As such, the SFW Consolidation is the natural choice for PCRE > integration. > > This case seeks Micro/Patch Release Binding. > > 2. Technical issues > > 2.1. Key objects. > > /usr/bin/pcregrep > /usr/bin/pcretest > /usr/bin/pcre-config > > /usr/lib/libpcre.so.0.0.1 > /usr/lib/libpcre.so.0 -> libpcre.so.0.0.1 > /usr/lib/libpcre.so -> libpcre.so.0.0.1 > > /usr/lib/libpcrecpp.so.0.0.0 > /usr/lib/libpcrecpp.so.0 -> libpcrecpp.so.0.0.0 > /usr/lib/libpcrecpp.so -> libpcrecpp.so.0.0.0 > > /usr/lib/libpcreposix.so.0.0.0 > /usr/lib/libpcreposix.so.0 -> libpcreposix.so.0.0.0 > /usr/lib/libpcreposix.so -> libpcreposix.so.0.0.0 > > /usr/include/pcre/pcre.h > /usr/include/pcre/pcre_scanner.h > /usr/include/pcre/pcre_stringpiece.h > /usr/include/pcre/pcrecpp.h > /usr/include/pcre/pcrecpparg.h > /usr/include/pcre/pcreposix.h > > The original PCRE implementation installs header files under the > ${PREFIX}/include location. For the purpose of Solaris integration, > we propose to change the default header file installation location > to /usr/include/pcre/*.h. The motivation for this change is > avoidance > of namespace pollution in /usr/include. > > /usr/share/man/man1/pcregrep.1 > /usr/share/man/man1/pcretest.1 > /usr/share/man/man3/pcre.3 > > 2.2. Functionality > > PCRE implements library calls allowing Perl-like regular expression > pattern matching from within C or C++. Prior to PCRE, > Perl-compatible > regular expressions and pattern matching were not available outside > of Perl itself. > > PCRE's core functionality is provided by two executables [pcregrep > and pcretest] and three shared libraries: libpcre.so.0.0.1, > libpcrecpp.so.0.0.0 and libpcreposix.so.0.0.0. > > Key aspecs of PCRE's functionality are discussed below. > > pcregrep is a variant of grep which supports Perl-compatible re's. > > pcretest is a test harness program. It enables testing of RE pattern > matching, without having to recompile a program. > > libpcre.so.0.0.1 implements the Perl-Compatible portion of PCRE. > Perl > Regular Expressions [perlre] are an implementation of Kleene Algebra > applied to free text. Perl RE's differ from traditional UNIX RE or > POSIX RE in their pattern matching syntax, by adding significantly > more operators and operator modifiers to their algebra. PERL RE's > inherit from UNIX and POSIX RE. > > libpcreposix.so.0.0.0 implements the POSIX-Compatible portion of > PCRE. > POSIX RE's extend the UNIX RE operator set, and simplify somewhat > pattern matching syntax rules. > > libpcrecpp.so.0.0.0 is the C++ wrapper library around > libpcre.so.0.0.1 > and libpcreposix.so.0.0.0. libpcrecpp.so implements two Classes: > class RE and class RE_Options. These classes do not implement any > additional functionality than what is provided by libpcre.so.0.0.1 > and libpcreposix.so.0.0.0. > > 3. Interfaces > > 3.1. Interface Stability > > PCRE is an Open Source project [1], developed and maintained > external > to SMI. PCRE makes no promises or guarantees about API or ABI > compatibility between releases. Moreover, there have been several > known cases of ABI breakage between different PCRE releases. > > 3.2. Imported interfaces > > libpcre.so.0.0.1 and libpcreposix.so.0.0.0 imports Standard C > Library > Interfaces. libpcrecpp.so.0.0.0 imports Standard C++ Library > Interfaces, and depends on libCrun.so.1 and libCstd.so.1. No network > library interfaces, or any other Solaris interfaces, are used by > PCRE. > > NAME STABILITY NOTES > > C++ 5.3 Committed LSARC/2001/284 > > 3.3. Exported interfaces > > NAME STABILITY NOTES > > SUNWpcre Uncommitted Package name > > /usr/bin/pcregrep Uncommitted Executable location > /usr/bin/pcretest Uncommitted Executable location > > /usr/lib/libpcre.so.0.0.1 Uncommitted Shared library > /usr/lib/libpcre.so.0 Uncommitted Symbolic link > /usr/lib/libpcre.so Uncommitted Symbolic link > > /usr/lib/libpcreposix.so.0.0.0 Uncommitted Shared library > /usr/lib/libpcreposix.so.0 Uncommitted Symbolic link > /usr/lib/libpcre.so Uncommitted Symbolic link > > /usr/lib/libpcrecpp.so.0.0.0 Uncommitted Shared library > /usr/lib/libpcrecpp.so.0 Uncommitted Symbolic link > /usr/lib/libpcrecpp.so Uncommitted Symbolic link > > /usr/share/man/man1/pcregrep.1 Uncommitted Manual Page > /usr/share/man/man1/pcretest.1 Uncommitted Manual Page > /usr/share/man/man3/pcre.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_compile.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_compile2.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_config.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_copy_named_substring.3 Uncommitted > Manual > Page > /usr/share/man/man3/pcre_copy_substring.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_dfa_exec.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_exec.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_free_substring.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_free_substring_list.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_fullinfo.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_get_named_substring.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_get_stringnumber.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_get_stringtable_entries.3 Uncommitted > Manual Page > /usr/share/man/man3/pcre_get_substring.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_get_substring_list.3 Uncommitted Manual > Page > /usr/share/man/man3/pcre_info.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_maketables.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_refcount.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_study.3 Uncommitted Manual Page > /usr/share/man/man3/pcre_version.3 Uncommitted Manual Page > /usr/share/man/man3/pcreapi.3 Uncommitted Manual Page > /usr/share/man/man3/pcrebuild.3 Uncommitted Manual Page > /usr/share/man/man3/pcrecallout.3 Uncommitted Manual Page > /usr/share/man/man3/pcrecompat.3 Uncommitted Manual Page > /usr/share/man/man3/pcrecpp.3 Uncommitted Manual Page > /usr/share/man/man3/pcrematching.3 Uncommitted Manual Page > /usr/share/man/man3/pcrepartial.3 Uncommitted Manual Page > /usr/share/man/man3/pcrepattern.3 Uncommitted Manual Page > /usr/share/man/man3/pcreperform.3 Uncommitted Manual Page > /usr/share/man/man3/pcreposix.3 Uncommitted Manual Page > /usr/share/man/man3/pcreprecompile.3 Uncommitted Manual Page > /usr/share/man/man3/pcresample.3 Uncommitted Manual Page > /usr/share/man/man3/pcrestack.3 Uncommitted Manual Page > > 7. References > > [1] http://www.pcre.org/ > [2] http://www.unix.org/version3/ieee_std.html > [3] http://www.perl.com/doc/manual/html/pod/perlre.html > > === message truncated ===> _______________________________________________ > opensolaris-arc mailing list > opensolaris-arc at opensolaris.org *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Octave J. Orgeron Solaris Systems Engineer http://www.opensolaris.org/os/community/sysadmin/ http://unixconsole.blogspot.com unixconsole at yahoo.com *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* ____________________________________________________________________________________ Now that's room service! Choose from over 150,000 hotels in 45,000 destinations on Yahoo! Travel to find your fit. http://farechase.yahoo.com/promo-generic-14795097
