Distribution builder
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@216 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
db80594ed7
commit
89e9dca32b
1 changed files with 79 additions and 0 deletions
79
Tools/mkdist.py
Executable file
79
Tools/mkdist.py
Executable file
|
|
@ -0,0 +1,79 @@
|
||||||
|
#!/usr/local/bin/python
|
||||||
|
|
||||||
|
# This script builds a SWIG1.3 distribution.
|
||||||
|
# Usage : mkdist.py dirname
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
try:
|
||||||
|
dirname = sys.argv[1]
|
||||||
|
except:
|
||||||
|
print "Usage: mkdist.py directory"
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
# If directory exists, remove it
|
||||||
|
import os
|
||||||
|
print "Removing ", dirname
|
||||||
|
os.system("rm -rf "+dirname)
|
||||||
|
|
||||||
|
# Do a CVS export on the directory name
|
||||||
|
|
||||||
|
print "Checking out SWIG"
|
||||||
|
os.system("cvs export -D now -d "+dirname+ " SWIG")
|
||||||
|
|
||||||
|
# Now clean the source directory
|
||||||
|
|
||||||
|
SOURCES = ['DOH','Swig','Preprocessor','SWIG1.1','Modules1.1', 'Include']
|
||||||
|
|
||||||
|
srcs = [ ]
|
||||||
|
for d in SOURCES:
|
||||||
|
srcs.append(dirname+"/Source/"+d)
|
||||||
|
|
||||||
|
print "Cleaning the source directory..."
|
||||||
|
import glob
|
||||||
|
import string
|
||||||
|
dirs = glob.glob(dirname+"/Source/*")
|
||||||
|
dnames = [ ]
|
||||||
|
for d in dirs:
|
||||||
|
if not (d in srcs):
|
||||||
|
print "Removing ", d
|
||||||
|
os.system("rm -rf "+d)
|
||||||
|
dnames.append(string.split(d,"/")[-1])
|
||||||
|
|
||||||
|
print "Patching the configure script"
|
||||||
|
|
||||||
|
f = open(dirname+"/configure.in")
|
||||||
|
s = f.read()
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
# Remove any dirs not in SOURCES from the configure line
|
||||||
|
|
||||||
|
print dnames
|
||||||
|
|
||||||
|
for d in dnames:
|
||||||
|
s = string.replace(s,"Source/"+d+"/Makefile","")
|
||||||
|
s = string.replace(s,"Source/"+d,"")
|
||||||
|
|
||||||
|
f = open(dirname+"/configure.in","w")
|
||||||
|
f.write(s)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
# Clean the documentation directory
|
||||||
|
|
||||||
|
print "Cleaning the Doc directory"
|
||||||
|
os.system("rm -rf "+dirname+"/Doc/*")
|
||||||
|
|
||||||
|
# Blow away all .cvsignore files
|
||||||
|
|
||||||
|
print "Blowing away .cvsignore files"
|
||||||
|
os.system("find "+dirname+" -name .cvsignore -exec rm {} \\;");
|
||||||
|
|
||||||
|
# Go build the system
|
||||||
|
|
||||||
|
os.system("cd "+dirname+"; autoconf")
|
||||||
|
os.system("cd "+dirname+"/Source/DOH; autoconf")
|
||||||
|
os.system("cd "+dirname+"/Source/SWIG1.1; bison -y -d parser.yxx; mv y.tab.c parser.cxx; mv y.tab.h parser.h")
|
||||||
|
|
||||||
|
os.system("tar -cf "+string.lower(dirname)+".tar "+dirname)
|
||||||
|
os.system("gzip "+string.lower(dirname)+".tar")
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue