diff --git a/lib/modules/Process.pmod b/lib/modules/Process.pmod
index e007edc374f660253784e23212c5636fdd8bf460..3aadd377b2564ee0d6d4c85d749b3b3f87fcdd99 100644
--- a/lib/modules/Process.pmod
+++ b/lib/modules/Process.pmod
@@ -84,11 +84,11 @@ object spawn(string s,object|void stdin,object|void stdout,object|void stderr,
   if(stdin) data->stdin=stdin;
   if(stdout) data->stdout=stdout;
   if(stderr) data->stderr=stderr;
-#ifdef __NT__
+#if defined(__NT__) || defined(__amigaos__)
   return create_process(split_quoted_string(s),data);
-#else /* !__NT__ */
+#else /* !__NT__||__amigaos__ */
   return create_process(({ "/bin/sh", "-c", s }),data);
-#endif /* __NT__ */
+#endif /* __NT__||__amigaos__ */
 #else
 
   object pid;
diff --git a/src/cpp.c b/src/cpp.c
index 50b2aa33d8d4697683d1d5c2335a5268f42e87b6..f19012a5c194e935bcc45296f87e05b33a9af373 100644
--- a/src/cpp.c
+++ b/src/cpp.c
@@ -5,7 +5,7 @@
 \*/
 
 /*
- * $Id: cpp.c,v 1.30 1998/11/22 11:02:39 hubbe Exp $
+ * $Id: cpp.c,v 1.31 1998/11/23 00:50:29 marcus Exp $
  */
 #include "global.h"
 #include "dynamic_buffer.h"
@@ -2122,6 +2122,9 @@ void f_cpp(INT32 args)
 #ifdef __NT__
   simple_add_define(&this,"__NT__"," 1 ");
 #endif
+#ifdef __amigaos__
+  simple_add_define(&this,"__amigaos__"," 1 ");
+#endif
 
   for (tmpf=pike_predefs; tmpf; tmpf=tmpf->next)
     simple_add_define(&this, tmpf->name, tmpf->value);