{"id":1258,"date":"2010-12-20T18:35:56","date_gmt":"2010-12-20T17:35:56","guid":{"rendered":"http:\/\/glandium.org\/blog\/?p=1258"},"modified":"2010-12-20T18:35:56","modified_gmt":"2010-12-20T17:35:56","slug":"easy-firefox-on-xulrunner-builds","status":"publish","type":"post","link":"https:\/\/glandium.org\/blog\/?p=1258","title":{"rendered":"Easy Firefox-on-xulrunner builds"},"content":{"rendered":"<p>A lot of GNU\/Linux distributions prefer to build Firefox as a xulrunner application, which works most of the time, except for a few breakages now and then, most usually because of the misuse of <code>resource:\/\/\/<\/code> urls instead of <code>resource:\/\/gre\/<\/code>.<\/p>\n<p>While building distributions packages to check how Firefox-on-xulrunner goes can be complicated, it's actually pretty straightforward using the Mozilla build system.<\/p>\n<p>Just use the following <code>.mozconfig<\/code>, and start a build the usual way:<\/p>\n<blockquote><p><code>mk_add_options MOZ_BUILD_PROJECTS=\"xulrunner browser\"<br \/>\nmk_add_options MOZ_MAKE_FLAGS=-j<br \/>\nac_add_options --with-ccache<br \/>\nac_add_app_options browser --enable-application=browser<br \/>\nac_add_app_options browser --enable-default-toolkit=cairo-gtk2<br \/>\nac_add_app_options browser --with-libxul-sdk=..\/xulrunner\/dist<br \/>\nac_add_app_options browser --enable-chrome-format=jar<br \/>\nac_add_app_options xulrunner --enable-application=xulrunner<br \/>\nac_add_app_options xulrunner --enable-url-classifier<br \/>\n<\/code><\/p><\/blockquote>\n<p>A few notes about some of the options:<\/p>\n<ul>\n<li>You may adjust <code>MOZ_MAKE_FLAGS<\/code> and remove <code>--with-ccache<\/code><\/li>\n<li><code>--enable-default-toolkit=cairo-gtk2<\/code> is obviously a GNU\/Linux option. It may be replaced by the adequate toolkit for the platform you want to build for. It's only there to work around some shortcomings of the configure script and SDK (both of which should eventually be fixed).<\/li>\n<li><code>--enable-chrome-format=jar<\/code> is to be used because xulrunner doesn't support omni.jar yet (but will soon).<\/li>\n<li><code>--enable-url-classifier<\/code> is necessary because xulrunner doesn't include it by default, though Firefox does require it.<\/li>\n<\/ul>\n<p>Once your build is finished, you just run the Firefox executable in <code>$objdir\/browser\/dist\/bin<\/code>.<\/p>\n<p>PS: Maybe I should add that to the <a href=\"https:\/\/developer.mozilla.org\/en\/configuring_build_options\">MDN page about build options<\/a>, or some other place (?).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A lot of GNU\/Linux distributions prefer to build Firefox as a xulrunner application, which works most of the time, except for a few breakages now and then, most usually because of the misuse of resource:\/\/\/ urls instead of resource:\/\/gre\/. While building distributions packages to check how Firefox-on-xulrunner goes can be complicated, it&#8217;s actually pretty straightforward [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[23],"class_list":["post-1258","post","type-post","status-publish","format-standard","hentry","category-planet-mozilla","tag-en"],"_links":{"self":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1258","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1258"}],"version-history":[{"count":6,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1258\/revisions"}],"predecessor-version":[{"id":1267,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1258\/revisions\/1267"}],"wp:attachment":[{"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/glandium.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}