Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7440|回复: 1

相关产品编译配置相关选项

[复制链接]

257

主题

354

帖子

1677

积分

金牌会员

Rank: 6Rank: 6

积分
1677
发表于 2016-2-23 22:48:34 | 显示全部楼层 |阅读模式
相关存放路径如:
..\comm-release\mail\config\mozconfigs\win32

更多参考:https://developer.mozilla.org/en ... uring_Build_Options

编译方法:
  1. export MOZCONFIG=/path/to/mozilla/mozconfig-thunderbird
  2. ./mach build
复制代码
回复

使用道具 举报

3

主题

7

帖子

19

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
19
发表于 2016-12-9 18:05:08 | 显示全部楼层
//输出目录自定义
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tb_rel
//中文编译
ac_add_options --with-l10n-base=/D/svn/code/thunderbird17.0.8/mail/locales/zh-CN
ac_add_options --enable-ui-locale=zh-CN
//debug编译
ac_add_options --disable-optimize
ac_add_options --enable-debug
//64位编译
ac_add_options --target=x86_64-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32


ac_add_options --disable-tests
不添加测试模块


ebug模式:
ac_add_options --disable-optimize
ac_add_options --enable-debug
ac_add_options --enable-debug-symbols
ac_add_options --enable-trace-malloc

特殊的调试选项
ac_add_options --enable-functiontimer 可以用于看代码瓶颈
ac_add_options  --enable-timeline

如果编译时没有指定 “ac_add_option --disable-logging”(关闭运行时的log),则可以通过以下方式打开本地log
带log的运行方式,在thunderbird.exe同级目录下新建bat:
  1. set NSPR_LOG_MODULES=all:5
  2. set NSPR_LOG_FILE=mylog.log // 每次运行都会重新覆盖。
  3. thunderbird.exe
  4. pause
复制代码
NSPR_LOG_MODULES也支持指定的模块,如:
NSPR_LOG_MODULES=POP3:4,SMTP:4
POP:3,前面是模块定义,可以参看各自模块的PR_NewLogModule的定义; 后面的数字可以是0到5
更详细的信息见 "prlog.h"
  1. https://wiki.mozilla.org/MailNews:Logging#Windows
  2. http://forums.mozillazine.org/viewtopic.php?f=28&t=2378891
复制代码
码目录运行: configure --help > confhelp.txt
Usage: configure [options] [host]
Options: [defaults in brackets after descriptions]
Configuration:
  --cache-file=FILE       cache test results in FILE
  --help                  print this message
  --no-create             do not create output files
  --quiet, --silent       do not print `checking...' messages
  --version               print the version of autoconf that created configure
Directory and file names:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [same as prefix]
  --bindir=DIR            user executables in DIR [EPREFIX/bin]
  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
  --datadir=DIR           read-only architecture-independent data in DIR
                          [PREFIX/share]
  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
                          [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
  --includedir=DIR        C header files in DIR [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
  --infodir=DIR           info documentation in DIR [PREFIX/info]
  --mandir=DIR            man documentation in DIR [PREFIX/man]
  --srcdir=DIR            find the sources in DIR [configure dir or ..]
  --program-prefix=PREFIX prepend PREFIX to installed program names
  --program-suffix=SUFFIX append SUFFIX to installed program names
  --program-transform-name=PROGRAM
                          run sed PROGRAM on installed program names
Host type:
  --build=BUILD           configure for building on BUILD [BUILD=HOST]
  --host=HOST             configure for HOST [guessed]
  --target=TARGET         configure for TARGET [TARGET=HOST]
Features and packages:
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --x-includes=DIR        X include files are in DIR
  --x-libraries=DIR       X library files are in DIR
--enable and --with options recognized:
  --disable-compile-environment
                           Disable compiler/library checks.
  --with-l10n-base=DIR     path to l10n repositories
  --with-wince-sdk=WINCE_SDK_DIR
                        The path to the Windows CE SDK
  --with-windows-version=WINSDK_TARGETVER
                          Highest Windows version to target using this SDK
                              601: Windows 7
  --with-system-ply       Use system installed python ply library
  --enable-macos-target=VER (default=10.5)
                          Set the minimum MacOS version needed at runtime
  --with-macos-sdk=dir   Location of platform SDK to use (Mac OS X only)
  --with-x                use the X Window System
  --disable-os2-high-mem  Disable high-memory support on OS/2
  --enable-profiling      Set compile flags necessary for using sampling profilers (e.g. shark, perf)
  --enable-cpp-rtti       Enable C++ RTTI
  --disable-icf          Disable Identical Code Folding
  --enable-dtrace         build with dtrace support if available (default=no)
  --with-pthreads         Force use of system pthread library with NSPR
  --with-libxul-sdk=PFX   Use the libXUL SDK at <FX>
  --with-system-libxul   Use system installed libxul SDK
  --with-system-nspr      Use system installed NSPR
  --with-nspr-prefix=PFX  Prefix where NSPR is installed
  --with-nspr-exec-prefix=PFX
                          Exec prefix where NSPR is installed
  --with-system-nss      Use system installed NSS
  --with-nss-prefix=PFX   Prefix where NSS is installed
  --with-nss-exec-prefix=PFX
                          Exec prefix where NSS is installed
  --with-system-jpeg[=PFX]
                          Use system libjpeg [installed at prefix PFX]
  --with-system-zlib[=PFX]
                          Use system libz [installed at prefix PFX]
  --with-system-bz2[=PFX]
                          Use system libbz2 [installed at prefix PFX]
  --with-system-png[=PFX]
                          Use system libpng [installed at prefix PFX]
  --enable-system-hunspell  Use system hunspell (located with pkgconfig)
  --enable-application=APP
                          Options include:
                            suite (SeaMonkey)
                            mail (Thunderbird)
                            calendar (Sunbird)
  --with-xulrunner-stub-name=appname   Create the xulrunner stub with the given name
  --enable-default-toolkit=TK
                          Select default toolkit
                          Platform specific defaults:
                            BeOS - cairo-beos
                            Mac OS X - cairo-cocoa
                            Neutrino/QNX - photon
                            OS/2 - cairo-os2
                            Win32/WinCE - cairo-windows
                            Gtk2 with DirectFB - cairo-gtk2-dfb
                            * - cairo-gtk2
                            * - cairo-qt
  --enable-startup-notification       Enable startup-notification support (default: disabled)
  --enable-ui-locale=ab-CD
                          Select the user interface locale (default: en-US)
  --enable-calendar      Enable building of the Lightning calendar extension
  --disable-ldap          Disable LDAP support
  --enable-official-branding Enable Official mozilla.org Branding
                          Do not distribute builds with
                          --enable-official-branding unless you have
                          permission to use trademarks per
                          http://www.mozilla.org/foundation/trademarks/ .
  --with-branding=dir    Use branding from the specified directory.
  --with-distribution-id=ID  Set distribution-specific id (default=org.mozilla)
  --disable-pango Disable usage of Pango
  --disable-gnomevfs      Disable GnomeVFS support
  --enable-gio            Enable GIO support (default: disabled)
  --disable-gconf      Disable Gconf support
  --disable-libnotify       Disable libnotify support
  --disable-dbus       Disable dbus support
  --disable-crypto        Disable crypto support (Personal Security Manager)
  --disable-jsd           Disable JavaScript debug library
  --disable-plugins       Disable plugins support
  --disable-dbm           Disable building dbm
  --disable-accessibility Disable accessibility support (off by default on OS X)
  --disable-printing  Disable printing support
  --enable-plaintext-editor-only
                          Allow only plaintext editing
  --disable-composer      Disable building of Composer
  --disable-xpcom-fastload           Disable XPCOM fastload support
  --disable-ogg           Disable Ogg Codec support
  --disable-wave          Disable Wave decoder support
  --disable-permissions   Disable permissions (popup and cookie blocking)
  --disable-negotiateauth Disable GSS-API negotiation
  --disable-xtf           Disable XTF (pluggable xml tags) support
  --disable-pref-extensions
                          Disable pref extensions such as autoconfig and
                          system-pref
  --disable-universalchardet
                          Disable universal encoding detection
  --disable-angle     Disable building of ANGLE for WebGL->D3D translation
  --disable-crashreporter          Disable breakpad crash reporting
  --enable-tree-freetype         Enable Tree FreeType
  --enable-maintenance-service       Enable building of maintenanceservice
  --enable-verify-mar     Enable verifying MAR signatures
  --disable-updater       Disable building of updater
  --enable-update-channel=CHANNEL
                           Select application update channel (default=default)
  --enable-update-packaging
                           Enable tools/update-packaging
  --disable-activex       Disable building of ActiveX control (win32 only)
  --disable-tests         Do not build test libraries & programs
  --disable-feeds        Disable feed handling and processing components
  --enable-storage        Enable mozStorage module and related components
  --enable-system-sqlite  Use system sqlite (located with pkgconfig)
  --enable-safe-browsing        Enable safe browsing (anti-phishing) implementation
  --enable-url-classifier        Enable url classifier module
  --disable-zipwriter             Disable zipwriter component
  --with-maemo-version=MAEMO_SDK_TARGET_VER
                        Maemo SDK Version
  --enable-debug[=DBG]    Enable building with developer debug info
                           (using compiler flags DBG)
  --with-debug-label=LABELS
                           Enabled the use of DEBUG_label ifdefs
                           (comma separated)
  --enable-mobile-optimize   Enable mobile optimizations
  --disable-optimize      Disable compiler optimization
  --enable-optimize=[OPT] Specify compiler optimization flags [OPT=-O]
  --enable-debug-symbols[=DBG]
                          Enable debugging symbols (using compiler flags DBG)
  --disable-logging       Disable logging facilities
  --enable-logrefcnt      Enable logging of refcounts (default=debug)
  --enable-trace-malloc   Enable malloc tracing
  --enable-jemalloc       Replace memory allocator with jemalloc
  --enable-wrap-malloc    Wrap malloc calls (gnu linker only)
  --with-wrap-malloc=DIR  Location of malloc wrapper library
  --enable-jprof          Enable jprof profiling tool (needs mozilla/tools/jprof). Implies --enable-profiling.
  --enable-shark          Enable shark remote profiling (needs CHUD framework). Implies --enable-profiling.
  --with-ccache[=path/to/ccache]
                          Enable compiling with ccache
  --with-static-checking=path/to/gcc_dehydra.so
                            Enable static checking of code using GCC-dehydra
  --enable-strip          Enable stripping of libs & executables
  --enable-install-strip  Enable stripping of libs & executables when packaging
  --enable-elf-dynstr-gc  Enable elf dynstr garbage collector (opt builds only)
  --enable-timeline       Enable timeline services
  --enable-functiontimer  Enable NS_FUNCTION_TIMER
  --enable-codesighs      Enable code size analysis tools
  --enable-xterm-updates  Update XTERM titles with current command.
  --enable-chrome-format=jar|flat|both|symlink|omni
                          Select FORMAT of chrome files (default=jar)
  --with-default-mozilla-five-home
                          Set the default value for MOZILLA_FIVE_HOME
  --with-user-appdir=DIR  Set user-specific appdir (default=.mozilla)
  --with-doc-input-dirs=DIRS
                          Header/idl dirs to create docs from
  --with-doc-include-dirs=DIRS  
                          Include dirs to preprocess doc headers
  --with-doc-output-dir=DIR
                          Dir to generate docs into
  --disable-pedantic      Issue all warnings demanded by strict ANSI C
  --disable-auto-deps     Do not automatically generate dependency info
  --disable-md            Do not use compiler-based dependencies
  --enable-shared-js     Create a shared Javascript library.
  --enable-incomplete-external-linkage Changes some comm-central code to be built with external linkage. Developer only option, incomplete broken builds will result - There are already existing bugs for this.
--enable-system-cairo Use system cairo (located with pkgconfig)
  --disable-xul           Disable XUL
  --disable-profilelocking           Disable profile locking
  --disable-rdf           Disable RDF
  --disable-necko-wifi    Disable necko wifi scanner
  --disable-ctypes        Disable js-ctypes
  --enable-incomplete-toolkit-ldap-autocomplete Builds a JavaScript component that implements an LDAP autocomplete component using the toolkit interfaces rather than the C++ component using the obsolete XPFE interfaces.
  --with-macbundlename-prefix=prefix
                          Prefix for MOZ_MACBUNDLE_NAME


LINK : fatal error LNK1181: 无法打开输入文件“d:/svn/Client/ThinkMail_ClientWin_2013/trunk/src/thinkmail/obj_noopt/mozilla/dist/lib/xpcom.lib”

#FORCE_SHARED_LIB =1   注释掉





回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-3-29 07:08 , Processed in 0.060579 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表