fennec: add skeletor to build fennec, the mobile browser from mozilla
authorKoen Kooi <koen@openembedded.org>
Tue, 2 Sep 2008 21:11:00 +0000 (21:11 +0000)
committerKoen Kooi <koen@openembedded.org>
Tue, 2 Sep 2008 21:11:00 +0000 (21:11 +0000)
mozilla.bbclass: fixup do_configure

classes/mozilla.bbclass
packages/mozilla/fennec/.mtn2git_empty [new file with mode: 0644]
packages/mozilla/fennec/arm/.mtn2git_empty [new file with mode: 0644]
packages/mozilla/fennec/arm/mozconfig [new file with mode: 0644]
packages/mozilla/fennec/mozconfig [new file with mode: 0644]
packages/mozilla/fennec_hg.bb [new file with mode: 0644]

index 84c83eb..c9a3966 100644 (file)
@@ -38,8 +38,10 @@ mozilla_do_configure() {
                        `dirname $cg`/
                done
        )
-       oe_runmake -f client.mk ${MOZ_OBJDIR}/Makefile \
-                               ${MOZ_OBJDIR}/config.status
+       if [ -e ${MOZ_OBJDIR}/Makefile ] ; then 
+               oe_runmake -f client.mk ${MOZ_OBJDIR}/Makefile \
+                                       ${MOZ_OBJDIR}/config.status
+       fi
 }
 
 mozilla_do_compile() {
diff --git a/packages/mozilla/fennec/.mtn2git_empty b/packages/mozilla/fennec/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/mozilla/fennec/arm/.mtn2git_empty b/packages/mozilla/fennec/arm/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/mozilla/fennec/arm/mozconfig b/packages/mozilla/fennec/arm/mozconfig
new file mode 100644 (file)
index 0000000..0e25c7e
--- /dev/null
@@ -0,0 +1,10 @@
+mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
+mk_add_options AUTOCONF=autoconf2.13
+
+ac_add_options --disable-javaxpcom
+
+ac_add_app_options xulrunner --with-arm-kuser
+ac_add_app_options xulrunner --enable-application=xulrunner
+
+ac_add_app_options mobile --enable-application=mobile
diff --git a/packages/mozilla/fennec/mozconfig b/packages/mozilla/fennec/mozconfig
new file mode 100644 (file)
index 0000000..f4b2c5a
--- /dev/null
@@ -0,0 +1,25 @@
+# Options for client.mk.
+mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mobilebase
+
+# Global options
+#ac_add_options --enable-debug
+#ac_add_options --disable-optimize
+#ac_add_options --enable-logging
+#ac_cv_visibility_pragma=no
+
+#ac_add_options --enable-timeline
+
+# XULRunner options
+ac_add_app_options xulrunner --enable-application=xulrunner
+ac_add_app_options xulrunner --disable-javaxpcom
+
+# mobile options
+ac_add_app_options mobile --enable-application=mobile
+ac_add_app_options mobile --with-libxul-sdk=../xulrunner/dist
+
+# configure will be automatically generated using the 'autoconf-2.13'
+# command.  If autoconf-2.13 isn't the right name for your system, as
+# is the case on OS X using MacPorts, use the real command name as
+# demonstrated below.
+mk_add_options AUTOCONF=autoconf2.13
diff --git a/packages/mozilla/fennec_hg.bb b/packages/mozilla/fennec_hg.bb
new file mode 100644 (file)
index 0000000..8aeca90
--- /dev/null
@@ -0,0 +1,42 @@
+DEPENDS += "cairo"
+
+PV = "0.0"
+
+SRC_URI = "hg://hg.mozilla.org/;module=mozilla-central;rev=d14db8996980 \
+           hg://hg.mozilla.org/;module=mobile-browser;rev=60dd20721284 \
+           file://jsautocfg.h \
+"
+
+S = "${WORKDIR}/mozilla-central"
+
+inherit mozilla
+require firefox.inc
+
+export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
+FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+
+do_configure_prepend() {
+       if [ -e ${WORKDIR}/mobile-browser ] ; then
+               mv ${WORKDIR}/mobile-browser ${S}/mobile
+       fi      
+       oe_runmake -f client.mk CONFIGURE_ARGS="${EXTRA_OECONF}" configure
+}
+
+do_compile_prepend() {
+       cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
+       sed -i "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" security/coreconf/Linux.mk
+}
+
+do_stage() {
+        install -d ${STAGING_INCDIR}/fennec-${PV}
+        cd dist/sdk/include
+               rm -rf obsolete
+        headers=`find . -name "*.h"`
+        for f in $headers
+        do
+                install -D -m 0644 $f ${STAGING_INCDIR}/fennec-${PV}/
+        done
+        # removes 2 lines that call absent headers
+        sed -e '178,179d' ${STAGING_INCDIR}/fennec-${PV}/nsIServiceManager.h
+}
+