diff options
Diffstat (limited to 'configure.ps1')
-rw-r--r-- | configure.ps1 | 230 |
1 files changed, 0 insertions, 230 deletions
diff --git a/configure.ps1 b/configure.ps1 deleted file mode 100644 index 65f8517d6..000000000 --- a/configure.ps1 +++ /dev/null @@ -1,230 +0,0 @@ -<# -.SYNOPSIS - Configures CouchDB for building. -.DESCRIPTION - This command is responsible for generating the build - system for Apache CouchDB. - - -WithCurl request that couchjs is linked to cURL (default false) - -DisableFauxton request build process skip building Fauxton (default false) - -DisableDocs request build process skip building documentation (default false) - -SkipDeps do not update Erlang dependencies (default false) - -CouchDBUser USER set the username to run as (defaults to current user) - -SpiderMonkeyVersion VSN select the version of SpiderMonkey to use (defaults to 1.8.5) - - Installation directories: - -Prefix PREFIX install architecture-independent files in PREFIX - [C:\Program Files\Apache\CouchDB] - -ExecPrefix EPREFIX install architecture-dependent files in EPREFIX - [same as PREFIX] - - Fine tuning of the installation directories: - -BinDir DIR user executables [EPREFIX\bin] - -LibexecDir DIR program executables [EPREFIX\libexec] - -LibDir DIR object code libraries [EPREFIX\lib] - -SysconfDir DIR read-only single-machine data [PREFIX\etc] - -DataRootDir DIR read-only arch.-independent data root [PREFIX\share] - -LocalStateDir DIR modifiable single-machine data [PREFIX\var] - -RunStateDir DIR modifiable single-machine runstate data [LOCALSTATEDIR\run] - -DatabaseDir DIR specify the data directory [LOCALSTATEDIR\lib] - -ViewindexDir DIR specify the view directory [LOCALSTATEDIR\lib] - -LogDir DIR specify the log directory [LOCALSTATEDIR\log] - -DataDir DIR read-only architecture-independent data [DATAROOTDIR] - -ManDir DIR man documentation [DATAROOTDIR\man] - -DocDir DIR documentation root [DATAROOTDIR\doc\apache-couchdb] - -HTMLDir DIR html documentation [DOCDIR\html] -.LINK - http://couchdb.apache.org/ -#> - -#REQUIRES -Version 2.0 -[cmdletbinding()] - -Param( - [switch]$Test = $false, - [switch]$WithCurl = $false, # request that couchjs is linked to cURL (default false) - [switch]$DisableFauxton = $false, # do not build Fauxton - [switch]$DisableDocs = $false, # do not build any documentation or manpages - [switch]$SkipDeps = $false, # do not update erlang dependencies - - [ValidateNotNullOrEmpty()] - [string]$CouchDBUser = [Environment]::UserName, # set the username to run as (defaults to current user) - [ValidateNotNullOrEmpty()] - [string]$SpiderMonkeyVersion = "1.8.5", # select the version of SpiderMonkey to use (default 1.8.5) - [ValidateNotNullOrEmpty()] - [string]$Prefix = "C:\Program Files\Apache\CouchDB", # install architecture-independent file location (default C:\Program Files\Apache\CouchDB) - [ValidateNotNullOrEmpty()] - [string]$ExecPrefix = $Prefix, # install architecture-dependent file location (default C:\Program Files\Apache\CouchDB) - [ValidateNotNullOrEmpty()] - [string]$BinDir = "$ExecPrefix\bin", # user executable file location (default $ExecPrefix\bin) - [ValidateNotNullOrEmpty()] - [string]$LibExecDir = "$ExecPrefix\libexec", # user executable file location (default $ExecPrefix\libexec) - [ValidateNotNullOrEmpty()] - [string]$LibDir = "$ExecPrefix\lib", # object code libraries (default $ExecPrefix\lib) - [ValidateNotNullOrEmpty()] - - [Alias("EtcDir")] - [string]$SysConfDir = "$Prefix\etc", # read-only single-machine data (default $Prefix\etc) - [ValidateNotNullOrEmpty()] - [string]$DataRootDir = "$Prefix\share", # read-only arch.-independent data root (default $Prefix\share) - - [ValidateNotNullOrEmpty()] - [string]$LocalStateDir = "$Prefix\var", # modifiable single-machine data (default $Prefix\var) - [ValidateNotNullOrEmpty()] - [string]$RunStateDir = "$LocalStateDir\run", # modifiable single-machine run state (default $LocalStateDir\run) - [ValidateNotNullOrEmpty()] - [string]$DatabaseDir = "$LocalStateDir\lib", # database directory (default $LocalStateDir\lib) - [ValidateNotNullOrEmpty()] - [string]$ViewIndexDir = "$LocalStateDir\lib", # database view index directory (default $LocalStateDir\lib) - [ValidateNotNullOrEmpty()] - [string]$LogDir = "$LocalStateDir\log", # logging directory (default $LocalStateDir\log) - - [ValidateNotNullOrEmpty()] - [string]$DataDir = "$DataRootDir", # read-only arch.-independent data (default $DataRootDir) - [ValidateNotNullOrEmpty()] - [string]$ManDir = "$DataRootDir\man", # man documentation (default $DataRootDir\man) - [ValidateNotNullOrEmpty()] - - [string]$DocDir = "$DataRootDir\doc\apache-couchdb", # man documentation (default $DataRootDir\doc\apache-couchdb) - [ValidateNotNullOrEmpty()] - [string]$HTMLDir = "$DocDir\html" # html documentation (default $DocDir\html) -) - - -# determine this script’s directory and change to it -$rootdir = split-path -parent $MyInvocation.MyCommand.Definition -Push-Location $rootdir -[Environment]::CurrentDirectory = $PWD - -# We use this for testing this script -# The test script lives in test/build/test-configure.sh -If ($Test) { - Write-Output @" -"$Prefix" "$ExecPrefix" "$BinDir" "$LibExecDir" "$SysConfDir" "$DataRootDir" "$DataDir" "$LocalStateDir" "$RunStateDir" "$DocDir" "$LibDir" "$DatabaseDir" "$ViewIndexDir" "$LogDir" "$ManDir" "$HTMLDir" -"@ - exit 0 -} - -# Translate ./configure variables to CouchDB variables -$PackageAuthorName="The Apache Software Foundation" -$InstallDir="$LibDir\couchdb" -$LogFile="$LogDir\couch.log" -$BuildFauxton = [int](-not $DisableFauxton) -$BuildDocs = [int](-not $DisableDocs) -$Hostname = [System.Net.Dns]::GetHostEntry([string]"localhost").HostName - -Write-Verbose "==> configuring couchdb in rel\couchdb.config" -$CouchDBConfig = @" -% 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, "$PackageAuthorName"}. -{prefix, "."}. -{data_dir, "./data"}. -{view_index_dir, "./data"}. -{log_file, ""}. -{fauxton_root, "./share/www"}. -{user, "$CouchDBUser"}. -{spidermonkey_version, "$SpiderMonkeyVersion"}. -{node_name, "-name couchdb@localhost"}. -{cluster_port, 5984}. -{backend_port, 5986}. -"@ -$CouchDBConfig | Out-File "$rootdir\rel\couchdb.config" -encoding ascii - -#TODO: Output MS NMake file format? Stick with GNU Make? -$InstallMk = @" -# 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 = $PackageAuthorName -install_dir = $InstallDir - -bin_dir = $BinDir -libexec_dir = $LibExecDir\couchdb -doc_dir = $DocDir\couchdb -sysconf_dir = $SysConfDir\couchdb -data_dir = $DataDir\couchdb - -database_dir = $DatabaseDir -view_index_dir = $ViewIndexDir -log_file = $LogFile - -html_dir = $HTMLDir -man_dir = $ManDir - -with_fauxton = $BuildFauxton -with_docs = $BuildDocs - -user = $CouchDBUser -spidermonkey_version = $SpiderMonkeyVersion -"@ -$InstallMk | Out-File "$rootdir\install.mk" -encoding ascii - -$lowercurl = "$WithCurl".ToLower() -$ConfigERL = @" -{with_curl, $lowercurl}. -{spidermonkey_version, "$SpiderMonkeyVersion"}. -"@ -$ConfigERL | Out-File "$rootdir\config.erl" -encoding ascii - -# check for rebar; if not found, build it and add it to our path -if ((Get-Command "rebar.cmd" -ErrorAction SilentlyContinue) -eq $null) -{ - Write-Verbose "==> rebar.cmd not found; bootstrapping..." - if (-Not (Test-Path "src\rebar")) - { - git clone --depth 1 https://github.com/apache/couchdb-rebar.git $rootdir\src\rebar - } - cmd /c "cd src\rebar && $rootdir\src\rebar\bootstrap.bat" - cp $rootdir\src\rebar\rebar $rootdir\bin\rebar - cp $rootdir\src\rebar\rebar.cmd $rootdir\bin\rebar.cmd - make -C $rootdir\src\rebar clean - $env:Path += ";$rootdir\bin" -} - -# check for emilio; if not found, get it and build it -if ((Get-Command "emilio.cmd" -ErrorAction SilentlyContinue) -eq $null) -{ - Write-Verbose "==> emilio.cmd not found; bootstrapping..." - if (-Not (Test-Path "src\emilio")) - { - git clone --depth 1 https://github.com/wohali/emilio $rootdir\src\emilio - } - cmd /c "cd $rootdir\src\emilio && rebar compile escriptize; cd $rootdir" - cp $rootdir\src\emilio\emilio $rootdir\bin\emilio - cp $rootdir\src\emilio\bin\emilio.cmd $rootdir\bin\emilio.cmd - cmd /c "cd $rootdir\src\emilio && rebar clean; cd $rootdir" -} - -# only update dependencies, when we are not in a release tarball -if ( (Test-Path .git -PathType Container) -and (-not $SkipDeps) ) { - Write-Verbose "==> updating dependencies" - rebar get-deps update-deps -} - -Pop-Location -[Environment]::CurrentDirectory = $PWD -Write-Verbose "You have configured Apache CouchDB, time to relax. Relax." |