Pcre

From CBLFS
Revision as of 23:08, 16 December 2006 by Jim (talk | contribs)
Jump to navigationJump to search
Download Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.bz2

Introduction to PCRE

The PCRE package contains Perl Compatible Regular Expression libraries. These are useful for implementing regular expression pattern matching using the same syntax and semantics as Perl 5.

Dependencies

Non-Multilib

Configure and compile the package:

./configure --prefix=/usr --enable-utf8 &&
make

Install the package:

make install &&
install -v -m755 -d /usr/share/doc/pcre-8.34/html &&
install -v -m644 doc/html/* /usr/share/doc/pcre-8.34/html &&
install -v -m644 doc/{Tech.Notes,*.txt} /usr/share/doc/pcre-8.34

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib/libpcre.so.* /lib/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ")
ln -sf ../../lib/$LIBNAME /usr/lib/libpcre.so 

Command Explanations

--enable-utf8: This switch includes the code for handling UTF-8 character strings in the library.

Multilib

32Bit

Configure and compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" ./configure --prefix=/usr --enable-utf8 &&
make

Install the package:

make install &&
mv -v /usr/bin/pcre-config{,-32}

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib/libpcre.so.* /lib/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ") &&
ln -sf ../../lib/$LIBNAME /usr/lib/libpcre.so 

N32

Configure and compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" ./configure --prefix=/usr --enable-utf8 --libdir=/usr/lib32 &&
make

Install the package:

make install &&
mv -v /usr/bin/pcre-config{,-n32}

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib32/libpcre.so.* /lib32/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ") &&
ln -sf ../../lib32/$LIBNAME /usr/lib32/libpcre.so 

64Bit

Configure and compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" ./configure --prefix=/usr --enable-utf8 --libdir=/usr/lib64 &&
make

Install the package:

make install &&
mv -v /usr/bin/pcre-config{,-64} &&
ln -s multiarch_wrapper /usr/bin/pcre-config &&
install -v -m755 -d /usr/share/doc/pcre-8.34/html &&
install -v -m644 doc/html/* /usr/share/doc/pcre-8.34/html &&
install -v -m644 doc/{Tech.Notes,*.txt} /usr/share/doc/pcre-8.34

If you reinstall Grep after installing PCRE, Grep will get linked against PCRE and may cause problems if /usr is a separate mount point. To avoid this, either pass the option --disable-perl-regexp when executing ./configure for Grep or move libpcre to /lib as follows.

mv -v /usr/lib64/libpcre.so.* /lib64/ &&
LIBNAME=$(cat libpcre.la | grep dlname | cut -f2 -d"'" | cut -f1 -d" ") &&
ln -sf ../../lib64/$LIBNAME /usr/lib64/libpcre.so 

Contents

Installed Programs: pcregrep, pcretest, and pcre-config
Installed Libraries: libpcre.{so,a}, libpcrecpp.{so,a} and libpcreposix.{so,a}
Installed Directories: /usr/share/doc/pcre-8.34

Short Descriptions

pcregrep is a grep that understands Perl compatible regular expressions.
pcretest can test a Perl compatible regular expression.
pcre-config is used during the compile process of programs linking to the PCRE libraries.