mirror of https://github.com/acidanthera/audk.git
InOsEmuPkg/Unix: Enable single-pass build with Linux
For Linux builds the thunk layer ('SEC') and main platform firmware image will be built in a single build pass. Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11867 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
b8800fc547
commit
53a6813fd0
|
@ -121,6 +121,8 @@
|
||||||
|
|
||||||
GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/crt1.o /usr/lib/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib/crtn.o
|
GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /usr/lib/crt1.o /usr/lib/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib/crtn.o
|
||||||
GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
|
GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
|
||||||
|
GCC:*_GCC44_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
|
||||||
|
GCC:*_GCC45_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
|
||||||
GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
|
GCC:*_*_X64_PP_FLAGS == -m64 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
|
||||||
GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
|
GCC:*_*_X64_ASM_FLAGS == -m64 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h
|
||||||
|
|
||||||
|
|
|
@ -285,12 +285,14 @@
|
||||||
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
|
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
|
||||||
|
|
||||||
[Components]
|
[Components]
|
||||||
!if $(SEC_ONLY)
|
!ifdef $(UNIX_SEC_BUILD)
|
||||||
##
|
##
|
||||||
# Emulator, OS POSIX application
|
# Emulator, OS POSIX application
|
||||||
##
|
##
|
||||||
InOsEmuPkg/Unix/Sec/SecMain.inf
|
InOsEmuPkg/Unix/Sec/SecMain.inf
|
||||||
!else
|
!endif
|
||||||
|
|
||||||
|
!ifndef $(SKIP_MAIN_BUILD)
|
||||||
#
|
#
|
||||||
# Generic SEC
|
# Generic SEC
|
||||||
#
|
#
|
||||||
|
@ -442,3 +444,4 @@
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
|
# Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.<BR>
|
||||||
# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
|
# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||||
#
|
#
|
||||||
# This program and the accompanying materials
|
# This program and the accompanying materials
|
||||||
# are licensed and made available under the terms and conditions of the BSD License
|
# are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -40,7 +40,6 @@ fi
|
||||||
#
|
#
|
||||||
# Pick a default tool type for a given OS
|
# Pick a default tool type for a given OS
|
||||||
#
|
#
|
||||||
TARGET_TOOLS=MYTOOLS
|
|
||||||
UNIXPKG_TOOLS=GCC44
|
UNIXPKG_TOOLS=GCC44
|
||||||
NETWORK_SUPPORT=
|
NETWORK_SUPPORT=
|
||||||
BUILD_NEW_SHELL=
|
BUILD_NEW_SHELL=
|
||||||
|
@ -61,10 +60,13 @@ case `uname` in
|
||||||
BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
|
BUILD_NEW_SHELL="-D BUILD_NEW_SHELL"
|
||||||
BUILD_FAT="-D BUILD_FAT"
|
BUILD_FAT="-D BUILD_FAT"
|
||||||
;;
|
;;
|
||||||
Linux*) TARGET_TOOLS=ELFGCC ;;
|
|
||||||
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if [ -z "$TARGET_TOOLS" ]
|
||||||
|
then
|
||||||
|
TARGET_TOOLS=$UNIXPKG_TOOLS
|
||||||
|
fi
|
||||||
|
|
||||||
BUILD_ROOT_ARCH=$WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64
|
BUILD_ROOT_ARCH=$WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64
|
||||||
|
|
||||||
if [[ ! -f `which build` || ! -f `which GenFv` ]];
|
if [[ ! -f `which build` || ! -f `which GenFv` ]];
|
||||||
|
@ -120,10 +122,12 @@ done
|
||||||
#
|
#
|
||||||
# Build the edk2 UnixPkg
|
# Build the edk2 UnixPkg
|
||||||
#
|
#
|
||||||
echo $PATH
|
if [[ $TARGET_TOOLS == $UNIXPKG_TOOLS ]]; then
|
||||||
echo `which build`
|
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS -D UNIX_SEC_BUILD $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8
|
||||||
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a X64 -t $TARGET_TOOLS -D SEC_ONLY -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules
|
else
|
||||||
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8
|
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a X64 -t $TARGET_TOOLS -D UNIX_SEC_BUILD -D SKIP_MAIN_BUILD -n 3 $1 $2 $3 $4 $5 $6 $7 $8 modules
|
||||||
cp $WORKSPACE/Build/EmuUnixX64/DEBUG_"$TARGET_TOOLS"/X64/SecMain $WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64
|
build -p $WORKSPACE/InOsEmuPkg/Unix/UnixX64.dsc -a X64 -t $UNIXPKG_TOOLS $NETWORK_SUPPORT $BUILD_NEW_SHELL $BUILD_FAT -n 3 $1 $2 $3 $4 $5 $6 $7 $8
|
||||||
|
cp $WORKSPACE/Build/EmuUnixX64/DEBUG_"$TARGET_TOOLS"/X64/SecMain $WORKSPACE/Build/EmuUnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64
|
||||||
|
fi
|
||||||
exit $?
|
exit $?
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue