--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build/buildutils/fixmmp.py Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,90 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+import sys, os, re
+import traceback
+from optparse import OptionParser
+
+TMP_RE = re.compile(r"^SYSTEMINCLUDE\s+(.+[\\/])?tmp$\n", re.MULTILINE)
+DRIVE_RE = re.compile("(SYSTEMINCLUDE\s+|SOURCEPATH\s+)[a-zA-Z]:")
+RESOURCE_RE = re.compile(r"\nSTART RESOURCE.*?\nEND\n", re.DOTALL)
+TIME_RE = re.compile(r"(// Generated by qmake .*? on): .*")
+
+def main():
+ parser = OptionParser(
+ usage = "Usage: %prog [args] <input mmp> <output mmp>")
+
+ parser.add_option(
+ "--driveletter", dest = "driveletter", action = "store_true", default = False)
+ parser.add_option(
+ "--tmp-dirs", dest = "tmpDirs", action = "store_true", default = False)
+ parser.add_option(
+ "--resource", dest = "resource", action = "store_true", default = False)
+ parser.add_option(
+ "--datetime", dest = "datetime", action = "store_true", default = False)
+ parser.add_option(
+ "--mocpath", dest = "mocpath", action = "store_true", default = False)
+ parser.add_option(
+ "--header", dest = "header")
+
+ (opts, args) = parser.parse_args()
+
+ try:
+ inputFile = args[0]
+ outputFile = args[1]
+
+ # Read mmp file
+ fin = open(inputFile)
+ mmp = fin.read()
+ fin.close()
+
+ # Remove /tmp directories from system includes
+ if opts.tmpDirs:
+ mmp = TMP_RE.sub("", mmp)
+
+ # Remove driveletter from systeminclude and sourcepath
+ if opts.driveletter:
+ mmp = DRIVE_RE.sub("\\1", mmp)
+
+ # Remove resource block
+ if opts.resource:
+ mmp = RESOURCE_RE.sub("", mmp)
+
+ # Remove changing time
+ if opts.datetime:
+ mmp = TIME_RE.sub("\\1: (date)", mmp)
+
+ # Fix MOC path (in bld.inf)
+ if opts.mocpath:
+ mmp = mmp.replace(r"/epoc32/tools/qt/moc.exe",
+ r"$(EPOCROOT)epoc32/tools/qt/moc.exe")
+
+ # Add header
+ if opts.header:
+ headerText = open(opts.header).read()
+ mmp = headerText + mmp
+
+ # Write mmp file
+ open(outputFile, "w").write(mmp)
+
+ except:
+ print "Usage: %s inputFile outputFile" % sys.argv[0]
+ traceback.print_exc()
+ sys.exit(1)
+
+
+if __name__ == "__main__":
+ main()