<!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">&lt;nickm@freehaven.net&gt;</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 &lt;arpa/inet.h&gt; header file. */ <br>
#undef HAVE_ARPA_INET_H <br>
  <br>
/* Define to 1 if you have the &lt;assert.h&gt; header file. */ <br>
#define HAVE_ASSERT_H <br>
  <br>
/* Define to 1 if you have the &lt;ctype.h&gt; header file. */ <br>
#define HAVE_CTYPE_H <br>
  <br>
#define ENABLE_THREADS <br>
  <br>
/* Define to 1 if you have the &lt;errno.h&gt; 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 &lt;fcntl.h&gt; 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 &lt;grp.h&gt; 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 &lt;inttypes.h&gt; header file. */ <br>
/* #define HAVE_INTTYPES_H */ <br>
  <br>
/* Define to 1 if you have the &lt;limits.h&gt; header file. */ <br>
#define HAVE_LIMITS_H <br>
  <br>
/* Define to 1 if you have the &lt;machine/limits.h&gt; header file. */
  <br>
#undef HAVE_MACHINE_LIMITS_H <br>
  <br>
/* Define to 1 if you have the &lt;memory.h&gt; header file. */ <br>
#define HAVE_MEMORY_H <br>
  <br>
/* Define to 1 if you have the &lt;netdb.h&gt; header file. */ <br>
#undef HAVE_NETDB_H <br>
  <br>
/* Define to 1 if you have the &lt;netinet/in.h&gt; header file. */ <br>
#undef HAVE_NETINET_IN_H <br>
  <br>
/* Define to 1 if you have the &lt;poll.h&gt; header file. */ <br>
#undef HAVE_POLL_H <br>
  <br>
/* Define to 1 if you have the &lt;pwd.h&gt; header file. */ <br>
#undef HAVE_PWD_H <br>
  <br>
/* Define to 1 if you have the &lt;signal.h&gt; 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 &lt;stdint.h&gt; header file. */ <br>
#undef HAVE_STDINT_H <br>
  <br>
/* Define to 1 if you have the &lt;stdlib.h&gt; header file. */ <br>
#define HAVE_STDLIB_H <br>
  <br>
/* Define to 1 if you have the &lt;strings.h&gt; header file. */ <br>
#undef HAVE_STRINGS_H <br>
  <br>
/* Define to 1 if you have the &lt;string.h&gt; 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 &lt;sys/fcntl.h&gt; header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_SYS_FCNTL_H <br>
#endif <br>
  <br>
/* Define to 1 if you have the &lt;sys/ioctl.h&gt; header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_SYS_IOCTL_H <br>
#endif <br>
  <br>
/* Define to 1 if you have the &lt;sys/limits.h&gt; header file. */ <br>
#undef HAVE_SYS_LIMITS_H <br>
  <br>
/* Define to 1 if you have the &lt;sys/poll.h&gt; header file. */ <br>
#undef HAVE_SYS_POLL_H <br>
  <br>
/* Define to 1 if you have the &lt;sys/socket.h&gt; header file. */ <br>
#undef HAVE_SYS_SOCKET_H <br>
  <br>
/* Define to 1 if you have the &lt;sys/stat.h&gt; header file. */ <br>
#define HAVE_SYS_STAT_H <br>
  <br>
/* Define to 1 if you have the &lt;sys/time.h&gt; header file. */ <br>
#ifndef __MINGW32__ <br>
#undef HAVE_SYS_TIME_H <br>
#endif <br>
  <br>
/* Define to 1 if you have the &lt;sys/types.h&gt; header file. */ <br>
#define HAVE_SYS_TYPES_H <br>
  <br>
/* Define to 1 if you have the &lt;sys/utime.h&gt; header file. */ <br>
#define HAVE_SYS_UTIME_H <br>
  <br>
/* Define to 1 if you have the &lt;sys/wait.h&gt; header file. */ <br>
#undef HAVE_SYS_WAIT_H <br>
  <br>
/* Define to 1 if you have the &lt;time.h&gt; 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 &lt;unistd.h&gt; 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>