UnixPkg: Fix build for Linux
UnixPkg/UnixSnpDxe is currently BSD/OS X specific. Therefore we only build it if "-D NETWORK_SUPPORT" is used on the build command line. UnixPkg/build.sh and UnixPkg/build64.sh are updated to automatically define NETWORK_SUPPORT if building on OS X. <net/if_dl.h> and <net/bpf.h> are also only included in UnixPkg/Include/Common/UnixInclude.h if __APPLE__ is defined. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11346 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -62,11 +62,11 @@ Abstract:
|
|||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <net/if.h>
|
#include <net/if.h>
|
||||||
#include <net/if_dl.h>
|
|
||||||
#include <ifaddrs.h>
|
#include <ifaddrs.h>
|
||||||
#include <net/bpf.h>
|
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
|
#include <net/if_dl.h>
|
||||||
|
#include <net/bpf.h>
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/mount.h>
|
#include <sys/mount.h>
|
||||||
#define _XOPEN_SOURCE
|
#define _XOPEN_SOURCE
|
||||||
|
@ -889,9 +889,8 @@ ASM_PFX(Gasketgetifaddrs):
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
ASM_GLOBAL ASM_PFX(Gasketfreeifaddrs)
|
||||||
ASM_GLOBAL _Gasketfreeifaddrs
|
ASM_PFX(Gasketfreeifaddrs):
|
||||||
_Gasketfreeifaddrs:
|
|
||||||
pushq %rbp // stack frame is for the debugger
|
pushq %rbp // stack frame is for the debugger
|
||||||
movq %rsp, %rbp
|
movq %rsp, %rbp
|
||||||
|
|
||||||
@ -900,7 +899,7 @@ _Gasketfreeifaddrs:
|
|||||||
|
|
||||||
movq %rcx, %rdi // Swizzle args
|
movq %rcx, %rdi // Swizzle args
|
||||||
|
|
||||||
call _freeifaddrs
|
call ASM_PFX(freeifaddrs)
|
||||||
|
|
||||||
|
|
||||||
popq %rdi // restore state
|
popq %rdi // restore state
|
||||||
@ -909,9 +908,6 @@ _Gasketfreeifaddrs:
|
|||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ASM_GLOBAL ASM_PFX(GasketUgaClose)
|
ASM_GLOBAL ASM_PFX(GasketUgaClose)
|
||||||
ASM_PFX(GasketUgaClose):
|
ASM_PFX(GasketUgaClose):
|
||||||
pushq %rbp // stack frame is for the debugger
|
pushq %rbp // stack frame is for the debugger
|
||||||
|
@ -306,7 +306,9 @@
|
|||||||
#
|
#
|
||||||
# Network stack drivers
|
# Network stack drivers
|
||||||
#
|
#
|
||||||
|
!if $(NETWORK_SUPPORT)
|
||||||
UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
||||||
|
!endif
|
||||||
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
||||||
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
||||||
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
||||||
|
@ -232,6 +232,9 @@ INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
|
|||||||
#
|
#
|
||||||
# Network stack drivers
|
# Network stack drivers
|
||||||
#
|
#
|
||||||
|
!if $(NETWORK_SUPPORT)
|
||||||
|
INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
||||||
|
!endif
|
||||||
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
||||||
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
||||||
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
||||||
@ -242,7 +245,6 @@ INF MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
|
|||||||
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
|
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
|
||||||
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
||||||
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
|
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
|
||||||
INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Build from source or use checked in binary
|
# Build from source or use checked in binary
|
||||||
|
@ -307,7 +307,9 @@
|
|||||||
#
|
#
|
||||||
# Network stack drivers
|
# Network stack drivers
|
||||||
#
|
#
|
||||||
|
!if $(NETWORK_SUPPORT)
|
||||||
UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
||||||
|
!endif
|
||||||
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
||||||
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
||||||
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
||||||
|
@ -232,7 +232,9 @@ INF MdeModulePkg/Application/HelloWorld/HelloWorld.inf
|
|||||||
#
|
#
|
||||||
# Network stack drivers
|
# Network stack drivers
|
||||||
#
|
#
|
||||||
|
!if $(NETWORK_SUPPORT)
|
||||||
INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf
|
||||||
|
!endif
|
||||||
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
||||||
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
||||||
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
||||||
|
@ -41,6 +41,7 @@ fi
|
|||||||
# Pick a default tool type for a given OS
|
# Pick a default tool type for a given OS
|
||||||
#
|
#
|
||||||
TARGET_TOOLS=MYTOOLS
|
TARGET_TOOLS=MYTOOLS
|
||||||
|
NETWORK_SUPPORT=
|
||||||
case `uname` in
|
case `uname` in
|
||||||
CYGWIN*) echo Cygwin not fully supported yet. ;;
|
CYGWIN*) echo Cygwin not fully supported yet. ;;
|
||||||
Darwin*)
|
Darwin*)
|
||||||
@ -52,6 +53,7 @@ case `uname` in
|
|||||||
else
|
else
|
||||||
TARGET_TOOLS=XCODE32
|
TARGET_TOOLS=XCODE32
|
||||||
fi
|
fi
|
||||||
|
NETWORK_SUPPORT="-D NETWORK_SUPPORT"
|
||||||
;;
|
;;
|
||||||
Linux*) TARGET_TOOLS=ELFGCC ;;
|
Linux*) TARGET_TOOLS=ELFGCC ;;
|
||||||
|
|
||||||
@ -115,6 +117,6 @@ done
|
|||||||
#
|
#
|
||||||
echo $PATH
|
echo $PATH
|
||||||
echo `which build`
|
echo `which build`
|
||||||
build -p $WORKSPACE/UnixPkg/UnixPkg.dsc -a IA32 -t $TARGET_TOOLS -n 3 $1 $2 $3 $4 $5 $6 $7 $8
|
build -p $WORKSPACE/UnixPkg/UnixPkg.dsc -a IA32 -t $TARGET_TOOLS $NETWORK_SUPPORT -n 3 $1 $2 $3 $4 $5 $6 $7 $8
|
||||||
exit $?
|
exit $?
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ fi
|
|||||||
#
|
#
|
||||||
TARGET_TOOLS=MYTOOLS
|
TARGET_TOOLS=MYTOOLS
|
||||||
UNIXPKG_TOOLS=GCC44
|
UNIXPKG_TOOLS=GCC44
|
||||||
|
NETWORK_SUPPORT=
|
||||||
case `uname` in
|
case `uname` in
|
||||||
CYGWIN*) echo Cygwin not fully supported yet. ;;
|
CYGWIN*) echo Cygwin not fully supported yet. ;;
|
||||||
Darwin*)
|
Darwin*)
|
||||||
@ -54,6 +55,7 @@ case `uname` in
|
|||||||
TARGET_TOOLS=XCODE32
|
TARGET_TOOLS=XCODE32
|
||||||
UNIXPKG_TOOLS=UNIXPKG
|
UNIXPKG_TOOLS=UNIXPKG
|
||||||
fi
|
fi
|
||||||
|
NETWORK_SUPPORT="-D NETWORK_SUPPORT"
|
||||||
;;
|
;;
|
||||||
Linux*) TARGET_TOOLS=ELFGCC ;;
|
Linux*) TARGET_TOOLS=ELFGCC ;;
|
||||||
|
|
||||||
@ -120,7 +122,7 @@ done
|
|||||||
echo $PATH
|
echo $PATH
|
||||||
echo `which build`
|
echo `which build`
|
||||||
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 $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
|
build -p $WORKSPACE/UnixPkg/UnixPkgX64.dsc -a X64 -t $UNIXPKG_TOOLS $NETWORK_SUPPORT -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
|
cp $WORKSPACE/Build/UnixX64/DEBUG_"$TARGET_TOOLS"/X64/SecMain $WORKSPACE/Build/UnixX64/DEBUG_"$UNIXPKG_TOOLS"/X64
|
||||||
exit $?
|
exit $?
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user