File: configure

package info (click to toggle)
bro-aux 0.42-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, sid, trixie
  • size: 1,104 kB
  • sloc: sh: 999; ansic: 943; ruby: 71; makefile: 68; perl: 35; cpp: 26
file content (186 lines) | stat: -rwxr-xr-x 5,103 bytes parent folder | download
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#!/bin/sh
#
# Wrapper for viewing/setting options that the plugin's CMake
# scripts will recognize.
#
# Don't edit this. Edit configure.plugin to add plugin-specific options.
#

set -e
command="$0 $*"

if [ -e `dirname $0`/configure.plugin ]; then
    # Include custom additions.
    . `dirname $0`/configure.plugin
fi

# Check for `cmake` command.
type cmake > /dev/null 2>&1 || {
    echo "\
This package requires CMake, please install it first, then you may
use this configure script to access CMake equivalent functionality.\
" >&2;
    exit 1;
}

usage() {

cat 1>&2 <<EOF
Usage: $0 [OPTIONS]

  Plugin Options:
    --bro-dist=DIR             Path to Bro source tree
    --install-root=DIR         Path where to install plugin into
    --with-binpac=DIR          Path to BinPAC installation root
    --with-broker=DIR          Path to Broker installation root
    --with-caf=DIR             Path to CAF installation root
    --with-bifcl=PATH          Path to bifcl executable
    --enable-debug             Compile in debugging mode
EOF

if type plugin_usage >/dev/null 2>&1; then
    plugin_usage 1>&2
fi

echo

exit 1
}

# Function to append a CMake cache entry definition to the
# CMakeCacheEntries variable
#   $1 is the cache entry variable name
#   $2 is the cache entry variable type
#   $3 is the cache entry variable value
append_cache_entry () {
    CMakeCacheEntries="$CMakeCacheEntries -D $1:$2=$3"
}

# set defaults
builddir=build
brodist=""
installroot="default"
CMakeCacheEntries=""

while [ $# -ne 0 ]; do
    case "$1" in
        -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
        *) optarg= ;;
    esac

    case "$1" in
        --help|-h)
            usage
            ;;

        --bro-dist=*)
            brodist=`cd $optarg && pwd`
            ;;

        --install-root=*)
            installroot=$optarg
            ;;

        --with-binpac=*)
            append_cache_entry BinPAC_ROOT_DIR PATH $optarg
            binpac_root=$optarg
            ;;

        --with-broker=*)
            append_cache_entry BROKER_ROOT_DIR PATH $optarg
            broker_root=$optarg
            ;;

        --with-caf=*)
            append_cache_entry CAF_ROOT_DIR PATH $optarg
            caf_root=$optarg
            ;;

        --with-bifcl=*)
            append_cache_entry BifCl_EXE PATH $optarg
            ;;

        --enable-debug)
            append_cache_entry BRO_PLUGIN_ENABLE_DEBUG         BOOL   true
            ;;

        *)
            if type plugin_option >/dev/null 2>&1; then
                plugin_option $1 && shift && continue;
            fi

            echo "Invalid option '$1'.  Try $0 --help to see available options."
            exit 1
            ;;
    esac
    shift
done

if [ -z "$brodist" ]; then
    if type bro-config >/dev/null 2>&1; then
        if bro-config --cmake_dir >/dev/null 2>&1; then
            # Have a newer version of bro-config that has needed flags
            append_cache_entry BRO_CONFIG_PREFIX PATH `bro-config --prefix`
            append_cache_entry BRO_CONFIG_INCLUDE_DIR PATH `bro-config --include_dir`
            append_cache_entry BRO_CONFIG_PLUGIN_DIR PATH `bro-config --plugin_dir`
            append_cache_entry BRO_CONFIG_CMAKE_DIR PATH `bro-config --cmake_dir`
            append_cache_entry CMAKE_MODULE_PATH PATH `bro-config --cmake_dir`

            build_type=`bro-config --build_type`

            if [ "$build_type" = "debug" ]; then
                append_cache_entry BRO_PLUGIN_ENABLE_DEBUG BOOL true
            fi

            if [ -z "$binpac_root" ]; then
                append_cache_entry BinPAC_ROOT_DIR PATH `bro-config --binpac_root`
            fi

            if [ -z "$broker_root" ]; then
                append_cache_entry BROKER_ROOT_DIR PATH `bro-config --broker_root`
            fi

            if [ -z "$caf_root" ]; then
                append_cache_entry CAF_ROOT_DIR PATH `bro-config --caf_root`
            fi
        else
            brodist=`bro-config --bro_dist 2> /dev/null`

            if [ ! -e "$brodist/bro-path-dev.in" ]; then
                echo "$brodist does not appear to be a valid Bro source tree."
                exit 1
            fi

            append_cache_entry BRO_DIST PATH $brodist
            append_cache_entry CMAKE_MODULE_PATH PATH $brodist/cmake
        fi
    else
        echo "Either 'bro-config' must be in PATH or '--bro-dist=<path>' used"
        exit 1
    fi
else
    if [ ! -e "$brodist/bro-path-dev.in" ]; then
      echo "$brodist does not appear to be a valid Bro source tree."
      exit 1
    fi

    append_cache_entry BRO_DIST PATH $brodist
    append_cache_entry CMAKE_MODULE_PATH PATH $brodist/cmake
fi

if [ "$installroot" != "default" ]; then
    mkdir -p $installroot
    append_cache_entry BRO_PLUGIN_INSTALL_ROOT PATH $installroot
fi

echo "Build Directory        : $builddir"
echo "Bro Source Directory   : $brodist"

mkdir -p $builddir
cd $builddir

cmake $CMakeCacheEntries ..

echo "# This is the command used to configure this build" > config.status
echo $command >> config.status
chmod u+x config.status