lots of mods getting windows to build under cygwin without visual studio.
[feisty_meow.git] / nucleus / library / processes / launch_process.cpp
index bb8d7ada002cb60c7028d862f37ae772f8388ac5..20e10fda18ef9c4b6e0bcd8f72c1d78cc965fde0 100644 (file)
 #include <timely/time_control.h>
 
 #include <stdlib.h>
-#ifdef __UNIX__
+#ifndef _MSC_VER
   #include <signal.h>
   #include <sys/types.h>
   #include <sys/wait.h>
   #include <unistd.h>
-#endif
-#ifdef __WIN32__
+#else
   #include <process.h>
   #include <shellapi.h>
   #include <shlobj.h>
@@ -60,7 +59,7 @@ int_set __our_kids() {
   return __hidden_kids;
 }
 
-#ifdef __WIN32__
+#ifdef _MSC_VER
 bool launch_process::event_poll(MSG &message)
 {
   message.hwnd = 0;
@@ -87,7 +86,7 @@ bool launch_process::event_poll(MSG &message)
 //const int MAXIMUM_COMMAND_LINE = 32 * KILOBYTE;
   // maximum command line that we'll deal with here.
 
-#ifdef __UNIX__
+#ifndef _MSC_VER
 void launch_process::exiting_child_signal_handler(int sig_num)
 {
   FUNCDEF("exiting_child_signal_handler");
@@ -172,7 +171,7 @@ basis::un_int launch_process::run(const astring &app_name_in, const astring &com
     app_name.insert(0, "\"");
   if (app_name[app_name.end()] != '"')
     app_name += "\"";
-#ifdef __UNIX__
+#if defined(__UNIX__) || defined(__GNU_WINDOWS__)
   // unix / linux implementation.
   if (flag & RETURN_IMMEDIATELY) {
     // they want to get back right away.
@@ -230,7 +229,7 @@ basis::un_int launch_process::run(const astring &app_name_in, const astring &com
     // assume they want to wait.
     return system((app_name + " " + command_line).s());
   }
-#elif defined(__WIN32__)
+#elif defined(_MSC_VER)
 
 //checking on whether we have admin rights for the launch.
 //if (IsUserAnAdmin()) {