mirror of
https://github.com/servo/servo.git
synced 2025-07-31 11:10:22 +01:00
Fix android build on Darwin.
This cleans up configure and Makefile.in so that things build correctly on Darwin.
This commit is contained in:
parent
4aaaf60d3f
commit
8fb3571bd9
3 changed files with 34 additions and 31 deletions
|
@ -60,10 +60,13 @@ export CXX=$(CFG_CXX)
|
||||||
export LD=$(CFG_LD)
|
export LD=$(CFG_LD)
|
||||||
export AR=$(CFG_AR)
|
export AR=$(CFG_AR)
|
||||||
export RANLIB=$(CFG_RANLIB)
|
export RANLIB=$(CFG_RANLIB)
|
||||||
|
export PYTHON=$(CFG_PYTHON2)
|
||||||
export PATH=$(CFG_PATH)
|
export PATH=$(CFG_PATH)
|
||||||
export CFG_ANDROID_SDK_PATH
|
export CFG_ANDROID_SDK_PATH
|
||||||
|
export CFG_ANDROID_NDK_PATH
|
||||||
export CFG_OSTYPE
|
export CFG_OSTYPE
|
||||||
export CFG_CPUTYPE
|
export CFG_CPUTYPE
|
||||||
|
export CFG_BUILD_HOME
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# Re-configuration
|
# Re-configuration
|
||||||
|
|
60
configure
vendored
60
configure
vendored
|
@ -337,14 +337,26 @@ fi
|
||||||
|
|
||||||
# Split target triple
|
# Split target triple
|
||||||
split_triple "${CFG_TARGET_TRIPLES}" TARGET_CPUTYPE TARGET_VENDOR TARGET_OSTYPE
|
split_triple "${CFG_TARGET_TRIPLES}" TARGET_CPUTYPE TARGET_VENDOR TARGET_OSTYPE
|
||||||
|
|
||||||
# Set target os and cpu type
|
# Set target os and cpu type
|
||||||
os_type CFG_OSTYPE ${TARGET_OSTYPE}
|
os_type CFG_OSTYPE ${TARGET_OSTYPE}
|
||||||
cpu_type CFG_CPUTYPE ${TARGET_CPUTYPE}
|
cpu_type CFG_CPUTYPE ${TARGET_CPUTYPE}
|
||||||
|
|
||||||
|
# probe before updating PATH so we don't get ndk-toolchain stuff
|
||||||
|
probe_need CFG_GIT git
|
||||||
|
probe_need CFG_PYTHON2 python2 python2.7 python
|
||||||
|
export PYTHON=${CFG_PYTHON2}
|
||||||
|
echo "exporting python = ${CFG_PYTHON2}"
|
||||||
|
# Spidermonkey requires autoconf 2.13 exactly
|
||||||
|
probe_need CFG_AUTOCONF213 autoconf213 \
|
||||||
|
autoconf2.13 \
|
||||||
|
autoconf-2.13
|
||||||
|
|
||||||
step_msg "looking for build programs"
|
step_msg "looking for build programs"
|
||||||
case ${TARGET_OSTYPE} in
|
case ${TARGET_OSTYPE} in
|
||||||
android)
|
android)
|
||||||
CFG_PATH="${CFG_ANDROID_CROSS_PATH}/bin":$PATH
|
CFG_PATH="${CFG_ANDROID_CROSS_PATH}/bin":$PATH
|
||||||
|
OLD_PATH=$PATH
|
||||||
export PATH=${CFG_PATH}
|
export PATH=${CFG_PATH}
|
||||||
|
|
||||||
probe CFG_CC arm-linux-androideabi-gcc
|
probe CFG_CC arm-linux-androideabi-gcc
|
||||||
|
@ -352,6 +364,8 @@ case ${TARGET_OSTYPE} in
|
||||||
probe CFG_LD arm-linux-androideabi-ld
|
probe CFG_LD arm-linux-androideabi-ld
|
||||||
probe CFG_AR arm-linux-androideabi-ar
|
probe CFG_AR arm-linux-androideabi-ar
|
||||||
probe CFG_RANLIB arm-linux-androideabi-ranlib
|
probe CFG_RANLIB arm-linux-androideabi-ranlib
|
||||||
|
|
||||||
|
export PATH=${OLD_PATH}
|
||||||
CFG_RUSTC_FLAGS="--target=${CFG_TARGET_TRIPLES} --android-cross-path=${CFG_ANDROID_CROSS_PATH}"
|
CFG_RUSTC_FLAGS="--target=${CFG_TARGET_TRIPLES} --android-cross-path=${CFG_ANDROID_CROSS_PATH}"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
@ -365,13 +379,7 @@ case ${TARGET_OSTYPE} in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
probe_need CFG_GIT git
|
|
||||||
probe_need CFG_PYTHON2 python2 python2.7 python
|
|
||||||
probe CFG_CLANG clang++
|
probe CFG_CLANG clang++
|
||||||
# Spidermonkey requires autoconf 2.13 exactly
|
|
||||||
probe_need CFG_AUTOCONF213 autoconf213 \
|
|
||||||
autoconf2.13 \
|
|
||||||
autoconf-2.13
|
|
||||||
|
|
||||||
CFG_BUILD_DIR="${CFG_BUILD_HOME}${CFG_TARGET_TRIPLES}/"
|
CFG_BUILD_DIR="${CFG_BUILD_HOME}${CFG_TARGET_TRIPLES}/"
|
||||||
make_dir "${CFG_BUILD_DIR}"
|
make_dir "${CFG_BUILD_DIR}"
|
||||||
|
@ -442,36 +450,21 @@ step_msg "running submodule autoconf scripts"
|
||||||
msg "configuring src/mozjs"
|
msg "configuring src/mozjs"
|
||||||
|
|
||||||
AUTOCONF213_M4_MACROS="$(dirname ${CFG_AUTOCONF213})/../share/$(basename ${CFG_AUTOCONF213})/"
|
AUTOCONF213_M4_MACROS="$(dirname ${CFG_AUTOCONF213})/../share/$(basename ${CFG_AUTOCONF213})/"
|
||||||
|
|
||||||
# Run the SpiderMonkey autoconf using autoconf 2.13
|
# Run the SpiderMonkey autoconf using autoconf 2.13
|
||||||
(cd ${CFG_SRC_DIR}src/support/spidermonkey/mozjs/js/src && "${CFG_AUTOCONF213}" -l "${AUTOCONF213_M4_MACROS}") || exit $?
|
(cd ${CFG_SRC_DIR}src/support/spidermonkey/mozjs/js/src && "${CFG_AUTOCONF213}" -l "${AUTOCONF213_M4_MACROS}") || exit $?
|
||||||
|
|
||||||
if [ $CFG_OSTYPE = "linux-androideabi" ]
|
if [ $CFG_OSTYPE = "linux-androideabi" ]
|
||||||
then
|
then
|
||||||
msg "configuring src/libexpat"
|
msg "configuring src/libexpat"
|
||||||
(cd ${CFG_SRC_DIR}src/platform/android/libexpat/expat && sh "buildconf.sh") || exit $?
|
(cd ${CFG_SRC_DIR}src/platform/android/libexpat/expat && sh "buildconf.sh") || exit $?
|
||||||
|
## expat is missing install-sh and other tools and doesn't use automake
|
||||||
|
## which is what creates it. use the ones from spidermonkey
|
||||||
|
for name in install-sh config.sub config.guess
|
||||||
|
do
|
||||||
|
cp ${CFG_SRC_DIR}src/support/spidermonkey/mozjs/js/src/build/autoconf/${name} ${CFG_SRC_DIR}src/platform/android/libexpat/expat/conftools/
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
# Pixman and cairo require some care to autoconf correctly for our in-tree build.
|
|
||||||
# The normal autogen.sh files mostly just run autoreconfig but we need more fine control
|
|
||||||
|
|
||||||
if [ $CFG_OSTYPE = "apple-darwin" ]
|
|
||||||
then
|
|
||||||
# pkg-config is installed in a different place on mac (via homebrew? not sure)
|
|
||||||
# and the way to set this seems to be calling aclocal by hand (instead of via autoreconf)
|
|
||||||
if [ -d "/usr/local/share/aclocal" ]
|
|
||||||
then
|
|
||||||
OSX_PKG_CONFIG_M4_MACROS="-I/usr/local/share/aclocal"
|
|
||||||
fi
|
|
||||||
if [ -d "/usr/share/aclocal" ]
|
|
||||||
then
|
|
||||||
OSX_PKG_CONFIG_M4_MACROS="-I/usr/share/aclocal"
|
|
||||||
fi
|
|
||||||
LIBTOOLIZE=glibtoolize
|
|
||||||
else
|
|
||||||
OSX_PKG_CONFIG_M4_MACROS=""
|
|
||||||
LIBTOOLIZE=libtoolize
|
|
||||||
fi
|
|
||||||
|
|
||||||
AUTOCMD="${LIBTOOLIZE} && autoconf && autoheader && automake --add-missing --copy --force"
|
|
||||||
# Copied from cairo's autogen.sh. Build fails without
|
|
||||||
|
|
||||||
CFG_SUBMODULES="\
|
CFG_SUBMODULES="\
|
||||||
support/alert/rust-alert \
|
support/alert/rust-alert \
|
||||||
|
@ -621,6 +614,11 @@ fi
|
||||||
export CFLAGS="${CFLAGS} -fPIC"
|
export CFLAGS="${CFLAGS} -fPIC"
|
||||||
export LDFLAGS="${CFLAGS} -fPIC"
|
export LDFLAGS="${CFLAGS} -fPIC"
|
||||||
|
|
||||||
|
if [ $CFG_BUILD_OSTYPE = "apple-darwin" ]
|
||||||
|
then
|
||||||
|
export LIBTOOLIZE=glibtoolize
|
||||||
|
fi
|
||||||
|
|
||||||
# cross compile configurations
|
# cross compile configurations
|
||||||
EXTRA_CONFIGURE_ARGS="CC=${CFG_CC} CXX=${CFG_CXX} LD=${CFG_LD} AR=${CFG_AR} RANLIB=${CFG_RANLIB}"
|
EXTRA_CONFIGURE_ARGS="CC=${CFG_CC} CXX=${CFG_CXX} LD=${CFG_LD} AR=${CFG_AR} RANLIB=${CFG_RANLIB}"
|
||||||
|
|
||||||
|
@ -643,6 +641,7 @@ do
|
||||||
if [ ${CFG_OSTYPE} = "linux-androideabi" ]; then
|
if [ ${CFG_OSTYPE} = "linux-androideabi" ]; then
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --target=arm-linux-androideabi"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --target=arm-linux-androideabi"
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-android-ndk=${CFG_ANDROID_NDK_PATH}"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-android-ndk=${CFG_ANDROID_NDK_PATH}"
|
||||||
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-android-toolchain=${CFG_ANDROID_CROSS_PATH}"
|
||||||
else
|
else
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-64bit"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --enable-64bit"
|
||||||
fi
|
fi
|
||||||
|
@ -650,7 +649,7 @@ do
|
||||||
support/nss/nss)
|
support/nss/nss)
|
||||||
if [ ${CFG_OSTYPE} = "linux-androideabi" ]; then
|
if [ ${CFG_OSTYPE} = "linux-androideabi" ]; then
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --host=arm-linux-androideabi"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --host=arm-linux-androideabi"
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --android-ndk-path=${CFG_ANDROID_NDK_PATH}"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --android-toolchain=${CFG_ANDROID_CROSS_PATH}"
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --android-api-version=14"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --android-api-version=14"
|
||||||
fi
|
fi
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} ${EXTRA_CONFIGURE_ARGS}"
|
||||||
|
@ -685,6 +684,7 @@ do
|
||||||
if [ ${CFG_OSTYPE} = "linux-androideabi" ]; then
|
if [ ${CFG_OSTYPE} = "linux-androideabi" ]; then
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --target=arm-linux-androideabi"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --target=arm-linux-androideabi"
|
||||||
CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-android-ndk=${CFG_ANDROID_NDK_PATH}"
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-android-ndk=${CFG_ANDROID_NDK_PATH}"
|
||||||
|
CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-android-toolchain=${CFG_ANDROID_CROSS_PATH}"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
support/azure/rust-azure)
|
support/azure/rust-azure)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4a9d0c799d12b10cd313b07a7ed6380698429e01
|
Subproject commit 949eb9848f4fa5f83756f3ab7fdf9b0d3f20d37f
|
Loading…
Add table
Add a link
Reference in a new issue