#!/bin/sh # # A wrapper around Autoconf that generates files to build PHP on *nix systems. MAKE=${MAKE:-make} force=0 debug=0 # Go to project root. cd $(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) eval $(grep '^PHP_EXTRA_VERSION=' configure.ac) case "$PHP_EXTRA_VERSION" in *-dev) dev=1 ;; *) dev=0 ;; esac while test $# -gt 0; do if test "$1" = "-h" || test "$1" = "--help"; then cat << HELP PHP buildconf A wrapper around the autoconf and autoheader that generate files for building PHP on *nix systems (configure, main/php_config.h.in, aclocal.m4...). The configure script is used to customize the PHP build based on the provided options and system. PHP releases downloaded from PHP.net already include the configure script so installing Autoconf and running buildconf is not needed. For the PHP sources from the Git repository, buildconf is used for generating a new configure script and required files. SYNOPSIS: buildconf [] OPTIONS: --force Clean cache and overwrite configure files. --debug Display warnings emitted by Autoconf. -h, --help Display this help. ENVIRONMENT: The following optional variables are supported: MAKE Overrides the path to make tool. MAKE=/path/to/make ./buildconf PHP_AUTOCONF Overrides the path to autoconf tool. PHP_AUTOCONF=/path/to/autoconf ./buildconf PHP_AUTOHEADER Overrides the path to autoheader tool. PHP_AUTOHEADER=/path/to/autoheader ./buildconf HELP exit 0 fi if test "$1" = "--force"; then force=1 fi if test "$1" = "--debug"; then debug=1 fi shift done if test "$dev" = "0" -a "$force" = "0"; then if test -f "configure"; then echo "The configure script has already been built for you. All done." echo "Run ./configure to proceed with customizing the PHP build." exit 0 else echo "Configure script is missing." >&2 echo "Run ./buildconf --force to create a configure script." >&2 exit 1 fi fi # Check if make exists. if ! test -x "$(command -v $MAKE)"; then echo "buildconf: make not found." >&2 echo " You need to have make installed to build PHP." >&2 exit 1 fi if test "$force" = "1"; then echo "buildconf: Forcing buildconf" echo "buildconf: Removing configure caches" rm -rf autom4te.cache config.cache fi echo "buildconf: Building configure files" rm -f generated_lists if test "$debug" = "1"; then $MAKE -s -f build/build.mk SUPPRESS_WARNINGS="" else $MAKE -s -f build/build.mk fi