public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Rebecca Cran" <rebecca@bsdio.com>
To: devel@edk2.groups.io, Oliver Smith-Denny <osd@smith-denny.com>,
	Guomin Jiang <guomin.jiang@intel.com>,
	Xiaoyu Lu <xiaoyu1.lu@intel.com>,
	Jian J Wang <jian.j.wang@intel.com>,
	Jiewen Yao <jiewen.yao@intel.com>,
	Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Jordan Justen <jordan.l.justen@intel.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Bob Feng <bob.c.feng@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Andrew Fish <afish@apple.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Michael D Kinney <michael.d.kinney@intel.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Subject: [PATCH v2 09/13] BaseTools: Remove EBC (EFI Byte Code) compiler definitions
Date: Tue, 28 Mar 2023 11:31:07 -0600	[thread overview]
Message-ID: <20230328173111.759017-10-rebecca@bsdio.com> (raw)
In-Reply-To: <20230328173111.759017-1-rebecca@bsdio.com>

The edk2-stable202302 release was the last to support building
EFI Byte Code drivers. Since the Intel EFI Byte Code Compiler is no
longer available, a decision has been made to remove support for EBC
from edk2.

Remove the definitions for Intel's EBC compiler from
Conf/tools_def.template.

Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
Reviewed-by: Oliver Smith-Denny <osd@smith-denny.com>
---
 BaseTools/Conf/tools_def.template | 98 --------------------
 1 file changed, 98 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 7cf1617b6f71..831733ceeae0 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -67,10 +67,6 @@ DEFINE WINSDK10_BIN         = ENV(WINSDK10_PREFIX)DEF(VS_HOST)
 DEFINE WINDDK_BIN16     = ENV(WINDDK3790_PREFIX)bin16
 DEFINE WINDDK_BINX64    = ENV(WINDDK3790_PREFIX)win64\x86\amd64
 
-DEFINE EBC_BIN          = C:\Program Files\Intel\EBC\Bin
-DEFINE EBC_BINx86       = C:\Program Files (x86)\Intel\EBC\Bin
-
-
 DEFINE CYGWIN_BIN              = c:/cygwin/bin
 DEFINE CYGWIN_BINIA32          = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/
 DEFINE CYGWIN_BINX64           = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/
@@ -135,16 +131,12 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Microsoft Visual Studio 2015 Professional Edition
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
 #                        Optional:
-#                             Required to build EBC drivers:
-#                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
 #                               https://acpica.org/downloads
 #   VS2017      -win32-  Requires:
 #                             Microsoft Visual Studio 2017 version 15.2 (15.4 for ARM64) or later
 #                        Optional:
-#                             Required to build EBC drivers:
-#                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
 #                               https://acpica.org/downloads
@@ -154,8 +146,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #   VS2019      -win32-  Requires:
 #                             Microsoft Visual Studio 2019 version 16.2 or later
 #                        Optional:
-#                             Required to build EBC drivers:
-#                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
 #                               https://acpica.org/downloads
@@ -224,22 +214,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 ####################################################################################
 ####################################################################################
 #
-# Intel EFI Byte Code Compiler (Template)
-#
-####################################################################################
-# *_*_EBC_*_FAMILY                   = INTEL
-#
-# *_*_EBC_PP_PATH                    = C:\Program Files\Intel\EBC\Bin\iec.exe
-# *_*_EBC_CC_PATH                    = C:\Program Files\Intel\EBC\Bin\iec.exe
-# *_*_EBC_SLINK_PATH                 = C:\Program Files\Intel\EBC\Bin\link.exe
-#
-# *_*_EBC_SLINK_FLAGS                = /lib /NOLOGO /MACHINE:EBC
-# *_*_EBC_PP_FLAGS                   = /nologo /E /TC /FIAutoGen.h
-# *_*_EBC_CC_FLAGS                   = /nologo /FAcs /c /W3 /WX /FIAutoGen.h
-# *_*_EBC_DLINK_FLAGS                = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /MACHINE:EBC /OPT:REF /NODEFAULTLIB /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /ALIGN:32 /DRIVER
-#
-####################################################################################
-#
 # Intel ACPI Source Language Compiler (Template)
 #
 ####################################################################################
@@ -354,25 +328,6 @@ NOOPT_VS2015_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
 NOOPT_VS2015_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 
-##################
-# EBC definitions
-##################
-*_VS2015_EBC_*_FAMILY            = INTEL
-*_VS2015_EBC_*_DLL               = DEF(VS2015_DLL)
-
-*_VS2015_EBC_PP_PATH             = DEF(EBC_BIN)\iec.exe
-*_VS2015_EBC_VFRPP_PATH          = DEF(EBC_BIN)\iec.exe
-*_VS2015_EBC_CC_PATH             = DEF(EBC_BIN)\iec.exe
-*_VS2015_EBC_SLINK_PATH          = DEF(VS2015_BIN)\link.exe
-*_VS2015_EBC_DLINK_PATH          = DEF(VS2015_BIN)\link.exe
-
-*_VS2015_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
-*_VS2015_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2015_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2015_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
-*_VS2015_EBC_DLINK_FLAGS         = "C:\Program Files\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
 ####################################################################################
 #   VS2015x86       - Microsoft Visual Studio 2015 (x86) professional with Intel ASL
 #   ASL  - Intel ACPI Source Language Compiler (iasl.exe)
@@ -466,25 +421,6 @@ NOOPT_VS2015x86_X64_NASM_FLAGS     = -O0 -f win64 -g
 RELEASE_VS2015x86_X64_DLINK_FLAGS  = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
 NOOPT_VS2015x86_X64_DLINK_FLAGS    = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 
-##################
-# EBC definitions
-##################
-*_VS2015x86_EBC_*_FAMILY            = INTEL
-*_VS2015x86_EBC_*_DLL               = DEF(VS2015x86_DLL)
-
-*_VS2015x86_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
-*_VS2015x86_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
-*_VS2015x86_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
-*_VS2015x86_EBC_SLINK_PATH          = DEF(VS2015x86_BIN)\link.exe
-*_VS2015x86_EBC_DLINK_PATH          = DEF(VS2015x86_BIN)\link.exe
-
-*_VS2015x86_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
-*_VS2015x86_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2015x86_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2015x86_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
-*_VS2015x86_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
-
 ####################################################################################
 #   VS2017       - Microsoft Visual Studio 2017 with Intel ASL
 #   ASL          - Intel ACPI Source Language Compiler (iasl.exe)
@@ -626,23 +562,6 @@ NOOPT_VS2017_AARCH64_ASM_FLAGS     = /nologo
 RELEASE_VS2017_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data
 NOOPT_VS2017_AARCH64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
 
-##################
-# EBC definitions
-##################
-*_VS2017_EBC_*_FAMILY            = INTEL
-
-*_VS2017_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
-*_VS2017_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
-*_VS2017_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
-*_VS2017_EBC_SLINK_PATH          = DEF(VS2017_BIN_IA32)\link.exe
-*_VS2017_EBC_DLINK_PATH          = DEF(VS2017_BIN_IA32)\link.exe
-
-*_VS2017_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
-*_VS2017_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2017_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2017_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
-*_VS2017_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
 ####################################################################################
 #   VS2019       - Microsoft Visual Studio 2019 with Intel ASL
 #   ASL          - Intel ACPI Source Language Compiler (iasl.exe)
@@ -784,23 +703,6 @@ NOOPT_VS2019_AARCH64_ASM_FLAGS     = /nologo
 RELEASE_VS2019_AARCH64_DLINK_FLAGS = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /MERGE:.rdata=.data
 NOOPT_VS2019_AARCH64_DLINK_FLAGS   = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /SECTION:.xdata,D /SECTION:.pdata,D /MACHINE:ARM64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /SAFESEH:NO /DRIVER /DEBUG
 
-##################
-# EBC definitions
-##################
-*_VS2019_EBC_*_FAMILY            = INTEL
-
-*_VS2019_EBC_PP_PATH             = DEF(EBC_BINx86)\iec.exe
-*_VS2019_EBC_VFRPP_PATH          = DEF(EBC_BINx86)\iec.exe
-*_VS2019_EBC_CC_PATH             = DEF(EBC_BINx86)\iec.exe
-*_VS2019_EBC_SLINK_PATH          = DEF(VS2019_BIN_IA32)\link.exe
-*_VS2019_EBC_DLINK_PATH          = DEF(VS2019_BIN_IA32)\link.exe
-
-*_VS2019_EBC_PP_FLAGS            = /nologo /E /TC /FIAutoGen.h
-*_VS2019_EBC_CC_FLAGS            = /nologo /c /WX /W3 /FIAutoGen.h /D$(MODULE_ENTRY_POINT)=$(ARCH_ENTRY_POINT)
-*_VS2019_EBC_VFRPP_FLAGS         = /nologo /E /TC /DVFRCOMPILE /FI$(MODULE_NAME)StrDefs.h
-*_VS2019_EBC_SLINK_FLAGS         = /lib /NOLOGO /MACHINE:EBC
-*_VS2019_EBC_DLINK_FLAGS         = "C:\Program Files (x86)\Intel\EBC\Lib\EbcLib.lib" /NOLOGO /NODEFAULTLIB /MACHINE:EBC /OPT:REF /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /MAP /ALIGN:32 /DRIVER
-
 ####################################################################################
 # GCC Common
 ####################################################################################
-- 
2.34.1


  parent reply	other threads:[~2023-03-28 17:31 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-28 17:30 [PATCH v2 00/13] BaseTools,CryptoPkg,MdePkg,OvmfPkg: Delete CLANG35,CLANG38,GCC48,GCC49, rename GCC5 to GCC, update CLANGDWARF, delete VS 2008-2013, EBC Rebecca Cran
2023-03-28 17:30 ` [PATCH v2 01/13] OvmfPkg: Replace static struct initialization with ZeroMem call Rebecca Cran
2023-03-28 22:40   ` Yao, Jiewen
2023-03-28 22:45     ` Michael D Kinney
2023-03-28 17:31 ` [PATCH v2 02/13] CryptoPkg: Add CLANGDWARF and remove CLANG35 and CLANG38 compiler flags Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 03/13] BaseTools: Update CLANGDWARF toolchain and remove CLANG35 and CLANG38 Rebecca Cran
2023-03-29  3:46   ` [edk2-devel] " Guo, Gua
     [not found]   ` <1750C725F99FA0C2.29160@groups.io>
2023-03-29  9:24     ` Guo, Gua
2023-03-28 17:31 ` [PATCH v2 04/13] BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 05/13] BaseTools: Remove VS2008-VS2013 remnants Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 06/13] MdePkg: " Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 07/13] edksetup.bat: " Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 08/13] BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs Rebecca Cran
2023-03-28 17:31 ` Rebecca Cran [this message]
2023-03-28 17:31 ` [PATCH v2 10/13] OvmfPkg: Use Xcode5 version of CpuExceptionHandlerLib for CLANGDWARF Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 11/13] Delete GCC48 and GCC49 toolchains and rename GCC5 to GCC Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 12/13] BaseTools: Remove unused CYGWIN_ defines from tools_def.txt.template Rebecca Cran
2023-03-28 17:31 ` [PATCH v2 13/13] Bump tools_def.txt VERSION to 3.0 Rebecca Cran
2023-03-28 17:57 ` [PATCH v2 00/13] BaseTools,CryptoPkg,MdePkg,OvmfPkg: Delete CLANG35,CLANG38,GCC48,GCC49, rename GCC5 to GCC, update CLANGDWARF, delete VS 2008-2013, EBC Ard Biesheuvel
2023-03-28 18:01   ` Rebecca Cran
2023-03-28 18:12     ` [edk2-devel] " Ard Biesheuvel
2023-03-29 10:21       ` Rebecca Cran
2023-03-29 10:30         ` Ard Biesheuvel
2023-03-29  1:19 ` 回复: " gaoliming
2023-03-29  7:39   ` Ard Biesheuvel
2023-03-29 10:20     ` Rebecca Cran
2023-03-29 11:28     ` Leif Lindholm
2023-03-29 11:53       ` Ard Biesheuvel
2023-04-02 15:41   ` 回复: " Rebecca Cran
2023-04-02 16:36     ` Ard Biesheuvel
2023-04-02 16:42       ` Michael D Kinney
2023-04-02 18:38     ` Pedro Falcato
2023-04-02 21:50       ` Rebecca Cran
2023-04-03 11:30         ` Gerd Hoffmann
2023-04-03 11:33           ` Rebecca Cran
2023-04-03 11:39             ` Gerd Hoffmann
2023-04-03 11:55               ` Ard Biesheuvel
2023-04-03 12:15                 ` Leif Lindholm
2023-04-03 12:26                   ` Rebecca Cran
2023-04-03 13:44                     ` Pedro Falcato
2023-04-03 13:54                       ` Rebecca Cran
2023-04-03 14:08                     ` Gerd Hoffmann
2023-04-03 14:27                       ` Rebecca Cran
2023-04-03 19:42                         ` Michael D Kinney
2023-04-03 19:54                           ` Rebecca Cran
2023-04-03 20:23                             ` Michael D Kinney
2023-04-03 13:04                   ` Ard Biesheuvel
2023-04-03 13:27                     ` Michael D Kinney
2023-04-03 13:43                       ` Ard Biesheuvel
2023-04-04  1:31         ` 回复: " gaoliming
2023-04-04 15:49           ` Rebecca Cran
2023-04-04 15:57             ` Pedro Falcato
2023-04-04 16:32               ` Leif Lindholm
2023-04-04 17:00                 ` Rebecca Cran
2023-04-04 17:45                   ` Michael D Kinney
2023-04-04 17:48                     ` Rebecca Cran
2023-04-04 17:52                       ` Michael D Kinney
2023-04-04 17:57                         ` Pedro Falcato
2023-04-04 18:03                           ` Rebecca Cran
2023-04-04 18:26                             ` Ard Biesheuvel
2023-04-04 18:29                             ` Michael D Kinney
2023-04-04 18:36                               ` Rebecca Cran
2023-04-05 10:21                                 ` Ard Biesheuvel
2023-04-06  0:57                                   ` 回复: " gaoliming
2023-04-06  2:49                                     ` Rebecca Cran
2023-04-06  7:32                                       ` Ard Biesheuvel
2023-04-06  9:19                               ` Marcin Juszkiewicz
2023-03-29 12:20 ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230328173111.759017-10-rebecca@bsdio.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox