]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/build.sh
OvmfPkg/build.sh: Fix compilation error on OS X
[mirror_edk2.git] / OvmfPkg / build.sh
index e500e2c7a06572606b23d1b1144a6f6633885d0a..6751551b1014b5632c38718c0ce7f08722617978 100755 (executable)
@@ -45,6 +45,7 @@ PROCESSOR=X64
 BUILDTARGET=DEBUG
 BUILD_OPTIONS=
 PLATFORMFILE=
+THREADNUMBER=1
 LAST_ARG=
 RUN_QEMU=no
 
@@ -57,15 +58,20 @@ case `uname` in
     echo Cygwin not fully supported yet.
     ;;
   Darwin*)
-      Major=$(uname -r | cut -f 1 -d '.')
-      if [[ $Major == 9 ]]
-      then
+    Major=$(uname -r | cut -f 1 -d '.')
+    case $Major in
+      10)
+        TARGET_TOOLS=XCODE32
+        ;;
+      1[12])
+        TARGET_TOOLS=XCLANG
+        ;;
+       *)
         echo OvmfPkg requires Snow Leopard or later OS
         exit 1
-      else
-        TARGET_TOOLS=XCODE32
-      fi
-      ;;
+        ;;
+    esac
+    ;;
   Linux*)
     gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
     case $gcc_version in
@@ -75,6 +81,9 @@ case `uname` in
       4.6.*)
         TARGET_TOOLS=GCC46
         ;;
+      4.[789].*)
+        TARGET_TOOLS=GCC47
+        ;;
       *)
         TARGET_TOOLS=GCC44
         ;;
@@ -89,7 +98,7 @@ for arg in "$@"
 do
   if [ -z "$LAST_ARG" ]; then
     case $arg in
-      -a|-b|-t|-p)
+      -a|-b|-t|-p|-n)
         LAST_ARG=$arg
         ;;
       qemu)
@@ -115,6 +124,9 @@ do
       -t)
         TARGET_TOOLS=$arg
         ;;
+      -n)
+        THREADNUMBER=$arg
+        ;;
       *)
         BUILD_OPTIONS="$BUILD_OPTIONS $arg"
         ;;
@@ -206,6 +218,6 @@ fi
 # Build the edk2 OvmfPkg
 #
 echo Running edk2 build for OvmfPkg$Processor
-build -p $PLATFORMFILE $BUILD_OPTIONS -a $PROCESSOR -b $BUILDTARGET -t $TARGET_TOOLS
+build -p $PLATFORMFILE $BUILD_OPTIONS -a $PROCESSOR -b $BUILDTARGET -t $TARGET_TOOLS -n $THREADNUMBER
 exit $?