[BuildRelease]Mozilla Build Tools - Autoconf + GNU Make

网友投稿 799 2022-10-14

[BuildRelease]Mozilla Build Tools - Autoconf + GNU Make

[BuildRelease]Mozilla Build Tools - Autoconf + GNU Make

一 Mozilla Build Tools

Mozilla 开源组织拥有很多伟大的跨平台产品,例如,Firefox, Thunderbird, Mozilla Suite / SeaMonkey, XULRunner, Sunbird, standalone Composer, standalone XPCOM, and standalone XPConnect。其中大部分的都是使用Mozilla build system来完成build的。

Mozilla build system是基于GNU Make 和 autoconf的。在Mozilla,make用来编译libraries和executables,为chrome创建jar文件,和拷贝文件。对于每个目录的make分为两个阶段:* export:拷贝公共的头文件到dist/include,和从IDL文件产生C++头文件;* libs:编译libraries,创建jar文件,和从IDL创建typelib文件;将make分为两个阶段从而解决了modules间的循环引用的问题。除了make,另一个非常重要的工具就是configure脚本,他在build的第一步运行。configure脚本决定了系统,编译器,和处理器的选项。configure包含以下重要的2步:* 从config/autoconf.mk.in产生autoconf.mk,此文件包含了控制全局build选项的变量;* 从Makefile.in产生的Makefiles文件,Makefile.in中的源代码路径被替换为真实的路径,从而使得Makefile能够正确地工作;configure脚本是bash shell脚本,是由M4语法描述的configure.in和Autoconf产生而来。

二 Mozilla Build Tools 的安装

1) Ubuntu Linuxsudo apt-get build-dep firefoxsudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13

2) windows

-安装: ​​Build Firefox

1) 先决条件

- Windows Xp with SP2 and .NET Framework 2.0

- Visual Studio 2008 or express

- Windows SDK

- Install Mozilla build tools (见上一)

2) Get code/build/rebuild- 从Mozilla build tools的安装目录下执行start-msvc9.bat;

- 在C:\firefoxbuild下-code,然后build# Get the sourcecd /d c:\firefoxbuildhg clone mozilla-central# Setup a basic mozconfig fileecho '. $topsrcdir/browser/config/mozconfig' > mozconfig                      # let's build Firefox...echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-release' >> mozconfig   # ...in this directory...echo 'mk_add_options MOZ_MAKE_FLAGS="-j4"' >> mozconfig# Buildmake -f client.mk

- 如果build debug,需要加入下例选项在mozconfig

. $topsrcdir/browser/config/mozconfigmk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debugac_add_options --enable-debugac_add_options --disable-optimize

- rebuild# Get the latest sourcehg pull -r defaulthg update# Buildmake -f client.mk

三 参考

1)​​build tools 可以被我们修改后用于跨平台产品的build!

完!

作者:iTech

github:​​https://github.com/cicdops/cicdops​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:FocusPHP- 微型 PHP 框架
下一篇:SpringMVC配置404踩坑记录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~