Changeset 62764 in vbox for trunk/src/VBox/NetworkServices
- Timestamp:
- Jul 31, 2016 2:45:56 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 109351
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/NetworkServices/NAT/Makefile.kmk
r62763 r62764 18 18 SUB_DEPTH = ../../../.. 19 19 include $(KBUILD_PATH)/subheader.kmk 20 ifdef VBOX_WITH_LWIP_NAT 20 21 21 22 VBOX_PATH_NAT_SRC := $(PATH_SUB_CURRENT) 22 23 23 ifdef VBOX_WITH_LWIP_NAT 24 # XXX: do not depend on order 25 ifndef LWIP_SOURCES 24 # XXX: do not depend on order 25 ifndef LWIP_SOURCES 26 26 include $(PATH_SUB_CURRENT)/../../Devices/Network/lwip-new/Makefile.kmk 27 endif27 endif 28 28 29 ifdef VBOX_WITH_HARDENING30 PROGRAMS += VBoxNetLwipNATHardened31 DLLS += VBoxNetLwipNAT32 else33 PROGRAMS += VBoxNetLwipNAT34 endif29 ifdef VBOX_WITH_HARDENING 30 PROGRAMS += VBoxNetLwipNATHardened 31 DLLS += VBoxNetLwipNAT 32 else 33 PROGRAMS += VBoxNetLwipNAT 34 endif 35 35 36 ifdef VBOX_WITH_HARDENING37 VBoxNetLwipNATHardened_TEMPLATE = VBOXR3HARDENEDEXE38 VBoxNetLwipNATHardened_NAME = VBoxNetNAT39 VBoxNetLwipNATHardened_DEFS = SERVICE_NAME=\"VBoxNetNAT\"40 VBoxNetLwipNATHardened_SOURCES = VBoxNetNATHardened.cpp41 VBoxNetLwipNATHardened_SOURCES.win = $(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc42 VBoxNetLwipNATHardened_LDFLAGS.win = /SUBSYSTEM:windows43 endif36 ifdef VBOX_WITH_HARDENING 37 VBoxNetLwipNATHardened_TEMPLATE = VBOXR3HARDENEDEXE 38 VBoxNetLwipNATHardened_NAME = VBoxNetNAT 39 VBoxNetLwipNATHardened_DEFS = SERVICE_NAME=\"VBoxNetNAT\" 40 VBoxNetLwipNATHardened_SOURCES = VBoxNetNATHardened.cpp 41 VBoxNetLwipNATHardened_SOURCES.win = $(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc 42 VBoxNetLwipNATHardened_LDFLAGS.win = /SUBSYSTEM:windows 43 endif 44 44 45 VBoxNetLwipNAT_TEMPLATE := VBOXMAIN$(if-expr defined(VBOX_WITH_HARDENING),DLL,CLIENTEXE)46 VBoxNetLwipNAT_NAME = VBoxNetNAT47 VBoxNetLwipNAT_DEFS += ${LWIP_DEFS} IPv648 # VBoxNetLwipNAT_DEFS.linux += WITH_VALGRIND # instrument lwip memp.c49 VBoxNetLwipNAT_DEFS.win += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x501 # Windows XP50 VBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \51 52 53 54 55 56 45 VBoxNetLwipNAT_TEMPLATE := VBOXMAIN$(if-expr defined(VBOX_WITH_HARDENING),DLL,CLIENTEXE) 46 VBoxNetLwipNAT_NAME = VBoxNetNAT 47 VBoxNetLwipNAT_DEFS += ${LWIP_DEFS} IPv6 48 # VBoxNetLwipNAT_DEFS.linux += WITH_VALGRIND # instrument lwip memp.c 49 VBoxNetLwipNAT_DEFS.win += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x501 # Windows XP 50 VBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \ 51 $(VBOX_PATH_NAT_SRC)/../NetLib/VBoxNetBaseService.cpp \ 52 $(VBOX_PATH_NAT_SRC)/../NetLib/VBoxNetPortForwardString.cpp \ 53 $(VBOX_PATH_NAT_SRC)/../NetLib/VBoxNetIntIf.cpp \ 54 $(VBOX_PATH_NAT_SRC)/../NetLib/VBoxNetUDP.cpp \ 55 $(VBOX_PATH_NAT_SRC)/../NetLib/VBoxNetARP.cpp \ 56 $(VBOX_PATH_NAT_SRC)/../NetLib/ComHostUtils.cpp 57 57 58 VBoxNetLwipNAT_LIBS = \59 60 VBoxNetLwipNAT_LIBS.solaris += socket nsl61 VBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows58 VBoxNetLwipNAT_LIBS = \ 59 $(LIB_RUNTIME) 60 VBoxNetLwipNAT_LIBS.solaris += socket nsl 61 VBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows 62 62 63 # Convince Solaris headers to expose socket stuff we need. 64 # 65 # Setting _XOPEN_SOURCE to either 500 or 600 would always work, but 66 # <sys/feature_tests.h> insists that 600 requires C99 and so it 67 # explodes for older g++. It also insists that 500 is NOT to be used 68 # with C99. 69 # 70 # Newer g++ in C++11 mode (formerly known as C++0x) needs 600, so it 71 # employs sleight of hand to pretend it's C99 to keep feature test 72 # happy. 73 # 74 # Compile the C code with settings that match g++. This probably 75 # should be centralized so that whole codebase uses consistent 76 # settings. 77 ifeq ($(KBUILD_TARGET),solaris) 78 ifneq ($(VBOX_GCC_VERSION_CXX),) 79 ifneq ($(int-ge $(VBOX_GCC_VERSION_CXX),40600),) 80 # we compile C++ code with -std=c++0x / -std=c++11 81 VBoxNetLwipNAT_CFLAGS.solaris += -std=c99 82 VBoxNetLwipNAT_DEFS.solaris += _XOPEN_SOURCE=600 83 else 84 VBoxNetLwipNAT_DEFS.solaris += _XOPEN_SOURCE=500 63 # Convince Solaris headers to expose socket stuff we need. 64 # 65 # Setting _XOPEN_SOURCE to either 500 or 600 would always work, but 66 # <sys/feature_tests.h> insists that 600 requires C99 and so it 67 # explodes for older g++. It also insists that 500 is NOT to be used 68 # with C99. 69 # 70 # Newer g++ in C++11 mode (formerly known as C++0x) needs 600, so it 71 # employs sleight of hand to pretend it's C99 to keep feature test 72 # happy. 73 # 74 # Compile the C code with settings that match g++. This probably 75 # should be centralized so that whole codebase uses consistent 76 # settings. 77 ifeq ($(KBUILD_TARGET),solaris) 78 ifneq ($(VBOX_GCC_VERSION_CXX),) 79 ifneq ($(int-ge $(VBOX_GCC_VERSION_CXX),40600),) 80 # we compile C++ code with -std=c++0x / -std=c++11 81 VBoxNetLwipNAT_CFLAGS.solaris += -std=c99 82 VBoxNetLwipNAT_DEFS.solaris += _XOPEN_SOURCE=600 83 else 84 VBoxNetLwipNAT_DEFS.solaris += _XOPEN_SOURCE=500 85 endif 85 86 endif 87 VBoxNetLwipNAT_DEFS.solaris += __EXTENSIONS__=1 86 88 endif 87 VBoxNetLwipNAT_DEFS.solaris += __EXTENSIONS__=188 endif89 89 90 VBoxNetLwipNAT_SOURCES += \91 proxy_pollmgr.c \92 proxy_rtadvd.c \93 proxy.c \94 pxremap.c \95 pxtcp.c \96 pxudp.c \97 pxdns.c \98 fwtcp.c \99 fwudp.c \100 portfwd.c \101 proxy_dhcp6ds.c \102 proxy_tftpd.c90 VBoxNetLwipNAT_SOURCES += \ 91 proxy_pollmgr.c \ 92 proxy_rtadvd.c \ 93 proxy.c \ 94 pxremap.c \ 95 pxtcp.c \ 96 pxudp.c \ 97 pxdns.c \ 98 fwtcp.c \ 99 fwudp.c \ 100 portfwd.c \ 101 proxy_dhcp6ds.c \ 102 proxy_tftpd.c 103 103 104 ifeq ($(KBUILD_TARGET),win)105 # unprivileged Icmp API106 VBoxNetLwipNAT_SOURCES += pxping_win.c107 else108 # raw sockets109 VBoxNetLwipNAT_SOURCES += pxping.c110 endif104 ifeq ($(KBUILD_TARGET),win) 105 # unprivileged Icmp API 106 VBoxNetLwipNAT_SOURCES += pxping_win.c 107 else 108 # raw sockets 109 VBoxNetLwipNAT_SOURCES += pxping.c 110 endif 111 111 112 # ifeq ($(VBOX_WITH_HARDENING),)113 # ifn1of ($(KBUILD_TARGET), darwin win)114 # # helper for debugging unprivileged115 # VBoxNetLwipNAT_DEFS += VBOX_RAWSOCK_DEBUG_HELPER116 # VBoxNetLwipNAT_SOURCES += getrawsock.c117 # endif118 # endif112 # ifeq ($(VBOX_WITH_HARDENING),) 113 # ifn1of ($(KBUILD_TARGET), darwin win) 114 # # helper for debugging unprivileged 115 # VBoxNetLwipNAT_DEFS += VBOX_RAWSOCK_DEBUG_HELPER 116 # VBoxNetLwipNAT_SOURCES += getrawsock.c 117 # endif 118 # endif 119 119 120 VBoxNetLwipNAT_SOURCES.darwin += rtmon_bsd.c121 VBoxNetLwipNAT_SOURCES.freebsd += rtmon_bsd.c122 VBoxNetLwipNAT_SOURCES.linux += rtmon_linux.c123 VBoxNetLwipNAT_SOURCES.solaris += rtmon_bsd.c124 VBoxNetLwipNAT_SOURCES.win += rtmon_win.c120 VBoxNetLwipNAT_SOURCES.darwin += rtmon_bsd.c 121 VBoxNetLwipNAT_SOURCES.freebsd += rtmon_bsd.c 122 VBoxNetLwipNAT_SOURCES.linux += rtmon_linux.c 123 VBoxNetLwipNAT_SOURCES.solaris += rtmon_bsd.c 124 VBoxNetLwipNAT_SOURCES.win += rtmon_win.c 125 125 126 VBoxNetLwipNAT_SOURCES.win += \127 RTWinPoll.cpp \128 RTWinSocketPair.cpp126 VBoxNetLwipNAT_SOURCES.win += \ 127 RTWinPoll.cpp \ 128 RTWinSocketPair.cpp 129 129 130 VBoxNetLwipNAT_INCS += . # for lwipopts.h 131 $(eval $(call def_vbox_lwip_public, \ 132 VBoxNetLwipNAT, $(PATH_SUB_CURRENT)/../../Devices/Network/lwip-new)) 133 endif 130 VBoxNetLwipNAT_INCS += . # for lwipopts.h 131 $(eval $(call def_vbox_lwip_public, \ 132 VBoxNetLwipNAT, $(PATH_SUB_CURRENT)/../../Devices/Network/lwip-new)) 134 133 135 ifeq ($(KBUILD_TARGET),win)136 # Icon include file.137 VBoxNetLwipNAT_SOURCES += VBoxNetNAT.rc138 VBoxNetNAT.rc_INCS = $(VBoxNetLwipNAT_0_OUTDIR)139 VBoxNetNAT.rc_DEPS = $(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc140 VBoxNetNAT.rc_CLEAN = $(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc141 $$(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $$(VBoxNetLwipNAT_DEFPATH)/Makefile.kmk | $$(dir $$@)134 ifeq ($(KBUILD_TARGET),win) 135 # Icon include file. 136 VBoxNetLwipNAT_SOURCES += VBoxNetNAT.rc 137 VBoxNetNAT.rc_INCS = $(VBoxNetLwipNAT_0_OUTDIR) 138 VBoxNetNAT.rc_DEPS = $(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc 139 VBoxNetNAT.rc_CLEAN = $(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc 140 $$(VBoxNetLwipNAT_0_OUTDIR)/VBoxNetLwipNAT-icon.rc: $(VBOX_WINDOWS_ICON_FILE) $$(VBoxNetLwipNAT_DEFPATH)/Makefile.kmk | $$(dir $$@) 142 141 $(RM) -f $@ 143 142 $(APPEND) $@ 'IDI_VIRTUALBOX ICON DISCARDABLE "$(subst /,\\,$(VBOX_WINDOWS_ICON_FILE))"' 144 endif # win143 endif # win 145 144 145 endif # VBOX_WITH_LWIP_NAT 146 146 include $(FILE_KBUILD_SUB_FOOTER) 147
Note:
See TracChangeset
for help on using the changeset viewer.