1# Copyright (c) 2013, Ben Noordhuis <info@bnoordhuis.nl> 2# 3# Permission to use, copy, modify, and/or distribute this software for any 4# purpose with or without fee is hereby granted, provided that the above 5# copyright notice and this permission notice appear in all copies. 6# 7# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 15ACLOCAL_AMFLAGS = -I m4 16 17AM_CPPFLAGS = -I$(top_srcdir)/include \ 18 -I$(top_srcdir)/src 19 20include_HEADERS=include/uv.h 21 22uvincludedir = $(includedir)/uv 23uvinclude_HEADERS = include/uv/errno.h \ 24 include/uv/threadpool.h \ 25 include/uv/version.h 26 27CLEANFILES = 28 29lib_LTLIBRARIES = libuv.la 30libuv_la_CFLAGS = $(AM_CFLAGS) 31libuv_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 1:0:0 32libuv_la_SOURCES = src/fs-poll.c \ 33 src/heap-inl.h \ 34 src/idna.c \ 35 src/idna.h \ 36 src/inet.c \ 37 src/queue.h \ 38 src/random.c \ 39 src/strscpy.c \ 40 src/strscpy.h \ 41 src/thread-common.c \ 42 src/threadpool.c \ 43 src/timer.c \ 44 src/uv-data-getter-setters.c \ 45 src/uv-common.c \ 46 src/uv-common.h \ 47 src/version.c \ 48 src/strtok.c \ 49 src/strtok.h 50 51if SUNOS 52# Can't be turned into a CC_CHECK_CFLAGS in configure.ac, it makes compilers 53# on other platforms complain that the argument is unused during compilation. 54libuv_la_CFLAGS += -pthreads 55endif 56 57if WINNT 58 59uvinclude_HEADERS += include/uv/win.h include/uv/tree.h 60AM_CPPFLAGS += -I$(top_srcdir)/src/win \ 61 -DWIN32_LEAN_AND_MEAN \ 62 -D_WIN32_WINNT=0x0A00 63libuv_la_SOURCES += src/win/async.c \ 64 src/win/atomicops-inl.h \ 65 src/win/core.c \ 66 src/win/detect-wakeup.c \ 67 src/win/dl.c \ 68 src/win/error.c \ 69 src/win/fs-event.c \ 70 src/win/fs.c \ 71 src/win/getaddrinfo.c \ 72 src/win/getnameinfo.c \ 73 src/win/handle.c \ 74 src/win/handle-inl.h \ 75 src/win/internal.h \ 76 src/win/loop-watcher.c \ 77 src/win/pipe.c \ 78 src/win/poll.c \ 79 src/win/process-stdio.c \ 80 src/win/process.c \ 81 src/win/req-inl.h \ 82 src/win/signal.c \ 83 src/win/stream.c \ 84 src/win/stream-inl.h \ 85 src/win/tcp.c \ 86 src/win/thread.c \ 87 src/win/tty.c \ 88 src/win/udp.c \ 89 src/win/util.c \ 90 src/win/winapi.c \ 91 src/win/winapi.h \ 92 src/win/winsock.c \ 93 src/win/winsock.h 94 95else # WINNT 96 97uvinclude_HEADERS += include/uv/unix.h 98AM_CPPFLAGS += -I$(top_srcdir)/src/unix 99libuv_la_SOURCES += src/unix/async.c \ 100 src/unix/core.c \ 101 src/unix/dl.c \ 102 src/unix/fs.c \ 103 src/unix/getaddrinfo.c \ 104 src/unix/getnameinfo.c \ 105 src/unix/internal.h \ 106 src/unix/loop-watcher.c \ 107 src/unix/loop.c \ 108 src/unix/pipe.c \ 109 src/unix/poll.c \ 110 src/unix/process.c \ 111 src/unix/random-devurandom.c \ 112 src/unix/signal.c \ 113 src/unix/stream.c \ 114 src/unix/tcp.c \ 115 src/unix/thread.c \ 116 src/unix/tty.c \ 117 src/unix/udp.c 118 119endif # WINNT 120 121EXTRA_DIST = test/fixtures/empty_file \ 122 test/fixtures/load_error.node \ 123 test/fixtures/lorem_ipsum.txt \ 124 test/fixtures/one_file/one_file \ 125 include \ 126 docs \ 127 img \ 128 CONTRIBUTING.md \ 129 LICENSE \ 130 LICENSE-extra \ 131 README.md 132 133 134 135TESTS = test/run-tests 136check_PROGRAMS = test/run-tests 137test_run_tests_CFLAGS = $(AM_CFLAGS) 138 139if WINNT 140check-am: test/run-tests_no_ext 141test/run-tests_no_ext: test/run-tests$(EXEEXT) 142 cp test/run-tests$(EXEEXT) test/run-tests_no_ext 143endif 144 145if SUNOS 146# Can't be turned into a CC_CHECK_CFLAGS in configure.ac, it makes compilers 147# on other platforms complain that the argument is unused during compilation. 148test_run_tests_CFLAGS += -pthreads 149endif 150 151test_run_tests_LDFLAGS = $(AM_LDFLAGS) 152test_run_tests_SOURCES = test/blackhole-server.c \ 153 test/echo-server.c \ 154 test/run-tests.c \ 155 test/runner.c \ 156 test/runner.h \ 157 test/task.h \ 158 test/test-active.c \ 159 test/test-async.c \ 160 test/test-async-null-cb.c \ 161 test/test-barrier.c \ 162 test/test-callback-stack.c \ 163 test/test-close-fd.c \ 164 test/test-close-order.c \ 165 test/test-condvar.c \ 166 test/test-connect-unspecified.c \ 167 test/test-connection-fail.c \ 168 test/test-cwd-and-chdir.c \ 169 test/test-default-loop-close.c \ 170 test/test-delayed-accept.c \ 171 test/test-dlerror.c \ 172 test/test-eintr-handling.c \ 173 test/test-embed.c \ 174 test/test-emfile.c \ 175 test/test-env-vars.c \ 176 test/test-error.c \ 177 test/test-fail-always.c \ 178 test/test-fs-copyfile.c \ 179 test/test-fs-event.c \ 180 test/test-fs-poll.c \ 181 test/test-fs.c \ 182 test/test-fs-readdir.c \ 183 test/test-fs-fd-hash.c \ 184 test/test-fs-open-flags.c \ 185 test/test-fork.c \ 186 test/test-getters-setters.c \ 187 test/test-get-currentexe.c \ 188 test/test-get-loadavg.c \ 189 test/test-get-memory.c \ 190 test/test-get-passwd.c \ 191 test/test-getaddrinfo.c \ 192 test/test-gethostname.c \ 193 test/test-getnameinfo.c \ 194 test/test-getsockname.c \ 195 test/test-gettimeofday.c \ 196 test/test-handle-fileno.c \ 197 test/test-homedir.c \ 198 test/test-hrtime.c \ 199 test/test-idle.c \ 200 test/test-idna.c \ 201 test/test-iouring-pollhup.c \ 202 test/test-ip4-addr.c \ 203 test/test-ip6-addr.c \ 204 test/test-ip-name.c \ 205 test/test-ipc-heavy-traffic-deadlock-bug.c \ 206 test/test-ipc-send-recv.c \ 207 test/test-ipc.c \ 208 test/test-list.h \ 209 test/test-loop-handles.c \ 210 test/test-loop-alive.c \ 211 test/test-loop-close.c \ 212 test/test-loop-stop.c \ 213 test/test-loop-time.c \ 214 test/test-loop-configure.c \ 215 test/test-metrics.c \ 216 test/test-multiple-listen.c \ 217 test/test-mutexes.c \ 218 test/test-not-readable-nor-writable-on-read-error.c \ 219 test/test-not-writable-after-shutdown.c \ 220 test/test-osx-select.c \ 221 test/test-pass-always.c \ 222 test/test-ping-pong.c \ 223 test/test-pipe-bind-error.c \ 224 test/test-pipe-connect-error.c \ 225 test/test-pipe-connect-multiple.c \ 226 test/test-pipe-connect-prepare.c \ 227 test/test-pipe-getsockname.c \ 228 test/test-pipe-pending-instances.c \ 229 test/test-pipe-sendmsg.c \ 230 test/test-pipe-server-close.c \ 231 test/test-pipe-close-stdout-read-stdin.c \ 232 test/test-pipe-set-non-blocking.c \ 233 test/test-pipe-set-fchmod.c \ 234 test/test-platform-output.c \ 235 test/test-poll.c \ 236 test/test-poll-close.c \ 237 test/test-poll-close-doesnt-corrupt-stack.c \ 238 test/test-poll-closesocket.c \ 239 test/test-poll-multiple-handles.c \ 240 test/test-poll-oob.c \ 241 test/test-process-priority.c \ 242 test/test-process-title.c \ 243 test/test-process-title-threadsafe.c \ 244 test/test-queue-foreach-delete.c \ 245 test/test-random.c \ 246 test/test-readable-on-eof.c \ 247 test/test-ref.c \ 248 test/test-run-nowait.c \ 249 test/test-run-once.c \ 250 test/test-semaphore.c \ 251 test/test-shutdown-close.c \ 252 test/test-shutdown-eof.c \ 253 test/test-shutdown-simultaneous.c \ 254 test/test-shutdown-twice.c \ 255 test/test-signal-multiple-loops.c \ 256 test/test-signal-pending-on-close.c \ 257 test/test-signal.c \ 258 test/test-socket-buffer-size.c \ 259 test/test-spawn.c \ 260 test/test-stdio-over-pipes.c \ 261 test/test-strscpy.c \ 262 test/test-strtok.c \ 263 test/test-tcp-alloc-cb-fail.c \ 264 test/test-tcp-bind-error.c \ 265 test/test-tcp-bind6-error.c \ 266 test/test-tcp-close-accept.c \ 267 test/test-tcp-close-while-connecting.c \ 268 test/test-tcp-close-after-read-timeout.c \ 269 test/test-tcp-close.c \ 270 test/test-tcp-close-reset.c \ 271 test/test-tcp-create-socket-early.c \ 272 test/test-tcp-connect-error-after-write.c \ 273 test/test-tcp-connect-error.c \ 274 test/test-tcp-connect-timeout.c \ 275 test/test-tcp-connect6-error.c \ 276 test/test-tcp-flags.c \ 277 test/test-tcp-open.c \ 278 test/test-tcp-read-stop.c \ 279 test/test-tcp-reuseport.c \ 280 test/test-tcp-read-stop-start.c \ 281 test/test-tcp-rst.c \ 282 test/test-tcp-shutdown-after-write.c \ 283 test/test-tcp-unexpected-read.c \ 284 test/test-tcp-oob.c \ 285 test/test-tcp-write-to-half-open-connection.c \ 286 test/test-tcp-write-after-connect.c \ 287 test/test-tcp-writealot.c \ 288 test/test-tcp-write-fail.c \ 289 test/test-tcp-try-write.c \ 290 test/test-tcp-write-in-a-row.c \ 291 test/test-tcp-try-write-error.c \ 292 test/test-tcp-write-queue-order.c \ 293 test/test-test-macros.c \ 294 test/test-thread-equal.c \ 295 test/test-thread.c \ 296 test/test-thread-affinity.c \ 297 test/test-thread-name.c \ 298 test/test-thread-priority.c \ 299 test/test-threadpool-cancel.c \ 300 test/test-threadpool.c \ 301 test/test-timer-again.c \ 302 test/test-timer-from-check.c \ 303 test/test-timer.c \ 304 test/test-tmpdir.c \ 305 test/test-tty-duplicate-key.c \ 306 test/test-tty-escape-sequence-processing.c \ 307 test/test-tty.c \ 308 test/test-udp-alloc-cb-fail.c \ 309 test/test-udp-bind.c \ 310 test/test-udp-connect.c \ 311 test/test-udp-connect6.c \ 312 test/test-udp-create-socket-early.c \ 313 test/test-udp-dgram-too-big.c \ 314 test/test-udp-ipv6.c \ 315 test/test-udp-mmsg.c \ 316 test/test-udp-multicast-interface.c \ 317 test/test-udp-multicast-interface6.c \ 318 test/test-udp-multicast-join.c \ 319 test/test-udp-multicast-join6.c \ 320 test/test-udp-multicast-ttl.c \ 321 test/test-udp-open.c \ 322 test/test-udp-options.c \ 323 test/test-udp-send-and-recv.c \ 324 test/test-udp-send-hang-loop.c \ 325 test/test-udp-send-immediate.c \ 326 test/test-udp-sendmmsg-error.c \ 327 test/test-udp-send-unreachable.c \ 328 test/test-udp-try-send.c \ 329 test/test-udp-recv-in-a-row.c \ 330 test/test-udp-reuseport.c \ 331 test/test-uname.c \ 332 test/test-walk-handles.c \ 333 test/test-watcher-cross-stop.c 334test_run_tests_LDADD = libuv.la 335 336if WINNT 337test_run_tests_SOURCES += test/runner-win.c \ 338 test/runner-win.h 339else 340test_run_tests_SOURCES += test/runner-unix.c \ 341 test/runner-unix.h 342endif 343 344if AIX 345test_run_tests_CFLAGS += -D_ALL_SOURCE \ 346 -D_XOPEN_SOURCE=500 \ 347 -D_LINUX_SOURCE_COMPAT 348endif 349 350if OS400 351test_run_tests_CFLAGS += -D_ALL_SOURCE \ 352 -D_XOPEN_SOURCE=500 \ 353 -D_LINUX_SOURCE_COMPAT 354endif 355 356if HAIKU 357test_run_tests_CFLAGS += -D_BSD_SOURCE 358endif 359 360if LINUX 361test_run_tests_CFLAGS += -D_GNU_SOURCE 362endif 363 364if SUNOS 365test_run_tests_CFLAGS += -D__EXTENSIONS__ \ 366 -D_XOPEN_SOURCE=500 \ 367 -D_REENTRANT 368endif 369 370if OS390 371test_run_tests_CFLAGS += -D_ISOC99_SOURCE \ 372 -D_UNIX03_THREADS \ 373 -D_UNIX03_SOURCE \ 374 -D_OPEN_SYS_IF_EXT=1 \ 375 -D_OPEN_SYS_SOCK_IPV6 \ 376 -D_OPEN_MSGQ_EXT \ 377 -D_XOPEN_SOURCE_EXTENDED \ 378 -D_ALL_SOURCE \ 379 -D_LARGE_TIME_API \ 380 -D_OPEN_SYS_FILE_EXT \ 381 -DPATH_MAX=255 \ 382 -qCHARS=signed \ 383 -qXPLINK \ 384 -qFLOAT=IEEE 385endif 386 387if AIX 388libuv_la_CFLAGS += -D_ALL_SOURCE \ 389 -D_XOPEN_SOURCE=500 \ 390 -D_LINUX_SOURCE_COMPAT \ 391 -D_THREAD_SAFE \ 392 -DHAVE_SYS_AHAFS_EVPRODS_H 393uvinclude_HEADERS += include/uv/aix.h 394libuv_la_SOURCES += src/unix/aix.c src/unix/aix-common.c 395endif 396 397if OS400 398libuv_la_CFLAGS += -D_ALL_SOURCE \ 399 -D_XOPEN_SOURCE=500 \ 400 -D_LINUX_SOURCE_COMPAT \ 401 -D_THREAD_SAFE 402uvinclude_HEADERS += include/uv/posix.h 403libuv_la_SOURCES += src/unix/aix-common.c \ 404 src/unix/ibmi.c \ 405 src/unix/posix-poll.c \ 406 src/unix/no-fsevents.c 407endif 408 409if ANDROID 410libuv_la_CFLAGS += -D_GNU_SOURCE 411endif 412 413if CYGWIN 414uvinclude_HEADERS += include/uv/posix.h 415libuv_la_CFLAGS += -D_GNU_SOURCE 416libuv_la_SOURCES += src/unix/cygwin.c \ 417 src/unix/bsd-ifaddrs.c \ 418 src/unix/no-fsevents.c \ 419 src/unix/no-proctitle.c \ 420 src/unix/posix-hrtime.c \ 421 src/unix/posix-poll.c \ 422 src/unix/procfs-exepath.c \ 423 src/unix/sysinfo-loadavg.c \ 424 src/unix/sysinfo-memory.c 425endif 426 427if DARWIN 428uvinclude_HEADERS += include/uv/darwin.h 429libuv_la_CFLAGS += -D_DARWIN_USE_64_BIT_INODE=1 430libuv_la_CFLAGS += -D_DARWIN_UNLIMITED_SELECT=1 431libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 432 src/unix/darwin-proctitle.c \ 433 src/unix/darwin-stub.h \ 434 src/unix/darwin-syscalls.h \ 435 src/unix/darwin.c \ 436 src/unix/fsevents.c \ 437 src/unix/kqueue.c \ 438 src/unix/proctitle.c \ 439 src/unix/random-getentropy.c 440test_run_tests_LDFLAGS += -lutil 441endif 442 443if DRAGONFLY 444uvinclude_HEADERS += include/uv/bsd.h 445libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 446 src/unix/bsd-proctitle.c \ 447 src/unix/freebsd.c \ 448 src/unix/kqueue.c \ 449 src/unix/posix-hrtime.c 450test_run_tests_LDFLAGS += -lutil 451endif 452 453if FREEBSD 454uvinclude_HEADERS += include/uv/bsd.h 455libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 456 src/unix/bsd-proctitle.c \ 457 src/unix/freebsd.c \ 458 src/unix/kqueue.c \ 459 src/unix/posix-hrtime.c \ 460 src/unix/random-getrandom.c 461test_run_tests_LDFLAGS += -lutil 462endif 463 464if HAIKU 465uvinclude_HEADERS += include/uv/posix.h 466libuv_la_CFLAGS += -D_BSD_SOURCE 467libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 468 src/unix/haiku.c \ 469 src/unix/no-fsevents.c \ 470 src/unix/no-proctitle.c \ 471 src/unix/posix-hrtime.c \ 472 src/unix/posix-poll.c 473endif 474 475if HURD 476uvinclude_HEADERS += include/uv/posix.h 477libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 478 src/unix/no-fsevents.c \ 479 src/unix/no-proctitle.c \ 480 src/unix/posix-hrtime.c \ 481 src/unix/posix-poll.c \ 482 src/unix/hurd.c 483endif 484 485if LINUX 486uvinclude_HEADERS += include/uv/linux.h 487libuv_la_CFLAGS += -D_GNU_SOURCE 488libuv_la_SOURCES += src/unix/linux.c \ 489 src/unix/procfs-exepath.c \ 490 src/unix/proctitle.c \ 491 src/unix/random-getrandom.c \ 492 src/unix/random-sysctl-linux.c 493test_run_tests_LDFLAGS += -lutil 494endif 495 496if MSYS 497libuv_la_CFLAGS += -D_GNU_SOURCE 498libuv_la_SOURCES += src/unix/cygwin.c \ 499 src/unix/bsd-ifaddrs.c \ 500 src/unix/no-fsevents.c \ 501 src/unix/no-proctitle.c \ 502 src/unix/posix-hrtime.c \ 503 src/unix/posix-poll.c \ 504 src/unix/procfs-exepath.c \ 505 src/unix/sysinfo-loadavg.c \ 506 src/unix/sysinfo-memory.c 507endif 508 509if NETBSD 510uvinclude_HEADERS += include/uv/bsd.h 511libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 512 src/unix/bsd-proctitle.c \ 513 src/unix/kqueue.c \ 514 src/unix/netbsd.c \ 515 src/unix/posix-hrtime.c 516test_run_tests_LDFLAGS += -lutil 517endif 518 519if OPENBSD 520uvinclude_HEADERS += include/uv/bsd.h 521libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ 522 src/unix/bsd-proctitle.c \ 523 src/unix/kqueue.c \ 524 src/unix/openbsd.c \ 525 src/unix/posix-hrtime.c \ 526 src/unix/random-getentropy.c 527test_run_tests_LDFLAGS += -lutil 528endif 529 530if SUNOS 531uvinclude_HEADERS += include/uv/sunos.h 532libuv_la_CFLAGS += -D__EXTENSIONS__ \ 533 -D_XOPEN_SOURCE=500 \ 534 -D_REENTRANT 535libuv_la_SOURCES += src/unix/no-proctitle.c \ 536 src/unix/sunos.c 537endif 538 539if OS390 540libuv_la_CFLAGS += -D_UNIX03_THREADS \ 541 -D_UNIX03_SOURCE \ 542 -D_OPEN_SYS_IF_EXT=1 \ 543 -D_OPEN_MSGQ_EXT \ 544 -D_XOPEN_SOURCE_EXTENDED \ 545 -D_ALL_SOURCE \ 546 -D_LARGE_TIME_API \ 547 -D_OPEN_SYS_SOCK_EXT3 \ 548 -D_OPEN_SYS_SOCK_IPV6 \ 549 -D_OPEN_SYS_FILE_EXT \ 550 -DUV_PLATFORM_SEM_T=int \ 551 -DPATH_MAX=255 \ 552 -qCHARS=signed \ 553 -qXPLINK \ 554 -qFLOAT=IEEE 555libuv_la_LDFLAGS += -qXPLINK 556libuv_la_SOURCES += src/unix/os390.c \ 557 src/unix/os390-syscalls.c \ 558 src/unix/proctitle.c 559endif 560 561pkgconfigdir = $(libdir)/pkgconfig 562pkgconfig_DATA = @PACKAGE_NAME@.pc 563