mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-04 04:58:00 +00:00
Bug 648980 - Add a hook for projects to have custom configure scripts. r=glandium
--HG-- extra : rebase_source : e020071adc89e07fd45d468aabe518027df7ba44
This commit is contained in:
parent
c629a41d09
commit
d381f677ac
@ -113,6 +113,12 @@ 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
|
||||
] ]
|
||||
|
||||
|
46
build/autoconf/subconfigure.m4
Normal file
46
build/autoconf/subconfigure.m4
Normal file
@ -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"])
|
25
configure.in
25
configure.in
@ -4361,6 +4361,23 @@ 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],
|
||||
@ -9206,6 +9223,14 @@ 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
|
||||
|
||||
|
@ -113,6 +113,12 @@ 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
|
||||
] ]
|
||||
|
||||
|
46
js/src/build/autoconf/subconfigure.m4
Normal file
46
js/src/build/autoconf/subconfigure.m4
Normal file
@ -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"])
|
Loading…
x
Reference in New Issue
Block a user