DuetPkg scripts: Support building with GCC45 - GCC49
authorJordan Justen <jordan.l.justen@intel.com>
Wed, 6 Apr 2016 07:39:17 +0000 (00:39 -0700)
committerLaszlo Ersek <lersek@redhat.com>
Fri, 8 Apr 2016 11:47:19 +0000 (13:47 +0200)
Build tested with GCC 5.3 with both IA32 and X64. Unfortunately both
seemed to hang very early when boot tested on QEMU.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
DuetPkg/PostBuild.sh
DuetPkg/build32.sh
DuetPkg/build64.sh

index c77c0f3..f032de3 100755 (executable)
@@ -6,7 +6,7 @@
 #  and platform building, so just use a sh file to do post build commands.
 #  Originally, following post building command is for EfiLoader module.
 #
 #  and platform building, so just use a sh file to do post build commands.
 #  Originally, following post building command is for EfiLoader module.
 #
-#  Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+#  Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -53,11 +53,11 @@ case "$2" in
    UNIXGCC)
      export TOOLTAG=UNIXGCC
      ;;
    UNIXGCC)
      export TOOLTAG=UNIXGCC
      ;;
-   GCC44)
-     export TOOLTAG=GCC44
+   GCC4*)
+     export TOOLTAG=$2
      ;;
    *)
      ;;
    *)
-     echo Invalid tool tag, should be only UNIXGCC or GCC44
+     echo Invalid tool tag, should be only UNIXGCC or GCC4\*
      return 1
 esac
 
      return 1
 esac
 
index 5e99aba..c15c996 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
 #!/bin/bash
 #
 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
 #
 # This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
 #
 # This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
@@ -57,7 +57,27 @@ case `uname` in
       fi
       ;;
   Linux*)
       fi
       ;;
   Linux*)
-    TARGET_TOOLS=GCC44
+    gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
+    case $gcc_version in
+      4.5.*)
+        TARGET_TOOLS=GCC45
+        ;;
+      4.6.*)
+        TARGET_TOOLS=GCC46
+        ;;
+      4.7.*)
+        TARGET_TOOLS=GCC47
+        ;;
+      4.8.*)
+        TARGET_TOOLS=GCC48
+        ;;
+      4.9.*|4.1[0-9].*|5.*.*)
+        TARGET_TOOLS=GCC49
+        ;;
+      *)
+        TARGET_TOOLS=GCC44
+        ;;
+    esac
     ;;
 
 esac
     ;;
 
 esac
index d215116..0401c56 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 #
 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
 #!/bin/bash
 #
 # Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
 #
 # This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
 #
 # This program and the accompanying materials
 # are licensed and made available under the terms and conditions of the BSD License
@@ -56,7 +56,27 @@ case `uname` in
       fi
       ;;
   Linux*)
       fi
       ;;
   Linux*)
-    TARGET_TOOLS=GCC44
+    gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
+    case $gcc_version in
+      4.5.*)
+        TARGET_TOOLS=GCC45
+        ;;
+      4.6.*)
+        TARGET_TOOLS=GCC46
+        ;;
+      4.7.*)
+        TARGET_TOOLS=GCC47
+        ;;
+      4.8.*)
+        TARGET_TOOLS=GCC48
+        ;;
+      4.9.*|4.1[0-9].*|5.*.*)
+        TARGET_TOOLS=GCC49
+        ;;
+      *)
+        TARGET_TOOLS=GCC44
+        ;;
+    esac
     ;;
 
 esac
     ;;
 
 esac