If I understood this correctly, include/tap-windows.h gets removed, and will then be included using the same mechanism that's used to include LZO headers, OpenSSL headers, etc. I think this makes sense now that the TAP-driver is a separate subproject.
ACK. -- Samuli Seppänen Community Manager OpenVPN Technologies, Inc irc freenode net: mattock > tap-windows.h is provided by the tap project > > Signed-off-by: Alon Bar-Lev <alon.bar...@gmail.com> > --- > configure.ac | 12 ++++++++ > include/Makefile.am | 2 - > include/tap-windows.h | 68 > -------------------------------------------- > msvc-env.bat | 2 + > src/openvpn/Makefile.am | 1 + > src/openvpn/openvpn.vcproj | 4 +- > 6 files changed, 17 insertions(+), 72 deletions(-) > delete mode 100644 include/tap-windows.h > > diff --git a/configure.ac b/configure.ac > index 2b095a3..c6cabee 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -666,6 +666,18 @@ PKG_CHECK_MODULES( > )] > ) > > +AC_ARG_VAR([TAP_WINDOWS_CFLAGS], [C compiler flags for TAP-Windows]) > +if test "${WIN32}" = "yes"; then > + old_CFLAGS="${CFLAGS}" > + CFLAGS="${CFLAGS} ${TAP_WINDOWS_CFLAGS}" > + AC_CHECK_HEADERS( > + [tap-windows.h], > + , > + [AC_MSG_ERROR([tap-windows.h is required but missing])] > + ) > + CFLAGS="${old_CFLAGS}" > +fi > + > if test "${have_openssl_crypto}" = "yes"; then > saved_CFLAGS="${CFLAGS}" > saved_LIBS="${LIBS}" > diff --git a/include/Makefile.am b/include/Makefile.am > index 36eeb6c..13dee61 100644 > --- a/include/Makefile.am > +++ b/include/Makefile.am > @@ -12,6 +12,4 @@ > MAINTAINERCLEANFILES = \ > $(srcdir)/Makefile.in > > -dist_noinst_HEADERS = tap-windows.h > - > include_HEADERS = openvpn-plugin.h > diff --git a/include/tap-windows.h b/include/tap-windows.h > deleted file mode 100644 > index 243a4a2..0000000 > --- a/include/tap-windows.h > +++ /dev/null > @@ -1,68 +0,0 @@ > -/* > - * TAP-Windows -- A kernel driver to provide virtual tap > - * device functionality on Windows. > - * > - * This code was inspired by the CIPE-Win32 driver by Damion K. Wilson. > - * > - * This source code is Copyright (C) 2002-2010 OpenVPN Technologies, Inc., > - * and is released under the GPL version 2 (see below). > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License version 2 > - * as published by the Free Software Foundation. > - * > - * This program is distributed in the hope that it will be useful, > - * but WITHOUT ANY WARRANTY; without even the implied warranty of > - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > - * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program (see the file COPYING included with this > - * distribution); if not, write to the Free Software Foundation, Inc., > - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > - */ > -#ifndef __TAP_WIN_H > -#define __TAP_WIN_H > - > -//============= > -// TAP IOCTLs > -//============= > - > -#define TAP_WIN_CONTROL_CODE(request,method) \ > - CTL_CODE (FILE_DEVICE_UNKNOWN, request, method, FILE_ANY_ACCESS) > - > -// Present in 8.1 > - > -#define TAP_WIN_IOCTL_GET_MAC TAP_WIN_CONTROL_CODE (1, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_GET_VERSION TAP_WIN_CONTROL_CODE (2, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_GET_MTU TAP_WIN_CONTROL_CODE (3, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_GET_INFO TAP_WIN_CONTROL_CODE (4, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_CONFIG_POINT_TO_POINT TAP_WIN_CONTROL_CODE (5, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_SET_MEDIA_STATUS TAP_WIN_CONTROL_CODE (6, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_CONFIG_DHCP_MASQ TAP_WIN_CONTROL_CODE (7, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_GET_LOG_LINE TAP_WIN_CONTROL_CODE (8, > METHOD_BUFFERED) > -#define TAP_WIN_IOCTL_CONFIG_DHCP_SET_OPT TAP_WIN_CONTROL_CODE (9, > METHOD_BUFFERED) > - > -// Added in 8.2 > - > -/* obsoletes TAP_WIN_IOCTL_CONFIG_POINT_TO_POINT */ > -#define TAP_WIN_IOCTL_CONFIG_TUN TAP_WIN_CONTROL_CODE (10, > METHOD_BUFFERED) > - > -//================= > -// Registry keys > -//================= > - > -#define ADAPTER_KEY > "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}" > - > -#define NETWORK_CONNECTIONS_KEY > "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}" > - > -//====================== > -// Filesystem prefixes > -//====================== > - > -#define USERMODEDEVICEDIR "\\\\.\\Global\\" > -#define SYSDEVICEDIR "\\Device\\" > -#define USERDEVICEDIR "\\DosDevices\\Global\\" > -#define TAP_WIN_SUFFIX ".tap" > - > -#endif > diff --git a/msvc-env.bat b/msvc-env.bat > index ef9c7bb..e37757b 100644 > --- a/msvc-env.bat > +++ b/msvc-env.bat > @@ -23,7 +23,9 @@ if "%OPENVPN_DEPROOT%" == "" set > OPENVPN_DEPROOT=c:\Temp\openvpn-deps > if "%OPENSSL_HOME%" == "" set OPENSSL_HOME=%OPENVPN_DEPROOT% > if "%LZO_HOME%" == "" set LZO_HOME=%OPENVPN_DEPROOT% > if "%PKCS11H_HOME%" == "" set PKCS11H_HOME=%OPENVPN_DEPROOT% > +if "%TAP_WINDOWS_HOME%" == "" set TAP_WINDOWS_HOME=%OPENVPN_DEPROOT% > > if not exist "%OPENSSL_HOME%" echo WARNING: openssl '%OPENSSL_HOME%' does > not exist > if not exist "%LZO_HOME%" echo WARNING: lzo '%LZO_HOME%' does not exist > if not exist "%PKCS11H_HOME%" echo WARNING: pkcs11-helper '%PKCS11H_HOME%' > does not exist > +if not exist "%TAP_WINDOWS_HOME%" echo WARNING: tap-windows > '%TAP_WINDOWS_HOME%' does not exist > diff --git a/src/openvpn/Makefile.am b/src/openvpn/Makefile.am > index 6ba12b8..1410021 100644 > --- a/src/openvpn/Makefile.am > +++ b/src/openvpn/Makefile.am > @@ -22,6 +22,7 @@ INCLUDES = \ > -I$(top_srcdir)/src/compat > > AM_CFLAGS = \ > + $(TAP_WINDOWS_CFLAGS) \ > $(OPTIONAL_CRYPTO_CFLAGS) \ > $(OPTIONAL_LZO_CFLAGS) \ > $(OPTIONAL_PKCS11_HELPER_CFLAGS) > diff --git a/src/openvpn/openvpn.vcproj b/src/openvpn/openvpn.vcproj > index 4680e52..c1aa8a0 100644 > --- a/src/openvpn/openvpn.vcproj > +++ b/src/openvpn/openvpn.vcproj > @@ -41,7 +41,7 @@ > <Tool > Name="VCCLCompilerTool" > Optimization="0" > - > AdditionalIncludeDirectories="$(SOURCEBASE);$(SOURCEBASE)/src/compat;$(SOURCEBASE)/include;$(OPENSSL_HOME)/include;$(LZO_HOME)/include;$(PKCS11H_HOME)/include" > + > AdditionalIncludeDirectories="$(SOURCEBASE);$(SOURCEBASE)/src/compat;$(SOURCEBASE)/include;$(TAP_WINDOWS_HOME)/include;$(OPENSSL_HOME)/include;$(LZO_HOME)/include;$(PKCS11H_HOME)/include" > > PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;$(CPPFLAGS)" > MinimalRebuild="true" > BasicRuntimeChecks="3" > @@ -118,7 +118,7 @@ > Name="VCCLCompilerTool" > Optimization="2" > EnableIntrinsicFunctions="true" > - > AdditionalIncludeDirectories="$(SOURCEBASE);$(SOURCEBASE)/src/compat;$(SOURCEBASE)/include;$(OPENSSL_HOME)/include;$(LZO_HOME)/include;$(PKCS11H_HOME)/include" > + > AdditionalIncludeDirectories="$(SOURCEBASE);$(SOURCEBASE)/src/compat;$(SOURCEBASE)/include;$(TAP_WINDOWS_HOME)/include;$(OPENSSL_HOME)/include;$(LZO_HOME)/include;$(PKCS11H_HOME)/include" > > PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;$(CPPFLAGS)" > RuntimeLibrary="2" > EnableFunctionLevelLinking="true" > -- > 1.7.3.4 > > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > Openvpn-devel mailing list > Openvpn-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openvpn-devel