diff options
Diffstat (limited to 'tools/qmakeish.py')
-rwxr-xr-x | tools/qmakeish.py | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/tools/qmakeish.py b/tools/qmakeish.py deleted file mode 100755 index 34a3b79..0000000 --- a/tools/qmakeish.py +++ /dev/null @@ -1,107 +0,0 @@ -#!/usr/bin/env python -# Run this from the toplevel with: -# tools/qmakeish.py src/Swift/Makefile > src/Swift/Swift.pri - -import sys, re, os.path - -def processSourcesLine(line) : - strippedLine = line.rstrip("\n") - sourceFile = re.sub("\\\\$", "", strippedLine).strip() - if len(sourceFile) > 0 : - print "SOURCES += $$PWD/" + sourceFile - return strippedLine.endswith("\\") - -def processFlags(name, flags) : - flags = flags.replace("-isystem ", "-I") - for flag in flags.split(" ") : - if flag.startswith("-D") : - print "DEFINES += " + flag[2:] - elif flag.startswith("-I") : - print "INCLUDEPATH += $$PWD/" + flag[2:] - elif len(flag) > 0 : - print name + " += " + flag - - -assert(len(sys.argv) == 2) - -basedir = os.path.dirname(sys.argv[1]) - -# Flatten the makefile -makefile = [] -files = [open(sys.argv[1])] -while len(files) > 0 : - file = files[-1] - line = file.readline() - if line : - match = re.match("include (.*)", line) - if match and match.group(1) != "Makefile.config" : - files.append(open(os.path.join(basedir, match.group(1)))) - makefile.append("## Begin File: " + match.group(1)) - else : - makefile.append(line) - else : - makefile.append("## End file") - file.close() - files.pop() - -# Process makefile -inSources = False -for line in makefile : - if inSources : - inSources = processSourcesLine(line) - else : - # Conditional - match = re.match("if(n?)eq \(\$\((.*)\),(.*)\)", line) - if match : - conditional = match.group(2) - if conditional == "WIN32" : - conditional = "win32" - elif conditional == "MACOSX" : - conditional = "mac" - elif match.group(2).startswith("HAVE_") : - conditional = "!isEmpty(" + match.group(2) + ")" - else : - conditional = "DUMMY" - if (match.group(1) == "n") ^ (match.group(3) not in ["1", "yes"]) : - conditional = "!" + conditional - print conditional + " {" - continue - if re.match("^if(n?)def", line) : - print "DUMMY {" - continue - elif re.match("^if(n?)eq", line) : - print "DUMMY {" - continue - if re.match("^else$", line) : - print "} else {" - continue - if re.match("^endif$", line) : - print "}" - continue - - match = re.match("(\w+)_SOURCES (\+?)= (.*)", line) - if match and match.group(1) in ["SWIFT", "ZLIB", "LIBIDN", "BOOST"] : - inSources = processSourcesLine(match.group(3)) - continue - - match = re.match("(LIBS|CXXFLAGS|CPPFLAGS|CFLAGS) \+= (.*)", line) - if match : - processFlags(match.group(1), match.group(2)) - - if line.startswith("## ") : - print line - -""" -#print sourceFiles -sys.exit(0) - -print files -pro = open ('swiftall.pri', 'w') -for sourceType in files.keys(): - pro.write("%s += \\\n" % sourceType) - for sourceFile in files[sourceType]: - pro.write("$$PWD/Swift/%s \\\n" % sourceFile) - pro.write("\n") -pro.close() - -""" |