sys-firmware/edk2-ovmf: update to 201905

needed by app-emulation/qemu-4.2.0
This commit is contained in:
Dongsu Park 2020-03-31 09:56:06 +02:00
parent 3b4ace2f53
commit 96dcb5c0f6
13 changed files with 345 additions and 620 deletions

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=compile install postinst prepare setup
DEPEND=!binary? ( amd64? ( >=dev-lang/nasm-2.0.7 >=sys-power/iasl-20160729 || ( >=dev-lang/python-2.7.5-r2:2.7[sqlite] ) ) )
DESCRIPTION=UEFI firmware for 64-bit x86 virtual machines
EAPI=6
HOMEPAGE=https://github.com/tianocore/edk2
IUSE=+binary
KEYWORDS=amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd
LICENSE=BSD-2 MIT
REQUIRED_USE=!amd64? ( binary )
SLOT=0
SRC_URI=binary? ( https://dev.gentoo.org/~tamiko/distfiles/edk2-ovmf-2017_p20180211-bin.tar.xz ) !binary? ( https://dev.gentoo.org/~tamiko/distfiles/edk2-ovmf-2017_p20180211.tar.xz )
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=0a741e74eb539b44eeaa8afa027eb874

View File

@ -1,13 +0,0 @@
DEFINED_PHASES=compile install postinst prepare setup
DEPEND=!binary? ( amd64? ( >=dev-lang/nasm-2.0.7 >=sys-power/iasl-20160729 || ( >=dev-lang/python-2.7.5-r2:2.7[sqlite] ) ) )
DESCRIPTION=UEFI firmware for 64-bit x86 virtual machines
EAPI=6
HOMEPAGE=https://github.com/tianocore/edk2
IUSE=+binary
KEYWORDS=amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd
LICENSE=BSD-2 MIT
REQUIRED_USE=!amd64? ( binary )
SLOT=0
SRC_URI=binary? ( https://dev.gentoo.org/~tamiko/distfiles/edk2-ovmf-2017_pre20170505-bin.tar.xz ) !binary? ( https://dev.gentoo.org/~tamiko/distfiles/edk2-ovmf-2017_pre20170505.tar.xz )
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=efa6a9467bbabf95085c5bcf8652b118

View File

@ -0,0 +1,13 @@
DEFINED_PHASES=compile install postinst prepare setup
DEPEND=!binary? ( amd64? ( app-emulation/qemu >=dev-lang/nasm-2.0.7 >=sys-power/iasl-20160729 || ( dev-lang/python:3.7[sqlite] dev-lang/python:3.6[sqlite] ) ) )
DESCRIPTION=UEFI firmware for 64-bit x86 virtual machines
EAPI=7
HOMEPAGE=https://github.com/tianocore/edk2
IUSE=+binary
KEYWORDS=amd64 ~arm64 ~ppc ~ppc64 x86
LICENSE=BSD-2 MIT
REQUIRED_USE=!amd64? ( binary )
SLOT=0
SRC_URI=!binary? ( https://github.com/tianocore/edk2/archive/edk2-stable201905.tar.gz -> edk2-ovmf-201905.tar.gz https://dev.gentoo.org/~tamiko/distfiles/edk2-ovmf-201905-bundled.tar.xz ) binary? ( https://dev.gentoo.org/~tamiko/distfiles/edk2-ovmf-201905-bin.tar.xz )
_eclasses_=eutils 6e6c2737b59a4b982de6fb3ecefd87f8 multilib 1d91b03d42ab6308b5f4f6b598ed110e python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=eea5a2cfea6d246a2aab5992d39d1fe4

View File

@ -1,9 +0,0 @@
DEFINED_PHASES=compile install postinst prepare setup unpack
DEPEND=>=dev-lang/nasm-2.0.7 >=sys-power/iasl-20160729 || ( >=dev-lang/python-2.7.5-r2:2.7[sqlite] ) >=dev-vcs/git-1.8.2.1[curl]
DESCRIPTION=UEFI firmware for 64-bit x86 virtual machines
EAPI=6
HOMEPAGE=https://github.com/tianocore/edk2
LICENSE=BSD-2 MIT
SLOT=0
_eclasses_=desktop b1d22ac8bdd4679ab79c71aca235009d epatch a1bf4756dba418a7238f3be0cb010c54 estack 43ddf5aaffa7a8d0482df54d25a66a1f eutils 6e6c2737b59a4b982de6fb3ecefd87f8 git-r3 0d4635eeb5a96cd5315597a47eba25c9 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 1d91b03d42ab6308b5f4f6b598ed110e preserve-libs ef207dc62baddfddfd39a164d9797648 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf
_md5_=692329e3c4a299152da515b5749240d1

View File

@ -0,0 +1,10 @@
BDEPEND=>=dev-vcs/git-1.8.2.1[curl]
DEFINED_PHASES=compile install postinst prepare setup unpack
DEPEND=app-emulation/qemu >=dev-lang/nasm-2.0.7 >=sys-power/iasl-20160729 || ( dev-lang/python:3.7[sqlite] dev-lang/python:3.6[sqlite] )
DESCRIPTION=UEFI firmware for 64-bit x86 virtual machines
EAPI=7
HOMEPAGE=https://github.com/tianocore/edk2
LICENSE=BSD-2 MIT
SLOT=0
_eclasses_=eutils 6e6c2737b59a4b982de6fb3ecefd87f8 git-r3 0d4635eeb5a96cd5315597a47eba25c9 multilib 1d91b03d42ab6308b5f4f6b598ed110e python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 08e17157a6807add7db1f8d01e7e391f readme.gentoo-r1 22ae82e140bdd95d17a34fd5fd733190 toolchain-funcs 8c7f9d80beedd16f2e5a7f612c609529
_md5_=1b4d9267e81e3b131d3692cd08dedb16

View File

@ -1,4 +1,3 @@
DIST edk2-ovmf-2017_p20180211-bin.tar.xz 910896 BLAKE2B 2d2ead282cebc1254cae2b10042f809e887a17a83fe67998ddcadf86cdf07e615594b243ab35d3fa8a6d6ce218f8f0bad758ee1db2ab4ff6c08d65419f4078b0 SHA512 88c3c4d7cecc2af1cc4dfa06686f34cc3a5facfb24750c766b47f53dec7267b95b58b391d23038e6a589d1687d2c117f1912d10118e26f99c0906c3d8e90deed DIST edk2-ovmf-201905-bin.tar.xz 3017256 BLAKE2B 6a106f111a363f1c2de33c4e7eba48183da6047654512939c286c6d0369e3b4c7705c271e61fa95299ba2b629022be7b5ef665ff096d41373583f5409b5c32fb SHA512 4a174dc1d64769a93de3bf5f9d787e278bfab57e2317699d722aa772e64e8867b3998b7feee58d5e4c66adc79ba9c5023dae2ce786159db7a740b86cf35d923d
DIST edk2-ovmf-2017_p20180211.tar.xz 22977736 BLAKE2B 4d95eaf3017668197632ab7e035ad6c9f1490bde3d27e575170541fd64773fef8676406c88451b8dc996d9d7dd625fa389279105951f02e08f6de025075bd172 SHA512 ee3d70da562ed7dc4647576da8605d25fd9f991b4a96c2ed106e0d1b697af9e0624ad161750ccba7ab3db553ab1c6177780dd9c29a70073eb17729e9ae24c5a7 DIST edk2-ovmf-201905-bundled.tar.xz 3538508 BLAKE2B a1766180c84ee83987f50fdb6a6c9891dfb983ff78c98f7bc38635ffe484ebf29d4286ff97d7747080e28a655ff14b5939d4505d75ebe6655ecacc7f9d405469 SHA512 be3d8ef1ffb1ddce64883d9ef8dc598c7026d23d2e33c33949d28de81513b6a7f04f840ccb3d42664e918c6603487fbe594261c327921f3250c3998218572774
DIST edk2-ovmf-2017_pre20170505-bin.tar.xz 874904 BLAKE2B a381d3ca20cf0e1f3aff74335c1d783bb80f0b5c7a8716d8154f2e0a19255780e5b08fae37cab9fa484fc1cbe3bc3b5d40339634ee3b0808bd2b3a8b2849730a SHA512 c7a7d83758214b6ab63c6cefe827a601aaa7656b7f01e03413c84d913078a2b0d8037f70de34d42d8e1614aee794e0ffd7d9e62314eb4e04c21256b70338af5c DIST edk2-ovmf-201905.tar.gz 14551747 BLAKE2B 6fb3385445fd01c0dea26295a68de2691524e55c96d8a0e85aab1385a9abddc47c13ce3236b952c1299514e542ad0fa4bc9550cc4527945c05109d227a698293 SHA512 91188923f7d1ab83c0d6abf7ec6d59f357d0341a617ad6a3ae05f3d0e041dff43f62b014b0c5fc5d15e16d8f1c279c581a5cd64b31e3d52b340d7ef90adb50f1
DIST edk2-ovmf-2017_pre20170505.tar.xz 22952060 BLAKE2B 7d4da1fed8e76f643e2856be2485f6c398896d61b7ad8fb013e891fd73f69c4acfd9980e7f95aec002cee647719a622711100f8cb6829edecae35ed31b3ef563 SHA512 6da859360448fd6d04d1492c88a7e935f7108c524f7ccfe6aa4c13bf9af9695dbc4a5b8efa274adc86d3105946aaa1ba80bcd9713facdca153f1a3d873797b63

View File

@ -1,113 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python2_7 )
inherit eutils python-any-r1 readme.gentoo-r1
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
"
SOURCE_DEPEND="
>=dev-lang/nasm-2.0.7
>=sys-power/iasl-20160729
${PYTHON_DEPS}
"
DEPEND=""
RDEPEND=""
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tianocore/edk2"
DEPEND+="
${SOURCE_DEPEND}"
else
SRC_URI="
binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )
!binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}.tar.xz )"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
IUSE="+binary"
REQUIRED_USE+="
!amd64? ( binary )
"
DEPEND+="
!binary? ( amd64? ( ${SOURCE_DEPEND} ) )"
fi
LICENSE="BSD-2 MIT"
SLOT="0"
DISABLE_AUTOFORMATTING=true
DOC_CONTENTS="This package contains the tianocore edk2 UEFI firmware for 64-bit x86
virtual machines. The firmware is located under
/usr/share/edk2-ovmf/OVMF.fd
/usr/share/edk2-ovmf/OVMF_CODE.fd
/usr/share/edk2-ovmf/OVMF_VARS.fd
The firmware does not support csm (due to no free csm implementation
available). If you need a firmware with csm support you have to download
one for yourself. Firmware blobs are commonly labeled
OVMF{,_CODE,_VARS}-with-csm.fd
In order to use the firmware you can run qemu the following way
$ qemu-system-x86_64 \
-drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
...
You can register the firmware for use in libvirt by adding to /etc/libvirt/qemu.conf:
nvram = [
\"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
]"
PATCHES=(
"${FILESDIR}"/${P}-build_system_fixes.patch
)
pkg_setup() {
[[ ${PV} != "9999" ]] && use binary || python-any-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != "9999" ]] && use binary; then
eapply_user
return
fi
default
}
src_compile() {
TARGET_ARCH=X64
TARGET_NAME=RELEASE
TARGET_TOOLS=GCC49
[[ ${PV} != "9999" ]] && use binary && return
emake ARCH=${TARGET_ARCH} -C BaseTools -j1
. ./edksetup.sh
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
-D FD_SIZE_2MB \
|| die "OvmfPkg/build.sh failed"
}
src_install() {
local builddir="Build/OvmfX64/${TARGET_NAME}_${TARGET_TOOLS}/FV"
insinto /usr/share/${PN}
doins "${builddir}"/OVMF{,_CODE,_VARS}.fd
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -1,116 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python2_7 )
inherit eutils python-any-r1 readme.gentoo-r1
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
"
NON_BINARY_DEPEND="
>=dev-lang/nasm-2.0.7
>=sys-power/iasl-20160729
${PYTHON_DEPS}
"
DEPEND=""
RDEPEND=""
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tianocore/edk2"
DEPEND+="
${NON_BINARY_DEPEND}
"
else
SRC_URI="
binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )
!binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}.tar.xz )"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
IUSE="+binary"
REQUIRED_USE+="
!amd64? ( binary )
"
DEPEND+="
!binary? (
amd64? (
${NON_BINARY_DEPEND}
)
)"
PATCHES=(
"${FILESDIR}"/${P}-build_system_fixes.patch
)
fi
LICENSE="BSD-2 MIT"
SLOT="0"
DISABLE_AUTOFORMATTING=true
DOC_CONTENTS="This package contains the tianocore edk2 UEFI firmware for 64-bit x86
virtual machines. The firmware is located under
/usr/share/edk2-ovmf/OVMF.fd
/usr/share/edk2-ovmf/OVMF_CODE.fd
/usr/share/edk2-ovmf/OVMF_VARS.fd
The firmware does not support csm (due to no free csm implementation
available). If you need a firmware with csm support you have to download
one for yourself. Firmware blobs are commonly labeled
OVMF{,_CODE,_VARS}-with-csm.fd
In order to use the firmware you can run qemu the following way
$ qemu-system-x86_64 \
-drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
...
You can register the firmware for use in libvirt by adding to /etc/libvirt/qemu.conf:
nvram = [
\"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
]"
pkg_setup() {
[[ ${PV} != "9999" ]] && use binary || python-any-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != "9999" ]] && use binary; then
eapply_user
return
fi
default
}
src_compile() {
TARGET_ARCH=X64
TARGET_NAME=RELEASE
TARGET_TOOLS=GCC49
[[ ${PV} != "9999" ]] && use binary && return
emake ARCH=${TARGET_ARCH} -C BaseTools -j1
. ./edksetup.sh
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
-D FD_SIZE_2MB \
|| die "OvmfPkg/build.sh failed"
}
src_install() {
local builddir="Build/OvmfX64/${TARGET_NAME}_${TARGET_TOOLS}/FV"
insinto /usr/share/${PN}
doins "${builddir}"/OVMF{,_CODE,_VARS}.fd
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,165 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python{3_6,3_7} )
inherit eutils python-any-r1 readme.gentoo-r1
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
NON_BINARY_DEPEND="
app-emulation/qemu
>=dev-lang/nasm-2.0.7
>=sys-power/iasl-20160729
${PYTHON_DEPS}
"
DEPEND=""
RDEPEND=""
if [[ ${PV} == "999999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tianocore/edk2"
DEPEND+="
${NON_BINARY_DEPEND}
"
else
# Binary versions taken from fedora:
# http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/Packages/s/
# edk2-ovmf-20190501stable-2.fc31.noarch.rpm
SRC_URI="
!binary? (
https://github.com/tianocore/edk2/archive/edk2-stable${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~tamiko/distfiles/${P}-bundled.tar.xz
)
binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )
"
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86"
IUSE="+binary"
REQUIRED_USE+="
!amd64? ( binary )
"
DEPEND+="
!binary? (
amd64? (
${NON_BINARY_DEPEND}
)
)"
PATCHES=(
)
fi
LICENSE="BSD-2 MIT"
SLOT="0"
S="${WORKDIR}/edk2-edk2-stable${PV}"
DISABLE_AUTOFORMATTING=true
DOC_CONTENTS="This package contains the tianocore edk2 UEFI firmware for 64-bit x86
virtual machines. The firmware is located under
/usr/share/edk2-ovmf/OVMF_CODE.fd
/usr/share/edk2-ovmf/OVMF_VARS.fd
/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd
If USE=binary is enabled, we also install an OVMF variables file (coming from
fedora) that contains secureboot default keys
/usr/share/edk2-ovmf/OVMF_VARS.secboot.fd
If you have compiled this package by hand, you need to either populate all
necessary EFI variables by hand by booting
/usr/share/edk2-ovmf/UefiShell.(iso|img)
or creating OVMF_VARS.secboot.fd by hand:
https://github.com/puiterwijk/qemu-ovmf-secureboot
The firmware does not support csm (due to no free csm implementation
available). If you need a firmware with csm support you have to download
one for yourself. Firmware blobs are commonly labeled
OVMF{,_CODE,_VARS}-with-csm.fd
In order to use the firmware you can run qemu the following way
$ qemu-system-x86_64 \
-drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
...
You can register the firmware for use in libvirt by adding to /etc/libvirt/qemu.conf:
nvram = [
\"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
\"/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
]"
pkg_setup() {
[[ ${PV} != "999999" ]] && use binary || python-any-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != "999999" ]] && use binary; then
eapply_user
return
fi
default
}
src_compile() {
TARGET_ARCH=X64
TARGET_NAME=RELEASE
TARGET_TOOLS=GCC49
BUILD_FLAGS="-D TLS_ENABLE \
-D HTTP_BOOT_ENABLE \
-D NETWORK_IP6_ENABLE \
-D FD_SIZE_2MB"
SECUREBOOT_BUILD_FLAGS="${BUILD_FLAGS} \
-D SECURE_BOOT_ENABLE \
-D SMM_REQUIRE \
-D EXCLUDE_SHELL_FROM_FD"
[[ ${PV} != "999999" ]] && use binary && return
emake ARCH=${TARGET_ARCH} -C BaseTools
. ./edksetup.sh
# Build all EFI firmware blobs:
mkdir -p ovmf
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
${BUILD_FLAGS} || die "OvmfPkg/build.sh failed"
cp Build/OvmfX64/*/FV/OVMF_*.fd ovmf/
rm -rf Build/OvmfX64
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
${SECUREBOOT_BUILD_FLAGS} || die "OvmfPkg/build.sh failed"
cp Build/OvmfX64/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd || die "cp failed"
cp Build/OvmfX64/*/X64/Shell.efi ovmf/ || die "cp failed"
cp Build/OvmfX64/*/X64/EnrollDefaultKeys.efi ovmf || die "cp failed"
# Build a convenience UefiShell.img:
mkdir -p iso_image/efi/boot || die "mkdir failed"
cp ovmf/Shell.efi iso_image/efi/boot/bootx64.efi || die "cp failed"
cp ovmf/EnrollDefaultKeys.efi iso_image || die "cp failed"
qemu-img convert --image-opts \
driver=vvfat,floppy=on,fat-type=12,label=UEFI_SHELL,dir=iso_image \
ovmf/UefiShell.img || die "qemu-img failed"
}
src_install() {
insinto /usr/share/${PN}
doins ovmf/*
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -1,116 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python2_7 )
inherit eutils python-any-r1 readme.gentoo-r1
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
"
NON_BINARY_DEPEND="
>=dev-lang/nasm-2.0.7
>=sys-power/iasl-20160729
${PYTHON_DEPS}
"
DEPEND=""
RDEPEND=""
if [[ ${PV} == "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tianocore/edk2"
DEPEND+="
${NON_BINARY_DEPEND}
"
else
SRC_URI="
binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}-bin.tar.xz )
!binary? ( https://dev.gentoo.org/~tamiko/distfiles/${P}.tar.xz )"
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
IUSE="+binary"
REQUIRED_USE+="
!amd64? ( binary )
"
DEPEND+="
!binary? (
amd64? (
${NON_BINARY_DEPEND}
)
)"
PATCHES=(
"${FILESDIR}"/${P}-build_system_fixes.patch
)
fi
LICENSE="BSD-2 MIT"
SLOT="0"
DISABLE_AUTOFORMATTING=true
DOC_CONTENTS="This package contains the tianocore edk2 UEFI firmware for 64-bit x86
virtual machines. The firmware is located under
/usr/share/edk2-ovmf/OVMF.fd
/usr/share/edk2-ovmf/OVMF_CODE.fd
/usr/share/edk2-ovmf/OVMF_VARS.fd
The firmware does not support csm (due to no free csm implementation
available). If you need a firmware with csm support you have to download
one for yourself. Firmware blobs are commonly labeled
OVMF{,_CODE,_VARS}-with-csm.fd
In order to use the firmware you can run qemu the following way
$ qemu-system-x86_64 \
-drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
...
You can register the firmware for use in libvirt by adding to /etc/libvirt/qemu.conf:
nvram = [
\"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
]"
pkg_setup() {
[[ ${PV} != "9999" ]] && use binary || python-any-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != "9999" ]] && use binary; then
eapply_user
return
fi
default
}
src_compile() {
TARGET_ARCH=X64
TARGET_NAME=RELEASE
TARGET_TOOLS=GCC49
[[ ${PV} != "9999" ]] && use binary && return
emake ARCH=${TARGET_ARCH} -C BaseTools
. ./edksetup.sh
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
-D FD_SIZE_2MB \
|| die "OvmfPkg/build.sh failed"
}
src_install() {
local builddir="Build/OvmfX64/${TARGET_NAME}_${TARGET_TOOLS}/FV"
insinto /usr/share/${PN}
doins "${builddir}"/OVMF{,_CODE,_VARS}.fd
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,154 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_REQ_USE="sqlite"
PYTHON_COMPAT=( python{3_6,3_7} )
inherit eutils python-any-r1 readme.gentoo-r1
DESCRIPTION="UEFI firmware for 64-bit x86 virtual machines"
HOMEPAGE="https://github.com/tianocore/edk2"
NON_BINARY_DEPEND="
app-emulation/qemu
>=dev-lang/nasm-2.0.7
>=sys-power/iasl-20160729
${PYTHON_DEPS}
"
DEPEND=""
RDEPEND=""
if [[ ${PV} == "999999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/tianocore/edk2"
DEPEND+="
${NON_BINARY_DEPEND}
"
else
SRC_URI=""
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
IUSE="+binary"
REQUIRED_USE+="
!amd64? ( binary )
"
DEPEND+="
!binary? (
amd64? (
${NON_BINARY_DEPEND}
)
)"
PATCHES=(
)
fi
LICENSE="BSD-2 MIT"
SLOT="0"
DISABLE_AUTOFORMATTING=true
DOC_CONTENTS="This package contains the tianocore edk2 UEFI firmware for 64-bit x86
virtual machines. The firmware is located under
/usr/share/edk2-ovmf/OVMF_CODE.fd
/usr/share/edk2-ovmf/OVMF_VARS.fd
/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd
If USE=binary is enabled, we also install an OVMF variables file (coming from
fedora) that contains secureboot default keys
/usr/share/edk2-ovmf/OVMF_VARS.secboot.fd
If you have compiled this package by hand, you need to either populate all
necessary EFI variables by hand by booting
/usr/share/edk2-ovmf/UefiShell.(iso|img)
or creating OVMF_VARS.secboot.fd by hand:
https://github.com/puiterwijk/qemu-ovmf-secureboot
The firmware does not support csm (due to no free csm implementation
available). If you need a firmware with csm support you have to download
one for yourself. Firmware blobs are commonly labeled
OVMF{,_CODE,_VARS}-with-csm.fd
In order to use the firmware you can run qemu the following way
$ qemu-system-x86_64 \
-drive file=/usr/share/edk2-ovmf/OVMF.fd,if=pflash,format=raw,unit=0,readonly=on \
...
You can register the firmware for use in libvirt by adding to /etc/libvirt/qemu.conf:
nvram = [
\"/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
\"/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd\"
]"
pkg_setup() {
[[ ${PV} != "999999" ]] && use binary || python-any-r1_pkg_setup
}
src_prepare() {
if [[ ${PV} != "999999" ]] && use binary; then
eapply_user
return
fi
default
}
src_compile() {
TARGET_ARCH=X64
TARGET_NAME=RELEASE
TARGET_TOOLS=GCC49
BUILD_FLAGS="-D TLS_ENABLE \
-D HTTP_BOOT_ENABLE \
-D NETWORK_IP6_ENABLE \
-D FD_SIZE_2MB"
SECUREBOOT_BUILD_FLAGS="${BUILD_FLAGS} \
-D SECURE_BOOT_ENABLE \
-D SMM_REQUIRE \
-D EXCLUDE_SHELL_FROM_FD"
[[ ${PV} != "999999" ]] && use binary && return
emake ARCH=${TARGET_ARCH} -C BaseTools
. ./edksetup.sh
# Build all EFI firmware blobs:
mkdir -p ovmf
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
${BUILD_FLAGS} || die "OvmfPkg/build.sh failed"
cp Build/OvmfX64/*/FV/OVMF_*.fd ovmf/
rm -rf Build/OvmfX64
./OvmfPkg/build.sh \
-a "${TARGET_ARCH}" -b "${TARGET_NAME}" -t "${TARGET_TOOLS}" \
${SECUREBOOT_BUILD_FLAGS} || die "OvmfPkg/build.sh failed"
cp Build/OvmfX64/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd || die "cp failed"
cp Build/OvmfX64/*/X64/Shell.efi ovmf/ || die "cp failed"
cp Build/OvmfX64/*/X64/EnrollDefaultKeys.efi ovmf || die "cp failed"
# Build a convenience UefiShell.img:
mkdir -p iso_image/efi/boot || die "mkdir failed"
cp ovmf/Shell.efi iso_image/efi/boot/bootx64.efi || die "cp failed"
cp ovmf/EnrollDefaultKeys.efi iso_image || die "cp failed"
qemu-img convert --image-opts \
driver=vvfat,floppy=on,fat-type=12,label=UEFI_SHELL,dir=iso_image \
ovmf/UefiShell.img || die "qemu-img failed"
}
src_install() {
insinto /usr/share/${PN}
doins ovmf/*
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -1,91 +0,0 @@
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 427ad60..c2b6d83 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4500,7 +4500,7 @@ RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =
NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
*_*_*_DTC_FLAGS = -H epapr
-DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common
+DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Wno-array-bounds -include AutoGen.h -fno-common
DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
@@ -4535,7 +4535,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64
DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
-DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables
DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
@@ -6139,7 +6139,7 @@ RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl
*_ELFGCC_X64_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_X64_RC_PATH = DEF(ELFGCC_BIN)/objcopy
-*_ELFGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-address -Wno-array-bounds -include AutoGen.h -D_EFI_P64
+*_ELFGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Wno-address -Wno-array-bounds -include AutoGen.h -D_EFI_P64
*_ELFGCC_X64_DLINK_FLAGS = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_ELFGCC_X64_SLINK_FLAGS =
*_ELFGCC_X64_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
@@ -6162,7 +6162,7 @@ RELEASE_CLANG38_AARCH64_DLINK_FLAGS = DEF(CLANG38_AARCH64_DLINK_FLAGS) -flto -Wl
*_ELFGCC_IPF_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_IPF_RC_PATH = DEF(ELFGCC_BIN)/objcopy
-*_ELFGCC_IPF_CC_FLAGS = -Os -fshort-wchar -Wall -Werror -include AutoGen.h -D_EFI_P64
+*_ELFGCC_IPF_CC_FLAGS = -Os -fshort-wchar -Wall -include AutoGen.h -D_EFI_P64
*_ELFGCC_IPF_DLINK_FLAGS = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_ELFGCC_IPF_SLINK_FLAGS =
*_ELFGCC_IPF_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
@@ -7553,7 +7553,7 @@ NOOPT_MYTOOLS_IPF_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /LTCG /DLL /OPT
##################
# ASL definitions
##################
-*_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h
+*_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -c -include AutoGen.h
*_XCODE5_*_ASLDLINK_FLAGS = -e _ReferenceAcpiTable -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_XCODE5_*_ASLPP_FLAGS = -x c -E -include AutoGen.h
*_XCODE5_*_ASL_FLAGS =
@@ -7581,9 +7581,9 @@ RELEASE_XCODE5_IA32_ASM_FLAGS = -arch i386
*_XCODE5_IA32_NASM_FLAGS = -f macho32
- DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
-RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
- NOOPT_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+ DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -Wall -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+ NOOPT_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
##################
# X64 definitions
@@ -7600,9 +7600,9 @@ RELEASE_XCODE5_X64_ASM_FLAGS = -arch x86_64
*_XCODE5_*_PP_FLAGS = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_XCODE5_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
- NOOPT_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -O0 -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
-RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
+ DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -Os -Wall -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
+ NOOPT_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -O0 -Wall -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
+RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os -Wall -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -Wno-unused-const-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
####################################################################################
#
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 0976973..d9ee70e 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -71,9 +71,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKE
BUILD_CPPFLAGS = $(INCLUDE) -O2
ifeq ($(DARWIN),Darwin)
# assume clang or clang compatible flags on OS X
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
else
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
endif
BUILD_LFLAGS =
BUILD_CXXFLAGS = -Wno-unused-result

View File

@ -1,145 +0,0 @@
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 427ef1b..936f79d 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4335,7 +4335,7 @@ DEBUG_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_N
RELEASE_*_*_OBJCOPY_ADDDEBUGFLAG =
NOOPT_*_*_OBJCOPY_ADDDEBUGFLAG = --add-gnu-debuglink=$(DEBUG_DIR)/$(MODULE_NAME).debug
-DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -include AutoGen.h -fno-common
+DEFINE GCC_ALL_CC_FLAGS = -g -Os -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Wno-array-bounds -include AutoGen.h -fno-common
DEFINE GCC_IA32_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -m32 -malign-double -freorder-blocks -freorder-blocks-and-partition -O2 -mno-stack-arg-probe
DEFINE GCC_X64_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -mno-red-zone -Wno-address -mno-stack-arg-probe
DEFINE GCC_IPF_CC_FLAGS = DEF(GCC_ALL_CC_FLAGS) -minline-int-divide-min-latency
@@ -4368,7 +4368,7 @@ DEFINE GCC_IPF_RC_FLAGS = -I binary -O elf64-ia64-little -B ia64
DEFINE GCC_ARM_RC_FLAGS = -I binary -O elf32-littlearm -B arm --rename-section .data=.hii
DEFINE GCC_AARCH64_RC_FLAGS = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
-DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC44_ALL_CC_FLAGS = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
DEFINE GCC44_IA32_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables
DEFINE GCC44_X64_CC_FLAGS = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables
DEFINE GCC44_IA32_X64_DLINK_COMMON = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
@@ -5864,7 +5864,7 @@ NOOPT_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0
*_ELFGCC_X64_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_X64_RC_PATH = DEF(ELFGCC_BIN)/objcopy
-*_ELFGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-address -Wno-array-bounds -include AutoGen.h -D_EFI_P64
+*_ELFGCC_X64_CC_FLAGS = -Os -fshort-wchar -fno-strict-aliasing -Wall -Wno-address -Wno-array-bounds -include AutoGen.h -D_EFI_P64
*_ELFGCC_X64_DLINK_FLAGS = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_ELFGCC_X64_SLINK_FLAGS =
*_ELFGCC_X64_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
@@ -5887,7 +5887,7 @@ NOOPT_CLANG38_X64_DLINK2_FLAGS = DEF(GCC5_X64_DLINK2_FLAGS) -O0
*_ELFGCC_IPF_VFRPP_PATH = DEF(ELFGCC_BIN)/gcc
*_ELFGCC_IPF_RC_PATH = DEF(ELFGCC_BIN)/objcopy
-*_ELFGCC_IPF_CC_FLAGS = -Os -fshort-wchar -Wall -Werror -include AutoGen.h -D_EFI_P64
+*_ELFGCC_IPF_CC_FLAGS = -Os -fshort-wchar -Wall -include AutoGen.h -D_EFI_P64
*_ELFGCC_IPF_DLINK_FLAGS = -nostdlib --shared --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_ELFGCC_IPF_SLINK_FLAGS =
*_ELFGCC_IPF_ASM_FLAGS = -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
@@ -7296,10 +7296,10 @@ RELEASE_XCODE32_IA32_ASM_FLAGS = -arch i386
*_XCODE32_IA32_NASM_FLAGS = -f macho32
*_XCODE32_IA32_PP_FLAGS = -arch i386 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_XCODE32_IA32_VFRPP_FLAGS = -arch i386 -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCODE32_IA32_CC_FLAGS = -arch i386 -save-temps -g -O0 -combine -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic -fno-stack-protector
-RELEASE_XCODE32_IA32_CC_FLAGS = -arch i386 -Oz -combine -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h -mdynamic-no-pic -fno-stack-protector
+ DEBUG_XCODE32_IA32_CC_FLAGS = -arch i386 -save-temps -g -O0 -combine -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic -fno-stack-protector
+RELEASE_XCODE32_IA32_CC_FLAGS = -arch i386 -Oz -combine -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h -mdynamic-no-pic -fno-stack-protector
-*_XCODE32_IA32_ASLCC_FLAGS = -arch i386 -x c -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic
+*_XCODE32_IA32_ASLCC_FLAGS = -arch i386 -x c -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic
*_XCODE32_IA32_ASLDLINK_FLAGS = -arch i386 -e _main -preload -segalign 0x20 -pie -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_XCODE32_IA32_ASLPP_FLAGS = -arch i386 -x c -E -include AutoGen.h
*_XCODE32_IA32_ASL_FLAGS =
@@ -7328,8 +7328,8 @@ RELEASE_XCODE32_X64_ASM_FLAGS = -arch x86_64
*_XCODE32_X64_PP_FLAGS = -arch x86_64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_XCODE32_X64_VFRPP_FLAGS = -arch x86_64 -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCODE32_X64_CC_FLAGS = -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector
-RELEASE_XCODE32_X64_CC_FLAGS = -arch x86_64 -Oz -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector
+ DEBUG_XCODE32_X64_CC_FLAGS = -arch x86_64 -save-temps -g -O0 -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector
+RELEASE_XCODE32_X64_CC_FLAGS = -arch x86_64 -Oz -mms-bitfields -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -Wno-address -fomit-frame-pointer -static -c -include AutoGen.h -fno-stack-protector
##################
# ARM definitions - (Assumes iPhone SDK installed on Snow Leopard)
@@ -7357,8 +7357,8 @@ RELEASE_XCODE32_ARM_ASM_FLAGS = $(ARCHASM_FLAGS)
*_XCODE32_ARM_PP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
*_XCODE32_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCODE32_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -g -Oz -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h
-RELEASE_XCODE32_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -Oz -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h
+ DEBUG_XCODE32_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -g -Oz -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h
+RELEASE_XCODE32_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -Oz -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h
####################################################################################
@@ -7403,8 +7403,8 @@ RELEASE_XCLANG_IA32_DLINK_FLAGS = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$
RELEASE_XCLANG_IA32_ASM_FLAGS = -arch i386
*_XCLANG_IA32_NASM_FLAGS = -f macho32
- DEBUG_XCLANG_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -fasm-blocks -mms-bitfields -msoft-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
-RELEASE_XCLANG_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -fasm-blocks -mms-bitfields -msoft-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
+ DEBUG_XCLANG_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -fasm-blocks -mms-bitfields -msoft-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
+RELEASE_XCLANG_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -fasm-blocks -mms-bitfields -msoft-float -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
##################
@@ -7420,9 +7420,9 @@ RELEASE_XCLANG_X64_ASM_FLAGS = -arch x86_64
*_XCLANG_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -g -O0 -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
-RELEASE_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -Os -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
-*_XCLANG_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic
+ DEBUG_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -g -O0 -Wall -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
+RELEASE_XCLANG_X64_CC_FLAGS = -ccc-host-triple x86_64-pc-win32-macho -c -Os -Wall -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang
+*_XCLANG_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic
*_XCLANG_*_ASLDLINK_FLAGS = -e _main -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_XCLANG_*_ASLPP_FLAGS = -x c -E -include AutoGen.h
*_XCLANG_*_ASL_FLAGS =
@@ -7472,9 +7472,9 @@ RELEASE_XCODE5_IA32_ASM_FLAGS = -arch i386
*_XCODE5_IA32_NASM_FLAGS = -f macho32
- DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
-RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
- NOOPT_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -Werror -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+ DEBUG_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -Os -Wall -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+RELEASE_XCODE5_IA32_CC_FLAGS = -arch i386 -c -Os -Wall -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+ NOOPT_XCODE5_IA32_CC_FLAGS = -arch i386 -c -g -O0 -Wall -include AutoGen.h -funsigned-char -fno-stack-protector -fno-builtin -fshort-wchar -fasm-blocks -mdynamic-no-pic -mno-implicit-float -mms-bitfields -msoft-float -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
@@ -7494,11 +7494,11 @@ RELEASE_XCODE5_X64_ASM_FLAGS = -arch x86_64
*_XCODE5_*_VFRPP_FLAGS = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
- DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
- NOOPT_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -O0 -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
-RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+ DEBUG_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -Os -Wall -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+ NOOPT_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -g -O0 -Wall -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
+RELEASE_XCODE5_X64_CC_FLAGS = -target x86_64-pc-win32-macho -c -Os -Wall -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang $(PLATFORM_FLAGS)
-*_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h
+*_XCODE5_*_ASLCC_FLAGS = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Wno-missing-braces -c -include AutoGen.h
*_XCODE5_*_ASLDLINK_FLAGS = -e _ReferenceAcpiTable -preload -segalign 0x20 -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map
*_XCODE5_*_ASLPP_FLAGS = -x c -E -include AutoGen.h
*_XCODE5_*_ASL_FLAGS =
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
index 063982b..0316f56 100644
--- a/BaseTools/Source/C/Makefiles/header.makefile
+++ b/BaseTools/Source/C/Makefiles/header.makefile
@@ -47,9 +47,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKE
BUILD_CPPFLAGS = $(INCLUDE) -O2
ifeq ($(DARWIN),Darwin)
# assume clang or clang compatible flags on OS X
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
else
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Wno-deprecated-declarations -Wno-unused-result -nostdlib -c -g
endif
BUILD_LFLAGS =
BUILD_CXXFLAGS = -Wno-unused-result