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