steve3d
小狐狸
小狐狸
  • UID40163
  • 注册日期2013-10-30
  • 最后登录2013-10-31
  • 发帖数3
  • 经验4枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
阅读:3554回复:11

到底怎么样的设置才能自动编译pgo优化的版本啊?

楼主#
更多 发布于:2013-10-30 16:09
我用下面的.mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@
mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options MOZ_PGO=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options AUTOCLOBBER=1

# Options for 'configure' (same as command-line options).
#ac_add_options --target=x86_64-pc-mingw32
#ac_add_options --host=x86_64-pc-mingw32
ac_add_options --with-windows-version=601
ac_add_options --enable-application=browser
ac_add_options --enable-update-channel=release
ac_add_options --enable-update-packaging
ac_add_options '--enable-optimize=-O1isy -GF -GL -arch:AVX -fp:precise -Qpar'
ac_add_options --enable-ui-locale=zh-CN
ac_add_options --with-l10n-base=..
ac_add_options --enable-jemalloc
ac_add_options --enable-official-branding
ac_add_options --enable-shared-js


但是configure完了之后, obj目录里面就没有 _profile 这个目录, 我记得以前的版本这样就可以compile出pgo的了, 现在不行了?

另, make -f client.mk profiledbuild目前已经不支持了, 必须用build/pymake/make.py -f client.mk profiledbuild, 但这样也不行, compile完第一遍之后就提示Makefile里没有pgo-profile-run的target.

到底现在的版本, ff-24/25怎么样才能在windows下面compile pgo?
teredarguiterep
千年狐狸
千年狐狸
  • UID39204
  • 注册日期2012-12-20
  • 最后登录2018-06-10
  • 发帖数1028
  • 经验615枚
  • 威望4点
  • 贡献值288点
  • 好评度105点
  • 社区居民
  • 忠实会员
1楼#
发布于:2013-10-30 16:16
PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py' 模式已经被废弃。
详见client.mk 中的profiledbuild
teredarguiterep
千年狐狸
千年狐狸
  • UID39204
  • 注册日期2012-12-20
  • 最后登录2018-06-10
  • 发帖数1028
  • 经验615枚
  • 威望4点
  • 贡献值288点
  • 好评度105点
  • 社区居民
  • 忠实会员
2楼#
发布于:2013-10-30 16:19
此外,官方只支持pymake
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
3楼#
发布于:2013-10-30 16:20
disable-tests去掉
自动pgo在某个版本之后依赖tests的Makefile
http://pcxfirefox.wordpress.com/
teredarguiterep
千年狐狸
千年狐狸
  • UID39204
  • 注册日期2012-12-20
  • 最后登录2018-06-10
  • 发帖数1028
  • 经验615枚
  • 威望4点
  • 贡献值288点
  • 好评度105点
  • 社区居民
  • 忠实会员
4楼#
发布于:2013-10-30 16:25
pcx提醒了我,定义pgo-profile-run的makefile在tests里,自己修改一下就好了。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2025-08-05
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
5楼#
发布于:2013-10-30 16:26
teredarguiterep:此外,官方只支持pymake回到原帖
题外话,pymake不就是为了能在win环境下使用Makefile,现在make又不兼容了。为什么不用scons或者cmake
teredarguiterep
千年狐狸
千年狐狸
  • UID39204
  • 注册日期2012-12-20
  • 最后登录2018-06-10
  • 发帖数1028
  • 经验615枚
  • 威望4点
  • 贡献值288点
  • 好评度105点
  • 社区居民
  • 忠实会员
6楼#
发布于:2013-10-30 16:30
fiag:题外话,pymake不就是为了能在win环境下使用Makefile,现在make又不兼容了。为什么不用scons或者cmake回到原帖
不清楚具体决定过程。但火狐的编译系统是比较复杂的,也许是无法满足某些要求,就像现在mc还依赖autoconf2.13
steve3d
小狐狸
小狐狸
  • UID40163
  • 注册日期2013-10-30
  • 最后登录2013-10-31
  • 发帖数3
  • 经验4枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
7楼#
发布于:2013-10-30 16:45
那到底要怎么写.mozconfig呢?
另外, 是继续用build/pymake/make.py -f client.mk profiledbuild还是用 build/pymake/make.py -f client.mk build?
teredarguiterep
千年狐狸
千年狐狸
  • UID39204
  • 注册日期2012-12-20
  • 最后登录2018-06-10
  • 发帖数1028
  • 经验615枚
  • 威望4点
  • 贡献值288点
  • 好评度105点
  • 社区居民
  • 忠实会员
8楼#
发布于:2013-10-30 16:48
steve3d:那到底要怎么写.mozconfig呢?
另外, 是继续用build/pymake/make.py -f client.mk profiledbuild还是用 build/pymake/make.py -f client.mk build?
回到原帖
把disabled test从mozconfig中删掉,两条命令都可以。
steve3d
小狐狸
小狐狸
  • UID40163
  • 注册日期2013-10-30
  • 最后登录2013-10-31
  • 发帖数3
  • 经验4枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
9楼#
发布于:2013-10-30 16:53
倒, 我这.mozconfig里面本身就没有disable-tests啊
teredarguiterep
千年狐狸
千年狐狸
  • UID39204
  • 注册日期2012-12-20
  • 最后登录2018-06-10
  • 发帖数1028
  • 经验615枚
  • 威望4点
  • 贡献值288点
  • 好评度105点
  • 社区居民
  • 忠实会员
10楼#
发布于:2013-10-30 16:59
steve3d:倒, 我这.mozconfig里面本身就没有disable-tests啊回到原帖
修改client.mk应该可以改回原来的模式。但很久没用自动pgo了,不行你问pcx吧
-    MOZ_PGO_INSTRUMENTED=1 JARLOG_FILE=jarlog/en-US.log EXTRA_TEST_ARGS=10 $(MAKE) -C $(PGO_OBJDIR) pgo-profile-run
+   MOZ_PGO_INSTRUMENTED=1 JARLOG_FILE=jarlog/en-US.log $(PROFILE_GEN_SCRIPT)
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
11楼#
发布于:2013-10-30 17:43
mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'

改为
mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(TOPSRCDIR)/build/pgo/profileserver.py'

看看Makefile就知道了,现在已经不复制pgo文件夹了

难道就不能把PROFILE_GEN_SCRIPT这行和MOZ_OBJDIR去掉吗,非想重定向?

把MOZ_OBJDIR去掉是因为
ifdef MOZ_OBJDIR
  PGO_OBJDIR = $(MOZ_OBJDIR)
else
  PGO_OBJDIR := $(TOPSRCDIR)
endif
http://pcxfirefox.wordpress.com/
游客

返回顶部