diff --git a/configure.in b/configure.in
index 1c28867526f4679e6efc13b19dcbca708887b8bf..2a19f069829eda38b3ea5db37d8204a8574b1f26 100644
--- a/configure.in
+++ b/configure.in
@@ -133,12 +133,14 @@ LIBS="$saved_LIBS -lcrypto"
 
 dnl The warning message here is no longer strictly accurate.
 
-AC_CHECK_HEADERS(unistd.h string.h signal.h netdb.h ctype.h poll.h sys/poll.h sys/types.h sys/fcntl.h sys/ioctl.h sys/socket.h sys/time.h netinet/in.h arpa/inet.h errno.h assert.h , , AC_MSG_WARN(some headers were not found, compilation may fail))
+AC_CHECK_HEADERS(unistd.h string.h signal.h netdb.h ctype.h poll.h sys/poll.h sys/types.h sys/fcntl.h sys/ioctl.h sys/socket.h sys/time.h netinet/in.h arpa/inet.h errno.h assert.h time.h, , AC_MSG_WARN(some headers were not found, compilation may fail))
 
 dnl These headers are not essential
 
 AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h)
 
+AC_CHECK_FUNCS(gettimeofday ftime)
+
 dnl In case we aren't given a working stdint.h, we'll need to grow our own.
 dnl Watch out.
 
diff --git a/src/common/crypto.c b/src/common/crypto.c
index 130ecac8529bd70e1cf17d7431e937bd8218fa5a..4e9a98189010b2c10f1b0179168dc95d07251bce 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -40,11 +40,11 @@
 #define RETURN_SSL_OUTCOME(exp) return !(exp)
 #endif
 
-static inline const EVP_CIPHER *
-crypto_cipher_evp_cipher(int type, int enc);
+/* static INLINE const EVP_CIPHER *
+   crypto_cipher_evp_cipher(int type, int enc);
+*/
 
-
-static inline int 
+static INLINE int 
 crypto_cipher_iv_length(int type) {
   /*
   printf("%d -> %d IV\n",type, EVP_CIPHER_iv_length(
@@ -61,7 +61,7 @@ crypto_cipher_iv_length(int type) {
     }
 }
 
-static inline int
+static INLINE int
 crypto_cipher_key_length(int type) {
   /*
   printf("%d -> %d\n",type, EVP_CIPHER_key_length(
@@ -78,7 +78,7 @@ crypto_cipher_key_length(int type) {
     }
 }
 
-static inline const EVP_CIPHER *
+static INLINE const EVP_CIPHER *
 crypto_cipher_evp_cipher(int type, int enc) {
   switch(type) 
     {
diff --git a/src/common/fakepoll.c b/src/common/fakepoll.c
index 9b2493e62b7b426bd9d82c8828bc3d3f735d83d7..b059da57160cc6ea6e72a85372e8dbcd9bbe5e27 100644
--- a/src/common/fakepoll.c
+++ b/src/common/fakepoll.c
@@ -6,13 +6,24 @@
  * Nick Mathewson <nickm@freehaven.net>
  */
 
-#include "fakepoll.h"
-
+#include "orconfig.h"
 #ifdef USE_FAKE_POLL
-#include <sys/time.h>
 #include <sys/types.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#endif
+#ifdef HAVE_STRING_H
 #include <string.h>
+#endif
+#if _MSC_VER > 1300
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#elif defined(_MSC_VER)
+#include <winsock.h>
+#endif
+
+#include "fakepoll.h"
+#include "util.h"
 
 int
 poll(struct pollfd *ufds, unsigned int nfds, int timeout)
diff --git a/src/common/log.c b/src/common/log.c
index 75a0643997312b53c0caa9b7bf10aa1d68ad0d2e..8245bd4f5bbd90988ad2286aae0ebaab805b1071 100644
--- a/src/common/log.c
+++ b/src/common/log.c
@@ -3,6 +3,7 @@
 /* $Id$ */
 
 #include "../or/or.h"
+#include "util.h"
 
 static const char *sev_to_string(int severity) {
   switch(severity) {
@@ -30,8 +31,7 @@ logv(int severity, const char *funcname, const char *format, va_list ap)
   assert(format);
   if (severity > loglevel)
     return;
-  if (gettimeofday(&now,NULL) < 0)
-    return;
+  my_gettimeofday(&now);
 
   t = time(NULL);
   strftime(buf, 200, "%b %d %H:%M:%S", localtime(&t));
diff --git a/src/common/log.h b/src/common/log.h
index 0b3d57d6e7412331d63ff4302bebb3a54bae5fce..38f330c08124d3573d71c17ea2fd134e2ed77ede 100644
--- a/src/common/log.h
+++ b/src/common/log.h
@@ -7,7 +7,18 @@
 
 #ifndef __LOG_H
 
+#ifdef HAVE_SYSLOG_H
 #include <syslog.h>
+#else
+#define LOG_DEBUG   0
+#define LOG_INFO    1
+#define LOG_NOTICE  2
+#define LOG_WARNING 3
+#define LOG_ERR     4
+#define LOG_CRIT    5
+#define LOG_ALERT   6
+#define LOG_EMERG   7
+#endif
 
 /* magic to make GCC check for proper format strings. */ 
 #ifdef __GNUC__
diff --git a/src/common/test.h b/src/common/test.h
index e80a964fcaab7ab88648f50602ceb3bed1368967..a22b8dd93e298953b7a4228228d045f63b7d7209 100644
--- a/src/common/test.h
+++ b/src/common/test.h
@@ -10,12 +10,18 @@
 #define STMT_BEGIN  do {
 #define STMT_END    } while (0)
 
+#ifdef __GNUC__
+#define PRETTY_FUNCTION __PRETTY_FUNCTION__
+#else
+#define PRETTY_FUNCTION ""
+#endif
+
 #define test_fail()                                             \
   STMT_BEGIN                                                    \
     printf("\nFile %s: line %d (%s): assertion failed.",        \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__);                                     \
+      PRETTY_FUNCTION);                                     \
     return;                                                     \
   STMT_END
 
@@ -25,7 +31,7 @@
     printf("\nFile %s: line %d (%s): assertion failed: (%s)\n", \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr);                                                   \
     return;                                                     \
   } STMT_END
@@ -38,7 +44,7 @@
            "      (%ld != %ld)\n",                              \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr1, #expr2,                                           \
       v1, v2);                                                  \
     return;                                                     \
@@ -52,7 +58,7 @@
            "      (%ld == %ld)\n",                              \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr1, #expr2,                                           \
       v1, v2);                                                  \
     return;                                                     \
@@ -66,7 +72,7 @@
            "      (\"%s\" != \"%s\")\n",                        \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr1, #expr2,                                           \
       v1, v2);                                                  \
     return;                                                     \
@@ -80,7 +86,7 @@
            "      (\"%s\" == \"%s\")\n",                        \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr1, #expr2,                                           \
       v1, v2);                                                  \
     return;                                                     \
@@ -93,7 +99,7 @@
     printf("\nFile %s: line %d (%s): Assertion failed: (%s==%s)\n", \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr1, #expr2);                                          \
     return;                                                     \
   } STMT_END
@@ -105,7 +111,7 @@
     printf("\nFile %s: line %d (%s): Assertion failed: (%s!=%s)\n", \
       __FILE__,                                                 \
       __LINE__,                                                 \
-      __PRETTY_FUNCTION__,                                      \
+      PRETTY_FUNCTION,                                      \
       #expr1, #expr2);                                          \
     return;                                                     \
   } STMT_END
diff --git a/src/common/util.c b/src/common/util.c
index 5eaa88f4f14b427aba4025ac1bb72ff90e55ab4f..cde1cb33bd0696d25380820788bedfa62dd5eccf 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -2,8 +2,23 @@
 /* See LICENSE for licensing information */
 /* $Id$ */
 
+#include "orconfig.h"
+
 #include <stdlib.h>
 #include <limits.h>
+#if _MSC_VER > 1300
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#elif defined(_MSC_VER)
+#include <winsock.h>
+#endif
+#ifdef HAVE_SYS_FCNTL_H
+#include <sys/fcntl.h>
+#endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+
 #include "util.h"
 #include "log.h"
 
@@ -23,12 +38,18 @@ void *tor_malloc(size_t size) {
 void 
 my_gettimeofday(struct timeval *timeval) 
 {
+#ifdef HAVE_GETTIMEOFDAY
   if (gettimeofday(timeval, NULL)) {
     log_fn(LOG_ERR, "gettimeofday failed.");
     /* If gettimeofday dies, we have either given a bad timezone (we didn't),
        or segfaulted.*/
     exit(1);
   }
+#elif defined(HAVE_FTIME)
+  ftime(timeval);
+#else
+#error "No way to get time."
+#endif
   return;
 }
 
@@ -75,3 +96,14 @@ void tv_addms(struct timeval *a, long ms) {
   a->tv_sec += ((ms * 1000) / 1000000) + (a->tv_usec / 1000000);
   a->tv_usec %= 1000000;
 }
+
+void set_socket_nonblocking(int socket)
+{
+#ifdef _MSC_VER
+	/* Yes means no and no means yes.  Do you not want to be nonblocking? */
+	int nonblocking = 0;
+	ioctlsocket(socket, FIONBIO, (unsigned long*) &nonblocking);
+#else
+	fcntl(socket, F_SETFL, O_NONBLOCK);
+#endif
+}
diff --git a/src/common/util.h b/src/common/util.h
index 6b238bf8c7294b8de049d0d24aea36d63a9388e6..68d002372b344fc902d6fa3edca7c82542699345 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -5,7 +5,31 @@
 #ifndef __UTIL_H
 #define __UTIL_H
 
+#include "orconfig.h"
+
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
+#endif
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#ifndef HAVE_GETTIMEOFDAY
+#ifdef HAVE_FTIME 
+#include <sys/timeb.h>
+#define timeval timeb
+#define tv_sec time
+#define tv_usec millitm
+#endif
+#endif
+
+#ifdef _MSC_VER
+/* Windows names string functions funnily. */
+#define strncasecmp strnicmp
+#define strcasecmp stricmp
+#define INLINE __inline
+#else
+#define INLINE inline
+#endif
 
 void *tor_malloc(size_t size);
 
@@ -19,4 +43,6 @@ void tv_addms(struct timeval *a, long ms);
 void tv_add(struct timeval *a, struct timeval *b);
 int tv_cmp(struct timeval *a, struct timeval *b);
 
+void set_socket_nonblocking(int socket);
+
 #endif
diff --git a/src/or/config.c b/src/or/config.c
index 9a5c645d73840c5801cd4cdb61ad21169372827f..6d7a31190d545cf974a9804bc52851ee6908b763 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -83,7 +83,7 @@ struct config_line *config_get_lines(FILE *f) {
     }
 
     /* walk to the end, remove end whitespace */
-    s = index(line, 0); /* now we're at the null */
+    s = strchr(line, 0); /* now we're at the null */
     do {
       *s = 0;
       s--;
diff --git a/src/or/connection.c b/src/or/connection.c
index 0b88b4cd47ef8cc1f029b1a0ce609126c677439d..c75b4b37931d11bf971dc562685d7aceb8e71e27 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -25,7 +25,7 @@ char *conn_type_to_string[] = {
 };
 
 char *conn_state_to_string[][15] = {
-  { },         /* no type associated with 0 */
+	{ NULL },         /* no type associated with 0 */
   { "ready" }, /* op listener, 0 */
   { "awaiting keys", /* op, 0 */
     "open",              /* 1 */
@@ -146,7 +146,7 @@ int connection_create_listener(struct sockaddr_in *bindaddr, int type) {
     return -1;
   }
 
-  setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one));
+  setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (void*)&one, sizeof(one));
 
   if(bind(s,(struct sockaddr *)bindaddr,sizeof(*bindaddr)) < 0) {
     perror("bind ");
@@ -159,7 +159,7 @@ int connection_create_listener(struct sockaddr_in *bindaddr, int type) {
     return -1;
   }
 
-  fcntl(s, F_SETFL, O_NONBLOCK); /* set s to non-blocking */
+  set_socket_nonblocking(s);
 
   conn = connection_new(type);
   if(!conn) {
@@ -199,7 +199,7 @@ int connection_handle_listener_read(connection_t *conn, int new_type, int new_st
   }
   log(LOG_INFO,"Connection accepted on socket %d (child of fd %d).",news, conn->s);
 
-  fcntl(news, F_SETFL, O_NONBLOCK); /* set news to non-blocking */
+  set_socket_nonblocking(news);
 
   newconn = connection_new(new_type);
   newconn->s = news;
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 165db46e6d36cf1d7ddabe67bc5cf167ab2e8753..9ce0ab56ba84046c56d1cce2a0ba89f19e63816a 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -264,7 +264,7 @@ int connection_edge_finished_flushing(connection_t *conn) {
 
   switch(conn->state) {
     case EXIT_CONN_STATE_CONNECTING:
-      if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, &e, &len) < 0)  { /* not yet */
+      if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, (void*)&e, &len) < 0)  { /* not yet */
         if(errno != EINPROGRESS){
           /* yuck. kill it. */
           log_fn(LOG_DEBUG,"in-progress exit connect failed. Removing.");
diff --git a/src/or/connection_exit.c b/src/or/connection_exit.c
index 88f27d2cb9175430474206d86e76a0106a0ba033..f674404028dfe9be7f5b1891b4ab2aa912d31d15 100644
--- a/src/or/connection_exit.c
+++ b/src/or/connection_exit.c
@@ -76,7 +76,7 @@ int connection_exit_connect(connection_t *conn) {
     log_fn(LOG_ERR,"Error creating network socket.");
     return -1;
   }
-  fcntl(s, F_SETFL, O_NONBLOCK); /* set s to non-blocking */
+  set_socket_nonblocking(s);
 
   memset((void *)&dest_addr,0,sizeof(dest_addr));
   dest_addr.sin_family = AF_INET;
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 2408ebac4899b5ddb34ac6bc9ff23fbcbabd26e6..ccf3be06ad8768cb3bfa36a620dbf55fdd170ce1 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -61,7 +61,7 @@ int connection_or_finished_flushing(connection_t *conn) {
     case OR_CONN_STATE_OP_SENDING_KEYS:
       return or_handshake_op_finished_sending_keys(conn);
     case OR_CONN_STATE_CLIENT_CONNECTING:
-      if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, &e, &len) < 0)  { /* not yet */
+      if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, (void*)&e, &len) < 0)  { /* not yet */
         if(errno != EINPROGRESS){
           /* yuck. kill it. */
           log_fn(LOG_DEBUG,"in-progress connect failed. Removing.");
@@ -147,7 +147,7 @@ connection_t *connection_or_connect(routerinfo_t *router) {
     connection_free(conn);
     return NULL;
   }
-  fcntl(s, F_SETFL, O_NONBLOCK); /* set s to non-blocking */
+  set_socket_nonblocking(s);
 
   memset((void *)&router_addr,0,sizeof(router_addr));
   router_addr.sin_family = AF_INET;
diff --git a/src/or/directory.c b/src/or/directory.c
index 4ede81fd8a28d4be51c23160752fcb4ceb0e0621..98d207b268e3eae92bc45dd56d323d6d1d0b0baf 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -56,7 +56,7 @@ void directory_initiate_fetch(routerinfo_t *router) {
     connection_free(conn);
     return;
   }
-  fcntl(s, F_SETFL, O_NONBLOCK); /* set s to non-blocking */
+  set_socket_nonblocking(s);
 
   memset((void *)&router_addr,0,sizeof(router_addr));
   router_addr.sin_family = AF_INET;
@@ -254,7 +254,7 @@ int connection_dir_finished_flushing(connection_t *conn) {
 
   switch(conn->state) {
     case DIR_CONN_STATE_CONNECTING:
-      if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, &e, &len) < 0)  { /* not yet */
+      if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, (void*)&e, &len) < 0)  { /* not yet */
         if(errno != EINPROGRESS){
           /* yuck. kill it. */
           log_fn(LOG_DEBUG,"in-progress connect failed. Removing.");
diff --git a/src/or/dns.c b/src/or/dns.c
index 080f041eca3706d1a95f64732b1ee5a8f2b4ac47..64a6bfb8a42bbbcde16375097636eec4e5ce2662 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -382,7 +382,7 @@ static int dns_spawn_worker(void) {
     return -1;
   }
 
-  fcntl(fd[0], F_SETFL, O_NONBLOCK); /* set it to non-blocking */
+  set_socket_nonblocking(fd[0]);
 
   /* set up conn so it's got all the data we need to remember */
   conn->receiver_bucket = -1; /* non-cell connections don't do receiver buckets */
diff --git a/src/or/or.h b/src/or/or.h
index dba32795efde7f6064809c8a7a3145058e0c2503..821988b32752ea01612b0a4599aa438eb6fd506d 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -10,11 +10,21 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <limits.h>
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#endif
+#ifdef HAVE_STRING_H
 #include <string.h>
+#endif
+#ifdef HAVE_SIGNAL_H
 #include <signal.h>
+#endif
+#ifdef HAVE_NETDB_H
 #include <netdb.h>
+#endif
+#ifdef HAVE_CTYPE_H
 #include <ctype.h>
+#endif
 #include "../common/torint.h"
 #ifdef HAVE_SYS_POLL_H
 #include <sys/poll.h>
@@ -23,17 +33,59 @@
 #else
 #include "../common/fakepoll.h"
 #endif
+#ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_FCNTL_H
 #include <sys/fcntl.h>
+#endif
+#ifdef HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
 #include <sys/ioctl.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
 #include <sys/stat.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
 #include <arpa/inet.h>
+#endif
+#ifdef HAVE_ERRNO_H
 #include <errno.h>
+#endif
+#ifdef HAVE_ASSERT_H
 #include <assert.h>
+#endif
+#ifdef HAVE_TIME_H
 #include <time.h>
+#endif
+#ifdef HAVE_WINSOCK_H
+#include <winsock.h>
+#endif
+#if _MSC_VER > 1300
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#elif defined(_MSC_VER)
+#include <winsock.h>
+#endif
+
+#ifdef _MSC_VER
+#include <io.h>
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#define snprintf
+#endif
+
 
 #include "../common/crypto.h"
 #include "../common/log.h"
diff --git a/src/or/test.c b/src/or/test.c
index 881396c55f2997e1016366eb4acb7f10fbb46a13..acc3896afd867e6eb0fc894c6babc0b652e1bed1 100644
--- a/src/or/test.c
+++ b/src/or/test.c
@@ -3,7 +3,14 @@
 /* $Id$ */
 
 #include <stdio.h>
+#ifdef HAVE_FCNTL_H
 #include <fcntl.h>
+#endif
+
+#ifdef _MSC_VER
+/* For mkdir() */
+#include <direct.h>
+#endif
 
 #include "or.h"
 #include "../common/test.h"
@@ -26,8 +33,14 @@ dump_hex(char *s, int len)
 void
 setup_directory() {
   char buf[256];
+  int r;
   sprintf(buf, "/tmp/tor_test");
-  if (mkdir(buf, 0700) && errno != EEXIST)
+#ifdef _MSC_VER
+  r = mkdir(buf);
+#else
+  r = mkdir(buf, 0700);
+#endif
+  if (r && errno != EEXIST)
     fprintf(stderr, "Can't create directory %s", buf);
 }
 
diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..c599c3f445b5912068d3306b0e12bcc845fa5408
--- /dev/null
+++ b/src/win32/orconfig.h
@@ -0,0 +1,146 @@
+/* $Id$
+ * orconfig.h  -- This file is *not* generated by autoconf.  Instead,
+ * it has to be hand-edited to keep win32 happy.
+ */
+#define HAVE_OPENSSL
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define to 1 if you have the <assert.h> header file. */
+#define HAVE_ASSERT_H
+
+/* Define to 1 if you have the <ctype.h> header file. */
+#define HAVE_CTYPE_H
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H
+
+#define HAVE_FCNTL_H
+
+#define HAVE_FTIME
+
+#undef HAVE_GETTIMEOFDAY
+
+/* Define to 1 if the system has the type `int16_t'. */
+#undef HAVE_INT16_T
+
+/* Define to 1 if the system has the type `int32_t'. */
+#undef HAVE_INT32_T
+
+/* Define to 1 if the system has the type `int64_t'. */
+#undef HAVE_INT64_T
+
+/* Define to 1 if the system has the type `int8_t'. */
+#undef HAVE_INT8_T
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define to 1 if you have the <poll.h> header file. */
+#undef HAVE_POLL_H
+
+/* Define to 1 if you have the <signal.h> header file. */
+#define HAVE_SIGNAL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/fcntl.h> header file. */
+#undef HAVE_SYS_FCNTL_H
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define to 1 if you have the <sys/poll.h> header file. */
+#undef HAVE_SYS_POLL_H
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <time.h> header file */
+#define HAVE_TIME_H
+
+/* Define to 1 if the system has the type `uint16_t'. */
+#undef HAVE_UINT16_T
+
+/* Define to 1 if the system has the type `uint32_t'. */
+#undef HAVE_UINT32_T
+
+/* Define to 1 if the system has the type `uint64_t'. */
+#undef HAVE_UINT64_T
+
+/* Define to 1 if the system has the type `uint8_t'. */
+#undef HAVE_UINT8_T
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#define PACKAGE "tor"
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of a `char', as computed by sizeof. */
+#define SIZEOF_CHAR 1
+
+/* The size of a `int', as computed by sizeof. */
+#define SIZEOF_INT 4
+
+/* The size of a `long', as computed by sizeof. */
+#define SIZEOF_LONG 4
+
+/* The size of a `long long', as computed by sizeof. */
+#define SIZEOF_LONG_LONG 0
+
+/* The size of a `short', as computed by sizeof. */
+#define SIZEOF_SHORT 2
+
+/* The size of a `__int64', as computed by sizeof. */
+#define SIZEOF___INT64 8
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS
+
+/* Version number of package */
+#define VERSION "0.0.2pre6"