about summary refs log tree commit diff
path: root/configure
blob: aaba04d1b4799deaed7fedb41f2f61db1af3bf05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/sh

evloop=POLL

for arg in "$@"; do
    case "$arg" in
    --with-evloop-method=*)
        evloop=`echo $arg | sed 's/--with-evloop-method=//'`
        ;;

    --help|-h|*)
        echo 'usage: ./configure [options]'
        echo 'options:'
        echo '  --with-evloop-method=<option>: select evloop method (EPOLL,POLL,KQUEUE)'
        echo '  --help: show this'
        exit 0
        ;;
    esac
done

case "$evloop" in
	POLL|EPOLL|KQUEUE)
		sed -i "s/DEVLOOP_.*/DEVLOOP_$evloop/g" config.mk
		case "$evloop" in
			POLL)
				sed -i "s|filter-out .*|filter-out evloop/epoll.c evloop/kqueue.c, \${EVLOOP_SRC}}|g" config.mk
				;;

			EPOLL)
				sed -i "s|filter-out .*|filter-out evloop/poll.c evloop/kqueue.c, \${EVLOOP_SRC}}|g" config.mk
				;;

			KQUEUE)
				sed -i "s|filter-out .*|filter-out evloop/poll.c evloop/epoll.c, \${EVLOOP_SRC}}|g" config.mk
				;;
		esac
		;;

	*)
		sed -i "s/DEVLOOP_.*/DEVLOOP_NONE/g" config.mk
		sed -i "s|filter-out .*|filter-out evloop/poll.c evloop/epoll.c evloop/kqueue.c, \${EVLOOP_SRC}}|g" config.mk
		;;
esac