summaryrefslogtreecommitdiff
path: root/configure
blob: 0338441cad510e749d113f6f899e46947e523160 (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#!/bin/sh

VERSION=$(cat version)
DATE=$(date +%Y%m%d)

PREFIX_DEFAULT=/usr/local
BINDIR_DEFAULT="${PREFIX}/bin"
LIBDIR_DEFAULT="${PREFIX}/lib"
DOCDIR_DEFAULT="${PREFIX}/share/doc"
MANDIR_DEFAULT="${PREFIX}/share/man"

BINDIR_set=
LIBDIR_set=
DOCDIR_set=
MANDIR_set=

get_optval(){
    local ret
    case "$1" in
        --*=?*)
            echo "${1:9}"
            ret=0
            ;;
        *)
            echo "${2}"
            ret=1
            ;;
    esac
    return ${ret}
}

set_prefix() {
    local ret
    PREFIX=$(get_optval "$1" "$2")
    ret=$?
    [ -z "${BINDIR_set}" ] && BINDIR="${PREFIX}/bin"
    [ -z "${LIBDIR_set}" ] && LIBDIR="${PREFIX}/lib"
    [ -z "${DOCDIR_set}" ] && DOCDIR="${PREFIX}/share/doc"
    [ -z "${MANDIR_set}" ] && MANDIR="${PREFIX}/share/man"
    return ${ret}
}

set_bindir() {
    local ret
    BINDIR=$(get_optval "$1" "$2")
    ret=$?
    BINDIR_set=1
    return ${ret}
}

set_libdir() {
    local ret
    LIBDIR=$(get_optval "$1" "$2")
    ret=$?
    LIBDIR_set=1
    return ${ret}
}

set_docdir() {
    local ret
    DOCDIR=$(get_optval "$1" "$2")
    ret=$?
    DOCDIR_set=1
    return ${ret}
}

set_mandir() {
    local ret
    MANDIR=$(get_optval "$1" "$2")
    ret=$?
    MANDIR_set=1
    return ${ret}
}

do_help() {
    cat <<__EOF__
\`configure' configures ct-ng ${VERSION} to adapt to many kind of systems.

USAGE: ./configure [OPTION]...

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit                                                                                                                  
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [${PREFIX_DEFAULT}]

By default, \`make install' will install all the files in
\`${PREFIX_DEFAULT}/bin', \`${PREFIX_DEFAULT}/lib' etc.  You can specify
an installation prefix other than \`${PREFIX_DEFAULT}' using \`--prefix',
for instance \`--prefix=\${HOME}'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR           user executables [PREFIX/bin]
  --libdir=DIR           object code libraries [PREFIX/lib]
  --docdir=DIR           info documentation [PREFIX/share/doc]
  --mandir=DIR           man documentation [PREFIX/share/man]
__EOF__
}

while [ $# -ne 0 ]; do
    case "$1" in
        --prefix*)  set_prefix "$1" "$2" && shift || shift 2;;
        --bindir*)  set_bindir "$1" "$2" && shift || shift 2;;
        --libdir*)  set_libdir "$1" "$2" && shift || shift 2;;
        --docdir*)  set_docdir "$1" "$2" && shift || shift 2;;
        --mandir*)  set_mandir "$1" "$2" && shift || shift 2;;
        --help|-h)  do_help; exit 0;;
        *)          do_help; exit 1;;
    esac
done

[ -z "${PREFIX}" ] && set_prefix --prefix "${PREFIX_DEFAULT}"

sed -r -e "s,@@BINDIR@@,${BINDIR},g;"   \
       -e "s,@@LIBDIR@@,${LIBDIR},g;"   \
       -e "s,@@DOCDIR@@,${DOCDIR},g;"   \
       -e "s,@@MANDIR@@,${MANDIR},g;"   \
       -e "s,@@VERSION@@,${VERSION},g;" \
       -e "s,@@DATE@@,${DATE},g;"       \
        Makefile.in >Makefile