xref: /third_party/node/deps/uv/uv.gyp (revision 1cb0ef41)
11cb0ef41Sopenharmony_ci{
21cb0ef41Sopenharmony_ci  'variables': {
31cb0ef41Sopenharmony_ci    'conditions': [
41cb0ef41Sopenharmony_ci      ['OS=="win"', {
51cb0ef41Sopenharmony_ci        'shared_unix_defines': [ ],
61cb0ef41Sopenharmony_ci      }, {
71cb0ef41Sopenharmony_ci        'shared_unix_defines': [
81cb0ef41Sopenharmony_ci          '_LARGEFILE_SOURCE',
91cb0ef41Sopenharmony_ci          '_FILE_OFFSET_BITS=64',
101cb0ef41Sopenharmony_ci        ],
111cb0ef41Sopenharmony_ci      }],
121cb0ef41Sopenharmony_ci      ['OS in "mac ios"', {
131cb0ef41Sopenharmony_ci        'shared_mac_defines': [ '_DARWIN_USE_64_BIT_INODE=1' ],
141cb0ef41Sopenharmony_ci      }, {
151cb0ef41Sopenharmony_ci        'shared_mac_defines': [ ],
161cb0ef41Sopenharmony_ci      }],
171cb0ef41Sopenharmony_ci      ['OS=="zos"', {
181cb0ef41Sopenharmony_ci        'shared_zos_defines': [
191cb0ef41Sopenharmony_ci          '_UNIX03_THREADS',
201cb0ef41Sopenharmony_ci          '_UNIX03_SOURCE',
211cb0ef41Sopenharmony_ci          '_UNIX03_WITHDRAWN',
221cb0ef41Sopenharmony_ci          '_OPEN_SYS_IF_EXT',
231cb0ef41Sopenharmony_ci          '_OPEN_SYS_SOCK_EXT3',
241cb0ef41Sopenharmony_ci          '_OPEN_SYS_SOCK_IPV6',
251cb0ef41Sopenharmony_ci          '_OPEN_MSGQ_EXT',
261cb0ef41Sopenharmony_ci          '_XOPEN_SOURCE_EXTENDED',
271cb0ef41Sopenharmony_ci          '_ALL_SOURCE',
281cb0ef41Sopenharmony_ci          '_LARGE_TIME_API',
291cb0ef41Sopenharmony_ci          '_OPEN_SYS_FILE_EXT',
301cb0ef41Sopenharmony_ci          '_AE_BIMODAL',
311cb0ef41Sopenharmony_ci          'PATH_MAX=255'
321cb0ef41Sopenharmony_ci        ],
331cb0ef41Sopenharmony_ci      }, {
341cb0ef41Sopenharmony_ci        'shared_zos_defines': [ ],
351cb0ef41Sopenharmony_ci      }],
361cb0ef41Sopenharmony_ci    ],
371cb0ef41Sopenharmony_ci  },
381cb0ef41Sopenharmony_ci
391cb0ef41Sopenharmony_ci  'targets': [
401cb0ef41Sopenharmony_ci    {
411cb0ef41Sopenharmony_ci      'target_name': 'libuv',
421cb0ef41Sopenharmony_ci      'type': '<(uv_library)',
431cb0ef41Sopenharmony_ci      'include_dirs': [
441cb0ef41Sopenharmony_ci        'include',
451cb0ef41Sopenharmony_ci        'src/',
461cb0ef41Sopenharmony_ci      ],
471cb0ef41Sopenharmony_ci      'defines': [
481cb0ef41Sopenharmony_ci        '<@(shared_mac_defines)',
491cb0ef41Sopenharmony_ci        '<@(shared_unix_defines)',
501cb0ef41Sopenharmony_ci        '<@(shared_zos_defines)',
511cb0ef41Sopenharmony_ci      ],
521cb0ef41Sopenharmony_ci      'direct_dependent_settings': {
531cb0ef41Sopenharmony_ci        'defines': [
541cb0ef41Sopenharmony_ci          '<@(shared_mac_defines)',
551cb0ef41Sopenharmony_ci          '<@(shared_unix_defines)',
561cb0ef41Sopenharmony_ci          '<@(shared_zos_defines)',
571cb0ef41Sopenharmony_ci        ],
581cb0ef41Sopenharmony_ci        'include_dirs': [ 'include' ],
591cb0ef41Sopenharmony_ci        'conditions': [
601cb0ef41Sopenharmony_ci          ['OS == "linux"', {
611cb0ef41Sopenharmony_ci            'defines': [ '_POSIX_C_SOURCE=200112' ],
621cb0ef41Sopenharmony_ci          }],
631cb0ef41Sopenharmony_ci        ],
641cb0ef41Sopenharmony_ci      },
651cb0ef41Sopenharmony_ci      'sources': [
661cb0ef41Sopenharmony_ci        'common.gypi',
671cb0ef41Sopenharmony_ci        'include/uv.h',
681cb0ef41Sopenharmony_ci        'include/uv/tree.h',
691cb0ef41Sopenharmony_ci        'include/uv/errno.h',
701cb0ef41Sopenharmony_ci        'include/uv/threadpool.h',
711cb0ef41Sopenharmony_ci        'include/uv/version.h',
721cb0ef41Sopenharmony_ci        'src/fs-poll.c',
731cb0ef41Sopenharmony_ci        'src/heap-inl.h',
741cb0ef41Sopenharmony_ci        'src/idna.c',
751cb0ef41Sopenharmony_ci        'src/idna.h',
761cb0ef41Sopenharmony_ci        'src/inet.c',
771cb0ef41Sopenharmony_ci        'src/queue.h',
781cb0ef41Sopenharmony_ci        'src/random.c',
791cb0ef41Sopenharmony_ci        'src/strscpy.c',
801cb0ef41Sopenharmony_ci        'src/strscpy.h',
811cb0ef41Sopenharmony_ci        'src/strtok.c',
821cb0ef41Sopenharmony_ci        'src/strtok.h',
831cb0ef41Sopenharmony_ci        'src/threadpool.c',
841cb0ef41Sopenharmony_ci        'src/timer.c',
851cb0ef41Sopenharmony_ci        'src/uv-data-getter-setters.c',
861cb0ef41Sopenharmony_ci        'src/uv-common.c',
871cb0ef41Sopenharmony_ci        'src/uv-common.h',
881cb0ef41Sopenharmony_ci        'src/version.c'
891cb0ef41Sopenharmony_ci      ],
901cb0ef41Sopenharmony_ci      'xcode_settings': {
911cb0ef41Sopenharmony_ci        'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',  # -fvisibility=hidden
921cb0ef41Sopenharmony_ci        'WARNING_CFLAGS': [
931cb0ef41Sopenharmony_ci          '-Wall',
941cb0ef41Sopenharmony_ci          '-Wextra',
951cb0ef41Sopenharmony_ci          '-Wno-unused-parameter',
961cb0ef41Sopenharmony_ci          '-Wstrict-prototypes',
971cb0ef41Sopenharmony_ci        ],
981cb0ef41Sopenharmony_ci        'OTHER_CFLAGS': [ '-g', '--std=gnu89' ],
991cb0ef41Sopenharmony_ci      },
1001cb0ef41Sopenharmony_ci      'conditions': [
1011cb0ef41Sopenharmony_ci        [ 'OS=="win"', {
1021cb0ef41Sopenharmony_ci          'defines': [
1031cb0ef41Sopenharmony_ci            '_WIN32_WINNT=0x0600',
1041cb0ef41Sopenharmony_ci            '_GNU_SOURCE',
1051cb0ef41Sopenharmony_ci          ],
1061cb0ef41Sopenharmony_ci          'sources': [
1071cb0ef41Sopenharmony_ci            'include/uv/win.h',
1081cb0ef41Sopenharmony_ci            'src/win/async.c',
1091cb0ef41Sopenharmony_ci            'src/win/atomicops-inl.h',
1101cb0ef41Sopenharmony_ci            'src/win/core.c',
1111cb0ef41Sopenharmony_ci            'src/win/detect-wakeup.c',
1121cb0ef41Sopenharmony_ci            'src/win/dl.c',
1131cb0ef41Sopenharmony_ci            'src/win/error.c',
1141cb0ef41Sopenharmony_ci            'src/win/fs.c',
1151cb0ef41Sopenharmony_ci            'src/win/fs-event.c',
1161cb0ef41Sopenharmony_ci            'src/win/getaddrinfo.c',
1171cb0ef41Sopenharmony_ci            'src/win/getnameinfo.c',
1181cb0ef41Sopenharmony_ci            'src/win/handle.c',
1191cb0ef41Sopenharmony_ci            'src/win/handle-inl.h',
1201cb0ef41Sopenharmony_ci            'src/win/internal.h',
1211cb0ef41Sopenharmony_ci            'src/win/loop-watcher.c',
1221cb0ef41Sopenharmony_ci            'src/win/pipe.c',
1231cb0ef41Sopenharmony_ci            'src/win/thread.c',
1241cb0ef41Sopenharmony_ci            'src/win/poll.c',
1251cb0ef41Sopenharmony_ci            'src/win/process.c',
1261cb0ef41Sopenharmony_ci            'src/win/process-stdio.c',
1271cb0ef41Sopenharmony_ci            'src/win/req-inl.h',
1281cb0ef41Sopenharmony_ci            'src/win/signal.c',
1291cb0ef41Sopenharmony_ci            'src/win/snprintf.c',
1301cb0ef41Sopenharmony_ci            'src/win/stream.c',
1311cb0ef41Sopenharmony_ci            'src/win/stream-inl.h',
1321cb0ef41Sopenharmony_ci            'src/win/tcp.c',
1331cb0ef41Sopenharmony_ci            'src/win/tty.c',
1341cb0ef41Sopenharmony_ci            'src/win/udp.c',
1351cb0ef41Sopenharmony_ci            'src/win/util.c',
1361cb0ef41Sopenharmony_ci            'src/win/winapi.c',
1371cb0ef41Sopenharmony_ci            'src/win/winapi.h',
1381cb0ef41Sopenharmony_ci            'src/win/winsock.c',
1391cb0ef41Sopenharmony_ci            'src/win/winsock.h',
1401cb0ef41Sopenharmony_ci          ],
1411cb0ef41Sopenharmony_ci          'link_settings': {
1421cb0ef41Sopenharmony_ci            'libraries': [
1431cb0ef41Sopenharmony_ci              '-ladvapi32',
1441cb0ef41Sopenharmony_ci              '-liphlpapi',
1451cb0ef41Sopenharmony_ci              '-lpsapi',
1461cb0ef41Sopenharmony_ci              '-lshell32',
1471cb0ef41Sopenharmony_ci              '-luser32',
1481cb0ef41Sopenharmony_ci              '-luserenv',
1491cb0ef41Sopenharmony_ci              '-lws2_32'
1501cb0ef41Sopenharmony_ci            ],
1511cb0ef41Sopenharmony_ci          },
1521cb0ef41Sopenharmony_ci        }, { # Not Windows i.e. POSIX
1531cb0ef41Sopenharmony_ci          'sources': [
1541cb0ef41Sopenharmony_ci            'include/uv/unix.h',
1551cb0ef41Sopenharmony_ci            'include/uv/linux.h',
1561cb0ef41Sopenharmony_ci            'include/uv/sunos.h',
1571cb0ef41Sopenharmony_ci            'include/uv/darwin.h',
1581cb0ef41Sopenharmony_ci            'include/uv/bsd.h',
1591cb0ef41Sopenharmony_ci            'include/uv/aix.h',
1601cb0ef41Sopenharmony_ci            'src/unix/async.c',
1611cb0ef41Sopenharmony_ci            'src/unix/atomic-ops.h',
1621cb0ef41Sopenharmony_ci            'src/unix/core.c',
1631cb0ef41Sopenharmony_ci            'src/unix/dl.c',
1641cb0ef41Sopenharmony_ci            'src/unix/fs.c',
1651cb0ef41Sopenharmony_ci            'src/unix/getaddrinfo.c',
1661cb0ef41Sopenharmony_ci            'src/unix/getnameinfo.c',
1671cb0ef41Sopenharmony_ci            'src/unix/internal.h',
1681cb0ef41Sopenharmony_ci            'src/unix/loop.c',
1691cb0ef41Sopenharmony_ci            'src/unix/loop-watcher.c',
1701cb0ef41Sopenharmony_ci            'src/unix/pipe.c',
1711cb0ef41Sopenharmony_ci            'src/unix/poll.c',
1721cb0ef41Sopenharmony_ci            'src/unix/process.c',
1731cb0ef41Sopenharmony_ci            'src/unix/random-devurandom.c',
1741cb0ef41Sopenharmony_ci            'src/unix/signal.c',
1751cb0ef41Sopenharmony_ci            'src/unix/spinlock.h',
1761cb0ef41Sopenharmony_ci            'src/unix/stream.c',
1771cb0ef41Sopenharmony_ci            'src/unix/tcp.c',
1781cb0ef41Sopenharmony_ci            'src/unix/thread.c',
1791cb0ef41Sopenharmony_ci            'src/unix/tty.c',
1801cb0ef41Sopenharmony_ci            'src/unix/udp.c',
1811cb0ef41Sopenharmony_ci          ],
1821cb0ef41Sopenharmony_ci          'link_settings': {
1831cb0ef41Sopenharmony_ci            'libraries': [ '-lm' ],
1841cb0ef41Sopenharmony_ci            'conditions': [
1851cb0ef41Sopenharmony_ci              ['OS=="solaris"', {
1861cb0ef41Sopenharmony_ci                'ldflags': [ '-pthreads' ],
1871cb0ef41Sopenharmony_ci              }],
1881cb0ef41Sopenharmony_ci              [ 'OS=="zos" and uv_library=="shared_library"', {
1891cb0ef41Sopenharmony_ci                'ldflags': [ '-Wl,DLL' ],
1901cb0ef41Sopenharmony_ci              }],
1911cb0ef41Sopenharmony_ci              ['OS != "solaris" and OS != "android" and OS != "zos"', {
1921cb0ef41Sopenharmony_ci                'ldflags': [ '-pthread' ],
1931cb0ef41Sopenharmony_ci              }],
1941cb0ef41Sopenharmony_ci            ],
1951cb0ef41Sopenharmony_ci          },
1961cb0ef41Sopenharmony_ci          'conditions': [
1971cb0ef41Sopenharmony_ci            ['uv_library=="shared_library"', {
1981cb0ef41Sopenharmony_ci              'conditions': [
1991cb0ef41Sopenharmony_ci                ['OS=="zos"', {
2001cb0ef41Sopenharmony_ci                  'cflags': [ '-qexportall' ],
2011cb0ef41Sopenharmony_ci                }, {
2021cb0ef41Sopenharmony_ci                  'cflags': [ '-fPIC' ],
2031cb0ef41Sopenharmony_ci                }],
2041cb0ef41Sopenharmony_ci              ],
2051cb0ef41Sopenharmony_ci            }],
2061cb0ef41Sopenharmony_ci            ['uv_library=="shared_library" and OS!="mac" and OS!="zos"', {
2071cb0ef41Sopenharmony_ci              # This will cause gyp to set soname
2081cb0ef41Sopenharmony_ci              # Must correspond with UV_VERSION_MAJOR
2091cb0ef41Sopenharmony_ci              # in include/uv/version.h
2101cb0ef41Sopenharmony_ci              'product_extension': 'so.1',
2111cb0ef41Sopenharmony_ci            }],
2121cb0ef41Sopenharmony_ci          ],
2131cb0ef41Sopenharmony_ci        }],
2141cb0ef41Sopenharmony_ci        [ 'OS in "linux mac ios android zos"', {
2151cb0ef41Sopenharmony_ci          'sources': [ 'src/unix/proctitle.c' ],
2161cb0ef41Sopenharmony_ci        }],
2171cb0ef41Sopenharmony_ci        [ 'OS != "zos"', {
2181cb0ef41Sopenharmony_ci          'cflags': [
2191cb0ef41Sopenharmony_ci            '-fvisibility=hidden',
2201cb0ef41Sopenharmony_ci            '-g',
2211cb0ef41Sopenharmony_ci            '--std=gnu89',
2221cb0ef41Sopenharmony_ci            '-Wall',
2231cb0ef41Sopenharmony_ci            '-Wextra',
2241cb0ef41Sopenharmony_ci            '-Wno-unused-parameter',
2251cb0ef41Sopenharmony_ci            '-Wstrict-prototypes',
2261cb0ef41Sopenharmony_ci            '-fno-strict-aliasing',
2271cb0ef41Sopenharmony_ci          ],
2281cb0ef41Sopenharmony_ci        }],
2291cb0ef41Sopenharmony_ci        [ 'OS in "mac ios"', {
2301cb0ef41Sopenharmony_ci          'sources': [
2311cb0ef41Sopenharmony_ci            'src/unix/darwin.c',
2321cb0ef41Sopenharmony_ci            'src/unix/fsevents.c',
2331cb0ef41Sopenharmony_ci            'src/unix/darwin-proctitle.c',
2341cb0ef41Sopenharmony_ci            'src/unix/random-getentropy.c',
2351cb0ef41Sopenharmony_ci          ],
2361cb0ef41Sopenharmony_ci          'defines': [
2371cb0ef41Sopenharmony_ci            '_DARWIN_USE_64_BIT_INODE=1',
2381cb0ef41Sopenharmony_ci            '_DARWIN_UNLIMITED_SELECT=1',
2391cb0ef41Sopenharmony_ci          ]
2401cb0ef41Sopenharmony_ci        }],
2411cb0ef41Sopenharmony_ci        [ 'OS=="linux"', {
2421cb0ef41Sopenharmony_ci          'defines': [ '_GNU_SOURCE' ],
2431cb0ef41Sopenharmony_ci          'sources': [
2441cb0ef41Sopenharmony_ci            'src/unix/epoll.c',
2451cb0ef41Sopenharmony_ci            'src/unix/linux-core.c',
2461cb0ef41Sopenharmony_ci            'src/unix/linux-inotify.c',
2471cb0ef41Sopenharmony_ci            'src/unix/linux-syscalls.c',
2481cb0ef41Sopenharmony_ci            'src/unix/linux-syscalls.h',
2491cb0ef41Sopenharmony_ci            'src/unix/procfs-exepath.c',
2501cb0ef41Sopenharmony_ci            'src/unix/random-getrandom.c',
2511cb0ef41Sopenharmony_ci            'src/unix/random-sysctl-linux.c',
2521cb0ef41Sopenharmony_ci          ],
2531cb0ef41Sopenharmony_ci          'link_settings': {
2541cb0ef41Sopenharmony_ci            'libraries': [ '-ldl', '-lrt' ],
2551cb0ef41Sopenharmony_ci          },
2561cb0ef41Sopenharmony_ci        }],
2571cb0ef41Sopenharmony_ci        [ 'OS=="android"', {
2581cb0ef41Sopenharmony_ci          'defines': [
2591cb0ef41Sopenharmony_ci            '_GNU_SOURCE',
2601cb0ef41Sopenharmony_ci          ],
2611cb0ef41Sopenharmony_ci          'sources': [
2621cb0ef41Sopenharmony_ci            'src/unix/linux-core.c',
2631cb0ef41Sopenharmony_ci            'src/unix/linux-inotify.c',
2641cb0ef41Sopenharmony_ci            'src/unix/linux-syscalls.c',
2651cb0ef41Sopenharmony_ci            'src/unix/procfs-exepath.c',
2661cb0ef41Sopenharmony_ci            'src/unix/pthread-fixes.c',
2671cb0ef41Sopenharmony_ci            'src/unix/random-getentropy.c',
2681cb0ef41Sopenharmony_ci            'src/unix/random-getrandom.c',
2691cb0ef41Sopenharmony_ci            'src/unix/random-sysctl-linux.c',
2701cb0ef41Sopenharmony_ci            'src/unix/epoll.c',
2711cb0ef41Sopenharmony_ci          ],
2721cb0ef41Sopenharmony_ci          'link_settings': {
2731cb0ef41Sopenharmony_ci            'libraries': [ '-ldl' ],
2741cb0ef41Sopenharmony_ci          },
2751cb0ef41Sopenharmony_ci        }],
2761cb0ef41Sopenharmony_ci        [ 'OS=="solaris"', {
2771cb0ef41Sopenharmony_ci          'sources': [
2781cb0ef41Sopenharmony_ci            'src/unix/no-proctitle.c',
2791cb0ef41Sopenharmony_ci            'src/unix/sunos.c',
2801cb0ef41Sopenharmony_ci          ],
2811cb0ef41Sopenharmony_ci          'defines': [
2821cb0ef41Sopenharmony_ci            '__EXTENSIONS__',
2831cb0ef41Sopenharmony_ci            '_XOPEN_SOURCE=500',
2841cb0ef41Sopenharmony_ci            '_REENTRANT',
2851cb0ef41Sopenharmony_ci          ],
2861cb0ef41Sopenharmony_ci          'link_settings': {
2871cb0ef41Sopenharmony_ci            'libraries': [
2881cb0ef41Sopenharmony_ci              '-lkstat',
2891cb0ef41Sopenharmony_ci              '-lnsl',
2901cb0ef41Sopenharmony_ci              '-lsendfile',
2911cb0ef41Sopenharmony_ci              '-lsocket',
2921cb0ef41Sopenharmony_ci            ],
2931cb0ef41Sopenharmony_ci          },
2941cb0ef41Sopenharmony_ci        }],
2951cb0ef41Sopenharmony_ci        [ 'OS=="aix"', {
2961cb0ef41Sopenharmony_ci          'variables': {
2971cb0ef41Sopenharmony_ci            'os_name': '<!(uname -s)',
2981cb0ef41Sopenharmony_ci          },
2991cb0ef41Sopenharmony_ci          'sources': [
3001cb0ef41Sopenharmony_ci            'src/unix/aix-common.c',
3011cb0ef41Sopenharmony_ci          ],
3021cb0ef41Sopenharmony_ci          'defines': [
3031cb0ef41Sopenharmony_ci            '_ALL_SOURCE',
3041cb0ef41Sopenharmony_ci            '_XOPEN_SOURCE=500',
3051cb0ef41Sopenharmony_ci            '_LINUX_SOURCE_COMPAT',
3061cb0ef41Sopenharmony_ci            '_THREAD_SAFE',
3071cb0ef41Sopenharmony_ci          ],
3081cb0ef41Sopenharmony_ci          'conditions': [
3091cb0ef41Sopenharmony_ci            [ '"<(os_name)"=="OS400"', {
3101cb0ef41Sopenharmony_ci              'sources': [
3111cb0ef41Sopenharmony_ci                'src/unix/ibmi.c',
3121cb0ef41Sopenharmony_ci                'src/unix/posix-poll.c',
3131cb0ef41Sopenharmony_ci                'src/unix/no-fsevents.c',
3141cb0ef41Sopenharmony_ci                'src/unix/no-proctitle.c',
3151cb0ef41Sopenharmony_ci              ],
3161cb0ef41Sopenharmony_ci            }, {
3171cb0ef41Sopenharmony_ci              'sources': [
3181cb0ef41Sopenharmony_ci                'src/unix/aix.c'
3191cb0ef41Sopenharmony_ci              ],
3201cb0ef41Sopenharmony_ci              'defines': [
3211cb0ef41Sopenharmony_ci                'HAVE_SYS_AHAFS_EVPRODS_H'
3221cb0ef41Sopenharmony_ci              ],
3231cb0ef41Sopenharmony_ci              'link_settings': {
3241cb0ef41Sopenharmony_ci                'libraries': [
3251cb0ef41Sopenharmony_ci                  '-lperfstat',
3261cb0ef41Sopenharmony_ci                ],
3271cb0ef41Sopenharmony_ci              },
3281cb0ef41Sopenharmony_ci            }],
3291cb0ef41Sopenharmony_ci          ]
3301cb0ef41Sopenharmony_ci        }],
3311cb0ef41Sopenharmony_ci        [ 'OS=="os400"', {
3321cb0ef41Sopenharmony_ci          'sources': [
3331cb0ef41Sopenharmony_ci            'src/unix/aix-common.c',
3341cb0ef41Sopenharmony_ci            'src/unix/ibmi.c',
3351cb0ef41Sopenharmony_ci            'src/unix/posix-poll.c',
3361cb0ef41Sopenharmony_ci            'src/unix/no-fsevents.c',
3371cb0ef41Sopenharmony_ci            'src/unix/no-proctitle.c',
3381cb0ef41Sopenharmony_ci          ],
3391cb0ef41Sopenharmony_ci          'defines': [
3401cb0ef41Sopenharmony_ci            '_ALL_SOURCE',
3411cb0ef41Sopenharmony_ci            '_XOPEN_SOURCE=500',
3421cb0ef41Sopenharmony_ci            '_LINUX_SOURCE_COMPAT',
3431cb0ef41Sopenharmony_ci            '_THREAD_SAFE',
3441cb0ef41Sopenharmony_ci          ],
3451cb0ef41Sopenharmony_ci        }],
3461cb0ef41Sopenharmony_ci        [ 'OS=="freebsd" or OS=="dragonflybsd"', {
3471cb0ef41Sopenharmony_ci          'sources': [ 'src/unix/freebsd.c' ],
3481cb0ef41Sopenharmony_ci        }],
3491cb0ef41Sopenharmony_ci        [ 'OS=="freebsd"', {
3501cb0ef41Sopenharmony_ci          'sources': [ 'src/unix/random-getrandom.c' ],
3511cb0ef41Sopenharmony_ci        }],
3521cb0ef41Sopenharmony_ci        [ 'OS=="openbsd"', {
3531cb0ef41Sopenharmony_ci          'sources': [
3541cb0ef41Sopenharmony_ci            'src/unix/openbsd.c',
3551cb0ef41Sopenharmony_ci            'src/unix/random-getentropy.c',
3561cb0ef41Sopenharmony_ci          ],
3571cb0ef41Sopenharmony_ci        }],
3581cb0ef41Sopenharmony_ci        [ 'OS=="netbsd"', {
3591cb0ef41Sopenharmony_ci          'link_settings': {
3601cb0ef41Sopenharmony_ci            'libraries': [ '-lkvm' ],
3611cb0ef41Sopenharmony_ci          },
3621cb0ef41Sopenharmony_ci          'sources': [ 'src/unix/netbsd.c' ],
3631cb0ef41Sopenharmony_ci        }],
3641cb0ef41Sopenharmony_ci        [ 'OS in "freebsd dragonflybsd openbsd netbsd".split()', {
3651cb0ef41Sopenharmony_ci          'sources': [
3661cb0ef41Sopenharmony_ci            'src/unix/posix-hrtime.c',
3671cb0ef41Sopenharmony_ci            'src/unix/bsd-proctitle.c'
3681cb0ef41Sopenharmony_ci          ],
3691cb0ef41Sopenharmony_ci        }],
3701cb0ef41Sopenharmony_ci        [ 'OS in "ios mac freebsd dragonflybsd openbsd netbsd".split()', {
3711cb0ef41Sopenharmony_ci          'sources': [
3721cb0ef41Sopenharmony_ci            'src/unix/bsd-ifaddrs.c',
3731cb0ef41Sopenharmony_ci            'src/unix/kqueue.c',
3741cb0ef41Sopenharmony_ci          ],
3751cb0ef41Sopenharmony_ci        }],
3761cb0ef41Sopenharmony_ci        ['uv_library=="shared_library"', {
3771cb0ef41Sopenharmony_ci          'defines': [ 'BUILDING_UV_SHARED=1' ]
3781cb0ef41Sopenharmony_ci        }],
3791cb0ef41Sopenharmony_ci        ['OS=="zos"', {
3801cb0ef41Sopenharmony_ci          'sources': [
3811cb0ef41Sopenharmony_ci            'src/unix/pthread-fixes.c',
3821cb0ef41Sopenharmony_ci            'src/unix/os390.c',
3831cb0ef41Sopenharmony_ci            'src/unix/os390-syscalls.c'
3841cb0ef41Sopenharmony_ci          ]
3851cb0ef41Sopenharmony_ci        }],
3861cb0ef41Sopenharmony_ci      ]
3871cb0ef41Sopenharmony_ci    },
3881cb0ef41Sopenharmony_ci  ]
3891cb0ef41Sopenharmony_ci}
390