From 7ce42292b1ebe7764b7aae65a321489d6c258c07 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Fri, 23 Aug 2019 20:44:21 +0100 Subject: [PATCH 1/2] build: ease DragonFlyBSD build Implicitly pretending being FreeBSD and disable large pages for this platform. --- src/debug_utils.cc | 7 +++++-- src/large_pages/node_large_page.cc | 4 ++++ tools/gyp/pylib/gyp/common.py | 2 ++ tools/utils.py | 4 ++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/debug_utils.cc b/src/debug_utils.cc index a55936f4e79c28..1a4f2572d17531 100644 --- a/src/debug_utils.cc +++ b/src/debug_utils.cc @@ -27,10 +27,12 @@ #endif // __POSIX__ #if defined(__linux__) || defined(__sun) || \ - defined(__FreeBSD__) || defined(__OpenBSD__) + defined(__FreeBSD__) || defined(__OpenBSD__) || \ + defined(__DragonFly__) #include #endif // (__linux__) || defined(__sun) || // (__FreeBSD__) || defined(__OpenBSD__) + // (__DragonFly__) #ifdef __APPLE__ #include // _dyld_get_image_name() @@ -333,7 +335,8 @@ void PrintLibuvHandleInformation(uv_loop_t* loop, FILE* stream) { std::vector NativeSymbolDebuggingContext::GetLoadedLibraries() { std::vector list; -#if defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) +#if defined(__linux__) || defined(__FreeBSD__) || \ + defined(__OpenBSD__) || defined(__DragonFly__) dl_iterate_phdr( [](struct dl_phdr_info* info, size_t size, void* data) { auto list = static_cast*>(data); diff --git a/src/large_pages/node_large_page.cc b/src/large_pages/node_large_page.cc index f6f5e72c283632..1604e487f3ca97 100644 --- a/src/large_pages/node_large_page.cc +++ b/src/large_pages/node_large_page.cc @@ -24,6 +24,10 @@ #include "util.h" #include "uv.h" +#if defined(__DragonFly__) +#error "Large pages is not supported by this platform" +#endif + #include // _O_RDWR #include #include diff --git a/tools/gyp/pylib/gyp/common.py b/tools/gyp/pylib/gyp/common.py index cfee9d45923b65..e6280d2476cf67 100644 --- a/tools/gyp/pylib/gyp/common.py +++ b/tools/gyp/pylib/gyp/common.py @@ -421,6 +421,8 @@ def GetFlavor(params): return 'solaris' if sys.platform.startswith('freebsd'): return 'freebsd' + if sys.platform.startswith('dragonfly'): + return 'freebsd' if sys.platform.startswith('openbsd'): return 'openbsd' if sys.platform.startswith('netbsd'): diff --git a/tools/utils.py b/tools/utils.py index dd5ce3fcb629a4..014f3ac8667d02 100644 --- a/tools/utils.py +++ b/tools/utils.py @@ -63,6 +63,10 @@ def GuessOS(): return 'solaris' elif id == 'NetBSD': return 'netbsd' + elif id == 'DragonFly': + # Doing so on purpose as they are pretty close + # minus few features + return 'freebsd' elif id == 'AIX': return 'aix' else: From 27f186a79e245493374760262365eb7c46b9fcdb Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sun, 25 Aug 2019 12:53:41 +0100 Subject: [PATCH 2/2] Rolling back few changes --- src/large_pages/node_large_page.cc | 4 ---- tools/gyp/pylib/gyp/common.py | 2 -- 2 files changed, 6 deletions(-) diff --git a/src/large_pages/node_large_page.cc b/src/large_pages/node_large_page.cc index 1604e487f3ca97..f6f5e72c283632 100644 --- a/src/large_pages/node_large_page.cc +++ b/src/large_pages/node_large_page.cc @@ -24,10 +24,6 @@ #include "util.h" #include "uv.h" -#if defined(__DragonFly__) -#error "Large pages is not supported by this platform" -#endif - #include // _O_RDWR #include #include diff --git a/tools/gyp/pylib/gyp/common.py b/tools/gyp/pylib/gyp/common.py index e6280d2476cf67..cfee9d45923b65 100644 --- a/tools/gyp/pylib/gyp/common.py +++ b/tools/gyp/pylib/gyp/common.py @@ -421,8 +421,6 @@ def GetFlavor(params): return 'solaris' if sys.platform.startswith('freebsd'): return 'freebsd' - if sys.platform.startswith('dragonfly'): - return 'freebsd' if sys.platform.startswith('openbsd'): return 'openbsd' if sys.platform.startswith('netbsd'):