VirtualBox

source: vbox/trunk/src/VBox/NetworkServices/NAT/Makefile.kmk@ 50637

Last change on this file since 50637 was 50068, checked in by vboxsync, 11 years ago

Add ifdefed out code to use debug helper for raw ICMP sockets.
Add to the makefile commented out option to enable it.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.2 KB
Line 
1# $Id: Makefile.kmk 50068 2014-01-14 02:58:46Z vboxsync $
2## @file
3#
4
5#
6# Copyright (C) 2006-2012 Oracle Corporation
7#
8# This file is part of VirtualBox Open Source Edition (OSE), as
9# available from http://www.virtualbox.org. This file is free software;
10# you can redistribute it and/or modify it under the terms of the GNU
11# General Public License (GPL) as published by the Free Software
12# Foundation, in version 2 as it comes in the "COPYING" file of the
13# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15#
16
17SUB_DEPTH = ../../../..
18include $(KBUILD_PATH)/subheader.kmk
19
20ifdef VBOX_WITH_LWIP_NAT
21# XXX: do not depend on order
22ifndef LWIP_SOURCES
23 include ../../Devices/Network/lwip-new/Makefile.kmk
24endif
25
26ifdef VBOX_WITH_HARDENING
27 PROGRAMS += VBoxNetLwipNATHardened
28 DLLS += VBoxNetLwipNAT
29else
30 PROGRAMS += VBoxNetLwipNAT
31endif
32
33ifdef VBOX_WITH_HARDENING
34 VBoxNetLwipNATHardened_SOURCES += VBoxNetNATHardened.cpp
35 VBoxNetLwipNATHardened_DEFS += SERVICE_NAME=\"VBoxNetNAT\"
36 VBoxNetLwipNATHardened_TEMPLATE=VBOXR3HARDENEDEXE
37 VBoxNetLwipNATHardened_NAME = VBoxNetNAT
38endif
39
40VBoxNetLwipNAT_TEMPLATE =
41VBoxNetLwipNAT_TEMPLATE := VBOXMAIN$(if-expr defined(VBOX_WITH_HARDENING),DLL,CLIENTEXE)
42VBoxNetLwipNAT_NAME = VBoxNetNAT
43VBoxNetLwipNAT_DEFS += ${LWIP_DEFS} IPv6
44# VBoxNetLwipNAT_DEFS.linux += WITH_VALGRIND # instrument lwip memp.c
45VBoxNetLwipNAT_DEFS.win += VBOX_COM_OUTOFPROC_MODULE _WIN32_WINNT=0x501 # Windows XP
46VBoxNetLwipNAT_SOURCES += VBoxNetLwipNAT.cpp \
47 ../NetLib/VBoxNetBaseService.cpp \
48 ../NetLib/VBoxNetPortForwardString.cpp \
49 ../NetLib/VBoxNetIntIf.cpp \
50 ../NetLib/VBoxNetUDP.cpp \
51 ../NetLib/VBoxNetARP.cpp \
52 ../NetLib/ComHostUtils.cpp
53
54VBoxNetLwipNAT_LIBS = \
55 $(LIB_RUNTIME)
56VBoxNetLwipNAT_LIBS.solaris += socket nsl
57VBoxNetLwipNAT_LDFLAGS.win = /SUBSYSTEM:windows
58
59# Convince Solaris headers to expose socket stuff we need. 600 would
60# also work, but <sys/feature_tests.h> insists on C99 for it and so
61# explodes for C++. Note that for 500 it insists on NOT using C99, so
62# when some day we decide to use -std=c99 we are in for some fun.
63VBoxNetLwipNAT_DEFS.solaris += _XOPEN_SOURCE=500 __EXTENSIONS__=1
64
65VBoxNetLwipNAT_SOURCES += \
66 proxy_pollmgr.c \
67 proxy_rtadvd.c \
68 proxy.c \
69 pxremap.c \
70 pxtcp.c \
71 pxudp.c \
72 pxdns.c \
73 fwtcp.c \
74 fwudp.c \
75 portfwd.c \
76 proxy_dhcp6ds.c \
77 proxy_tftpd.c
78
79ifeq ($(KBUILD_TARGET),win)
80 # unprivileged Icmp API
81 VBoxNetLwipNAT_SOURCES += pxping_win.c
82else
83 # raw sockets
84 VBoxNetLwipNAT_SOURCES += pxping.c
85endif
86
87# ifeq ($(VBOX_WITH_HARDENING),)
88# ifn1of ($(KBUILD_TARGET), darwin win)
89# # helper for debugging unprivileged
90# VBoxNetLwipNAT_DEFS += VBOX_RAWSOCK_DEBUG_HELPER
91# VBoxNetLwipNAT_SOURCES += getrawsock.c
92# endif
93# endif
94
95VBoxNetLwipNAT_SOURCES.darwin += rtmon_bsd.c
96VBoxNetLwipNAT_SOURCES.freebsd += rtmon_bsd.c
97VBoxNetLwipNAT_SOURCES.linux += rtmon_linux.c
98VBoxNetLwipNAT_SOURCES.solaris += rtmon_bsd.c
99VBoxNetLwipNAT_SOURCES.win += rtmon_win.c
100
101VBoxNetLwipNAT_SOURCES.win += \
102 RTWinPoll.cpp \
103 RTWinSocketPair.cpp
104
105VBoxNetLwipNAT_INCS += . # for lwipopts.h
106$(eval $(call def_vbox_lwip_public, \
107 VBoxNetLwipNAT, ../../Devices/Network/lwip-new))
108endif
109
110include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette