<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
You could also use MinGW shell coupled with Eclipse for C/C++.<br>
Builds can be reduced to a few button clicks.<br>
<br>
This way, if you need to use different #defines and versions you can
have separate projects with linked source folders.<br>
<br>
I am happy to help you achieve this, and I can send you docs - you
might discover a few tricks
that elude me.<br>
<br>
Enclosed is a screen shot revealing what can be achieved.<br>
<br>
<img src="cid:part1.06020302.07040405@gotadsl.co.uk" alt=""><br>
Hope it helps.<br>
<br>
*** if the attachment gets stripped, I can resend under separate cover.<br>
<br>
Gisle Vanem wrote:
<blockquote cite="mid:925F8E58788B47B381F05E19B110892F@broadpark.no"
type="cite">"Nick Mathewson" <a class="moz-txt-link-rfc2396E"
href="mailto:nickm@freehaven.net"><nickm@freehaven.net></a>
wrote: <br>
<br>
<blockquote type="cite">But hey, it's free software. If you wanted to
write and maintain an <br>
alternative set of build scripts to work with different versions of <br>
mingw, that would be great. </blockquote>
<br>
I'm using the top of the line version of MingW (v3.18). I don't think <br>
MingW has changed too much the last 5 years that it would matter for
Tor. Except for the added gettimeofday() (in MingW v.316 I believe), an
<br>
orconfig.h should be unaware of any MingW version. <br>
<br>
<blockquote type="cite">I'd greatly <br>
prefer a separate orconfig.h if you take this route: sharing the same <br>
one between msvc and mingw seems like it's asking for trouble. <br>
</blockquote>
<br>
Okay, but I'm now building Tor with the attached orconfig.h. This has <br>
"only" 5 tests for __MINGW32__. I don't think that is asking for
trouble. <br>
<br>
Gisle V. <br>
<br>
# rm -v /bin/laden /bin/laden: removed /bin/laden <br>
/* orconfig.h for Windows -- This file is *not* generated by autoconf. <br>
* Instead, it has to be hand-edited to keep Win32 happy. <br>
*/ <br>
<br>
/* Windows-only defines. */ <br>
#define MS_WINDOWS <br>
#define MS_WIN32 <br>
#define CONFDIR "" <br>
<br>
/* Define to 1 if you have the <arpa/inet.h> header file. */ <br>
#undef HAVE_ARPA_INET_H <br>
<br>
/* Define to 1 if you have the <assert.h> header file. */ <br>
#define HAVE_ASSERT_H <br>
<br>
/* Define to 1 if you have the <ctype.h> header file. */ <br>
#define HAVE_CTYPE_H <br>
<br>
#define ENABLE_THREADS <br>
<br>
/* Define to 1 if you have the <errno.h> header file. */ <br>
#define HAVE_ERRNO_H <br>
<br>
/* Define to 1 if you have the `event_get_method' function. */ <br>
#define HAVE_EVENT_GET_METHOD 1 <br>
<br>
/* Define to 1 if you have the `event_get_version' function. */ <br>
#define HAVE_EVENT_GET_VERSION 1 <br>
<br>
/* Define to 1 if you have the `event_set_log_callback' function. */ <br>
#define HAVE_EVENT_SET_LOG_CALLBACK 1 <br>
<br>
/* Define to 1 if you have the <fcntl.h> header file. */ <br>
#define HAVE_FCNTL_H <br>
<br>
/* Define to 1 if you have the `ftime' function. */ <br>
#define HAVE_FTIME <br>
<br>
/* Define to 1 if you have the `gettimeofday' function. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_GETTIMEOFDAY <br>
#endif <br>
<br>
/* Define to 1 if you have the <grp.h> header file. */ <br>
#undef HAVE_GRP_H <br>
<br>
/* Define to 1 if you have the `inet_aton' function. */ <br>
#undef HAVE_INET_ATON <br>
<br>
/* Define to 1 if you have the <inttypes.h> header file. */ <br>
/* #define HAVE_INTTYPES_H */ <br>
<br>
/* Define to 1 if you have the <limits.h> header file. */ <br>
#define HAVE_LIMITS_H <br>
<br>
/* Define to 1 if you have the <machine/limits.h> header file. */
<br>
#undef HAVE_MACHINE_LIMITS_H <br>
<br>
/* Define to 1 if you have the <memory.h> header file. */ <br>
#define HAVE_MEMORY_H <br>
<br>
/* Define to 1 if you have the <netdb.h> header file. */ <br>
#undef HAVE_NETDB_H <br>
<br>
/* Define to 1 if you have the <netinet/in.h> header file. */ <br>
#undef HAVE_NETINET_IN_H <br>
<br>
/* Define to 1 if you have the <poll.h> header file. */ <br>
#undef HAVE_POLL_H <br>
<br>
/* Define to 1 if you have the <pwd.h> header file. */ <br>
#undef HAVE_PWD_H <br>
<br>
/* Define to 1 if you have the <signal.h> header file. */ <br>
#define HAVE_SIGNAL_H <br>
<br>
/* Define to 1 if you have the `socketpair' function. */ <br>
#undef HAVE_SOCKETPAIR <br>
<br>
/* Define to 1 if you have the <stdint.h> header file. */ <br>
#undef HAVE_STDINT_H <br>
<br>
/* Define to 1 if you have the <stdlib.h> header file. */ <br>
#define HAVE_STDLIB_H <br>
<br>
/* Define to 1 if you have the <strings.h> header file. */ <br>
#undef HAVE_STRINGS_H <br>
<br>
/* Define to 1 if you have the <string.h> header file. */ <br>
#define HAVE_STRING_H <br>
<br>
/* Define to 1 if you have the `strlcat' function. */ <br>
#if defined (WINCE) <br>
#define HAVE_STRLCAT <br>
#else <br>
#undef HAVE_STRLCAT <br>
#endif <br>
<br>
/* Define to 1 if you have the `strlcpy' function. */ <br>
#if defined (WINCE) <br>
#define HAVE_STRLCPY <br>
#else <br>
#undef HAVE_STRLCPY <br>
#endif <br>
/* Define to 1 if you have the `strptime' function. */ <br>
#undef HAVE_STRPTIME <br>
<br>
/* Define to 1 if your timeval has a tv_sec element. */ <br>
#define HAVE_STRUCT_TIMEVAL_TV_SEC <br>
/* Change to #undef if you're using BCC */ <br>
<br>
/* Define to 1 if you have the <sys/fcntl.h> header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_SYS_FCNTL_H <br>
#endif <br>
<br>
/* Define to 1 if you have the <sys/ioctl.h> header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_SYS_IOCTL_H <br>
#endif <br>
<br>
/* Define to 1 if you have the <sys/limits.h> header file. */ <br>
#undef HAVE_SYS_LIMITS_H <br>
<br>
/* Define to 1 if you have the <sys/poll.h> header file. */ <br>
#undef HAVE_SYS_POLL_H <br>
<br>
/* Define to 1 if you have the <sys/socket.h> header file. */ <br>
#undef HAVE_SYS_SOCKET_H <br>
<br>
/* Define to 1 if you have the <sys/stat.h> header file. */ <br>
#define HAVE_SYS_STAT_H <br>
<br>
/* Define to 1 if you have the <sys/time.h> header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_SYS_TIME_H <br>
#endif <br>
<br>
/* Define to 1 if you have the <sys/types.h> header file. */ <br>
#define HAVE_SYS_TYPES_H <br>
<br>
/* Define to 1 if you have the <sys/utime.h> header file. */ <br>
#define HAVE_SYS_UTIME_H <br>
<br>
/* Define to 1 if you have the <sys/wait.h> header file. */ <br>
#undef HAVE_SYS_WAIT_H <br>
<br>
/* Define to 1 if you have the <time.h> header file. */ <br>
#define HAVE_TIME_H <br>
<br>
/* Define to 1 if you have the `uname' function. */ <br>
#undef HAVE_UNAME <br>
<br>
/* Define to 1 if you have the <unistd.h> header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_UNISTD_H <br>
#endif <br>
<br>
/* Define to 1 iff NULL is represented by a 0 in memory. */ <br>
#define NULL_REP_IS_ZERO_BYTES 1 <br>
<br>
/* Name of package */ <br>
#define PACKAGE "tor" <br>
<br>
/* Define to the address where bug reports for this package should be
sent. */ <br>
#undef PACKAGE_BUGREPORT <br>
<br>
/* Define to the full name of this package. */ <br>
#undef PACKAGE_NAME <br>
<br>
/* Define to the full name and version of this package. */ <br>
#undef PACKAGE_STRING <br>
<br>
/* Define to the one symbol short name of this package. */ <br>
#undef PACKAGE_TARNAME <br>
<br>
/* Define to the version of this package. */ <br>
#undef PACKAGE_VERSION <br>
<br>
/* The size of a `char', as computed by sizeof. */ <br>
#define SIZEOF_CHAR 1 <br>
<br>
/* The size of a `int', as computed by sizeof. */ <br>
#define SIZEOF_INT 4 <br>
<br>
/* The size of a `int16_t', as computed by sizeof. */ <br>
#undef SIZEOF_INT16_T <br>
<br>
/* The size of a `int32_t', as computed by sizeof. */ <br>
#undef SIZEOF_INT32_T <br>
<br>
/* The size of a `int64_t', as computed by sizeof. */ <br>
#undef SIZEOF_INT64_T <br>
<br>
/* The size of a `int8_t', as computed by sizeof. */ <br>
#undef SIZEOF_INT8_T <br>
<br>
/* The size of a `long', as computed by sizeof. */ <br>
#define SIZEOF_LONG 4 <br>
<br>
/* The size of a `long long', as computed by sizeof. */ <br>
#undef SIZEOF_LONG_LONG <br>
<br>
/* The size of a `short', as computed by sizeof. */ <br>
#define SIZEOF_SHORT 2 <br>
<br>
/* The size of a `time_t', as computed by sizeof. */ <br>
#define SIZEOF_TIME_T 4 <br>
<br>
/* The size of a `uint16_t', as computed by sizeof. */ <br>
#undef SIZEOF_UINT16_T <br>
<br>
/* The size of a `uint32_t', as computed by sizeof. */ <br>
#undef SIZEOF_UINT32_T <br>
<br>
/* The size of a `uint64_t', as computed by sizeof. */ <br>
#undef SIZEOF_UINT64_T <br>
<br>
/* The size of a `uint8_t', as computed by sizeof. */ <br>
#undef SIZEOF_UINT8_T <br>
<br>
/* The size of a `void *', as computed by sizeof. */ <br>
#define SIZEOF_VOID_P 4 <br>
<br>
/* The size of a `__int64', as computed by sizeof. */ <br>
#define SIZEOF___INT64 8 <br>
<br>
/* The sizeof a size_t, as computed by sizeof. */ <br>
#define SIZEOF_SIZE_T 4 <br>
<br>
/* Define to 1 if you have the ANSI C header files. */ <br>
#define STDC_HEADERS <br>
<br>
/* Define to 1 if time_t is signed. */ <br>
#define TIME_T_IS_SIGNED <br>
<br>
/* Define to 1 iff unaligned int access is allowed */ <br>
#define UNALIGNED_INT_ACCESS_OK <br>
<br>
#define HAVE_EVENT_H <br>
<br>
/* Define to 1 iff we represent negative integers with two's complement
*/ <br>
#define USING_TWOS_COMPLEMENT <br>
<br>
/* Version number of package */ <br>
#define VERSION "0.2.3.0-alpha-dev" <br>
<pre wrap=""><hr size="4" width="90%">
_______________________________________________
tor-dev mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:tor-dev@lists.torproject.org">tor-dev@lists.torproject.org</a>
<a class="moz-txt-link-freetext"
href="https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev">https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev</a>
</pre>
</blockquote>
</body>
</html>