Mercurial > mm7
diff lib/swig/swigwin-2.0.11/vms/genbuild.py @ 1899:b3009adc0e2f
Adding swig, gitignore, hgignore
author | Nomad |
---|---|
date | Mon, 21 Oct 2013 10:42:27 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/swig/swigwin-2.0.11/vms/genbuild.py Mon Oct 21 10:42:27 2013 +0200 @@ -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