Few more PCRE to PCRE2 changes
This commit is contained in:
parent
15515f390c
commit
f8e4a5cc25
8 changed files with 37 additions and 37 deletions
|
|
@ -281,12 +281,12 @@ You must use <a href="http://www.gnu.org/software/make/">GNU make</a> to build a
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<a href="http://www.pcre.org/">PCRE</a>
|
<a href="http://www.pcre.org/">PCRE2</a>
|
||||||
needs to be installed on your system to build SWIG, in particular
|
needs to be installed on your system to build SWIG, in particular
|
||||||
pcre2-config must be available. If you have PCRE headers and libraries but not
|
pcre2-config must be available. If you have PCRE2 headers and libraries but not
|
||||||
pcre2-config itself or, alternatively, wish to override the compiler or linker
|
pcre2-config itself or, alternatively, wish to override the compiler or linker
|
||||||
flags returned by pcre-config, you may set PCRE2_LIBS and PCRE2_CFLAGS variables
|
flags returned by pcre2-config, you may set PCRE2_LIBS and PCRE2_CFLAGS variables
|
||||||
to be used instead. And if you don't have PCRE at all, the configure script
|
to be used instead. And if you don't have PCRE2 at all, the configure script
|
||||||
will provide instructions for obtaining it.
|
will provide instructions for obtaining it.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ General Options
|
||||||
-oh <headfile> - Set name of C++ output header file for directors to <headfile>
|
-oh <headfile> - Set name of C++ output header file for directors to <headfile>
|
||||||
-outcurrentdir - Set default output dir to current dir instead of input file's path
|
-outcurrentdir - Set default output dir to current dir instead of input file's path
|
||||||
-outdir <dir> - Set language specific files output directory to <dir>
|
-outdir <dir> - Set language specific files output directory to <dir>
|
||||||
-pcreversion - Display PCRE version information
|
-pcreversion - Display PCRE2 version information
|
||||||
-small - Compile in virtual elimination and compact mode
|
-small - Compile in virtual elimination and compact mode
|
||||||
-swiglib - Report location of SWIG library and exit
|
-swiglib - Report location of SWIG library and exit
|
||||||
-templatereduce - Reduce all the typedefs in templates
|
-templatereduce - Reduce all the typedefs in templates
|
||||||
|
|
@ -2022,8 +2022,8 @@ and a more descriptive one, but the two functions are otherwise equivalent:
|
||||||
<td>String after (Perl-like) regex substitution operation. This function
|
<td>String after (Perl-like) regex substitution operation. This function
|
||||||
allows applying arbitrary regular expressions to the identifier names. The
|
allows applying arbitrary regular expressions to the identifier names. The
|
||||||
<i>pattern</i> part is a regular expression in Perl syntax (as supported
|
<i>pattern</i> part is a regular expression in Perl syntax (as supported
|
||||||
by the <a href="http://www.pcre.org/">Perl Compatible Regular Expressions (PCRE)</a>)
|
by the <a href="http://www.pcre.org/">Perl Compatible Regular Expressions</a>)
|
||||||
library and the <i>subst</i> string
|
(PCRE2 library) and the <i>subst</i> string
|
||||||
can contain back-references of the form <tt>\N</tt> where <tt>N</tt> is a digit
|
can contain back-references of the form <tt>\N</tt> where <tt>N</tt> is a digit
|
||||||
from 0 to 9, or one of the following escape sequences: <tt>\l</tt>, <tt>\L</tt>,
|
from 0 to 9, or one of the following escape sequences: <tt>\l</tt>, <tt>\L</tt>,
|
||||||
<tt>\u</tt>, <tt>\U</tt> or <tt>\E</tt>. The back-references are replaced with the
|
<tt>\u</tt>, <tt>\U</tt> or <tt>\E</tt>. The back-references are replaced with the
|
||||||
|
|
|
||||||
|
|
@ -258,7 +258,7 @@ cd pcre2
|
||||||
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=C:/pcre .
|
cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX=C:/pcre .
|
||||||
cmake --build . --config Release --target install
|
cmake --build . --config Release --target install
|
||||||
</pre></div>
|
</pre></div>
|
||||||
Alternatively, use <tt>WITH_PCRE</tt> option to disable PCRE support if you are sure not to need it.
|
Alternatively, use <tt>WITH_PCRE</tt> option to disable PCRE2 support if you are sure not to need it.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
We will also need the SWIG source code. Either download a zipped archive from GitHub, or if git is installed clone the latest codebase
|
We will also need the SWIG source code. Either download a zipped archive from GitHub, or if git is installed clone the latest codebase
|
||||||
|
|
@ -451,10 +451,10 @@ the autotools will fail miserably on those.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
The PCRE third party library needs to be built next.
|
The PCRE2 third party library needs to be built next.
|
||||||
Download the latest PCRE source tarball, such as <tt>pcre2-10.39.tar.bz2</tt>, from
|
Download the latest PCRE2 source tarball, such as <tt>pcre2-10.39.tar.bz2</tt>, from
|
||||||
<a href=http://www.pcre.org>PCRE</a> and place in the <tt>/usr/src/swig</tt> directory.
|
<a href=http://www.pcre.org>www.pcre.org</a> and place in the <tt>/usr/src/swig</tt> directory.
|
||||||
Build PCRE as a static library using the Tools/pcre-build.sh script as follows:
|
Build PCRE2 as a static library using the Tools/pcre-build.sh script as follows:
|
||||||
|
|
||||||
<div class="shell"><pre>
|
<div class="shell"><pre>
|
||||||
cd /usr/src/swig
|
cd /usr/src/swig
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@ static const char *usage4 = (const char *) "\
|
||||||
-oh <headfile> - Set name of C++ output header file for directors to <headfile>\n\
|
-oh <headfile> - Set name of C++ output header file for directors to <headfile>\n\
|
||||||
-outcurrentdir - Set default output dir to current dir instead of input file's path\n\
|
-outcurrentdir - Set default output dir to current dir instead of input file's path\n\
|
||||||
-outdir <dir> - Set language specific files output directory to <dir>\n\
|
-outdir <dir> - Set language specific files output directory to <dir>\n\
|
||||||
-pcreversion - Display PCRE version information\n\
|
-pcreversion - Display PCRE2 version information\n\
|
||||||
-small - Compile in virtual elimination and compact mode\n\
|
-small - Compile in virtual elimination and compact mode\n\
|
||||||
-swiglib - Report location of SWIG library and exit\n\
|
-swiglib - Report location of SWIG library and exit\n\
|
||||||
-templatereduce - Reduce all the typedefs in templates\n\
|
-templatereduce - Reduce all the typedefs in templates\n\
|
||||||
|
|
|
||||||
|
|
@ -1493,7 +1493,7 @@ String *Swig_pcre_version(void) {
|
||||||
char *buf = malloc(len);
|
char *buf = malloc(len);
|
||||||
String *result;
|
String *result;
|
||||||
pcre2_config(PCRE2_CONFIG_VERSION, buf);
|
pcre2_config(PCRE2_CONFIG_VERSION, buf);
|
||||||
result = NewStringf("PCRE Version: %s", buf);
|
result = NewStringf("PCRE2 Version: %s", buf);
|
||||||
free(buf);
|
free(buf);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ tarball=$swigbasename.tar.gz
|
||||||
pcre_tarball=`ls pcre2-*.tar.*`
|
pcre_tarball=`ls pcre2-*.tar.*`
|
||||||
|
|
||||||
if ! test -f "$pcre_tarball"; then
|
if ! test -f "$pcre_tarball"; then
|
||||||
echo "Could not find PCRE tarball. Please download a PCRE source tarball from http://www.pcre.org"
|
echo "Could not find PCRE2 tarball. Please download a PCRE2 source tarball from http://www.pcre.org"
|
||||||
echo "and place in the same directory as the SWIG tarball."
|
echo "and place in the same directory as the SWIG tarball."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -4,17 +4,17 @@ pcre_subdir=pcre/pcre-swig-install
|
||||||
pcre_install_dir=`pwd`/$pcre_subdir
|
pcre_install_dir=`pwd`/$pcre_subdir
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "Helper script to build PCRE as a static library from a tarball just for use during the"
|
echo "Helper script to build PCRE2 as a static library from a tarball just for use during the"
|
||||||
echo "SWIG build. It does not install PCRE for global use on your system."
|
echo "SWIG build. It does not install PCRE2 for global use on your system."
|
||||||
echo "Usage: pcre-build.sh [--help] [args]"
|
echo "Usage: pcre-build.sh [--help] [args]"
|
||||||
echo " args - optional additional arguments passed on to the PCRE configure script (leave out"
|
echo " args - optional additional arguments passed on to the PCRE2 configure script (leave out"
|
||||||
echo " unless you are an expert at configure)"
|
echo " unless you are an expert at configure)"
|
||||||
echo " --help - Display this help information."
|
echo " --help - Display this help information."
|
||||||
echo "Instructions:"
|
echo "Instructions:"
|
||||||
echo " - Download the latest PCRE source tarball from http://www.pcre.org and place in the"
|
echo " - Download the latest PCRE2 source tarball from http://www.pcre.org and place in the"
|
||||||
echo " directory that you will configure and build SWIG."
|
echo " directory that you will configure and build SWIG."
|
||||||
echo " - Run this script in the same directory that you intend to configure and build SWIG in."
|
echo " - Run this script in the same directory that you intend to configure and build SWIG in."
|
||||||
echo " This will configure and build PCRE as a static library."
|
echo " This will configure and build PCRE2 as a static library."
|
||||||
echo " - Afterwards run the SWIG configure script which will then find and use the PCRE static"
|
echo " - Afterwards run the SWIG configure script which will then find and use the PCRE static"
|
||||||
echo " libraries in the $pcre_subdir subdirectory."
|
echo " libraries in the $pcre_subdir subdirectory."
|
||||||
exit 0
|
exit 0
|
||||||
|
|
@ -35,21 +35,21 @@ if test -f "pcre-build.sh" ; then
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Looking for PCRE tarball..."
|
echo "Looking for PCRE2 tarball..."
|
||||||
rm -rf pcre
|
rm -rf pcre
|
||||||
pcre_tarball=`ls pcre2-*.tar*`
|
pcre_tarball=`ls pcre2-*.tar*`
|
||||||
test -n "$pcre_tarball" || bail "Could not find tarball matching pattern: pcre2-*.tar*"
|
test -n "$pcre_tarball" || bail "Could not find tarball matching pattern: pcre2-*.tar*"
|
||||||
test -f "$pcre_tarball" || bail "Could not find a single PCRE tarball. Found: $pcre_tarball"
|
test -f "$pcre_tarball" || bail "Could not find a single PCRE2 tarball. Found: $pcre_tarball"
|
||||||
|
|
||||||
echo "Extracting tarball: $pcre_tarball"
|
echo "Extracting tarball: $pcre_tarball"
|
||||||
tar -xf $pcre_tarball || bail "Could not untar $pcre_tarball"
|
tar -xf $pcre_tarball || bail "Could not untar $pcre_tarball"
|
||||||
pcre_dir=`echo $pcre_tarball | sed -e "s/\.tar.*//"`
|
pcre_dir=`echo $pcre_tarball | sed -e "s/\.tar.*//"`
|
||||||
echo "Configuring PCRE in directory: pcre"
|
echo "Configuring PCRE in directory: pcre"
|
||||||
mv $pcre_dir pcre || bail "Could not create pcre directory"
|
mv $pcre_dir pcre || bail "Could not create pcre directory"
|
||||||
cd pcre && ./configure --prefix=$pcre_install_dir --disable-shared $* || bail "PCRE configure failed"
|
cd pcre && ./configure --prefix=$pcre_install_dir --disable-shared $* || bail "PCRE2 configure failed"
|
||||||
echo "Building PCRE..."
|
echo "Building PCRE2..."
|
||||||
${MAKE:-make} -s || bail "Could not build PCRE"
|
${MAKE:-make} -s || bail "Could not build PCRE2"
|
||||||
echo "Installing PCRE locally to $pcre_install_dir..."
|
echo "Installing PCRE2 locally to $pcre_install_dir..."
|
||||||
${MAKE:-make} -s install || bail "Could not install PCRE"
|
${MAKE:-make} -s install || bail "Could not install PCRE2"
|
||||||
echo ""
|
echo ""
|
||||||
echo "The SWIG configure script can now be run, whereupon PCRE will automatically be detected and used from $pcre_install_dir/bin/pcre-config."
|
echo "The SWIG configure script can now be run, whereupon PCRE2 will automatically be detected and used from $pcre_install_dir/bin/pcre-config."
|
||||||
|
|
|
||||||
18
configure.ac
18
configure.ac
|
|
@ -48,16 +48,16 @@ fi
|
||||||
dnl PCRE
|
dnl PCRE
|
||||||
AC_ARG_WITH([pcre],
|
AC_ARG_WITH([pcre],
|
||||||
[AS_HELP_STRING([--without-pcre],
|
[AS_HELP_STRING([--without-pcre],
|
||||||
[Disable support for regular expressions using PCRE])],
|
[Disable support for regular expressions using PCRE2])],
|
||||||
[],
|
[],
|
||||||
[with_pcre=yes])
|
[with_pcre=yes])
|
||||||
|
|
||||||
AC_MSG_CHECKING([whether to enable PCRE support])
|
AC_MSG_CHECKING([whether to enable PCRE2 support])
|
||||||
AC_MSG_RESULT([$with_pcre])
|
AC_MSG_RESULT([$with_pcre])
|
||||||
|
|
||||||
dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script
|
dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script
|
||||||
if test x"${with_pcre}" = xyes ; then
|
if test x"${with_pcre}" = xyes ; then
|
||||||
AC_MSG_CHECKING([whether to use local PCRE])
|
AC_MSG_CHECKING([whether to use local PCRE2])
|
||||||
local_pcre_config=no
|
local_pcre_config=no
|
||||||
if test -z $PCRE2_CONFIG; then
|
if test -z $PCRE2_CONFIG; then
|
||||||
if test -f `pwd`/pcre/pcre-swig-install/bin/pcre2-config; then
|
if test -f `pwd`/pcre/pcre-swig-install/bin/pcre2-config; then
|
||||||
|
|
@ -71,20 +71,20 @@ AS_IF([test "x$with_pcre" != xno],
|
||||||
[AX_PATH_GENERIC([pcre2],
|
[AX_PATH_GENERIC([pcre2],
|
||||||
[], dnl Minimal version of PCRE we need -- accept any
|
[], dnl Minimal version of PCRE we need -- accept any
|
||||||
[], dnl custom sed script for version parsing is not needed
|
[], dnl custom sed script for version parsing is not needed
|
||||||
[AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library])
|
[AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE2 library])
|
||||||
LIBS="$LIBS $PCRE2_LIBS"
|
LIBS="$LIBS $PCRE2_LIBS"
|
||||||
CPPFLAGS="$CPPFLAGS $PCRE2_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $PCRE2_CFLAGS"
|
||||||
],
|
],
|
||||||
[AC_MSG_FAILURE([
|
[AC_MSG_FAILURE([
|
||||||
Cannot find pcre2-config script from PCRE (Perl Compatible Regular Expressions)
|
Cannot find pcre2-config script from PCRE2 (Perl Compatible Regular Expressions)
|
||||||
library package. This dependency is needed for configure to complete,
|
library package. This dependency is needed for configure to complete,
|
||||||
Either:
|
Either:
|
||||||
- Install the PCRE developer package on your system (preferred approach).
|
- Install the PCRE2 developer package on your system (preferred approach).
|
||||||
- Download the PCRE source tarball, build and install on your system
|
- Download the PCRE2 source tarball, build and install on your system
|
||||||
as you would for any package built from source distribution.
|
as you would for any package built from source distribution.
|
||||||
- Use the Tools/pcre-build.sh script to build PCRE just for SWIG to statically
|
- Use the Tools/pcre-build.sh script to build PCRE2 just for SWIG to statically
|
||||||
link against. Run 'Tools/pcre-build.sh --help' for instructions.
|
link against. Run 'Tools/pcre-build.sh --help' for instructions.
|
||||||
(quite easy and does not require privileges to install PCRE on your system)
|
(quite easy and does not require privileges to install PCRE2 on your system)
|
||||||
- Use configure --without-pcre to disable regular expressions support in SWIG
|
- Use configure --without-pcre to disable regular expressions support in SWIG
|
||||||
(not recommended).])
|
(not recommended).])
|
||||||
],
|
],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue