diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 291 |
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." |