1--- src/3rdparty/gn/build/gen.py.orig 2020-11-06 20:22:36.000000000 -0500 2+++ src/3rdparty/gn/build/gen.py 2023-03-23 14:41:20.035037000 -0400 3@@ -41,12 +41,14 @@ 4 self._platform = 'fuchsia' 5 elif self._platform.startswith('freebsd'): 6 self._platform = 'freebsd' 7+ elif self._platform.startswith('midnightbsd'): 8+ self._platform = 'freebsd' 9 elif self._platform.startswith('openbsd'): 10 self._platform = 'openbsd' 11 12 @staticmethod 13 def known_platforms(): 14- return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'freebsd', 'openbsd'] 15+ return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'freebsd', 'openbsd', 'midnightbsd'] 16 17 def platform(self): 18 return self._platform 19@@ -69,8 +71,14 @@ 20 def is_aix(self): 21 return self._platform == 'aix' 22 23+ def is_freebsd(self): 24+ return self._platform == 'freebsd' 25+ 26+ def is_midnightbsd(self): 27+ return self._platform == 'midnightbsd' 28+ 29 def is_posix(self): 30- return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd'] 31+ return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'midnightbsd'] 32 33 34 def main(argv): 35@@ -187,6 +195,7 @@ 36 'darwin': 'build_mac.ninja.template', 37 'linux': 'build_linux.ninja.template', 38 'freebsd': 'build_linux.ninja.template', 39+ 'midnightbsd': 'build_linux.ninja.template', 40 'aix': 'build_aix.ninja.template', 41 'openbsd': 'build_openbsd.ninja.template', 42 }[platform.platform()]) 43@@ -373,6 +382,11 @@ 44 elif platform.is_aix(): 45 cflags_cc.append('-maix64') 46 ldflags.append('-maix64') 47+ elif platform.is_freebsd() or platform.is_midnightbsd(): 48+ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality']) 49+ ldflags.extend(['-pthread']) 50+ libs.extend(['-lexecinfo', '-lkvm', '-lutil']) 51+ include_dirs += ['/usr/local/include'] 52 53 if platform.is_posix(): 54 ldflags.append('-pthread') 55