summaryrefslogtreecommitdiff
path: root/setup
diff options
context:
space:
mode:
Diffstat (limited to 'setup')
-rw-r--r--setup519
1 files changed, 519 insertions, 0 deletions
diff --git a/setup b/setup
new file mode 100644
index 0000000000..b0779136a6
--- /dev/null
+++ b/setup
@@ -0,0 +1,519 @@
+#!/bin/sh
+#
+# +----------------------------------------------------------------------+
+# | PHP HTML Embedded Scripting Language Version 3.0 |
+# +----------------------------------------------------------------------+
+# | Copyright (c) 1997,1998 PHP Development Team (See Credits file) |
+# +----------------------------------------------------------------------+
+# | This program is free software; you can redistribute it and/or modify |
+# | it under the terms of one of the following licenses: |
+# | |
+# | A) the GNU General Public License as published by the Free Software |
+# | Foundation; either version 2 of the License, or (at your option) |
+# | any later version. |
+# | |
+# | B) the PHP License as published by the PHP Development Team and |
+# | included in the distribution in the file: LICENSE |
+# | |
+# | This program is distributed in the hope that it will be useful, |
+# | but WITHOUT ANY WARRANTY; without even the implied warranty of |
+# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+# | GNU General Public License for more details. |
+# | |
+# | You should have received a copy of both licenses referred to here. |
+# | If you did not, or have any questions about PHP licensing, please |
+# | contact core@php.net. |
+# +----------------------------------------------------------------------+
+# | Authors: Stig Sæther Bakken <ssb@guardian.no> |
+# | Updated By: Jim Winstead <jimw@php.net> |
+# | Ariel Shkedi <ars@ziplink.net> or <as@altavista.net> |
+# +----------------------------------------------------------------------+
+#
+# $Id$
+
+if [ "$1" = "-q" ]; then
+ quiet_mode=on
+ shift
+fi
+
+if [ `echo -e "\n" | wc -l` = 2 ]; then
+# bash supports echo -e for handling escape sequences
+ ECHO_CMD="echo -e"
+elif test -f /bin/echo; then
+ ECHO_CMD="/bin/echo"
+elif test -f /usr/bin/echo; then
+ ECHO_CMD="/usr/bin/echo"
+else
+# fall back to the default echo - \n would most probably be displayed as-is
+ ECHO_CMD="echo"
+fi
+
+if echo '\c' | grep -s c >/dev/null 2>&1
+then
+ ECHO_N="echo -n"
+ ECHO_C=""
+else
+ ECHO_N="echo"
+ ECHO_C='\c'
+fi
+
+echo '
+ ***************************************************************************
+ * *
+ * Welcome to the PHP 3.0 setup script. Use this script if you do not *
+ * want or know how to use the configure program. See the INSTALL file *
+ * for further installation instructions. *
+ * *
+ * You will now be asked a series of questions for your installation. *
+ * For each question, your options will be shown in parantheses, and *
+ * for some a default value is listed shown in brackets. *
+ * *
+ ***************************************************************************
+'
+
+display_prompt()
+{
+ prm=$1
+ shift
+ typ=$1
+ shift
+ def=$1
+ shift
+ $ECHO_N "$prm $ECHO_C"
+ case $typ in
+ yesno) $ECHO_N "(yes/no) $ECHO_C";;
+ yesnodir) $ECHO_N "(\`yes', \`no' or dir) $ECHO_C";;
+ dir) $ECHO_N "(dir) $ECHO_C";;
+ esac
+ if test "$typ" = "yesnodir"; then
+ set $def
+ def=$1
+ fi
+ $ECHO_N "[$def] : $ECHO_C"
+}
+
+define_option()
+{
+ if test "$#" != "5"; then
+ echo "wrong number of arguments to define_option" >&2
+ return
+ fi
+ name=$1
+ shift
+ prompt=$1
+ shift
+ type=$1
+ shift
+ default=$1
+ shift
+ docstring=$1
+ optname=`echo $name | sed -e 's/[^a-zA-Z0-9_]/_/g'`
+ options="$options $optname"
+ eval "option_name_$optname='$name'"
+ eval "option_prompt_$optname='$prompt'"
+ eval "option_type_$optname='$type'"
+ eval "option_default_$optname='$default'"
+ eval "option_docstring_$optname='$docstring'"
+ answer=""
+ if [ "$quiet_mode" != "on" ]; then
+ show_help "$optname" "$type" "$default"
+ fi
+ while test "$answer" = ""; do
+ display_prompt "$prompt" "$type" "$default"
+ read answer
+ test -t || echo $answer # Echo the answer if it did not come
+ # from a terminal.
+ if test "$type" = "yesnodir"; then
+ set $default
+ if test "$1" = "yes"; then
+ if test "$answer" = ""; then
+ answer=yes
+ fi
+ fi
+ case "$answer" in
+ */*) ;;
+ [Yy]*) dir=$2
+ shift
+ shift
+ $ECHO_N "Enter $@ directory [$dir] : $ECHO_C"
+ read answer
+ test -t || echo $answer
+ if test "$answer" = ""; then
+ answer=$dir
+ fi
+ ;;
+ esac
+ fi
+ if test "$answer" = ""; then
+ if test "$type" = "yesnodir"; then
+ set $default
+ answer=$1
+ else
+ answer=$default
+ fi
+ elif test "$answer" = "?"; then
+ show_help "$optname" "$type" "$default"
+ answer=""
+ fi
+ done
+ if test "$type" = "yesnodir"; then
+ set $default
+ if test $1 = "yes"; then
+ case "$answer" in
+ "$2") answer=yes;;
+ [Yy]*) answer=yes;;
+ [Nn]*) answer=no;;
+ esac
+ else
+ case "$answer" in
+ [Yy]*) answer=$2;;
+ [Nn]*) answer=no;;
+ esac
+ fi
+ elif test "$type" = "yesno"; then
+ case "$answer" in
+ [Yy]*) answer=yes;;
+ [Nn]*) answer=no;;
+ esac
+ fi
+ eval "option_value_$optname='$answer'"
+}
+
+show_help()
+{
+ echo ''
+ ( eval "$ECHO_CMD \$option_docstring_$1" ;
+ if test "$2" = "yesnodir"; then
+ set $3
+ echo "If you answer \`yes', the default directory is \`$2'."
+ fi )
+ echo ''
+}
+
+generate_config_command()
+{
+ configure_options=""
+ for optname in $options; do
+ eval "name=\$option_name_$optname"
+ eval "value=\$option_value_$optname"
+ eval "default=\$option_default_$optname"
+ set $default
+ if test "$value" != "$1"; then
+ if test "$value" != "$2"; then
+ configure_options="$configure_options --$name=$value"
+ else
+ configure_options="$configure_options --$name"
+ fi
+ fi
+ done
+ echo "./configure$configure_options"
+}
+
+# now define all the options
+
+define_option with-apache 'Build as an Apache module?' yesnodir \
+ 'no /usr/local/etc/httpd Apache base install' \
+' Whether to build PHP as an Apache module. If you are running\n
+ Apache, building PHP as a module will give better performance and\n
+ security. If you answer no PHP will be built as a CGI program.\n
+ The CGI version also enables Apache users to run different PHP3-enabled\n
+ pages under different user-ids.'
+
+define_option with-mod_charset 'Enable transfer tables used by mod_charset?' yesno no \
+' Whether to respect transfer tables used by mod_charset when PHP compiled\n
+ as Apache module. It is required to allow mod_charset (aka Russian Apache)\n
+ to work properly.'
+
+define_option with-fhttpd 'Build as an fhttpd module?' yesnodir \
+ 'no /usr/local/src/fhttpd fhttpd sources' \
+' Whether to build PHP as fhttpd module. If you are running\n
+ fhttpd, building PHP as a module will give better performance,\n
+ more control and remote execution capability. More info about fhttpd \n
+ can be found at http://phobos.illtel.denver.co.us/pub/fhttpd/.'
+
+define_option with-gd 'GD support?' yesnodir \
+ "yes /usr GD install" \
+' Whether to include GD support. If PHP can find the GD libraries\n
+ on your system, it will be included automatically. You should enter\n
+ something here if you do not want to include GD support or if you\n
+ have installed GD in some unusual directory.'
+
+define_option with-oracle 'Oracle support?' yesnodir \
+ "no $oradir Oracle home" \
+' Whether to build PHP with Oracle support. Has been confirmed to\n
+ work with Oracle versions 7.0 to 7.3. If you have not set up your\n
+ Oracle environment, enter what $ORACLE_HOME is usually set to here.\n
+ More info about Oracle can be found at http://www.oracle.com/.'
+
+define_option with-iodbc 'iODBC support?' yesnodir \
+ 'no /usr/local iODBC install' \
+' Whether to build PHP with iODBC support. This feature was first\n
+ developed for iODBC Driver Manager, a freely redistributable ODBC\n
+ driver manager which runs under many flavors of UNIX.\n
+ More info about iODBC can be found on the FreeODBC Pages at \n
+ http://users.ids.net/~bjepson/freeODBC/.'
+
+define_option with-openlink 'OpenLink ODBC support?' yesnodir \
+ 'no /usr/local/openlink OpenLink install' \
+' Whether to build PHP with OpenLink ODBC support. See
+ http://www.openlinksw.com/ for more information.'
+
+define_option with-adabas 'Adabas D support?' yesnodir \
+ 'no /usr/local Adabas D install root' \
+' Whether to build with Adabas D support.\n
+ More info about Adabas D can be found at http://www.adabas.com/.'
+
+define_option with-sybase 'Sybase support?' yesnodir \
+ 'no /home/sybase Sybase install' \
+' Whether to build PHP with Sybase support (DBLib only).\n
+ More info about Sybase can be found at http://www.sybase.com/.'
+
+define_option with-sybase-ct 'Sybase-CT support?' yesnodir \
+ 'no /home/sybase Sybase-CT install' \
+' Whether to build PHP with Sybase-CT support.'
+
+define_option with-mysql 'MySQL support?' yesnodir \
+ 'no /usr/local MySQL install' \
+' Whether to build PHP with MySQL support.\n
+ More info about MySQL can be found at http://www.tcx.se/.'
+
+define_option with-msql 'mSQL support?' yesnodir \
+ 'no /usr/local/Hughes mSQL install' \
+' Whether to build PHP with mSQL support. PHP supports both mSQL 1.0 and\n
+ mSQL 2.0. However, if you build PHP with mSQL 1.0 libraries, you will\n
+ only be able to access mSQL 1.0 databases, ditto for mSQL 2.0.\n
+ More info about mSQL can be found at http://www.hughes.com.au/.'
+
+define_option with-pgsql 'PostgreSQL support?' yesnodir \
+ 'no /usr/local/pgsql PostgreSQL base install' \
+' Whether to build PHP with PostgreSQL support.\n
+ More info about PostgreSQL can be found at\n
+ http://www.postgreSQL.org/.'
+
+define_option with-solid 'Solid support?' yesnodir \
+ 'no /usr/local/solid Solid install' \
+' Whether to build PHP with Solid support.\n
+ More information about Solid can be found at http://www.solidtech.com/.'
+
+define_option with-empress 'Empress support?' yesnodir \
+ "no $EMPRESSPATH Empress home" \
+' Whether to build PHP with Empress support. Has been confirmed to
+ work with Empress Version 8.10. If you have not set up your
+ Empress environment, enter what $EMPRESSPATH is usually set to here.
+ More info about Empress can be found at http://www.empress.com/.'
+
+define_option with-informix 'Informix support?' yesnodir \
+ "no $INFORMIXDIR Informix home" \
+' Whether to build PHP with Informix support. If you have not set up your\n
+ Informix environment, enter what $INFORMIXDIR is usually set to here.\n
+ You MUST set $INFORMIXDIR before trying to compile!\n
+ More info about Informix can be found at http://www.informix.com/.'
+
+define_option with-interbase 'InterBase support?' yesnodir \
+ 'no /usr/interbase InterBase base install' \
+' Whether to build PHP with InterBase support. More\n
+ information about InterBase can be found at http://www.interbase.com/.'
+
+define_option with-hyperwave 'Hyperwave support?' yesno no \
+' Whether to build with Hyperwave support. More\n
+ information about Hyperwave can be found at http://www.hyperwave.com.'
+
+define_option with-ldap 'LDAP support?' yesnodir \
+ 'no /usr/local/ldap LDAP base install' \
+' Whether to build with LDAP (Lightweight Directory Access Protocol)\n
+ support.\n
+ More information about LDAP can be found in RFC1777 and RFC1778.'
+
+define_option with-imap 'IMAP support?' yesnodir \
+ 'no /usr/local/imap IMAP base install' \
+' Whether to build with IMAP (Internet Message Access Protocol)\n
+ support.\n
+ More information about LDAP can be found in RFC1777 and RFC1778.'
+
+define_option with-velocis 'Velocis support?' yesnodir \
+ 'no /usr/local/velocis Velocis install' \
+' Whether to build PHP with Velocis support.\n
+ More information about Velocis can be found at http://www.raima.com/.'
+
+define_option with-custom-odbc 'custom ODBC support?' yesnodir \
+ 'no /usr/local CODBC install' \
+' Whether to build PHP with CODBC support. This feature was first
+ developed for Sybase SQL Anywhere 5.5 on QNX, but may be used for
+ any unknown ODBC driver on all flavors of UNIX.'
+
+if test "$option_value_with_iodbc" != "no" -o \
+ "$option_value_with_solid" != "no" -o \
+ "$option_value_with_adabas" != "no" -o \
+ "$option_value_with_velocis" != "no" -o \
+ "$option_value_with_custom_odbc" != "no"
+then
+define_option enable-unified-odbc 'Enable unified ODBC support?' yesno yes \
+' Whether to enabled the unified ODBC support. This is a database\n
+ module that compiles with the C API of several DBMSes that happen to\n
+ use ODBC as their C-API. Has been tested with iODBC, Solid, Adabas D,\n
+ Empress, and Sybase SQL Anywhere. Requires that some one (and only one)\n
+ specific ODBC module is enabled, or some custom ODBC library specified\n
+ instead.'
+fi
+
+define_option with-dbase 'dBase support? ' yesno no \
+' Whether to use the bundled dbase library.'
+
+define_option with-filepro 'filePro support? ' yesno no \
+' Whether to use the bundled filePro library. Read-access only.'
+
+define_option with-pdflib 'pdflib 0.6 support? ' yesnodir \
+ 'no /usr/local pdflib install' \
+' Whether to use the pdflib support to write .pdf-files.\n
+ Tested for version 0.6!'
+
+define_option with-fdftk 'Acrobat Forms (Ftf Toolkit 2.0) support? ' yesnodir \
+ 'no /usr/local ftktk install' \
+' Whether to use the Ftf Toolkit support to write/read .fdf-files.\n
+ Tested for version 2.0!'
+
+define_option with-zlib 'zlib (>= 1.0.9) support? ' yesnodir \
+ 'no /usr zlib install' \
+' Whether to use the zlib support to read/write .gz-files.\n
+ Requires zlib version >= 1.0.9!'
+
+define_option enable-sysvshm 'System V shared memory support? ' yesno no \
+' Whether to use the System V shared memory (currently only solaris and linux).'
+
+define_option enable-sysvsem 'System V semaphores support? ' yesno no \
+' Whether to use the System V semaphores (currently only solaris and linux).'
+
+
+define_option with-config-file-path 'Default config directory?' yesnodir \
+ 'no /usr/local/lib Configuration file' \
+' Directory where the PHP3 configuration file (php3.ini) is\n
+ located.'
+
+# systems should be system's
+define_option with-system-regex 'Use the system regex library?' yesno no \
+" Whether to use the systems regular expression library rather than\n
+ the bundled one. If you are building PHP3 as a server module, you must\n
+ use the same library when building PHP3 as when linking the server.\n
+ Enable this if the systems library provides special features you need.\n
+ It is recommended that you use the bundled library if possible."
+
+define_option enable-debug 'Compile with debug information?' yesno yes \
+' Whether to enable debug information. Answering "no" here will make\n
+ PHP run faster, but it will be harder to trace bugs. You are \n
+ encouraged to leave debugging on while PHP 3.0 is in alpha and \n
+ beta state.'
+
+define_option enable-safe-mode 'Enable safe mode by default?' yesno no \
+" Whether to enable PHP safe mode. This imposes several\n
+ restrictions on what PHP can do, such as opening only files within\n
+ the document root. Read the Security chapter of the documentation\n
+ for more information. CGI users should always enable secure mode.\n
+ This only sets the default, it may be enabled or disabled in the\n
+ configuration file later. "
+
+# broken configure.in doesn't check apache (bug?)
+#if test "$option_value_with_apache" != "no"; then
+# defexecdir="$option_value_with_apache/php-bin"
+#else
+ defexecdir=/usr/local/bin
+#fi
+
+define_option with-exec-dir 'Default safe mode exec dir?' dir "$defexecdir" \
+" The directory where executables that may be run from safe mode\n
+ are located."
+
+define_option enable-track-vars 'Enable variable tracking by default?' yesno \
+ no \
+' Enable the HTTP_GET_VARS, HTTP_POST_VARS and HTTP_COOKIE_VARS arrays by\n
+ default (can be turned on or off in the configuration file).'
+
+define_option enable-magic-quotes 'Enable magic quotes by default?' yesno no \
+' Whether to magic quotes by default. This can be changed in the\n
+ configuration file.'
+
+define_option enable-debugger 'Enable PHP remote debugger?' yesno no \
+" Whether to enable PHP remote debugging support. This feature\n
+ is still under development."
+
+define_option enable-bcmath 'Enable bc style precision math functions' yesno \
+ no \
+' Enables bc style arbitrary precision math functions.'
+
+# configure.in only checks these if it's a cgi so setup does the same
+if test "$option_value_with_apache" = "no"; then
+# outputing the bank line isn't really possible, but it would be nice
+define_option enable-force-cgi-redirect 'Enable redirect checking?' yesno no \
+' When using PHP as a CGI binary, this will make PHP always first check\n
+ that it is used by redirection (for example under Apache, by using\n
+ Action directives). This makes sure that the PHP binary cannot be used\n
+ to bypass standard web server authentication procedures by calling it\n
+ directly, like http://my.host/cgi-bin/php/secret/doc.html. This\n
+ example accesses http://my.host/secret/doc.html but does not honour\n
+ any security settings enforced by httpd for directory /secret.\n
+ \n
+ Not enabling this option disables the check and enables bypassing\n
+ httpd security and authentication settings. Do this only if your server\n
+ software is unable to indicate that a safe redirection was done and\n
+ all your files under your document root and user directories may be\n
+ accessed by anyone. (See the doc_root and user_dir options in the\n
+ configuartion file).'
+
+define_option enable-discard-path 'Enable discard path?' yesno no \
+' If this is enabled, the PHP CGI binary can safely be placed outside\n
+ of the web tree and people will not be able to circumvent .htaccess\n
+ security.'
+fi
+
+define_option enable-memory-limit 'Enable memory limit?' yesno no \
+' Compile with memory limit support.'
+
+define_option enable-short-tags 'Allow short tag by default?' yesno yes \
+" Whether to enable the short form of the PHP HTML embed tags.\n
+ The short form is \"<? code; ?>\", while the long form is\n
+ \"<?php code; ?>\". If you plan on using XML on your site, you\n
+ should disable the short form. This is the default and can be overridden\n
+ in the configuration file."
+
+define_option enable-url-fopen-wrapper 'Enable URL fopen wrappers?' yesno yes \
+" Enable the URL-aware fopen wrapper that allows accessing files via http\n
+ or ftp."
+
+# only the cgi version of PHP is installed to bindir
+if test "$option_value_with_apache" = "no"; then
+define_option bindir 'Install php in:' dir "/usr/local/bin" \
+" Directory where PHP should be installed."
+fi
+
+echo '
+
+ ***************************************************************************
+ * *
+ * Running configure... *
+ * *
+ ***************************************************************************
+'
+if test ! -f configure; then
+ autoconf
+fi
+
+command=`generate_config_command`
+mv do-conf do-conf.bak > /dev/null 2>&1
+echo $command > do-conf
+chmod +x do-conf
+echo $command
+eval $command
+
+echo '
+ ***************************************************************************
+ * *
+ * Configuration options were saved in do-conf, if desired you can *
+ * edit this file and then run it. Run ./configure --help for a list *
+ * of options. *
+ * *
+ * Read the INSTALL file for more information and for help in *
+ * configuring apache. See the web site at: http://www.php.net/ for *
+ * documentation and more. If desired copy the php3.ini-dist file to *
+ * your config directory/php3.ini and edit it. *
+ * *
+ ***************************************************************************
+'