[tor-commits] [tor/master] Several mingw/msvc/cross-compilation fixes

nickm at torproject.org nickm at torproject.org
Thu Apr 26 22:45:29 UTC 2012


commit 9dddfe83f3041e1504d2def5622633eb59a9756f
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Apr 26 18:34:47 2012 -0400

    Several mingw/msvc/cross-compilation fixes
    
    They boil down to:
     - MS_WINDOWS is dead and replaced with _WIN32, but we let a few
       instances creep in when we merged Esteban's tests.
     - Capitalizing windows header names confuses mingw.
     - #ifdef 0 ain't C.
     - One unit test wasn't compiled on windows, but was being listed
       anyway.
     - One unit test was checking for the wrong value.
    
    Gisle Vanem found and fixed the latter 3 issues.
---
 changes/mingw-fixes  |    5 +++++
 src/common/util.c    |    2 +-
 src/test/test_util.c |   12 ++++++------
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/changes/mingw-fixes b/changes/mingw-fixes
new file mode 100644
index 0000000..f8cac18
--- /dev/null
+++ b/changes/mingw-fixes
@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Fix cross-compilation isssues with mingw. Bugfixes on
+      0.2.3.6-alpha and 0.2.3.12-alpha.
+    - Fix compilation with MSVC, which had defined MS_WINDOWS.  Bugfix
+      on 0.2.3.13-alpha; found and fixed by Gisle Vanem.
\ No newline at end of file
diff --git a/src/common/util.c b/src/common/util.c
index 551ee17..276c6dd 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -31,7 +31,7 @@
 #include <direct.h>
 #include <process.h>
 #include <tchar.h>
-#include <Winbase.h>
+#include <winbase.h>
 #else
 #include <dirent.h>
 #include <pwd.h>
diff --git a/src/test/test_util.c b/src/test/test_util.c
index f2123c5..7a455e0 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -540,7 +540,7 @@ test_util_config_line_escaped_content(void)
   tor_free(v);
 }
 
-#ifndef MS_WINDOWS
+#ifndef _WIN32
 static void
 test_util_expand_filename(void)
 {
@@ -1525,21 +1525,19 @@ test_util_path_is_relative(void)
   test_eq(0, path_is_relative("/dir/"));
 
   /* Windows */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
   /* I don't have Windows so I can't test this, hence the "#ifdef
      0". These are tests that look useful, so please try to get them
      running and uncomment if it all works as it should */
-#ifdef 0
   test_eq(1, path_is_relative("dir"));
   test_eq(1, path_is_relative("dir\\"));
   test_eq(1, path_is_relative("dir\\a:"));
   test_eq(1, path_is_relative("dir\\a:\\"));
+  test_eq(1, path_is_relative("http:\\dir"));
 
   test_eq(0, path_is_relative("\\dir"));
   test_eq(0, path_is_relative("a:\\dir"));
   test_eq(0, path_is_relative("z:\\dir"));
-  test_eq(0, path_is_relative("http:\\dir"));
-#endif
 #endif
 
  done:
@@ -1926,7 +1924,7 @@ test_util_listdir(void *ptr)
   test_eq(0, write_str_to_file(fname1, "X\n", 0));
   test_eq(0, write_str_to_file(fname2, "Y\n", 0));
   test_eq(0, write_str_to_file(fname3, "Z\n", 0));
-#ifdef MS_WINDOWS
+#ifdef _WIN32
   r = mkdir(dir1);
 #else
   r = mkdir(dir1, 0700);
@@ -2887,7 +2885,9 @@ struct testcase_t util_tests[] = {
   UTIL_LEGACY(config_line_quotes),
   UTIL_LEGACY(config_line_comment_character),
   UTIL_LEGACY(config_line_escaped_content),
+#ifndef _WIN32
   UTIL_LEGACY(expand_filename),
+#endif
   UTIL_LEGACY(strmisc),
   UTIL_LEGACY(pow2),
   UTIL_LEGACY(gzip),



More information about the tor-commits mailing list