123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- module.exports = (builder, js) => {
- var files = [
- 'include/uv.h',
- 'include/tree.h',
- 'include/uv-errno.h',
- 'src/fs-poll.c',
- 'src/inet.c',
- 'src/queue.h',
- 'src/uv-common.c',
- 'src/uv-common.h',
- 'src/version.c'
- ];
- var cflags = ['-DHAVE_CONFIG_H'];
- // Normally this is built using -std=gnu89 but we're building everything
- // with -std=c99 so adding _GNU_SOURCE fixes this issue.
- cflags.push('-D_GNU_SOURCE');
- if (builder.config.systemName === 'win32') {
- cflags.push(
- '-D_WIN32_WINNT=0x0600',
- '-D_GNU_SOURCE'
- );
- files.push(
- 'include/uv-win.h',
- 'src/win/async.c',
- 'src/win/atomicops-inl.h',
- 'src/win/core.c',
- 'src/win/dl.c',
- 'src/win/error.c',
- 'src/win/fs.c',
- 'src/win/fs-event.c',
- // 'src/win/getaddrinfo.c',
- 'src/win/handle.c',
- 'src/win/handle-inl.h',
- 'src/win/internal.h',
- 'src/win/iocp.c',
- 'src/win/loop-watcher.c',
- 'src/win/pipe.c',
- 'src/win/thread.c',
- 'src/win/poll.c',
- 'src/win/process.c',
- 'src/win/process-stdio.c',
- 'src/win/req.c',
- 'src/win/req-inl.h',
- 'src/win/signal.c',
- 'src/win/stream.c',
- 'src/win/stream-inl.h',
- 'src/win/tcp.c',
- 'src/win/tty.c',
- 'src/win/threadpool.c',
- 'src/win/timer.c',
- 'src/win/udp.c',
- 'src/win/util.c',
- 'src/win/winapi.c',
- 'src/win/winapi.h',
- 'src/win/winsock.c',
- 'src/win/winsock.h'
- );
- } else {
- cflags.push(
- '-D_LARGEFILE_SOURCE',
- '-D_FILE_OFFSET_BITS=64'
- );
- files.push(
- 'include/uv-unix.h',
- 'include/uv-linux.h',
- 'include/uv-sunos.h',
- 'include/uv-darwin.h',
- 'include/uv-bsd.h',
- 'src/unix/async.c',
- 'src/unix/atomic-ops.h',
- 'src/unix/core.c',
- 'src/unix/dl.c',
- 'src/unix/fs.c',
- // 'src/unix/getaddrinfo.c',
- 'src/unix/internal.h',
- 'src/unix/loop.c',
- 'src/unix/loop-watcher.c',
- 'src/unix/pipe.c',
- 'src/unix/poll.c',
- 'src/unix/process.c',
- 'src/unix/signal.c',
- 'src/unix/spinlock.h',
- 'src/unix/stream.c',
- 'src/unix/tcp.c',
- 'src/unix/thread.c',
- 'src/unix/threadpool.c',
- 'src/unix/timer.c',
- 'src/unix/tty.c',
- 'src/unix/udp.c'
- )
- }
- var android = /android/i.test(builder.config.gcc);
- if (['linux','darwin'].indexOf(builder.config.systemName)) {
- files.push('src/unix/proctitle.c');
- }
- if (builder.config.systemName === 'darwin') {
- cflags.push('-D_DARWIN_USE_64_BIT_INODE=1');
- files.push(
- 'src/unix/darwin.c',
- 'src/unix/fsevents.c',
- 'src/unix/darwin-proctitle.c'
- );
- }
- if (builder.config.systemName === 'linux') {
- cflags.push('-D_POSIX_C_SOURCE=200112');
- files.push(
- 'src/unix/linux-core.c',
- 'src/unix/linux-inotify.c',
- 'src/unix/linux-syscalls.c',
- 'src/unix/linux-syscalls.h'
- );
- if (android) {
- files.push('src/unix/pthread-fixes.c');
- }
- }
- switch (builder.config.systemName) {
- case 'sunos': files.push('src/unix/sunos.c'); break;
- case 'dragonflybsd':
- case 'freebsd': files.push('src/unix/freebsd.c'); break;
- case 'openbsd': files.push('src/unix/openbsd.c'); break;
- case 'netbsd': files.push('src/unix/netbsd.c'); break;
- }
- if (['darwin', 'freebsd', 'dragonflybsd', 'openbsd', 'netbsd'].indexOf(builder.config.systemName) > -1) {
- files.push('src/unix/kqueue.c');
- }
- for (f of files) {
- if (f.endsWith(".c")) {
- console.log("DEPENDENCY " + f);
- const file = "node_build/dependencies/libuv/" + f;
- js.linkerDependency(file);
- builder.fileCflags[file] = builder.fileCflags[file] || [];
- builder.fileCflags[file].push(...cflags);
- }
- }
- }
|