aboutsummaryrefslogtreecommitdiff
path: root/docs/code
diff options
context:
space:
mode:
Diffstat (limited to 'docs/code')
-rw-r--r--docs/code/.gitignore3
-rw-r--r--docs/code/Makefile82
-rw-r--r--docs/code/default-loop/main.c12
3 files changed, 97 insertions, 0 deletions
diff --git a/docs/code/.gitignore b/docs/code/.gitignore
new file mode 100644
index 00000000..c46ecde4
--- /dev/null
+++ b/docs/code/.gitignore
@@ -0,0 +1,3 @@
+*/*
+!*.c
+!*.h
diff --git a/docs/code/Makefile b/docs/code/Makefile
new file mode 100644
index 00000000..0526e8c2
--- /dev/null
+++ b/docs/code/Makefile
@@ -0,0 +1,82 @@
+examples=\
+ helloworld\
+ default-loop\
+ idle-basic\
+ uvcat\
+ uvtee\
+ onchange\
+ thread-create\
+ queue-work\
+ progress\
+ tcp-echo-server\
+ dns\
+ udp-dhcp\
+ idle-compute\
+ ref-timer\
+ spawn\
+ detach\
+ proc-streams\
+ cgi\
+ pipe-echo-server\
+ multi-echo-server\
+ tty\
+ tty-gravity\
+ interfaces\
+ locks \
+ signal \
+ uvstop \
+ queue-cancel
+
+UV_PATH=$(shell pwd)/../..
+UV_LIB=$(UV_PATH)/.libs/libuv.a
+CFLAGS=-g -Wall -I$(UV_PATH)/include
+LIBS=
+
+uname_S=$(shell uname -s)
+
+ifeq (Darwin, $(uname_S))
+CFLAGS+=-framework CoreServices
+SHARED_LIB_FLAGS=-bundle -undefined dynamic_lookup -o plugin/libhello.dylib
+endif
+
+ifeq (Linux, $(uname_S))
+LIBS=-lrt -ldl -lm -pthread -lcurl
+SHARED_LIB_FLAGS=-shared -Wl,-soname,libhello.so -o plugin/libhello.so
+PLUGIN_EXE_FLAGS=-Wl,-export-dynamic
+endif
+
+
+all: $(examples) plugin/plugin proc-streams/test cgi/tick multi-echo-server/worker uvwget/uvwget
+
+$(examples): % : %/main.c
+ gcc $(CFLAGS) -o $@/$@ $< $(UV_LIB) $(LIBS)
+
+plugin: plugin/plugin
+plugin/plugin: plugin/*.c
+ gcc $(CFLAGS) $(PLUGIN_EXE_FLAGS) -o plugin/plugin plugin/main.c $(UV_LIB) $(LIBS)
+ gcc -g -Wall -c -fPIC -o plugin/hello.o plugin/hello.c
+ gcc $(SHARED_LIB_FLAGS) plugin/hello.o
+
+proc-streams/test: proc-streams/test.c
+ gcc -g -Wall -o proc-streams/test proc-streams/test.c
+
+cgi/tick: cgi/tick.c
+ gcc -g -Wall -o cgi/tick cgi/tick.c
+
+multi-echo-server/worker: multi-echo-server/worker.c
+ gcc $(CFLAGS) -o multi-echo-server/worker multi-echo-server/worker.c $(UV_LIB) $(LIBS)
+
+uvwget: uvwget/uvwget
+uvwget/uvwget: uvwget/main.c
+ gcc $(CFLAGS) `curl-config --cflags --libs` -o uvwget/uvwget uvwget/main.c $(UV_LIB) $(LIBS)
+
+clean:
+ for dir in $(examples); do cd $$dir; rm -f $$dir; rm -rf $$dir.dSYM; cd ..; done
+ rm -rf plugin/*.o plugin/libhello.*
+ rm -rf plugin/plugin plugin/plugin.dSYM
+ rm -rf proc-streams/test proc-streams/test.dSYM
+ rm -rf cgi/tick cgi/tick.dSYM
+ rm -rf multi-echo-server/worker multi-echo-server/worker.dSYM
+ rm -rf uvwget/uvwget uvwget/uvwget.dSYM
+
+.PHONY: clean all $(examples) plugin uvwget
diff --git a/docs/code/default-loop/main.c b/docs/code/default-loop/main.c
new file mode 100644
index 00000000..e00a4d2b
--- /dev/null
+++ b/docs/code/default-loop/main.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+#include <uv.h>
+
+int main() {
+ uv_loop_t *loop = uv_default_loop();
+
+ printf("Default loop.\n");
+ uv_run(loop, UV_RUN_DEFAULT);
+
+ uv_loop_close(loop);
+ return 0;
+}