               Instructions for making the DLL (if you wish to)
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(1) You have already got the basic rexx DLL stuff (otherwise how are
    you reading this!).  It was obtained from Dennis Bareis' web page
    at http://www.ozemail.com.au/~dbareis (db0@anz.com).

(2) You need to obtain "regexp.c", "regsub.c", "regexp.h" &
    "regmagic.h" from Henry Spencers regular expression source.

(2) Grab my "REXXDLL.C" & "REXXDLL.H" rexx dll helper modules.

(3) Make it.  Make file output for Visual Age follows.  The only real
    important trick is to compile with SYSTEM linkage by default as
    there are no prototypes in Henry's code.



                   EXAMPLE MAKE OUTPUT USING VISUAL AGE C++
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


*** COMPILING ".\RXREGEXP.c" *******************************
%setenv INCLUDE=E:\DB\SUPPORT;.\.\OUT;E:\IBMCPP\INCLUDE;E:\IBMCPP\INCLUDE\OS2;E:\IBMCPP\INC;E:\IBMCPP\INCLUDE\SOM;E:\JAVA11\INCLUDE;E:\JAVAOS2\INCLUDE;E:\JAVA11\INCLUDE\OS2;E:\JAVAOS2\INCLUDE\OS2;E:\DB\UTILP\GUIDE\INCLUDE
STDT.EXE RXREGEXP.err "ICC.EXE /Q /c -Gm+ -Mp -O+ -Oc+ -G4 -Ss /Gd-  -Tdc /Ms -I. /Fo.\OUT\RXREGEXP.OBJ .\RXREGEXP.c"
.\RXREGEXP.c(87:5) : informational EDC0425: The condition is always false.
.\RXREGEXP.c(116:5) : informational EDC0425: The condition is always false.
.\RXREGEXP.c(171:5) : informational EDC0425: The condition is always false.
.\RXREGEXP.c(251:5) : informational EDC0425: The condition is always false.


*** COMPILING ".\REXXDLL.c" *******************************
%setenv INCLUDE=E:\DB\SUPPORT;.\.\OUT;E:\IBMCPP\INCLUDE;E:\IBMCPP\INCLUDE\OS2;E:\IBMCPP\INC;E:\IBMCPP\INCLUDE\SOM;E:\JAVA11\INCLUDE;E:\JAVAOS2\INCLUDE;E:\JAVA11\INCLUDE\OS2;E:\JAVAOS2\INCLUDE\OS2;E:\DB\UTILP\GUIDE\INCLUDE
STDT.EXE REXXDLL.err "ICC.EXE /Q /c -Gm+ -Mp -O+ -Oc+ -G4 -Ss /Gd-  -Tdc /Ms -I. /Fo.\OUT\REXXDLL.OBJ .\REXXDLL.c"
.\REXXDLL.c(43:5) : informational EDC0425: The condition is always false.
.\REXXDLL.c(60:5) : informational EDC0425: The condition is always false.
.\REXXDLL.c(85:5) : informational EDC0425: The condition is always false.


*** COMPILING ".\regexp.c" *******************************
%setenv INCLUDE=E:\DB\SUPPORT;.\.\OUT;E:\IBMCPP\INCLUDE;E:\IBMCPP\INCLUDE\OS2;E:\IBMCPP\INC;E:\IBMCPP\INCLUDE\SOM;E:\JAVA11\INCLUDE;E:\JAVAOS2\INCLUDE;E:\JAVA11\INCLUDE\OS2;E:\JAVAOS2\INCLUDE\OS2;E:\DB\UTILP\GUIDE\INCLUDE
STDT.EXE regexp.err "ICC.EXE /Q /c -Gm+ -Mp -O+ -Oc+ -G4 -Ss /Gd-  -Tdc /Ms -I. /Fo.\OUT\regexp.OBJ .\regexp.c"
.\regexp.c(948:1) : informational EDC0481: The end of the function may be reached without returning a value.


*** COMPILING ".\regsub.c" *******************************
%setenv INCLUDE=E:\DB\SUPPORT;.\.\OUT;E:\IBMCPP\INCLUDE;E:\IBMCPP\INCLUDE\OS2;E:\IBMCPP\INC;E:\IBMCPP\INCLUDE\SOM;E:\JAVA11\INCLUDE;E:\JAVAOS2\INCLUDE;E:\JAVA11\INCLUDE\OS2;E:\JAVAOS2\INCLUDE\OS2;E:\DB\UTILP\GUIDE\INCLUDE
STDT.EXE regsub.err "ICC.EXE /Q /c -Gm+ -Mp -O+ -Oc+ -G4 -Ss /Gd-  -Tdc /Ms -I. /Fo.\OUT\regsub.OBJ .\regsub.c"


*** MAKING DLL ".\OUT\RxRegExp.DLL" *******************************
%setenv LIB=;E:\IBMCPP\LIB;E:\IBMCPP\DLL;E:\JAVA11\LIB;E:\javaos2\lib
*** MAKING A "NORMAL" DLL (everything statically linked).
*** NEED TO MAKE ".\OUT\DLLDUMY.OBJ" **************************
STDT.EXE .\DLLDUMY.ERR "ICC.EXE /Q /c -Gm+ /Ge- /Gd- /W1 /Fo.\OUT\DLLDUMY.OBJ .\DLLDUMY.C"
ILink.EXE /NOFREE @.\OUT\RxRegExp._LD
            /Noe /Map /NoLogo /Align:2 /ExePack:1 /DLL +
            .\OUT\RXREGEXP.OBJ+
            .\OUT\REXXDLL.OBJ+
            .\OUT\regexp.OBJ+
            .\OUT\regsub.OBJ+
            .\OUT\DLLDUMY.OBJ
            .\OUT\RxRegExp.dll
            .\OUT\RxRegExp.map
            E:\IBMCPP\LIB\REXX.LIB
            .\RXREGEXP.DEF;


IBM(R) Linker for OS/2(R), Version 01.04.r1a_CTC304F
(C) Copyright IBM Corporation 1988, 1995.
(C) Copyright Microsoft Corp. 1988, 1989.
 - Licensed Material - Program-Property of IBM - All Rights Reserved.

Object Modules [.obj]:             /Noe /Map /NoLogo /Align:2 /ExePack:1 /DLL +
Object Modules [.obj]:             .\OUT\RXREGEXP.OBJ+
Object Modules [.obj]:             .\OUT\REXXDLL.OBJ+
Object Modules [.obj]:             .\OUT\regexp.OBJ+
Object Modules [.obj]:             .\OUT\regsub.OBJ+
Object Modules [.obj]:             .\OUT\DLLDUMY.OBJ
Run File [RXREGEXP.*]:             .\OUT\RxRegExp.dll
Map File [RxRegExp.map]:             .\OUT\RxRegExp.map
Libraries [.lib]:             E:\IBMCPP\LIB\REXX.LIB
Definitions File [nul.def]:             .\RXREGEXP.DEF;



*** MAKING KERNAL DEBUGGER SYMBOL FILE ".\OUT\RxRegExp.SYM" ******************


Operating System/2 Symbol File Generator

Version 3.00.002 Mar  1 1995

Copyright (C) IBM Corporation 1988-1995

Copyright (C) Microsoft Corp. 1988-1991.

All rights reserved.


Program entry point at 0001:45b0


*** Preprocessing ".\RxRegExp.ipf" (IPFCPREP.EXE) ****************
%setenv INCLUDE=E:\DB\SUPPORT;.\.\OUT;E:\IBMCPP\INCLUDE;E:\IBMCPP\INCLUDE\OS2;E:\IBMCPP\INC;E:\IBMCPP\INCLUDE\SOM;E:\JAVA11\INCLUDE;E:\JAVAOS2\INCLUDE;E:\JAVA11\INCLUDE\OS2;E:\JAVAOS2\INCLUDE\OS2;E:\DB\UTILP\GUIDE\INCLUDE
IPFCPREP.EXE  .\RxRegExp.ipf   IPFCPREP.IPF

IPFC Preprocessor
Version 1.0 by Doug Haigh
(C) IBM Corp. 1992
<.\RxRegExp.ipf:     17>  Imbedding =>IPFGEN.IPF
<.\RxRegExp.ipf:    339>  Imbedding =>TestRe.CMD
copy   IPFCPREP.IPF .\OUT
        1 file(s) copied.


*** Preprocessing ".\RxRegExp.ipf" (SRCHREPL.EXE) ****************
SRCHREPL.EXE E:\DB\SUPPORT\IPFXMP.IPF IPFCPREP.IPF SRCHREPL.IPF  $StopTextChanges  $RemoveBlankLines
[]--------------------------------------------------[]
| SRCHREPL.EXE, version 96.235 (Search/Replace text) |
[]--------------------------------------------------[]

IPFCPREP.IPF(849): Will translate "RegExpVersion" to ":link reftype=hd refid=RegExpVersion.RegExpVersion:elink."
IPFCPREP.IPF(850): Will translate "RegExpCompile" to ":link reftype=hd refid=RegExpCompile.RegExpCompile:elink."
IPFCPREP.IPF(851): Will translate "RegExpMatch" to ":link reftype=hd refid=RegExpMatch.RegExpMatch:elink."
IPFCPREP.IPF(852): Will translate "RegExpReplace" to ":link reftype=hd refid=RegExpReplace.RegExpReplace:elink."
CHANGES
~~~~~~~
	  10 x "."
	  10 x "{FullStop}"
	   4 x ":"
	   5 x "RegExpVersion"
	   6 x "RegExpCompile"
	   4 x "RegExpMatch"
	   4 x "RegExpReplace"

43 changes made to IPFCPREP.IPF.  148 lines out of 1,015 processed.

copy   SRCHREPL.IPF .\OUT
        1 file(s) copied.


*** MAKING INF FILE ".\OUT\RxRegExp.INF" *******************************
IPFC.EXE   SRCHREPL.IPF  /S /INF
Operating System/2 Information Presentation Facility Compiler
Version 3.00.002 March 7 1995
Copyright (C) IBM Corporation 1991-1995
All rights reserved

Compiling document with following Country Code, Code Page:
61, 850
........
Resolving cross-references

Cross-references resolved
........

Statistics :

Document title : Regular Expressions For REXX (140498.1904)

Total panels created        : 8
Panels defined by name      : 0
Panels defined by number    : 0
Words in dictionary         : 586
Global index entries        : 0
Total index entries         : 8
Total fonts used            : 4
Files referenced externally : 0
Panels defined externally   : 0
Document's Country Code     : 61
Document's Code Page        : 850

Output file successfully created (INF) [SRCHREPL.INF]
copy   SRCHREPL.INF .\OUT\RxRegExp.INF
        1 file(s) copied.


make complete.

