summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorDave Beazley <dave-swig@dabeaz.com>2002-11-30 22:01:28 +0000
committerDave Beazley <dave-swig@dabeaz.com>2002-11-30 22:01:28 +0000
commit12a43edc2df8853e8e0315f742e57be88f0c4269 (patch)
treee3237f5f8c0a67c9bfa9bb5d6d095a739a49e4b2 /vms
parent5fcae5eb66d377e1c3f81da7465c44a62295a72b (diff)
downloadswig-12a43edc2df8853e8e0315f742e57be88f0c4269.tar.gz
The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'vms')
-rw-r--r--vms/aaareadme.txt18
-rw-r--r--vms/build_end.com21
-rw-r--r--vms/build_init.com13
-rw-r--r--vms/build_swig.com1
-rw-r--r--vms/genbuild.py155
-rw-r--r--vms/logicals.com18
-rw-r--r--vms/scripts/build_all.com15
-rw-r--r--vms/scripts/compil_cparse.com98
-rw-r--r--vms/scripts/compil_doh.com106
-rw-r--r--vms/scripts/compil_modules1_1.com132
-rw-r--r--vms/scripts/compil_preprocessor.com94
-rw-r--r--vms/scripts/compil_swig.com122
-rw-r--r--vms/swigconfig.h19
-rw-r--r--vms/swigver.h18
14 files changed, 830 insertions, 0 deletions
diff --git a/vms/aaareadme.txt b/vms/aaareadme.txt
new file mode 100644
index 000000000..52746a7e7
--- /dev/null
+++ b/vms/aaareadme.txt
@@ -0,0 +1,18 @@
+Port on OpenVMS 7.3 using CC 6.5 and CXX 6.5
+
+
+Building procedure:
+$ @logicals
+$ @build_all
+
+the logicals swig_root is defined by the procedure logicals.com.
+The logicals.com procedure can be invoke with an optional argument
+for the define command, for example:
+$ @logicals "/system/exec"
+
+
+genbuild.py is the python program use to generate all the procedures in the
+[vms.scripts] directory.
+
+
+jf.pieronne@laposte.net
diff --git a/vms/build_end.com b/vms/build_end.com
new file mode 100644
index 000000000..103302270
--- /dev/null
+++ b/vms/build_end.com
@@ -0,0 +1,21 @@
+$ set def swig_root:[vms]
+$
+$ file = f$search("swig_root:[vms.o_alpha]*.obj")
+$ newobj = 0
+$ if file .nes. ""
+$ then
+$ v = f$verify(1)
+$ library/replace swig_root:[vms.o_alpha]swig.olb swig_root:[vms.o_alpha]*.obj
+$ delete swig_root:[vms.o_alpha]*.obj;*
+$ v = f$verify(v)
+$ newobj = 1
+$ endif
+$ file = f$search("swig_root:[vms]swig.exe")
+$ if file .eqs. "" .or. newobj
+$ then
+$ v = f$verify(1)
+$ cxxlink/exe=swig_root:[vms]swig.exe -
+ /repo=swig_root:[source.modules1_1.cxx_repository] -
+ swig_root:[vms.o_alpha]swig.olb/include=swigmain
+$ v = f$verify(v)
+$ endif
diff --git a/vms/build_init.com b/vms/build_init.com
new file mode 100644
index 000000000..9a1992dc4
--- /dev/null
+++ b/vms/build_init.com
@@ -0,0 +1,13 @@
+$ set def swig_root:[vms]
+$
+$ swiglib = "swig_root:[vms.o_alpha]swig.olb
+$
+$ if (f$search("swig_root:[vms]o_alpha.dir") .eqs. "") then $ -
+ create/dir swig_root:[vms.o_alpha]
+$
+$ copy swigconfig.h [-.source.include]
+$ copy swigver.h [-.source.include]
+$
+$ if (f$search("''swiglib'") .eqs. "") then $ -
+ library/create/object 'swiglib'
+$
diff --git a/vms/build_swig.com b/vms/build_swig.com
new file mode 100644
index 000000000..5570db0bc
--- /dev/null
+++ b/vms/build_swig.com
@@ -0,0 +1 @@
+$ @swig_root:[vms.scripts]build_all
diff --git a/vms/genbuild.py b/vms/genbuild.py
new file mode 100644
index 000000000..df18ce3ed
--- /dev/null
+++ b/vms/genbuild.py
@@ -0,0 +1,155 @@
+import os.path, string, posix, pyvms
+#
+#
+
+IDIR = ['swig_root:[source.swig]', 'swig_root:[source.doh.include]',
+ 'swig_root:[source.include]', 'swig_root:[source.preprocessor]']
+
+def new_file(fg, dirname):
+ global IDIR
+ fn = 'swig_root:[vms.scripts]compil_' + os.path.basename(dirname) + '.com'
+ print >> fg, '$ @' + fn
+ f = open(fn, 'w')
+ print >> f, '$!'
+ print >> f, '$! Generated by genbuild.py'
+ print >> f, '$!'
+ print >> f, '$ libname = "swig_root:[vms.o_alpha]swig.olb"'
+ print >> f, '$'
+ print >> f, '$ set default', pyvms.crtl_to_vms(dirname)[0][0]
+ print >> f, '$'
+ print >> f, "$ idir := ", IDIR[0]
+ for i in range(1, len(IDIR)):
+ print >> f, '$ idir = idir + ",' + IDIR[i] + '"'
+ print >> f, '$'
+ print >> f, "$ iflags = \"/include=(''idir', sys$disk:[])\""
+ print >> f, '$ oflags = \"/object=swig_root:[vms.o_alpha]'
+ print >> f, "$ cflags = \"''oflags'''iflags'''dflags'\""
+ print >> f, "$ cxxflags = \"''oflags'''iflags'''dflags'\""
+ print >> f, '$'
+ return f
+
+
+def end_file(f):
+ print >>f,"""$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 = Source file
+$! P4 - P8 What it depends on
+$
+$ modname = f$parse(p3,,,"name")
+$ set noon
+$ set message/nofacility/noident/noseverity/notext
+$ libr/lis=swig_root:[vms]swiglib.tmp/full/width=132/only='modname' 'libname'
+$ set message/facility/ident/severity/text
+$ on error then exit
+$ open/read swigtmp swig_root:[vms]swiglib.tmp
+$! skip header
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$!
+$
+$ read/end=module_not_found swigtmp r
+$ modfound = 1
+$ Time = f$cvtime(f$extract(49, 20, r))
+$ goto end_search_module
+$ module_not_found:
+$ modfound = 0
+$
+$ end_search_module:
+$ close swigtmp
+$ delete swig_root:[vms]swiglib.tmp;*
+$
+$ if modfound .eq. 0 then $ goto Makeit
+$
+$! Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(1)
+$ 'P2' 'P3'
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE"""
+
+
+def listRep(args, dirname, filenames):
+ fg = args[0]
+ first = 1
+ for fn in filenames:
+ if fn[-2:] == '.c':
+ if first:
+ first = 0
+ fc = new_file(fg, dirname)
+
+ cstr = "\"cc ''cflags'\" "
+ line = "$ call make swig_root:[vms.o_alpha]"
+ line += fn[:-1] + 'obj -'
+ print >> fc, line
+ line = "\t" + cstr + fn
+ print >> fc, line
+ elif fn[-4:] == '.cxx':
+ if first:
+ first = 0
+ fc = new_file(fg, dirname)
+
+ cstr = "\"cxx ''cxxflags'\" "
+ line = "$ call make swig_root:[vms.o_alpha]"
+ line += fn[:-3] + 'obj -'
+ print >> fc, line
+ line = "\t" + cstr + fn
+ print >> fc, line
+ if first == 0:
+ end_file(fc)
+ fc.close()
+#
+def genbuild(f, dir):
+ os.path.walk(dir, listRep, (f,))
+ cmd = 'set default swig_root:[vms]'
+#
+f = open('swig_root:[vms.scripts]build_all.com','w')
+print >> f, '$!'
+print >> f, '$! Generated by genbuild.py'
+print >> f, '$!'
+print >> f, '$ set default swig_root:[vms]'
+print >> f, '$'
+print >> f, '$ @swig_root:[vms]build_init'
+#
+genbuild(f, '/swig_root/source')
+print >> f, '$'
+print >> f, '$ set default swig_root:[vms]'
+print >> f, '$'
+print >> f, '$ @swig_root:[vms]build_end'
+f.close
diff --git a/vms/logicals.com b/vms/logicals.com
new file mode 100644
index 000000000..20da9d49a
--- /dev/null
+++ b/vms/logicals.com
@@ -0,0 +1,18 @@
+$!
+$!
+$!
+$ proc = f$environment("PROCEDURE")
+$ proc = f$parse(proc,"sys$disk:[]",,,"NO_CONCEAL")
+$ cur_dev = f$parse(proc,,,"DEVICE","SYNTAX_ONLY")
+$ cur_dir = f$parse(proc,,,"DIRECTORY","SYNTAX_ONLY")
+$ cur_dir = f$extract(1,f$length(cur_dir)-2,cur_dir)
+$ cur_dir = cur_dir - "["
+$ cur_dir = cur_dir - "]"
+$ cur_dir = cur_dir - "<"
+$ cur_dir = cur_dir - ">"
+$
+$! remove trealing .VMS
+$ root_dir = f$extract(0,f$length(cur_dir)-4,cur_dir)
+$
+$ define 'p1' /trans=concealed swig_root 'cur_dev'['root_dir'.]
+
diff --git a/vms/scripts/build_all.com b/vms/scripts/build_all.com
new file mode 100644
index 000000000..d41198348
--- /dev/null
+++ b/vms/scripts/build_all.com
@@ -0,0 +1,15 @@
+$!
+$! Generated by genbuild.py
+$!
+$ set default swig_root:[vms]
+$
+$ @swig_root:[vms]build_init
+$ @swig_root:[vms.scripts]compil_cparse.com
+$ @swig_root:[vms.scripts]compil_doh.com
+$ @swig_root:[vms.scripts]compil_modules1_1.com
+$ @swig_root:[vms.scripts]compil_preprocessor.com
+$ @swig_root:[vms.scripts]compil_swig.com
+$
+$ set default swig_root:[vms]
+$
+$ @swig_root:[vms]build_end
diff --git a/vms/scripts/compil_cparse.com b/vms/scripts/compil_cparse.com
new file mode 100644
index 000000000..4f78f4104
--- /dev/null
+++ b/vms/scripts/compil_cparse.com
@@ -0,0 +1,98 @@
+$!
+$! Generated by genbuild.py
+$!
+$ libname = "swig_root:[vms.o_alpha]swig.olb"
+$
+$ set default SWIG_ROOT:[SOURCE.CPARSE]
+$
+$ idir := swig_root:[source.swig]
+$ idir = idir + ",swig_root:[source.doh.include]"
+$ idir = idir + ",swig_root:[source.include]"
+$ idir = idir + ",swig_root:[source.preprocessor]"
+$
+$ iflags = "/include=(''idir', sys$disk:[])"
+$ oflags = "/object=swig_root:[vms.o_alpha]
+$ cflags = "''oflags'''iflags'''dflags'"
+$ cxxflags = "''oflags'''iflags'''dflags'"
+$
+$ call make swig_root:[vms.o_alpha]cscanner.obj -
+ "cc ''cflags'" cscanner.c
+$ call make swig_root:[vms.o_alpha]parser.obj -
+ "cc ''cflags'" parser.c
+$ call make swig_root:[vms.o_alpha]templ.obj -
+ "cc ''cflags'" templ.c
+$ call make swig_root:[vms.o_alpha]util.obj -
+ "cc ''cflags'" util.c
+$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 = Source file
+$! P4 - P8 What it depends on
+$
+$ modname = f$parse(p3,,,"name")
+$ set noon
+$ set message/nofacility/noident/noseverity/notext
+$ libr/lis=swig_root:[vms]swiglib.tmp/full/width=132/only='modname' 'libname'
+$ set message/facility/ident/severity/text
+$ on error then exit
+$ open/read swigtmp swig_root:[vms]swiglib.tmp
+$! skip header
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$!
+$
+$ read/end=module_not_found swigtmp r
+$ modfound = 1
+$ Time = f$cvtime(f$extract(49, 20, r))
+$ goto end_search_module
+$ module_not_found:
+$ modfound = 0
+$
+$ end_search_module:
+$ close swigtmp
+$ delete swig_root:[vms]swiglib.tmp;*
+$
+$ if modfound .eq. 0 then $ goto Makeit
+$
+$! Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(1)
+$ 'P2' 'P3'
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE
diff --git a/vms/scripts/compil_doh.com b/vms/scripts/compil_doh.com
new file mode 100644
index 000000000..6d4ae89ad
--- /dev/null
+++ b/vms/scripts/compil_doh.com
@@ -0,0 +1,106 @@
+$!
+$! Generated by genbuild.py
+$!
+$ libname = "swig_root:[vms.o_alpha]swig.olb"
+$
+$ set default SWIG_ROOT:[SOURCE.DOH.DOH]
+$
+$ idir := swig_root:[source.swig]
+$ idir = idir + ",swig_root:[source.doh.include]"
+$ idir = idir + ",swig_root:[source.include]"
+$ idir = idir + ",swig_root:[source.preprocessor]"
+$
+$ iflags = "/include=(''idir', sys$disk:[])"
+$ oflags = "/object=swig_root:[vms.o_alpha]
+$ cflags = "''oflags'''iflags'''dflags'"
+$ cxxflags = "''oflags'''iflags'''dflags'"
+$
+$ call make swig_root:[vms.o_alpha]base.obj -
+ "cc ''cflags'" base.c
+$ call make swig_root:[vms.o_alpha]file.obj -
+ "cc ''cflags'" file.c
+$ call make swig_root:[vms.o_alpha]fio.obj -
+ "cc ''cflags'" fio.c
+$ call make swig_root:[vms.o_alpha]hash.obj -
+ "cc ''cflags'" hash.c
+$ call make swig_root:[vms.o_alpha]list.obj -
+ "cc ''cflags'" list.c
+$ call make swig_root:[vms.o_alpha]memory.obj -
+ "cc ''cflags'" memory.c
+$ call make swig_root:[vms.o_alpha]string.obj -
+ "cc ''cflags'" string.c
+$ call make swig_root:[vms.o_alpha]void.obj -
+ "cc ''cflags'" void.c
+$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 = Source file
+$! P4 - P8 What it depends on
+$
+$ modname = f$parse(p3,,,"name")
+$ set noon
+$ set message/nofacility/noident/noseverity/notext
+$ libr/lis=swig_root:[vms]swiglib.tmp/full/width=132/only='modname' 'libname'
+$ set message/facility/ident/severity/text
+$ on error then exit
+$ open/read swigtmp swig_root:[vms]swiglib.tmp
+$! skip header
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$!
+$
+$ read/end=module_not_found swigtmp r
+$ modfound = 1
+$ Time = f$cvtime(f$extract(49, 20, r))
+$ goto end_search_module
+$ module_not_found:
+$ modfound = 0
+$
+$ end_search_module:
+$ close swigtmp
+$ delete swig_root:[vms]swiglib.tmp;*
+$
+$ if modfound .eq. 0 then $ goto Makeit
+$
+$! Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(1)
+$ 'P2' 'P3'
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE
diff --git a/vms/scripts/compil_modules1_1.com b/vms/scripts/compil_modules1_1.com
new file mode 100644
index 000000000..c570dfe58
--- /dev/null
+++ b/vms/scripts/compil_modules1_1.com
@@ -0,0 +1,132 @@
+$!
+$! Generated by genbuild.py
+$!
+$ libname = "swig_root:[vms.o_alpha]swig.olb"
+$
+$ set default SWIG_ROOT:[SOURCE.MODULES1_1]
+$
+$ idir := swig_root:[source.swig]
+$ idir = idir + ",swig_root:[source.doh.include]"
+$ idir = idir + ",swig_root:[source.include]"
+$ idir = idir + ",swig_root:[source.preprocessor]"
+$
+$ iflags = "/include=(''idir', sys$disk:[])"
+$ oflags = "/object=swig_root:[vms.o_alpha]
+$ cflags = "''oflags'''iflags'''dflags'"
+$ cxxflags = "''oflags'''iflags'''dflags'"
+$
+$ call make swig_root:[vms.o_alpha]allocate.obj -
+ "cxx ''cxxflags'" allocate.cxx
+$ call make swig_root:[vms.o_alpha]browser.obj -
+ "cxx ''cxxflags'" browser.cxx
+$ call make swig_root:[vms.o_alpha]contract.obj -
+ "cxx ''cxxflags'" contract.cxx
+$ call make swig_root:[vms.o_alpha]emit.obj -
+ "cxx ''cxxflags'" emit.cxx
+$ call make swig_root:[vms.o_alpha]guile.obj -
+ "cxx ''cxxflags'" guile.cxx
+$ call make swig_root:[vms.o_alpha]java.obj -
+ "cxx ''cxxflags'" java.cxx
+$ call make swig_root:[vms.o_alpha]lang.obj -
+ "cxx ''cxxflags'" lang.cxx
+$ call make swig_root:[vms.o_alpha]main.obj -
+ "cxx ''cxxflags'" main.cxx
+$ call make swig_root:[vms.o_alpha]module.obj -
+ "cxx ''cxxflags'" module.cxx
+$ call make swig_root:[vms.o_alpha]mzscheme.obj -
+ "cxx ''cxxflags'" mzscheme.cxx
+$ call make swig_root:[vms.o_alpha]ocaml.obj -
+ "cxx ''cxxflags'" ocaml.cxx
+$ call make swig_root:[vms.o_alpha]overload.obj -
+ "cxx ''cxxflags'" overload.cxx
+$ call make swig_root:[vms.o_alpha]perl5.obj -
+ "cxx ''cxxflags'" perl5.cxx
+$ call make swig_root:[vms.o_alpha]php4.obj -
+ "cxx ''cxxflags'" php4.cxx
+$ call make swig_root:[vms.o_alpha]pike.obj -
+ "cxx ''cxxflags'" pike.cxx
+$ call make swig_root:[vms.o_alpha]python.obj -
+ "cxx ''cxxflags'" python.cxx
+$ call make swig_root:[vms.o_alpha]ruby.obj -
+ "cxx ''cxxflags'" ruby.cxx
+$ call make swig_root:[vms.o_alpha]swigmain.obj -
+ "cxx ''cxxflags'" swigmain.cxx
+$ call make swig_root:[vms.o_alpha]tcl8.obj -
+ "cxx ''cxxflags'" tcl8.cxx
+$ call make swig_root:[vms.o_alpha]typepass.obj -
+ "cxx ''cxxflags'" typepass.cxx
+$ call make swig_root:[vms.o_alpha]xml.obj -
+ "cxx ''cxxflags'" xml.cxx
+$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 = Source file
+$! P4 - P8 What it depends on
+$
+$ modname = f$parse(p3,,,"name")
+$ set noon
+$ set message/nofacility/noident/noseverity/notext
+$ libr/lis=swig_root:[vms]swiglib.tmp/full/width=132/only='modname' 'libname'
+$ set message/facility/ident/severity/text
+$ on error then exit
+$ open/read swigtmp swig_root:[vms]swiglib.tmp
+$! skip header
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$!
+$
+$ read/end=module_not_found swigtmp r
+$ modfound = 1
+$ Time = f$cvtime(f$extract(49, 20, r))
+$ goto end_search_module
+$ module_not_found:
+$ modfound = 0
+$
+$ end_search_module:
+$ close swigtmp
+$ delete swig_root:[vms]swiglib.tmp;*
+$
+$ if modfound .eq. 0 then $ goto Makeit
+$
+$! Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(1)
+$ 'P2' 'P3'
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE
diff --git a/vms/scripts/compil_preprocessor.com b/vms/scripts/compil_preprocessor.com
new file mode 100644
index 000000000..f95961e8d
--- /dev/null
+++ b/vms/scripts/compil_preprocessor.com
@@ -0,0 +1,94 @@
+$!
+$! Generated by genbuild.py
+$!
+$ libname = "swig_root:[vms.o_alpha]swig.olb"
+$
+$ set default SWIG_ROOT:[SOURCE.PREPROCESSOR]
+$
+$ idir := swig_root:[source.swig]
+$ idir = idir + ",swig_root:[source.doh.include]"
+$ idir = idir + ",swig_root:[source.include]"
+$ idir = idir + ",swig_root:[source.preprocessor]"
+$
+$ iflags = "/include=(''idir', sys$disk:[])"
+$ oflags = "/object=swig_root:[vms.o_alpha]
+$ cflags = "''oflags'''iflags'''dflags'"
+$ cxxflags = "''oflags'''iflags'''dflags'"
+$
+$ call make swig_root:[vms.o_alpha]cpp.obj -
+ "cc ''cflags'" cpp.c
+$ call make swig_root:[vms.o_alpha]expr.obj -
+ "cc ''cflags'" expr.c
+$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 = Source file
+$! P4 - P8 What it depends on
+$
+$ modname = f$parse(p3,,,"name")
+$ set noon
+$ set message/nofacility/noident/noseverity/notext
+$ libr/lis=swig_root:[vms]swiglib.tmp/full/width=132/only='modname' 'libname'
+$ set message/facility/ident/severity/text
+$ on error then exit
+$ open/read swigtmp swig_root:[vms]swiglib.tmp
+$! skip header
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$!
+$
+$ read/end=module_not_found swigtmp r
+$ modfound = 1
+$ Time = f$cvtime(f$extract(49, 20, r))
+$ goto end_search_module
+$ module_not_found:
+$ modfound = 0
+$
+$ end_search_module:
+$ close swigtmp
+$ delete swig_root:[vms]swiglib.tmp;*
+$
+$ if modfound .eq. 0 then $ goto Makeit
+$
+$! Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(1)
+$ 'P2' 'P3'
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE
diff --git a/vms/scripts/compil_swig.com b/vms/scripts/compil_swig.com
new file mode 100644
index 000000000..103e275f4
--- /dev/null
+++ b/vms/scripts/compil_swig.com
@@ -0,0 +1,122 @@
+$!
+$! Generated by genbuild.py
+$!
+$ libname = "swig_root:[vms.o_alpha]swig.olb"
+$
+$ set default SWIG_ROOT:[SOURCE.SWIG]
+$
+$ idir := swig_root:[source.swig]
+$ idir = idir + ",swig_root:[source.doh.include]"
+$ idir = idir + ",swig_root:[source.include]"
+$ idir = idir + ",swig_root:[source.preprocessor]"
+$
+$ iflags = "/include=(''idir', sys$disk:[])"
+$ oflags = "/object=swig_root:[vms.o_alpha]
+$ cflags = "''oflags'''iflags'''dflags'"
+$ cxxflags = "''oflags'''iflags'''dflags'"
+$
+$ call make swig_root:[vms.o_alpha]cwrap.obj -
+ "cc ''cflags'" cwrap.c
+$ call make swig_root:[vms.o_alpha]error.obj -
+ "cc ''cflags'" error.c
+$ call make swig_root:[vms.o_alpha]fragment.obj -
+ "cc ''cflags'" fragment.c
+$ call make swig_root:[vms.o_alpha]getopt.obj -
+ "cc ''cflags'" getopt.c
+$ call make swig_root:[vms.o_alpha]include.obj -
+ "cc ''cflags'" include.c
+$ call make swig_root:[vms.o_alpha]misc.obj -
+ "cc ''cflags'" misc.c
+$ call make swig_root:[vms.o_alpha]naming.obj -
+ "cc ''cflags'" naming.c
+$ call make swig_root:[vms.o_alpha]parms.obj -
+ "cc ''cflags'" parms.c
+$ call make swig_root:[vms.o_alpha]scanner.obj -
+ "cc ''cflags'" scanner.c
+$ call make swig_root:[vms.o_alpha]stype.obj -
+ "cc ''cflags'" stype.c
+$ call make swig_root:[vms.o_alpha]symbol.obj -
+ "cc ''cflags'" symbol.c
+$ call make swig_root:[vms.o_alpha]tree.obj -
+ "cc ''cflags'" tree.c
+$ call make swig_root:[vms.o_alpha]typemap.obj -
+ "cc ''cflags'" typemap.c
+$ call make swig_root:[vms.o_alpha]typesys.obj -
+ "cc ''cflags'" typesys.c
+$ call make swig_root:[vms.o_alpha]warn.obj -
+ "cc ''cflags'" warn.c
+$ call make swig_root:[vms.o_alpha]wrapfunc.obj -
+ "cc ''cflags'" wrapfunc.c
+$ exit
+$!
+$!
+$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
+$ V = 'F$Verify(0)
+$! P1 = What we are trying to make
+$! P2 = Command to make it
+$! P3 = Source file
+$! P4 - P8 What it depends on
+$
+$ modname = f$parse(p3,,,"name")
+$ set noon
+$ set message/nofacility/noident/noseverity/notext
+$ libr/lis=swig_root:[vms]swiglib.tmp/full/width=132/only='modname' 'libname'
+$ set message/facility/ident/severity/text
+$ on error then exit
+$ open/read swigtmp swig_root:[vms]swiglib.tmp
+$! skip header
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$ read swigtmp r
+$!
+$
+$ read/end=module_not_found swigtmp r
+$ modfound = 1
+$ Time = f$cvtime(f$extract(49, 20, r))
+$ goto end_search_module
+$ module_not_found:
+$ modfound = 0
+$
+$ end_search_module:
+$ close swigtmp
+$ delete swig_root:[vms]swiglib.tmp;*
+$
+$ if modfound .eq. 0 then $ goto Makeit
+$
+$! Time = F$CvTime(F$File(P1,"RDT"))
+$arg=3
+$Loop:
+$ Argument = P'arg
+$ If Argument .Eqs. "" Then Goto Exit
+$ El=0
+$Loop2:
+$ File = F$Element(El," ",Argument)
+$ If File .Eqs. " " Then Goto Endl
+$ AFile = ""
+$Loop3:
+$ OFile = AFile
+$ AFile = F$Search(File)
+$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
+$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
+$ Goto Loop3
+$NextEL:
+$ El = El + 1
+$ Goto Loop2
+$EndL:
+$ arg=arg+1
+$ If arg .Le. 8 Then Goto Loop
+$ Goto Exit
+$
+$Makeit:
+$ VV=F$VERIFY(1)
+$ 'P2' 'P3'
+$ VV='F$Verify(VV)
+$Exit:
+$ If V Then Set Verify
+$ENDSUBROUTINE
diff --git a/vms/swigconfig.h b/vms/swigconfig.h
new file mode 100644
index 000000000..c637b4d83
--- /dev/null
+++ b/vms/swigconfig.h
@@ -0,0 +1,19 @@
+/* This -*-c-*- file contains SWIG specific configuration data for those modules
+ that care */
+
+/* Directory where to find the machine-independent SWIG files */
+
+#define SWIG_LIB "/swig_root/lib/"
+
+/* Default language */
+
+#define SWIG_LANG "-tcl"
+
+/* Values returned by swig when invoked with the -ldflags option */
+
+#define SWIG_PERL_RUNTIME "-L@-exec_prefix-@/lib -lswigpl@-release_suffix-@"
+#define SWIG_PYTHON_RUNTIME "-L@-exec_prefix-@/lib -lswigpy@-release_suffix-@"
+#define SWIG_TCL_RUNTIME "-L@-exec_prefix-@/lib -lswigtcl@-release_suffix-@"
+#define SWIG_RUBY_RUNTIME "-L@-exec_prefix-@/lib -lswigrb@-release_suffix-@"
+#define SWIG_GUILE_RUNTIME "-L@-exec_prefix-@/lib -lswigguile@-release_suffix-@"
+#define SWIG_PIKE_RUNTIME "-L@-exec_prefix-@/lib -lswigpike@-release_suffix-@"
diff --git a/vms/swigver.h b/vms/swigver.h
new file mode 100644
index 000000000..0fa6bfdbe
--- /dev/null
+++ b/vms/swigver.h
@@ -0,0 +1,18 @@
+
+/* SWIG version information */
+
+#ifndef SWIG_VERSION
+#define SWIG_VERSION 0x010316
+#endif
+
+#ifndef SWIG_MAJOR_VERSION
+#define SWIG_MAJOR_VERSION 1
+#endif
+
+#ifndef SWIG_MINOR_VERSION
+#define SWIG_MINOR_VERSION 3
+#endif
+
+#ifndef SWIG_SPIN
+#define SWIG_SPIN 16
+#endif