summaryrefslogtreecommitdiff
path: root/configure
blob: 69c1c6fcb53653350cb974c3f27c8dc67e31c5ef (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/sh

_usage="./configure -- configure the DGED build.

Options:
  --[enable|disable]-syntax    Enable or disable syntax highlighting support.
  --enable-asan                Build DGED with address sanitizer enabled.
  -h/--help                    Show this help text.
"

enable_syntax=1
enable_asan=0
prefix=
while [ "$#" -gt 0 ]; do
    case $1 in
         --disable-syntax)
            enable_syntax=0
            shift 1
            ;;

        --enable-syntax)
            enable_syntax=1
            shift 1
            ;;

        --enable-asan)
            enable_asan=1
            shift 1
            ;;

        --prefix)
            prefix="$2"
            shift 2
            ;;

        --prefix=*)
            prefix="${1#*=}"
            shift 1
            ;;

        -h|--help)
            echo "$_usage"
            exit
            ;;

        -*)
            echo "Unknown flag \"$1\". Usage:"
            echo "$_usage"
            exit 1
            ;;
        *)
            shift 1
            ;;
    esac
done


echo "/* Generated by configure */" > src/config.h
echo "#ifndef _CONFIG_H" >> src/config.h
echo "#define _CONFIG_H" >> src/config.h

echo "# generated by configure" > config.mk

echo -n "detecting event system... "
if ./scripts/has_header "sys/epoll.h"; then
    echo "epoll."
    echo "#define HAS_EPOLL 1" >> src/config.h
    echo "HAS_EPOLL ?= true" >> config.mk
elif ./scripts/has_header "sys/event.h"; then
    echo "kqueue."
    echo "#define HAS_KQUEUE 1" >> src/config.h
    echo "HAS_KQUEUE ?= true" >> config.mk
else
    echo "none."
fi

if [ "$enable_syntax" -ne 0 ]; then
    echo "enabling syntax highlighting"
    echo "SYNTAX_ENABLE = true" >> config.mk
else
    echo "disabling syntax highlighting"
    echo "SYNTAX_ENABLE = false" >> config.mk
fi

if [ "$enable_asan" -ne 0 ]; then
    echo "enabling address sanitizer"
    echo "ASAN = true" >> config.mk
fi

if [ -n "$prefix" ]; then
    echo "setting prefix to \"$prefix\""
    echo "prefix = $prefix" >> config.mk
fi

echo "#endif" >> src/config.h
echo "wrote src/config.h"
echo "wrote config.mk"