diff --git a/build/gen.py b/build/gen.py
index dbf6035..adb622a 100755
--- a/build/gen.py
+++ b/build/gen.py
@@ -57,10 +57,12 @@
       self._platform = 'solaris'
     elif self._platform.startswith('zos'):
       self._platform = 'zos'
+    elif self._platform.startswith('serenity'):
+      self._platform = 'serenity'
 
   @staticmethod
   def known_platforms():
-    return ['linux', 'darwin', 'mingw', 'msys', 'msvc', 'aix', 'fuchsia', 'freebsd', 'netbsd', 'openbsd', 'haiku', 'solaris', 'zos']
+    return ['linux', 'darwin', 'mingw', 'msys', 'msvc', 'aix', 'fuchsia', 'freebsd', 'netbsd', 'openbsd', 'haiku', 'solaris', 'zos', 'serenity']
 
   def platform(self):
     return self._platform
@@ -93,11 +95,14 @@
     return self._platform == 'solaris'
 
   def is_posix(self):
-    return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd']
+    return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd', 'serenity']
 
   def is_zos(self):
     return self._platform == 'zos'
 
+  def is_serenity(self):
+    return self_.platform == 'serenity'
+
 class ArgumentsList:
   """Helper class to accumulate ArgumentParser argument definitions
   and be able to regenerate a corresponding command-line to be
@@ -288,6 +293,7 @@
       'solaris': 'build_linux.ninja.template',
       'netbsd': 'build_linux.ninja.template',
       'zos': 'build_zos.ninja.template',
+      'serenity': 'build_linux.ninja.template',
   }[platform.platform()])
 
   with open(template_filename) as f:
diff --git a/src/base/files/file.h b/src/base/files/file.h
index 419ba87..82c4f9e 100644
--- a/src/base/files/file.h
+++ b/src/base/files/file.h
@@ -23,7 +23,7 @@
 
 #if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
     defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_ZOS) ||  \
-    defined(OS_ANDROID) && __ANDROID_API__ < 21
+    defined(OS_ANDROID) && __ANDROID_API__ < 21 || defined(OS_SERENITY)
 typedef struct stat stat_wrapper_t;
 #elif defined(OS_POSIX) || defined(OS_FUCHSIA)
 typedef struct stat64 stat_wrapper_t;
diff --git a/src/base/files/file_posix.cc b/src/base/files/file_posix.cc
index a1d256c..e837b69 100644
--- a/src/base/files/file_posix.cc
+++ b/src/base/files/file_posix.cc
@@ -26,7 +26,7 @@
 
 #if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
     defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_ZOS) || \
-    defined(OS_ANDROID) && __ANDROID_API__ < 21
+    defined(OS_ANDROID) && __ANDROID_API__ < 21 || defined(OS_SERENITY)
 int CallFstat(int fd, stat_wrapper_t* sb) {
   return fstat(fd, sb);
 }
diff --git a/src/base/files/file_util_posix.cc b/src/base/files/file_util_posix.cc
index b618151..08de845 100644
--- a/src/base/files/file_util_posix.cc
+++ b/src/base/files/file_util_posix.cc
@@ -61,7 +61,7 @@
 
 #if defined(OS_BSD) || defined(OS_MACOSX) || defined(OS_NACL) || \
     defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_ZOS) ||  \
-    defined(OS_ANDROID) && __ANDROID_API__ < 21
+    defined(OS_ANDROID) && __ANDROID_API__ < 21 || defined(OS_SERENITY)
 int CallStat(const char* path, stat_wrapper_t* sb) {
   return stat(path, sb);
 }
diff --git a/src/gn/args.cc b/src/gn/args.cc
index 5592d4a..6b5d25f 100644
--- a/src/gn/args.cc
+++ b/src/gn/args.cc
@@ -330,6 +330,8 @@
   os = "netbsd";
 #elif defined(OS_ZOS)
   os = "zos";
+#elif defined(OS_SERENITY)
+  os = "serenity";
 #else
 #error Unknown OS type.
 #endif
diff --git a/src/gn/exec_process.cc b/src/gn/exec_process.cc
index e1e123f..26c24e9 100644
--- a/src/gn/exec_process.cc
+++ b/src/gn/exec_process.cc
@@ -23,6 +23,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <signal.h>
+#include <sys/select.h>
 #include <sys/time.h>
 #include <sys/wait.h>
 #include <unistd.h>
diff --git a/src/gn/function_write_file_unittest.cc b/src/gn/function_write_file_unittest.cc
index 8a8ef9a..ac83b19 100644
--- a/src/gn/function_write_file_unittest.cc
+++ b/src/gn/function_write_file_unittest.cc
@@ -13,7 +13,7 @@
 #include "gn/test_with_scope.h"
 #include "util/test/test.h"
 
-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_HAIKU) || defined(OS_MSYS)
+#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_HAIKU) || defined(OS_MSYS) || defined(OS_SERENITY)
 #include <sys/time.h>
 #elif defined(OS_ZOS)
 #include <utime.h>
diff --git a/src/util/build_config.h b/src/util/build_config.h
index 63ca16e..668518b 100644
--- a/src/util/build_config.h
+++ b/src/util/build_config.h
@@ -59,6 +59,8 @@
 #elif defined(__MVS__)
 #include "zos-base.h"
 #define OS_ZOS 1
+#elif defined(__serenity__)
+#define OS_SERENITY 1
 #else
 #error Please add support for your platform in build_config.h
 #endif
@@ -75,7 +77,7 @@
     defined(OS_FREEBSD) || defined(OS_LINUX) || defined(OS_MACOSX) || \
     defined(OS_NACL) || defined(OS_NETBSD) || defined(OS_OPENBSD) ||  \
     defined(OS_QNX) || defined(OS_SOLARIS) || defined(OS_HAIKU) || \
-    defined(OS_MSYS) || defined(OS_ZOS)
+    defined(OS_MSYS) || defined(OS_ZOS) || defined(OS_SERENITY)
 #define OS_POSIX 1
 #endif
 
