Index: StreamDevice-2/doc/formats.html =================================================================== RCS file: /afs/psi.ch/user/z/zimoch/.cvsroot/StreamDevice2/doc/formats.html,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- StreamDevice-2/doc/formats.html 14 Aug 2007 08:29:02 -0000 1.11 +++ StreamDevice-2/doc/formats.html 3 Oct 2007 08:18:08 -0000 1.12 @@ -413,9 +413,29 @@
This input-only format matches Perl compatible regular expressions (PCRE).
-It is only available if a PCRE library is installed and the RELEASE
-file contains the variable PCRE
which should point to the
-install location.
+It is only available if a PCRE library is installed.
+
+If PCRE is not available for your host or cross architecture, download
+the sourcecode from www.pcre.org
+and try my EPICS compatible Makefile
+to compile it like a normal EPICS application.
+The Makefile is known to work with EPICS 3.14.8 and PCRE 7.2.
+In your RELEASE file define the variable PCRE
so that
+it points to the install location of PCRE.
+
+If PCRE is already installed on your system, use the variables
+PCRE_INCLUDE
and PCRE_LIB
instead to provide
+the install directories of pcre.h
and the library.
+
+If you have PCRE installed in different locations for different (cross) +architectures, define the variables in RELEASE.Common.<architecture> +instead of the global RELEASE file. +
+
If the regular expression is not anchored, i.e. does not start with
^
, leading non-matching input is skipped.
A maximum of width bytes is matched, if specified.
Index: StreamDevice-2/streamApp/Makefile
===================================================================
RCS file: /afs/psi.ch/user/z/zimoch/.cvsroot/StreamDevice2/streamApp/Makefile,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- StreamDevice-2/streamApp/Makefile 11 May 2007 13:23:30 -0000 1.13
+++ StreamDevice-2/streamApp/Makefile 3 Oct 2007 08:16:23 -0000 1.14
@@ -25,6 +25,17 @@
PROD_LIBS = stream
+ifdef PCRE
+# With local PCRE package
+PROD_LIBS += pcre
+else
+ifneq ($(words $(PCRE_LIB) $(PCRE_INCLUDE)),0)
+# With system wide PCRE installation
+PROD_SYS_LIBS += pcre
+PROD_DEPLIB_DIRS += $(PCRE_LIB)
+endif
+endif
+
ifdef ASYN
# Which types of asyn busses do you have?
ifneq ($(OS_CLASS), WIN32)
Index: StreamDevice-2/src/Makefile
===================================================================
RCS file: /afs/psi.ch/user/z/zimoch/.cvsroot/StreamDevice2/src/Makefile,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- StreamDevice-2/src/Makefile 3 Aug 2007 13:49:00 -0000 1.16
+++ StreamDevice-2/src/Makefile 3 Oct 2007 08:14:45 -0000 1.17
@@ -2,7 +2,7 @@
# StreamDevice Support #
# #
# (C) 1999 Dirk Zimoch (zimoch@delta.uni-dortmund.de) #
-# (C) 2006 Dirk Zimoch (dirk.zimoch@psi.ch) #
+# (C) 2007 Dirk Zimoch (dirk.zimoch@psi.ch) #
# #
# This is the EPICS 3.14 Makefile of StreamDevice. #
# Normally it should not be necessary to modify this file. #
@@ -57,8 +57,17 @@
SRCS += $(RECORDS:%=dev%Stream.c)
SRCS += $(STREAM_SRCS)
-ifneq ($(filter Regexp,$(FORMATS)),)
+# find system wide or local PCRE header and library
+ifdef PCRE_INCLUDE
+RegexpConverter_INCLUDES += -I$(PCRE_INCLUDE)
+endif
+ifdef PCRE
LIB_LIBS += pcre
+else
+ifneq ($(words $(PCRE_LIB) $(PCRE_INCLUDE)),0)
+LIB_SYS_LIBS += pcre
+SHRLIB_DEPLIB_DIRS += $(PCRE_LIB)
+endif
endif
LIB_LIBS += Com dbIoc dbStaticIoc registryIoc iocsh
Index: StreamDevice-2/src/CONFIG_STREAM
===================================================================
RCS file: /afs/psi.ch/user/z/zimoch/.cvsroot/StreamDevice2/src/CONFIG_STREAM,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- StreamDevice-2/src/CONFIG_STREAM 3 Aug 2007 13:49:01 -0000 1.13
+++ StreamDevice-2/src/CONFIG_STREAM 3 Oct 2007 08:14:21 -0000 1.14
@@ -41,7 +41,19 @@
FORMATS += Binary
FORMATS += Checksum
-ifdef PCRE
+# Want Perl regular expression matching?
+# If PCRE is installed at the same location for all
+# architectures, define the following variable in your
+# RELEASE file. If the PCRE installation is different
+# (or even missing) for some architectures, use
+# separate RELEASE.Common.