From 89e9dca32b06c5aad9949bb7c5fb690d6b243f10 Mon Sep 17 00:00:00 2001 From: Dave Beazley Date: Thu, 10 Feb 2000 22:42:21 +0000 Subject: [PATCH] Distribution builder git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@216 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Tools/mkdist.py | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 Tools/mkdist.py diff --git a/Tools/mkdist.py b/Tools/mkdist.py new file mode 100755 index 000000000..f8ec932b1 --- /dev/null +++ b/Tools/mkdist.py @@ -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") +