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. files. +# If PCRE is an EPICS-like project define +# PCRE= +# Else define +# PCRE_INCLUDE= +# PCRE_LIB= + +ifneq ($(words $(PCRE) $(PCRE_LIB) $(PCRE_INCLUDE)),0) FORMATS += Regexp endif