From 27f6b4f86969dd11c73fb9c4a6ea2de422c48311 Mon Sep 17 00:00:00 2001 From: jljusten Date: Thu, 23 Jun 2011 15:23:20 +0000 Subject: [PATCH] InOsEmuPkg/Unix: Detect lib directory suffix on Linux For IA32 builds, if /lib32 and /usr/lib32 exist, they will be used instead of /lib and /usr/lib. For X64 builds, if /lib64 and /usr/lib64 exist, they will be used instead of /lib and /usr/lib. Signed-off-by: jljusten git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11879 6f19259b-4bc3-4df7-8a09-765794883524 --- InOsEmuPkg/Unix/Sec/SecMain.inf | 4 ++-- InOsEmuPkg/Unix/build.sh | 5 +++++ InOsEmuPkg/Unix/build64.sh | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/InOsEmuPkg/Unix/Sec/SecMain.inf b/InOsEmuPkg/Unix/Sec/SecMain.inf index 2405648697..70df2f21b9 100644 --- a/InOsEmuPkg/Unix/Sec/SecMain.inf +++ b/InOsEmuPkg/Unix/Sec/SecMain.inf @@ -113,13 +113,13 @@ [BuildOptions] - GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib/crtn.o + GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/SecMain -m elf_i386 -dynamic-linker /lib$(LIB_ARCH_SFX)/ld-linux.so.2 /usr/lib$(LIB_ARCH_SFX)/crt1.o /usr/lib$(LIB_ARCH_SFX)/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib$(LIB_ARCH_SFX)/crtn.o GCC:*_*_*_DLINK2_FLAGS == -lpthread -lc GCC:*_*_IA32_CC_FLAGS == -m32 -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:*_*_IA32_PP_FLAGS == -m32 -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h GCC:*_*_IA32_ASM_FLAGS == -m32 -c -x assembler -imacros $(DEST_DIR_DEBUG)/AutoGen.h - 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 /lib$(LIB_ARCH_SFX)/ld-linux-x86-64.so.2 /usr/lib$(LIB_ARCH_SFX)/crt1.o /usr/lib$(LIB_ARCH_SFX)/crti.o -L/usr/X11R6/lib -lXext -lX11 /usr/lib$(LIB_ARCH_SFX)/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:*_GCC44_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" GCC:*_GCC45_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" diff --git a/InOsEmuPkg/Unix/build.sh b/InOsEmuPkg/Unix/build.sh index 44df8115cf..1810a69ef7 100755 --- a/InOsEmuPkg/Unix/build.sh +++ b/InOsEmuPkg/Unix/build.sh @@ -61,6 +61,11 @@ case `uname` in ;; esac +if [ -d /lib32 ] +then + export LIB_ARCH_SFX=32 +fi + if [ -z "$TARGET_TOOLS" ] then TARGET_TOOLS=$UNIXPKG_TOOLS diff --git a/InOsEmuPkg/Unix/build64.sh b/InOsEmuPkg/Unix/build64.sh index 1974e090cd..eb0d80bff6 100755 --- a/InOsEmuPkg/Unix/build64.sh +++ b/InOsEmuPkg/Unix/build64.sh @@ -62,6 +62,11 @@ case `uname` in ;; esac +if [ -d /lib64 ] +then + export LIB_ARCH_SFX=64 +fi + if [ -z "$TARGET_TOOLS" ] then TARGET_TOOLS=$UNIXPKG_TOOLS -- 2.39.2