| #!/bin/sh |
| # |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # 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 |
| 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=`cd ../../.. && pwd` |
| 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-openssl=*) |
| append_cache_entry OpenSSL_ROOT_DIR PATH $optarg |
| ;; |
| *) |
| 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 [ ! -e "$brodist/bro-path-dev.in" ]; then |
| echo "Cannot determine Bro source directory, use --bro-dist=DIR." |
| exit 1 |
| fi |
| |
| append_cache_entry BRO_DIST PATH $brodist |
| append_cache_entry CMAKE_MODULE_PATH PATH $brodist/cmake |
| |
| 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 |