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