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