]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg/create-release.py: Support GCC44 through GCC47
authorJordan Justen <jordan.l.justen@intel.com>
Fri, 3 Jan 2014 19:19:32 +0000 (19:19 +0000)
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 3 Jan 2014 19:19:32 +0000 (19:19 +0000)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15041 6f19259b-4bc3-4df7-8a09-765794883524

OvmfPkg/create-release.py

index f23a77438ff68eb7bdb87f360e78609e6447d388..3099d27d6cd6fe3d661f97d8f13a9bb15339a825 100755 (executable)
@@ -31,11 +31,6 @@ if not os.path.exists(os.path.join('OvmfPkg', 'OvmfPkgX64.dsc')):
     print "OvmfPkg/OvmfPkgX64.dsc doesn't exist"\r
     sys.exit(-1)\r
 \r
-if 'TOOLCHAIN' in os.environ:\r
-    TOOLCHAIN = os.environ['TOOLCHAIN']\r
-else:\r
-    TOOLCHAIN = 'GCC44'\r
-\r
 def run_and_capture_output(args, checkExitCode = True):\r
     p = subprocess.Popen(args=args, stdout=subprocess.PIPE)\r
     stdout = p.stdout.read()\r
@@ -44,6 +39,21 @@ def run_and_capture_output(args, checkExitCode = True):
         assert ret_code == 0\r
     return stdout\r
 \r
+gcc_version = run_and_capture_output(args=('gcc', '--version'))\r
+gcc_re = re.compile(r'\s*\S+\s+\([^\)]+?\)\s+(\d+(?:\.\d+)*)(?:\s+.*)?')\r
+mo = gcc_re.match(gcc_version)\r
+if not mo:\r
+    print "Unable to find GCC version"\r
+    sys.exit(-1)\r
+gcc_version = map(lambda n: int(n), mo.group(1).split('.'))\r
+\r
+if 'TOOLCHAIN' in os.environ:\r
+    TOOLCHAIN = os.environ['TOOLCHAIN']\r
+else:\r
+    assert(gcc_version[0] == 4)\r
+    minor = max(4, min(7, gcc_version[1]))\r
+    TOOLCHAIN = 'GCC4' + str(minor)\r
+\r
 def git_svn_info():\r
     dir = os.getcwd()\r
     os.chdir('OvmfPkg')\r
@@ -82,8 +92,7 @@ def gen_build_info():
 \r
     machine = run_and_capture_output(args=('uname', '-m')).strip()\r
 \r
-    gcc_version = run_and_capture_output(args=('gcc', '--version'))\r
-    gcc_version = gcc_version.split('\n')[0].split()[-1]\r
+    gcc_version_str = '.'.join(map(lambda v: str(v), gcc_version))\r
 \r
     ld_version = run_and_capture_output(args=('ld', '--version'))\r
     ld_version = ld_version.split('\n')[0].split()[-1]\r
@@ -94,7 +103,7 @@ def gen_build_info():
 \r
     sb = StringIO.StringIO()\r
     print >> sb, 'edk2:    ', 'r%d' % revision\r
-    print >> sb, 'compiler: GCC', gcc_version\r
+    print >> sb, 'compiler: GCC', gcc_version_str, '(' + TOOLCHAIN + ')'\r
     print >> sb, 'binutils:', ld_version\r
     print >> sb, 'iasl:    ', iasl_version\r
     print >> sb, 'system:  ', distro, machine.replace('_', '-')\r