博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[BuildRelease]Mozilla Build Tools - Autoconf + GNU Make
阅读量:7105 次
发布时间:2019-06-28

本文共 2291 字,大约阅读时间需要 7 分钟。

一 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 Linux
sudo apt-get build-dep firefox
sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13
2) windows

下载安装: 

安装后目录结构:

mozilla-build

+---7zip
+---atlthunk_compat
+---blat261
+---emacs-22.3
+---hg
+---info-zip
+---kdiff3
+---moztools
+---moztools-180compat
+---moztools-x64
+---msys
+---nsis-2.22
+---nsis-2.33u
+---python25
+---svn-win32-1.6.3
+---upx203w
+---vim
+---guess-msvc.bat
+---start-msvc9.bat
\---wget

 

三 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 source
cd /d c:\firefoxbuild
hg clone http://hg.mozilla.org/mozilla-central/
cd mozilla-central
# Setup a basic mozconfig file
echo '. $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
# Build
make -f client.mk

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

. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debug
ac_add_options --enable-debug
ac_add_options --disable-optimize

 

- rebuild

# Get the latest source
hg pull -r default
hg update
# Build
make -f client.mk

 

三 参考

1)

2)

3)

 

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

 

 完!

转载地址:http://rqzhl.baihongyu.com/

你可能感兴趣的文章
anchor_target_layer中的bounding regression
查看>>
Linux下Jenkins服务器搭建
查看>>
pavenet资源
查看>>
致研究者:2018 AI 研究趋势
查看>>
006-unity3d GUI初识、贴图、自定义鼠标指针
查看>>
Set replication in Hadoop
查看>>
Linux - 进程与内存查看
查看>>
高性能爬虫——asynicio模块
查看>>
Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。
查看>>
分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
查看>>
VC++:ActiveX Test Container
查看>>
iOS知识点汇总
查看>>
butterknife用法总结
查看>>
Service Fabric本地开发部署修改数据目录
查看>>
Qt Md5应用示例
查看>>
tensorflow 笔记11:tf.nn.dropout() 的使用
查看>>
路由事件
查看>>
WPF实现选项卡效果(1)——使用AvalonDock
查看>>
字符 16进制 字节 关系
查看>>
C# 给现有PDF文档添加页眉、页脚
查看>>