author | Joshua Cranmer <Pidgeot18@gmail.com> |
Tue, 26 Feb 2013 13:45:52 -0600 | |
changeset 123049 | 13ccc41033ec691658a2f08d88589b73c63a3ddb |
parent 123048 | 00ed3d264438713fe8450d6c713b1f2040ee33ea |
child 123050 | 4c8b199ed597e46d62c812f4c68e4ae97e9aee15 |
push id | 23636 |
push user | Pidgeot18@gmail.com |
push date | Tue, 26 Feb 2013 19:47:50 +0000 |
treeherder | mozilla-inbound@13ccc41033ec [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | glandium |
bugs | 648980 |
milestone | 22.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/build/autoconf/config.status.m4 +++ b/build/autoconf/config.status.m4 @@ -108,16 +108,22 @@ substs = [(name[1:-1], value[1:-1]) for EOF dnl The MOZ_DIVERSION_SUBST output diversion contains AC_SUBSTs, in the dnl expected format, but lacks the final comma (see above). sed 's/$/,/' >> $CONFIG_STATUS <<EOF undivert(MOZ_DIVERSION_SUBST)dnl EOF +dnl Add in the output from the subconfigure script +for ac_subst_arg in $_subconfigure_ac_subst_args; do + variable='$'$ac_subst_arg + echo " (''' $ac_subst_arg ''', r''' `eval echo $variable` ''')," >> $CONFIG_STATUS +done + cat >> $CONFIG_STATUS <<\EOF ] ] dnl List of files to apply AC_SUBSTs to. This is the list of files given dnl as an argument to AC_OUTPUT ($1) files = [ EOF
new file mode 100644 --- /dev/null +++ b/build/autoconf/subconfigure.m4 @@ -0,0 +1,46 @@ +dnl We are not running in a real autoconf environment. So we're using real m4 +dnl here, not the crazier environment that autoconf provides. + +dnl Autoconf expects [] for quotes; give it to them +changequote([, ]) + +dnl AC_DEFUN is provided to use instead of define in autoconf. Provide it too. +define([AC_DEFUN], [define($1, [$2])]) + +dnl AC_ARG_ENABLE(FEATURE, HELP-STRING, IF-TRUE[, IF-FALSE]) +dnl We have to ignore the help string due to how help works in autoconf... +AC_DEFUN([AC_ARG_ENABLE], +[#] Check whether --enable-[$1] or --disable-[$1] was given. +[if test "[${enable_]patsubst([$1], -, _)+set}" = set; then + enableval="[$enable_]patsubst([$1], -, _)" + $3 +ifelse([$4], , , [else + $4 +])dnl +fi +]) + +dnl AC_MSG_ERROR(error-description) +AC_DEFUN([AC_MSG_ERROR], [{ echo "configure: error: $1" 1>&2; exit 1; }]) + +AC_DEFUN([AC_MSG_WARN], [ echo "configure: warning: $1" 1>&2 ]) + +dnl Add the variable to the list of substitution variables +AC_DEFUN([AC_SUBST], +[ +_subconfigure_ac_subst_args="$_subconfigure_ac_subst_args $1" +]) + +dnl Override for AC_DEFINE. +AC_DEFUN([AC_DEFINE], +[ +cat >>confdefs.h <<\EOF +[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) +EOF +cat >> confdefs.pytmp <<\EOF + (''' $1 ''', ifelse($#, 2, [r''' $2 '''], $#, 3, [r''' $2 '''], ' 1 ')) +EOF +]) + +dnl AC_OUTPUT_SUBDIRS(subdirectory) +AC_DEFUN([AC_OUTPUT_SUBDIRS], [do_output_subdirs "$1"])
--- a/configure.in +++ b/configure.in @@ -4356,16 +4356,33 @@ AC_SUBST(MOZ_UPDATE_CHANNEL) AC_MSG_CHECKING([if app-specific confvars.sh exists]) if test -f "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" ; then AC_MSG_RESULT([${srcdir}/${MOZ_BUILD_APP}/confvars.sh]) . "${srcdir}/${MOZ_BUILD_APP}/confvars.sh" else AC_MSG_RESULT([no]) fi +# Allow the application to provide a subconfigure script +if test -f "${srcdir}/${MOZ_BUILD_APP}/configure.in" ; then + do_output_subdirs() { + if test -n "$_subconfigure_subdirs"; then + AC_MSG_ERROR([Cannot specify more than one sub-sub-configure]) + fi + _subconfigure_subdir="$1" + _subconfigure_config_args="$ac_configure_args" + } + tmpscript=`mktemp -t subscript.XXXXXX` || exit 1 + m4 "${srcdir}/build/autoconf/subconfigure.m4" \ + "${srcdir}/build/autoconf/altoptions.m4" \ + "${srcdir}/${MOZ_BUILD_APP}/configure.in" > $tmpscript + . $tmpscript + rm -f $tmpscript +fi + # Allow someone to change MOZ_APP_NAME and MOZ_APP_BASENAME in mozconfig MOZ_ARG_WITH_STRING(app-name, [--with-app-name=APPNAME sets MOZ_APP_NAME to APPNAME], WITH_APP_NAME=$withval, ) if test -n "$WITH_APP_NAME" ; then MOZ_APP_NAME="$WITH_APP_NAME" @@ -9201,16 +9218,24 @@ if test -z "$direct_nspr_config"; then HOST_CFLAGS="$_SUBDIR_HOST_CFLAGS" HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" RC= fi unset MAKEFILES unset CONFIG_FILES +# Run all configure scripts specified by a subconfigure +if test -n "$_subconfigure_subdir"; then + _save_ac_configure_args="$ac_configure_args" + ac_configure_args="$_subconfigure_config_args" + AC_OUTPUT_SUBDIRS("$_subconfigure_subdir") + ac_configure_args="$_save_ac_configure_args" +fi + # No need to run subconfigures when building with LIBXUL_SDK_DIR if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then export WRAP_LDFLAGS if test -n "$_WRAP_MALLOC"; then # Avoid doubling wrap malloc arguments _SUBDIR_CONFIG_ARGS="`echo $_SUBDIR_CONFIG_ARGS | sed -e 's/--enable-wrap-malloc *//'`"
--- a/js/src/build/autoconf/config.status.m4 +++ b/js/src/build/autoconf/config.status.m4 @@ -108,16 +108,22 @@ substs = [(name[1:-1], value[1:-1]) for EOF dnl The MOZ_DIVERSION_SUBST output diversion contains AC_SUBSTs, in the dnl expected format, but lacks the final comma (see above). sed 's/$/,/' >> $CONFIG_STATUS <<EOF undivert(MOZ_DIVERSION_SUBST)dnl EOF +dnl Add in the output from the subconfigure script +for ac_subst_arg in $_subconfigure_ac_subst_args; do + variable='$'$ac_subst_arg + echo " (''' $ac_subst_arg ''', r''' `eval echo $variable` ''')," >> $CONFIG_STATUS +done + cat >> $CONFIG_STATUS <<\EOF ] ] dnl List of files to apply AC_SUBSTs to. This is the list of files given dnl as an argument to AC_OUTPUT ($1) files = [ EOF
new file mode 100644 --- /dev/null +++ b/js/src/build/autoconf/subconfigure.m4 @@ -0,0 +1,46 @@ +dnl We are not running in a real autoconf environment. So we're using real m4 +dnl here, not the crazier environment that autoconf provides. + +dnl Autoconf expects [] for quotes; give it to them +changequote([, ]) + +dnl AC_DEFUN is provided to use instead of define in autoconf. Provide it too. +define([AC_DEFUN], [define($1, [$2])]) + +dnl AC_ARG_ENABLE(FEATURE, HELP-STRING, IF-TRUE[, IF-FALSE]) +dnl We have to ignore the help string due to how help works in autoconf... +AC_DEFUN([AC_ARG_ENABLE], +[#] Check whether --enable-[$1] or --disable-[$1] was given. +[if test "[${enable_]patsubst([$1], -, _)+set}" = set; then + enableval="[$enable_]patsubst([$1], -, _)" + $3 +ifelse([$4], , , [else + $4 +])dnl +fi +]) + +dnl AC_MSG_ERROR(error-description) +AC_DEFUN([AC_MSG_ERROR], [{ echo "configure: error: $1" 1>&2; exit 1; }]) + +AC_DEFUN([AC_MSG_WARN], [ echo "configure: warning: $1" 1>&2 ]) + +dnl Add the variable to the list of substitution variables +AC_DEFUN([AC_SUBST], +[ +_subconfigure_ac_subst_args="$_subconfigure_ac_subst_args $1" +]) + +dnl Override for AC_DEFINE. +AC_DEFUN([AC_DEFINE], +[ +cat >>confdefs.h <<\EOF +[#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) +EOF +cat >> confdefs.pytmp <<\EOF + (''' $1 ''', ifelse($#, 2, [r''' $2 '''], $#, 3, [r''' $2 '''], ' 1 ')) +EOF +]) + +dnl AC_OUTPUT_SUBDIRS(subdirectory) +AC_DEFUN([AC_OUTPUT_SUBDIRS], [do_output_subdirs "$1"])