mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-12 10:40:12 +00:00
Bug 592923 - Add --enable-profiling configure option r=ted, a2.0=bz
This commit is contained in:
parent
aa38ca6673
commit
a9e04e63b3
@ -107,6 +107,7 @@ MOZ_IPC = @MOZ_IPC@
|
||||
MOZ_IPDL_TESTS = @MOZ_IPDL_TESTS@
|
||||
MOZ_LEAKY = @MOZ_LEAKY@
|
||||
MOZ_MEMORY = @MOZ_MEMORY@
|
||||
MOZ_PROFILING = @MOZ_PROFILING@
|
||||
MOZ_JPROF = @MOZ_JPROF@
|
||||
MOZ_SHARK = @MOZ_SHARK@
|
||||
MOZ_CALLGRIND = @MOZ_CALLGRIND@
|
||||
|
45
configure.in
45
configure.in
@ -1826,6 +1826,14 @@ MOZ_ARG_DISABLE_BOOL(os2-high-mem,
|
||||
MOZ_OS2_HIGH_MEMORY=1 )
|
||||
AC_SUBST(MOZ_OS2_HIGH_MEMORY)
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Use profiling compile flags
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(profiling,
|
||||
[ --enable-profiling Set compile flags necessary for using sampling profilers (e.g. shark, perf)],
|
||||
MOZ_PROFILING=1,
|
||||
MOZ_PROFILING= )
|
||||
|
||||
dnl ========================================================
|
||||
dnl System overrides of the defaults for host
|
||||
dnl ========================================================
|
||||
@ -2034,7 +2042,12 @@ case "$target" in
|
||||
*-darwin*)
|
||||
MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
|
||||
MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer"
|
||||
# If we're building with --enable-profiling, we need a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer"
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fno-omit-frame-pointer"
|
||||
fi
|
||||
_PEDANTIC=
|
||||
CFLAGS="$CFLAGS -fpascal-strings -fno-common"
|
||||
CXXFLAGS="$CXXFLAGS -fpascal-strings -fno-common"
|
||||
@ -2193,7 +2206,12 @@ ia64*-hpux*)
|
||||
# -Os is broken on gcc 4.1.x 4.2.x, 4.5.x we need to tweak it to get good results.
|
||||
MOZ_OPTIMIZE_SIZE_TWEAK="-finline-limit=50"
|
||||
esac
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fomit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK"
|
||||
# If we're building with --enable-profiling, we need a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fomit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK"
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-omit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK"
|
||||
fi
|
||||
MOZ_DEBUG_FLAGS="-g"
|
||||
fi
|
||||
|
||||
@ -2385,7 +2403,12 @@ ia64*-hpux*)
|
||||
MOZ_DEBUG_FLAGS='-Zi'
|
||||
MOZ_DEBUG_LDFLAGS='-DEBUG -DEBUGTYPE:CV'
|
||||
WARNINGS_AS_ERRORS='-WX'
|
||||
MOZ_OPTIMIZE_FLAGS='-O1'
|
||||
# If we're building with --enable-profiling, we need -Oy-, which forces a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS='-O1'
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS='-O1 -Oy-'
|
||||
fi
|
||||
MOZ_JS_STATIC_LIBS='$(LIBXUL_DIST)/lib/js_static.lib'
|
||||
MOZ_JS_SHARED_LIBS='$(LIBXUL_DIST)/lib/mozjs.lib'
|
||||
MOZ_FIX_LINK_PATHS=
|
||||
@ -2827,7 +2850,12 @@ alpha*-*-osf*)
|
||||
TARGET_NSPR_MDCPUCFG='\"md/_linux.cfg\"'
|
||||
|
||||
MOZ_GFX_OPTIMIZE_MOBILE=1
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer"
|
||||
# If we're building with --enable-profiling, we need a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer"
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fno-omit-frame-pointer"
|
||||
fi
|
||||
;;
|
||||
|
||||
esac
|
||||
@ -7429,10 +7457,11 @@ dnl ========================================================
|
||||
dnl jprof
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(jprof,
|
||||
[ --enable-jprof Enable jprof profiling tool (needs mozilla/tools/jprof)],
|
||||
[ --enable-jprof Enable jprof profiling tool (needs mozilla/tools/jprof). Implies --enable-profiling.],
|
||||
MOZ_JPROF=1,
|
||||
MOZ_JPROF= )
|
||||
if test -n "$MOZ_JPROF"; then
|
||||
MOZ_PROFILING=1
|
||||
AC_DEFINE(MOZ_JPROF)
|
||||
fi
|
||||
|
||||
@ -7440,10 +7469,11 @@ dnl ========================================================
|
||||
dnl shark
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(shark,
|
||||
[ --enable-shark Enable shark remote profiling (needs CHUD framework)],
|
||||
[ --enable-shark Enable shark remote profiling (needs CHUD framework). Implies --enable-profiling.],
|
||||
MOZ_SHARK=1,
|
||||
MOZ_SHARK= )
|
||||
if test -n "$MOZ_SHARK"; then
|
||||
MOZ_PROFILING=1
|
||||
AC_DEFINE(MOZ_SHARK)
|
||||
fi
|
||||
|
||||
@ -7462,10 +7492,11 @@ dnl ========================================================
|
||||
dnl vtune
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(vtune,
|
||||
[ --enable-vtune Enable vtune profiling],
|
||||
[ --enable-vtune Enable vtune profiling. Implies --enable-profiling.],
|
||||
MOZ_VTUNE=1,
|
||||
MOZ_VTUNE= )
|
||||
if test -n "$MOZ_VTUNE"; then
|
||||
MOZ_PROFILING=1
|
||||
AC_DEFINE(MOZ_VTUNE)
|
||||
fi
|
||||
|
||||
|
@ -87,7 +87,17 @@ else
|
||||
MODULE_OPTIMIZE_FLAGS = -O2 -ip
|
||||
endif
|
||||
else # not INTEL_CXX
|
||||
MODULE_OPTIMIZE_FLAGS = -O3 -fstrict-aliasing -fomit-frame-pointer
|
||||
|
||||
MODULE_OPTIMIZE_FLAGS = -O3 -fstrict-aliasing
|
||||
|
||||
# We normally want -fomit-frame-pointer, but we want an explicit
|
||||
# -fno-omit-frame-pointer if we're using a sampling profiler.
|
||||
ifndef MOZ_PROFILING
|
||||
MODULE_OPTIMIZE_FLAGS += -fomit-frame-pointer
|
||||
else
|
||||
MODULE_OPTIMIZE_FLAGS += -fno-omit-frame-pointer
|
||||
endif
|
||||
|
||||
endif
|
||||
else # not GNU_CXX
|
||||
ifeq ($(OS_ARCH),SunOS)
|
||||
|
@ -86,6 +86,7 @@ MOZ_IMG_ENCODERS= @MOZ_IMG_ENCODERS@
|
||||
MOZ_JSDEBUGGER = @MOZ_JSDEBUGGER@
|
||||
MOZ_LEAKY = @MOZ_LEAKY@
|
||||
MOZ_MEMORY = @MOZ_MEMORY@
|
||||
MOZ_PROFILING = @MOZ_PROFILING@
|
||||
MOZ_JPROF = @MOZ_JPROF@
|
||||
MOZ_SHARK = @MOZ_SHARK@
|
||||
MOZ_CALLGRIND = @MOZ_CALLGRIND@
|
||||
|
@ -1546,6 +1546,14 @@ MOZ_ARG_DISABLE_BOOL(os2-high-mem,
|
||||
MOZ_OS2_HIGH_MEMORY=1 )
|
||||
AC_SUBST(MOZ_OS2_HIGH_MEMORY)
|
||||
|
||||
dnl ========================================================
|
||||
dnl = Use profiling compile flags
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(profiling,
|
||||
[ --enable-profiling Set compile flags necessary for using sampling profilers (e.g. shark, perf)],
|
||||
MOZ_PROFILING=1,
|
||||
MOZ_PROFILING= )
|
||||
|
||||
dnl ========================================================
|
||||
dnl System overrides of the defaults for host
|
||||
dnl ========================================================
|
||||
@ -1725,7 +1733,12 @@ case "$target" in
|
||||
*-darwin*)
|
||||
MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
|
||||
MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer"
|
||||
# If we're building with --enable-profiling, we need a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fomit-frame-pointer"
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS="-O3 -fno-omit-frame-pointer"
|
||||
fi
|
||||
_PEDANTIC=
|
||||
CFLAGS="$CFLAGS -fpascal-strings -fno-common"
|
||||
CXXFLAGS="$CXXFLAGS -fpascal-strings -fno-common"
|
||||
@ -1884,7 +1897,12 @@ ia64*-hpux*)
|
||||
# -Os is broken on gcc 4.1.x 4.2.x, 4.5.x we need to tweak it to get good results.
|
||||
MOZ_OPTIMIZE_SIZE_TWEAK="-finline-limit=50"
|
||||
esac
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK"
|
||||
# If we're building with --enable-profiling, we need a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fomit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK"
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS="-Os -freorder-blocks -fno-reorder-functions -fno-omit-frame-pointer $MOZ_OPTIMIZE_SIZE_TWEAK"
|
||||
fi
|
||||
MOZ_DEBUG_FLAGS="-g"
|
||||
fi
|
||||
|
||||
@ -2091,7 +2109,12 @@ ia64*-hpux*)
|
||||
MOZ_DEBUG_FLAGS='-Zi'
|
||||
MOZ_DEBUG_LDFLAGS='-DEBUG -DEBUGTYPE:CV'
|
||||
WARNINGS_AS_ERRORS='-WX'
|
||||
MOZ_OPTIMIZE_FLAGS='-O1'
|
||||
# If we're building with --enable-profiling, we need -Oy-, which forces a frame pointer.
|
||||
if test -z "$MOZ_PROFILING"; then
|
||||
MOZ_OPTIMIZE_FLAGS='-O1'
|
||||
else
|
||||
MOZ_OPTIMIZE_FLAGS='-O1 -Oy-'
|
||||
fi
|
||||
MOZ_JS_LIBS='$(libdir)/mozjs.lib'
|
||||
MOZ_FIX_LINK_PATHS=
|
||||
DYNAMIC_XPCOM_LIBS='$(LIBXUL_DIST)/lib/xpcom.lib $(LIBXUL_DIST)/lib/xpcom_core.lib'
|
||||
@ -4473,10 +4496,11 @@ dnl ========================================================
|
||||
dnl jprof
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(jprof,
|
||||
[ --enable-jprof Enable jprof profiling tool (needs mozilla/tools/jprof)],
|
||||
[ --enable-jprof Enable jprof profiling tool (needs mozilla/tools/jprof). Implies --enable-profiling.],
|
||||
MOZ_JPROF=1,
|
||||
MOZ_JPROF= )
|
||||
if test -n "$MOZ_JPROF"; then
|
||||
MOZ_PROFILING=1
|
||||
AC_DEFINE(MOZ_JPROF)
|
||||
fi
|
||||
|
||||
@ -4484,10 +4508,11 @@ dnl ========================================================
|
||||
dnl shark
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(shark,
|
||||
[ --enable-shark Enable shark remote profiling (needs CHUD framework)],
|
||||
[ --enable-shark Enable shark remote profiling (needs CHUD framework). Implies --enable-profiling.],
|
||||
MOZ_SHARK=1,
|
||||
MOZ_SHARK= )
|
||||
if test -n "$MOZ_SHARK"; then
|
||||
MOZ_PROFILING=1
|
||||
AC_DEFINE(MOZ_SHARK)
|
||||
fi
|
||||
|
||||
@ -4506,10 +4531,11 @@ dnl ========================================================
|
||||
dnl vtune
|
||||
dnl ========================================================
|
||||
MOZ_ARG_ENABLE_BOOL(vtune,
|
||||
[ --enable-vtune Enable vtune profiling],
|
||||
[ --enable-vtune Enable vtune profiling. Implies --enable-profiling.],
|
||||
MOZ_VTUNE=1,
|
||||
MOZ_VTUNE= )
|
||||
if test -n "$MOZ_VTUNE"; then
|
||||
MOZ_PROFILING=1
|
||||
AC_DEFINE(MOZ_VTUNE)
|
||||
fi
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user