diff options
author | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-08-18 20:24:08 +0000 |
---|---|---|
committer | andrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524> | 2010-08-18 20:24:08 +0000 |
commit | bb111c2346bef02c18b30acced3f7b0311bbfe21 (patch) | |
tree | 496916a37849ea45a4083848501de061a2b98732 /UnixPkg/build64.sh | |
parent | 6989af71680fc69024e68a0ab6d8284f0c4909fc (diff) | |
download | edk2-platforms-bb111c2346bef02c18b30acced3f7b0311bbfe21.tar.xz |
Added support for an EFI X64 ABI compatible UnixPkg. With an internal only compiler I've been able to run checked in X64 EFI shell binary! We are hoping to get the open source LLVM compiler working for this... Since the SEC has to be UNIX ABI to make the POSIX calls it is compiled using a different compiler and the rest of the UnixPkg is compiled with UNIXPKG tool. You just need to point UNIXPKG at your EFI X64 ABI compiler of choice, it should work like MYTOOLS. Some one may want to port this to Linux at some point. To build cd into UnixPkg and ./build64.sh
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10806 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'UnixPkg/build64.sh')
-rwxr-xr-x | UnixPkg/build64.sh | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/UnixPkg/build64.sh b/UnixPkg/build64.sh index f2a6927d57..c80d29591d 100755 --- a/UnixPkg/build64.sh +++ b/UnixPkg/build64.sh @@ -14,7 +14,6 @@ set -e shopt -s nocasematch - # # Setup workspace if it is not set # @@ -37,6 +36,7 @@ fi # Pick a default tool type for a given OS # TARGET_TOOLS=MYTOOLS +UNIXPKG_TOOLS=UNIXPKG case `uname` in CYGWIN*) echo Cygwin not fully supported yet. ;; Darwin*) @@ -53,7 +53,7 @@ case `uname` in esac -BUILD_ROOT_ARCH=$WORKSPACE/Build/UnixX64/DEBUG_"$TARGET_TOOLS"/X64 +BUILD_ROOT_ARCH=$WORKSPACE/Build/UnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64 if [[ ! -f `which build` || ! -f `which GenFv` ]]; then @@ -80,7 +80,7 @@ do # This .gdbinit script sets a breakpoint that loads symbols for the PE/COFFEE # images that get loaded in SecMain # - cp $WORKSPACE/UnixPkg/.gdbinit $WORKSPACE/Build/UnixX64/DEBUG_"$TARGET_TOOLS"/X64 + cp $WORKSPACE/UnixPkg/.gdbinit $WORKSPACE/Build/UnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64 ;; esac @@ -92,7 +92,7 @@ do make -C $WORKSPACE/BaseTools clean fi if [[ $arg == shell ]]; then - build -p $WORKSPACE/GccShellPkg/GccShellPkg.dsc -a X64 -t $TARGET_TOOLS -n 3 $2 $3 $4 $5 $6 $7 $8 + build -p $WORKSPACE/GccShellPkg/GccShellPkg.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 $2 $3 $4 $5 $6 $7 $8 exit $? fi @@ -105,6 +105,8 @@ done # echo $PATH echo `which build` -build -p $WORKSPACE/UnixPkg/UnixPkgX64.dsc -a X64 -t $TARGET_TOOLS -n 3 $1 $2 $3 $4 $5 $6 $7 $8 +build -p $WORKSPACE/UnixPkg/UnixPkgX64.dsc -a X64 -t $TARGET_TOOLS -D SEC_ONLY -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules +build -p $WORKSPACE/UnixPkg/UnixPkgX64.dsc -a X64 -t $UNIXPKG_TOOLS -n 3 $1 $2 $3 $4 $5 $6 $7 $8 +cp $WORKSPACE/Build/UnixX64/DEBUG_"$TARGET_TOOLS"/X64/SecMain $WORKSPACE/Build/UnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64 exit $? |