summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure291
1 files changed, 0 insertions, 291 deletions
diff --git a/configure b/configure
deleted file mode 100755
index 854366c8a..000000000
--- a/configure
+++ /dev/null
@@ -1,291 +0,0 @@
-#!/bin/sh -e
-# Licensed 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.
-
-# next steps:
-# try running this, figure out what to do with the vars in the generated files
-# in the bottom
-
-# cd into this script’s directory
-rootdir="$(cd "${0%/*}" 2>/dev/null; echo "$PWD")"
-basename=`basename $0`
-
-PACKAGE_AUTHOR_NAME="The Apache Software Foundation"
-
-# TEST=0
-WITH_CURL="false"
-WITH_PROPER="true"
-WITH_FAUXTON=1
-WITH_DOCS=1
-ERLANG_MD5="false"
-SKIP_DEPS=0
-
-COUCHDB_USER="$(whoami 2>/dev/null || echo couchdb)"
-SM_VSN="1.8.5"
-ARCH="$(uname -m)"
-
-. ${rootdir}/version.mk
-COUCHDB_VERSION=${vsn_major}.${vsn_minor}.${vsn_patch}
-
-display_help () {
- cat << EOF
-Usage: $basename [OPTION]
-
-The $basename command is responsible for generating the build
-system for Apache CouchDB.
-
-Options:
-
- -h | --help display a short help message and exit
- -u | --user USER set the username to run as (defaults to $COUCHDB_USER)
- -c | --with-curl request that couchjs is linked to cURL (default false)
- --disable-fauxton do not build Fauxton
- --disable-docs do not build any documentation or manpages
- --erlang-md5 use erlang for md5 hash operations
- --dev alias for --with-curl --disable-docs --disable-fauxton
- --spidermonkey-version VSN specify the version of SpiderMonkey to use (defaults to $SM_VSN)
- --skip-deps do not update erlang dependencies
- --rebar=PATH use rebar by specified path (version >=2.6.0 && <3.0 required)
-EOF
-}
-
-parse_opts() {
- while :; do
- case $1 in
- -h|--help)
- display_help
- exit
- ;;
-
- --with-curl|-c)
- WITH_CURL="true"
- shift
- continue
- ;;
-
- --without-proper)
- WITH_PROPER="false"
- shift
- continue
- ;;
-
- --disable-fauxton)
- WITH_FAUXTON=0
- shift
- continue
- ;;
-
- --disable-docs)
- WITH_DOCS=0
- shift
- continue
- ;;
-
- --erlang-md5)
- ERLANG_MD5="true"
- shift
- continue
- ;;
-
- --dev)
- WITH_DOCS=0
- WITH_FAUXTON=0
- WITH_CURL="true"
- shift
- continue
- ;;
-
- --skip-deps)
- SKIP_DEPS=1
- shift
- continue
- ;;
-
- --rebar)
- if [ -x "$2" ]; then
- version=`$2 --version 2> /dev/null | grep -o "2\.[6-9]\.[0-9]"`
- if [ $? -ne 0 ]; then
- printf 'Rebar >=2.6.0 and <3.0.0 required' >&2
- exit 1
- fi
- eval REBAR=$2
- shift 2
- continue
- else
- printf 'ERROR: "--rebar" requires valid path to executable.\n' >&2
- exit 1
- fi
- ;;
-
- --user|-u)
- if [ -n "$2" ]; then
- eval COUCHDB_USER=$2
- shift 2
- continue
- else
- printf 'ERROR: "--user" requires a non-empty argument.\n' >&2
- exit 1
- fi
- ;;
- --user=?*)
- eval COUCHDB_USER=${1#*=}
- ;;
- --user=)
- printf 'ERROR: "--user" requires a non-empty argument.\n' >&2
- exit 1
- ;;
-
- --spidermonkey-version)
- if [ -n "$2" ]; then
- eval SM_VSN=$2
- shift 2
- continue
- else
- printf 'ERROR: "--spidermonkey-version" requires a non-empty argument.\n' >&2
- exit 1
- fi
- ;;
- --spidermonkey-version=?*)
- eval SM_VSN=${1#*=}
- ;;
- --spidermonkey-version=)
- printf 'ERROR: "--spidermonkey-version" requires a non-empty argument.\n' >&2
- exit 1
- ;;
- --) # End of options
- shift
- break
- ;;
- -?*)
- echo "WARNING: Unknown option '$1', ignoring" >&2
- shift
- ;;
- *) # Done
- break
- esac
- shift
- done
-}
-
-parse_opts $@
-
-if [ "${ARCH}" = "aarch64" ] && [ "${SM_VSN}" != "1.8.5" ]
-then
- echo "ERROR: SpiderMonkey 60 is known broken on ARM 64 (aarch64). Use 1.8.5 instead."
- exit 1
-fi
-
-echo "==> configuring couchdb in rel/couchdb.config"
-cat > rel/couchdb.config << EOF
-% Licensed 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.
-%
-% The contents of this file are auto-generated by configure
-%
-{package_author_name, "$PACKAGE_AUTHOR_NAME"}.
-{prefix, "."}.
-{data_dir, "./data"}.
-{view_index_dir, "./data"}.
-{log_file, "$LOG_FILE"}.
-{fauxton_root, "./share/www"}.
-{user, "$COUCHDB_USER"}.
-{spidermonkey_version, "$SM_VSN"}.
-{node_name, "-name couchdb@127.0.0.1"}.
-{cluster_port, 5984}.
-{backend_port, 5986}.
-EOF
-
-cat > install.mk << EOF
-# Licensed 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.
-#
-# The contents of this file are auto-generated by configure
-#
-package_author_name = $PACKAGE_AUTHOR_NAME
-
-with_fauxton = $WITH_FAUXTON
-with_docs = $WITH_DOCS
-
-user = $COUCHDB_USER
-spidermonkey_version = $SM_VSN
-EOF
-
-cat > $rootdir/config.erl << EOF
-{with_curl, $WITH_CURL}.
-{with_proper, $WITH_PROPER}.
-{erlang_md5, $ERLANG_MD5}.
-{spidermonkey_version, "$SM_VSN"}.
-EOF
-
-install_local_rebar() {
- if [ ! -x "${rootdir}/bin/rebar" ]; then
- if [ ! -d "${rootdir}/src/rebar" ]; then
- git clone --depth 1 https://github.com/apache/couchdb-rebar.git ${rootdir}/src/rebar
- fi
- make -C ${rootdir}/src/rebar
- mv ${rootdir}/src/rebar/rebar ${rootdir}/bin/rebar
- make -C ${rootdir}/src/rebar clean
- fi
-}
-
-install_local_emilio() {
- if [ ! -x "${rootdir}/bin/emilio" ]; then
- if [ ! -d "${rootdir}/src/emilio" ]; then
- git clone --depth 1 https://github.com/cloudant-labs/emilio ${rootdir}/src/emilio
- fi
- cd ${rootdir}/src/emilio && ${REBAR} compile escriptize; cd ${rootdir}
- mv ${rootdir}/src/emilio/emilio ${rootdir}/bin/emilio
- chmod +x ${rootdir}/bin/emilio
- cd ${rootdir}/src/emilio && ${REBAR} clean; cd ${rootdir}
- fi
-}
-
-if [ -z "${REBAR}" ]; then
- install_local_rebar
- REBAR=${rootdir}/bin/rebar
-fi
-
-install_local_emilio
-
-# only update dependencies, when we are not in a release tarball
-if [ -d .git -a $SKIP_DEPS -ne 1 ]; then
- echo "==> updating dependencies"
- ${REBAR} get-deps update-deps
-fi
-
-# External repos frequently become integrated with the primary repo,
-# resulting in obsolete .git directories, and possible confusion.
-# It is usually a good idea to delete these .git directories.
-for path in $(find src -name .git -type d); do
- git ls-files --error-unmatch $(dirname $path) > /dev/null 2>&1 && \
- echo "WARNING unexpected .git directory $path"
-done
-
-echo "You have configured Apache CouchDB, time to relax. Relax."