Based on https://lists.alioth.debian.org/pipermail/pkg-mozilla-maintainers/2016-April/027634.html
Gbp-Pq: Topic porting-kfreebsd-hurd
Gbp-Pq: Name adding-missed-HURD-adoptions.patch
}
bool GetShmemTempDir(FilePath* path) {
-#if defined(OS_LINUX) && !defined(ANDROID)
+#if (defined(OS_LINUX) && !defined(ANDROID)) || defined(OS_HURD)
*path = FilePath("/dev/shm");
return true;
#else
#include <pthread.h>
typedef pthread_t PlatformThreadHandle;
#if defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_SOLARIS) || \
- defined(__GLIBC__)
+ defined(__GLIBC__) || defined(OS_HURD)
#include <unistd.h>
typedef pid_t PlatformThreadId;
#elif defined(OS_BSD)
#else
return getpid();
#endif
-#elif defined(OS_OPENBSD) || defined(OS_SOLARIS) || defined(__GLIBC__)
+#elif defined(OS_OPENBSD) || defined(OS_SOLARIS) || defined(__GLIBC__) || defined(OS_HURD)
return (intptr_t)(pthread_self());
#elif defined(OS_NETBSD)
return _lwp_self();
// Define an OS-neutral wrapper for shared library entry points
#if defined(OS_WIN)
#define API_CALL __stdcall
-#elif defined(OS_LINUX) || defined(OS_MACOSX)
+#elif defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_HURD)
#define API_CALL
#endif
#ifndef STDOUT_FILENO
#define STDOUT_FILENO 1
#endif
-#elif defined(OS_LINUX) || defined(__GLIBC__)
+#elif defined(OS_LINUX) || defined(__GLIBC__) || defined(OS_HURD)
#include <dirent.h>
#include <limits.h>
#include <sys/types.h>
static const rlim_t kSystemDefaultMaxFds = 1024;
// at least /dev/fd will exist
static const char kFDDir[] = "/dev/fd";
+#elif defined(OS_HURD)
+ static const rlim_t kSystemDefaultMaxFds = 1024;
+ // Currently always empty, but it exists
+ static const char kFDDir[] = "/dev/fd";
#endif
// Get the maximum number of FDs possible.
void SetAllFDsToCloseOnExec() {
#if defined(OS_LINUX) || defined(OS_SOLARIS)
const char fd_dir[] = "/proc/self/fd";
-#elif defined(OS_MACOSX) || defined(OS_BSD)
+#elif defined(OS_MACOSX) || defined(OS_BSD) || defined(OS_HURD)
const char fd_dir[] = "/dev/fd";
#endif
ScopedDIR dir_closer(opendir(fd_dir));
#include <inttypes.h>
-#if defined SIP_OS_LINUX
+#if defined SIP_OS_LINUX || defined(SIP_OS_HURD)
#include "cpr_linux_types.h"
#elif defined SIP_OS_WINDOWS
#include "cpr_win_types.h"
#elif defined(_WIN32)
#define OS_WIN 1
#define TOOLKIT_VIEWS 1
+#elif defined(__GNU__)
+#define OS_HURD 1
+#define TOOLKIT_GTK
#elif defined(__DragonFly__)
#define OS_DRAGONFLY 1
#define TOOLKIT_GTK
// For access to standard POSIXish features, use OS_POSIX instead of a
// more specific macro.
#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \
- defined(OS_SOLARIS) || defined(OS_ANDROID) || defined(OS_NACL)
+ defined(OS_SOLARIS) || defined(OS_ANDROID) || defined(OS_NACL) || \
+ defined(OS_HURD)
#define OS_POSIX 1
#endif
# define GTEST_OS_OPENBSD 1
#elif defined __QNX__
# define GTEST_OS_QNX 1
+#elif defined(__GNU__)
+# define GTEST_OS_HURD 1
#endif // __CYGWIN__
// Macros for disabling Microsoft Visual C++ warnings.
// To disable threading support in Google Test, add -DGTEST_HAS_PTHREAD=0
// to your compiler flags.
# define GTEST_HAS_PTHREAD (GTEST_OS_LINUX || GTEST_OS_MAC || GTEST_OS_HPUX \
- || GTEST_OS_QNX)
+ || GTEST_OS_QNX || GTEST_OS_HURD)
#endif // GTEST_HAS_PTHREAD
#if GTEST_HAS_PTHREAD
(GTEST_OS_MAC && !GTEST_OS_IOS) || GTEST_OS_IOS_SIMULATOR || \
(GTEST_OS_WINDOWS_DESKTOP && _MSC_VER >= 1400) || \
GTEST_OS_WINDOWS_MINGW || GTEST_OS_AIX || GTEST_OS_HPUX || \
- GTEST_OS_OPENBSD || GTEST_OS_QNX)
+ GTEST_OS_OPENBSD || GTEST_OS_QNX || GTEST_OS_HURD)
# define GTEST_HAS_DEATH_TEST 1
# include <vector> // NOLINT
#endif
// we really are using glibc, not uClibc pretending to be glibc
#define LIBC_GLIBC 1
#endif
+#elif defined(__GNU__)
+#define OS_HURD 1
#elif defined(_WIN32)
#define OS_WIN 1
#elif defined(__Fuchsia__)
#if defined(OS_AIX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_MACOSX) || \
defined(OS_NACL) || defined(OS_NETBSD) || defined(OS_OPENBSD) || \
- defined(OS_QNX) || defined(OS_SOLARIS)
+ defined(OS_QNX) || defined(OS_SOLARIS) || defined(OS_HURD)
#define OS_POSIX 1
#endif