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
#include <netdb.h>\r
#include <netinet/in.h>\r
#include <net/if.h>\r
-#include <net/if_dl.h>\r
#include <ifaddrs.h>\r
-#include <net/bpf.h>\r
\r
#ifdef __APPLE__\r
+#include <net/if_dl.h>\r
+#include <net/bpf.h>\r
#include <sys/param.h>\r
#include <sys/mount.h>\r
#define _XOPEN_SOURCE\r
ret
-
-ASM_GLOBAL _Gasketfreeifaddrs
-_Gasketfreeifaddrs:
+ASM_GLOBAL ASM_PFX(Gasketfreeifaddrs)
+ASM_PFX(Gasketfreeifaddrs):
pushq %rbp // stack frame is for the debugger
movq %rsp, %rbp
movq %rcx, %rdi // Swizzle args
- call _freeifaddrs
+ call ASM_PFX(freeifaddrs)
popq %rdi // restore state
ret
-
-
-
ASM_GLOBAL ASM_PFX(GasketUgaClose)
ASM_PFX(GasketUgaClose):
pushq %rbp // stack frame is for the debugger
#\r
# Network stack drivers\r
#\r
+!if $(NETWORK_SUPPORT)\r
UnixPkg/UnixSnpDxe/UnixSnpDxe.inf\r
+!endif\r
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
#\r
# Network stack drivers\r
#\r
+!if $(NETWORK_SUPPORT)\r
+INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf\r
+!endif\r
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf\r
INF MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf\r
INF MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf\r
-INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf\r
\r
#\r
# Build from source or use checked in binary\r
#\r
# Network stack drivers\r
#\r
+!if $(NETWORK_SUPPORT)\r
UnixPkg/UnixSnpDxe/UnixSnpDxe.inf\r
+!endif\r
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
#\r
# Network stack drivers\r
#\r
+!if $(NETWORK_SUPPORT)\r
INF UnixPkg/UnixSnpDxe/UnixSnpDxe.inf\r
+!endif\r
INF MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf\r
INF MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf\r
INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf\r
# Pick a default tool type for a given OS
#
TARGET_TOOLS=MYTOOLS
+NETWORK_SUPPORT=
case `uname` in
CYGWIN*) echo Cygwin not fully supported yet. ;;
Darwin*)
else
TARGET_TOOLS=XCODE32
fi
+ NETWORK_SUPPORT="-D NETWORK_SUPPORT"
;;
Linux*) TARGET_TOOLS=ELFGCC ;;
#
echo $PATH
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 $?
#
TARGET_TOOLS=MYTOOLS
UNIXPKG_TOOLS=GCC44
+NETWORK_SUPPORT=
case `uname` in
CYGWIN*) echo Cygwin not fully supported yet. ;;
Darwin*)
TARGET_TOOLS=XCODE32
UNIXPKG_TOOLS=UNIXPKG
fi
+ NETWORK_SUPPORT="-D NETWORK_SUPPORT"
;;
Linux*) TARGET_TOOLS=ELFGCC ;;
echo $PATH
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 $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
exit $?