On Thu, 11 Nov 2004, Peter 'Luna' Runestig wrote:
> Hi again! I need this to compile beta16 with Visual C++:
>
> diff -u openvpn-2.0_beta16.orig/config-win32.h
> openvpn-2.0_beta16/config-win32.h
> --- openvpn-2.0_beta16.orig/config-win32.h 2004-11-07 10:28:31.000000000
> +0100
> +++ openvpn-2.0_beta16/config-win32.h 2004-11-10 12:36:05.478199500 +0100
> @@ -271,6 +271,7 @@
> #define vsnprintf _vsnprintf
> #define vsnwprintf _vsnwprintf
> #define snwprintf _snwprintf
> +#define snprintf _snprintf
> #define write _write
> #define open _open
> #define read _read
> diff -u openvpn-2.0_beta16.orig/makefile.w32-vc
> openvpn-2.0_beta16/makefile.w32-vc
> --- openvpn-2.0_beta16.orig/makefile.w32-vc 2004-10-30 15:06:50.000000000
> +0200
> +++ openvpn-2.0_beta16/makefile.w32-vc 2004-11-10 12:38:59.658540300
> +0100
> @@ -24,7 +24,7 @@
>
> INCLUDE_DIRS = -I$(OPENSSL)/include -I$(LZO)/include
>
> -LIBS = lzo.lib ws2_32.lib iphlpapi.lib winmm.lib gdi32.lib advapi32.lib
> +LIBS = lzo.lib ws2_32.lib crypt32.lib iphlpapi.lib winmm.lib gdi32.lib
> advapi32.lib
>
> LIB_DIRS = -LIBPATH:$(OPENSSL)\out -LIBPATH:$(LZO)
I've merged the above 2 patches.
> diff -u openvpn-2.0_beta16.orig/thread.h openvpn-2.0_beta16/thread.h
> --- openvpn-2.0_beta16.orig/thread.h 2004-11-04 02:21:39.000000000 +0100
> +++ openvpn-2.0_beta16/thread.h 2004-11-10 12:29:16.048742200 +0100
> @@ -163,8 +163,8 @@
>
> typedef int openvpn_thread_t;
>
> -#define MUTEX_DEFINE(lock)
> -#define MUTEX_PTR_DEFINE(lock)
> +#define MUTEX_DEFINE(lock) int eat_semicolon
> +#define MUTEX_PTR_DEFINE(lock) int eat_semicolon
>
> #define mutex_init(m)
> #define mutex_destroy(m)
This one I bracketed with #ifdef _MSC_VER
> I.e. "snprintf" must be renamed to "_snprintf", and "crypt32.lib" is missing
> from the "makefile.w32-vc" file (but that one is autogenerated, yes?). And
> look at that last, ugly hack: If USE_PTHREAD is NOT defined, stuff like this
> get a line with a lonely semicolon, that VC++ chokes on:
>
> struct hash_bucket
> {
> MUTEX_DEFINE (mutex);
> struct hash_element * volatile list;
> };
>
> But there is probably a more elegant solution to that one...
>
> Finally, I always have to do this adjustment, to build with MinGW:
>
> diff -u openvpn-2.0_beta16.orig/makefile.w32 openvpn-2.0_beta16/makefile.w32
> --- openvpn-2.0_beta16.orig/makefile.w32 2004-11-07 10:27:36.000000000
> +0100
> +++ openvpn-2.0_beta16/makefile.w32 2004-11-10 22:27:42.796479300 +0100
> @@ -50,7 +50,7 @@
>
> LIBS_DMALLOC = ${LIBS} -ldmalloc
>
> -LIB_DIRS = -L${OPENSSL}/out -L${LZO}/src/.libs
> +LIB_DIRS = -L${OPENSSL}/out -L${LZO}
>
> LIB_DIRS_DMALLOC = ${LIB_DIRS} -L${DMALLOC}
>
>
> I'm using lzo-1.08, and the "liblzo.a" file was created in the
> base directory there, and the "src/.libs" subdir doesn't even
> exist. Or is it just me?
That's strange because when I build lzo-1.08, it puts the .a file in
src/.libs.
James