Commit Graph

115 Commits

Author SHA1 Message Date
Ben Noordhuis
75dea933eb build: support out of tree builds
Invoking make with builddir_name=/path/to/dir builds libuv in the
designated directory.
2013-01-29 17:07:25 +01:00
Ben Noordhuis
01fe4e73a6 build: add OS= make switch
Overrides the platform detection heuristic. Useful for cross-compiling.
2013-01-29 14:44:13 +01:00
Ben Noordhuis
9eedd32e40 build: make clean target remove libuv.{a,so,dylib} 2013-01-09 17:26:21 +01:00
Vlad Tudose
4b115f89bf build: build libuv.a and libuv.so in different dirs
Fixes #659.
2012-12-19 15:34:19 +01:00
Ben Noordhuis
b4168cd697 build: rename LINKFLAGS to LDFLAGS 2012-12-08 08:06:12 +01:00
Ben Noordhuis
7306c5ff46 build: fix make libuv.so CFLAGS=<options>
Running a make target that builds the shared object while overriding the CFLAGS
variable from the command line, would fail with a relocation error:

   relocation R_X86_64_32 against `.text' can not be used when making a shared
   object; recompile with -fPIC

Fix that by adding -fPIC unconditionally.
2012-12-08 08:04:08 +01:00
Ben Noordhuis
172d495bb8 build: fix dragonflybsd build, link with libkvm 2012-11-19 23:57:29 +01:00
Ben Noordhuis
3e9344fd34 build: remove unused EV_CONFIG var 2012-11-19 23:53:41 +01:00
Ben Noordhuis
665a316aa9 unix: remove libev 2012-11-16 17:33:29 +01:00
Ben Noordhuis
62332ea090 build: fix make test on darwin and sunos 2012-11-10 01:43:42 +01:00
Ben Noordhuis
20eaa84c4f build: link test runner with -rpath
Link the test runner with -rpath=/path/to/libuv.so, don't muck around with
LD_LIBRARY_PATH.
2012-11-09 02:19:07 +01:00
Ben Noordhuis
43d52c77ba test: make make test link against .so 2012-11-08 18:28:57 +01:00
Ben Noordhuis
cc36fd0366 build: support building a .so
This commit adds support to the regular Makefile as opposed to the gyp build.
2012-11-08 18:28:27 +01:00
Ben Noordhuis
47b2cd31c9 build: rename uv.a to libuv.a 2012-10-11 14:32:06 +02:00
Ben Noordhuis
b60a24a206 unix: remove libeio 2012-10-01 22:53:59 +02:00
Ben Noordhuis
74999f8f99 unix: port fs and work api to new thread pool 2012-10-01 22:53:59 +02:00
Ben Noordhuis
f35a4b628a unix: add custom thread pool 2012-10-01 22:53:59 +02:00
Ben Noordhuis
7ac23ee0c6 unix: move getaddrinfo code to getaddrinfo.c 2012-09-28 08:05:53 +02:00
Andrew Paprocki
900ad30b43 aix: add initial platform support for aix using gcc/gxlc
Adds initial libuv build/platform support for AIX. Builds work using gcc or the
IBM XL C compiler using its gxlc wrapper. Platform support is added for
uv_hrtime, uv_exepath, uv_get_free_memory, uv_get_total_memory, uv_loadavg,
uv_uptime, uv_cpu_info, uv_interface_addresses.
2012-09-14 01:23:28 +02:00
Fedor Indutny
f8e7513a06 darwin: use FSEvents to watch directory changes 2012-09-12 23:38:57 +02:00
Shigeki Ohtsu
57e6113683 unix: support missing api on NetBSD 2012-09-11 17:23:43 +02:00
Ben Noordhuis
ee50db6e36 unix, windows: preliminary signal handler support
* a no-op on Windows for now
* only supports the main loop on UNIX (again, for now)
2012-08-10 02:00:07 +02:00
Bert Belder
41b1265af8 Rip out c-ares 2012-08-07 01:04:26 +02:00
Bert Belder
a069956996 Remove c-ares integrations 2012-08-07 01:03:52 +02:00
Bert Belder
32f93e14cb Add libuv-ified versions of inet_pton and inet_ntop 2012-08-07 01:03:47 +02:00
Ben Noordhuis
e132075738 unix: rename linux/core.c to linux/linux-core.c
Newer versions of gyp do not support files with the same basenames (example:
core.c and linux/core.c).

The nominal reason is consistency across build systems. Apparently, msbuild
doesn't support it either.

Somewhere, someplace, baby Jesus cries sad little tears...

Fixes #464.
2012-06-22 18:40:54 +02:00
Ben Noordhuis
cc7c8542a5 unix, windows: add stat() based file watcher
Monitors a file path for changes. Supersedes ev_stat.
2012-05-31 20:32:24 +02:00
Ben Noordhuis
cff2221fbf unix: split up loop.c
Move prepare/check/idle watcher code to loop-watcher.c so it can be reused for
the linux backend.
2012-05-23 23:47:06 +02:00
Bert Belder
c06edd4c88 windows, unix: share c-ares glue code 2012-05-22 16:11:22 +02:00
Ben Noordhuis
9efa8b3571 unix, windows: rework reference counting scheme
This commit changes how the event loop determines if it needs to stay alive.

Previously, an internal counter was increased whenever a handle got created
and decreased again when the handle was closed.

While conceptually simple, it turned out hard to work with: you often want
to keep the event loop alive only if the handle is actually doing something.
Stopped or inactive handles were a frequent source of hanging event loops.

That's why this commit changes the reference counting scheme to a model where
a handle only references the event loop when it's active. 'Active' means
different things for different handle types, e.g.:

 * timers: ticking
 * sockets: reading, writing or listening
 * processes: always active (for now, subject to change)
 * idle, check, prepare: only active when started

This commit also changes how the uv_ref() and uv_unref() functions work: they
now operate on the level of individual handles, not the whole event loop.

The Windows implementation was done by Bert Belder.
2012-05-17 07:07:53 +02:00
Bert Belder
d60d94e0c3 Unix: implement uv_poll 2012-05-03 15:52:56 +02:00
Aaron Bieber
109dcb28b2 build: make "make test" work on OpenBSD 2012-04-25 03:57:49 -07:00
Ben Noordhuis
68bed698fc unix: move loop init logic out of core.c 2012-04-04 05:54:39 -07:00
Ben Noordhuis
5a59e4924a unix: move idle code from core.c to idle.c 2012-04-04 05:25:34 +02:00
Ben Noordhuis
dd31265751 unix: move check code from core.c to check.c 2012-04-04 05:25:34 +02:00
Ben Noordhuis
f1a19e6d34 unix: move prepare code from core.c to prepare.c 2012-04-04 05:25:34 +02:00
Ben Noordhuis
f7359a335c unix: move async code from core.c to async.c 2012-04-04 05:25:34 +02:00
Ben Noordhuis
fd987a26fe unix: move timer code from core.c to timer.c 2012-04-04 05:25:27 +02:00
Ben Noordhuis
c733cb807d build: sort source files 2012-04-04 05:12:02 +02:00
Ben Noordhuis
396d1383fe Merge branch 'v0.6' 2012-04-02 23:50:27 +02:00
Ben Noordhuis
9c8f6dd4f9 build: define _DARWIN_USE_64_BIT_INODE=1 on OS X
Fixes a segmentation fault on some OS X systems due to sizeof(struct stat)
mismatches.
2012-04-02 23:49:53 +02:00
Ben Noordhuis
685b36ba66 linux: tidy up syscall code 2012-03-31 00:19:01 +00:00
Vladimir Dronnikov
2b3ba91eb9 build: make make clean really clean 2012-03-27 16:14:06 +02:00
Ben Noordhuis
a93dc7ef11 build: link against libdl on linux 2012-03-05 15:36:27 +01:00
Shigeki Ohtsu
b55801f225 win, unix: add uv_dlerror() and uv_dlerror_free() 2012-03-02 16:39:21 +01:00
Ben Noordhuis
d3efefb043 linux: share inotify fd across event loop
Previously, a new inotify fd was created for each watcher, making it quite easy
to run into the system-wide fs.inotify.max_user_instances limit (usually 128).

Fixes #300.
2012-02-23 09:21:30 -08:00
Ben Noordhuis
ec37d05d66 Revert "build: compile with -D__DARWIN_64_BIT_INO_T on OS X"
This reverts commit 01fbe7bf37.

__DARWIN_64_BIT_INO_T is a no-op in most cases and might be actively harmful in
some others.
2011-12-01 21:02:29 +01:00
Ben Noordhuis
01fbe7bf37 build: compile with -D__DARWIN_64_BIT_INO_T on OS X
Fixes a struct stat size mismatch on 64 bits machines that made Node crash with
a EXC_BAD_ACCESS on startup.

Solution proposed by Paddy Byers.
2011-11-18 21:16:24 +01:00
Frank Denis
89ea3be6c2 Add support for DragonFly BSD by sharing code for FreeBSD. 2011-11-13 19:46:24 +01:00
Ben Noordhuis
e4d6509211 build: compile in dl.c on unix 2011-10-29 01:12:15 +02:00