xref: /OK3568_Linux_fs/yocto/meta-browser/meta-firefox/classes/mozilla.bbclass (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SECTION = "x11/utils"
2DEPENDS += "gnu-config-native virtual/libintl libxt libxi zip-native gtk+"
3
4SRC_URI += "file://mozconfig"
5
6inherit pkgconfig
7
8EXTRA_OECONF = "--target=${TARGET_SYS} --host=${BUILD_SYS} \
9                --with-toolchain-prefix=${TARGET_SYS}- \
10                --prefix=${prefix} \
11                --libdir=${libdir}"
12EXTRA_OECONF:append:arm = " --disable-elf-hack"
13EXTRA_OECONF:append:x86 = " --disable-elf-hack"
14EXTRA_OECONF:append:x86-64 = " --disable-elf-hack"
15SELECTED_OPTIMIZATION = "-Os -fsigned-char -fno-strict-aliasing"
16
17export CROSS_COMPILE = "1"
18export MOZCONFIG = "${B}/mozconfig"
19export MOZ_OBJDIR = "${S}/firefox-build-dir"
20
21export HOST_CC = "${BUILD_CC}"
22export HOST_CXX = "${BUILD_CXX}"
23export HOST_CFLAGS = "${BUILD_CFLAGS}"
24export HOST_CXXFLAGS = "${BUILD_CXXFLAGS}"
25export HOST_LDFLAGS = "${BUILD_LDFLAGS}"
26export HOST_RANLIB = "${BUILD_RANLIB}"
27export HOST_AR = "${BUILD_AR}"
28
29mozilla_run_mach() {
30	export SHELL="/bin/sh"
31	export RUSTFLAGS="${RUSTFLAGS} -Cpanic=unwind"
32	export RUST_HOST="${BUILD_SYS}"
33	export RUST_TARGET="${TARGET_SYS}"
34	export RUST_TARGET_PATH="${STAGING_LIBDIR_NATIVE}/rustlib"
35	export BINDGEN_MFLOAT="${@bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', '-mfloat-abi=hard', '', d)}"
36	export BINDGEN_CFLAGS="--target=${TARGET_SYS} --sysroot=${RECIPE_SYSROOT} ${BINDGEN_MFLOAT}"
37
38	export INSTALL_SDK=0
39	export DESTDIR="${D}"
40
41	./mach "$@"
42}
43
44mozilla_do_configure() {
45	install -D -m 0644 ${WORKDIR}/mozconfig ${MOZCONFIG}
46	if [ ! -z "${EXTRA_OECONF}" ] ; then
47		for f in ${EXTRA_OECONF}
48		do
49			echo ac_add_options $f >> ${MOZCONFIG}
50		done
51	fi
52	if [ ! -z "${PACKAGECONFIG_CONFARGS}" ] ; then
53		for f in ${PACKAGECONFIG_CONFARGS}
54		do
55			echo ac_add_options $f >> ${MOZCONFIG}
56		done
57	fi
58	echo ac_add_options --enable-optimize=\"${SELECTED_OPTIMIZATION}\" \
59		>> ${MOZCONFIG}
60
61	mozilla_run_mach configure
62}
63
64mozilla_do_compile() {
65	mozilla_run_mach build
66}
67
68mozilla_do_install() {
69	mozilla_run_mach install
70}
71
72EXPORT_FUNCTIONS do_configure do_compile do_install
73