better profiling
This commit is contained in:
parent
62890f6ecc
commit
78a1c0cb85
5
build.sh
5
build.sh
|
@ -16,6 +16,10 @@ case "$1" in
|
|||
./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -pg -O0 -DDEBUG -W -Wall -pedantic"
|
||||
;;
|
||||
|
||||
"--cpu-profiler"|"cpu-profiler")
|
||||
./configure --prefix="$PREFIX" --with-profiler
|
||||
;;
|
||||
|
||||
"--gcov"|"gcov")
|
||||
./configure --prefix="$PREFIX" CXXFLAGS="-fprofile-arcs -ftest-coverage"
|
||||
;;
|
||||
|
@ -33,6 +37,7 @@ case "$1" in
|
|||
echo " debug Compile with debug option"
|
||||
echo " fulldebug Compile with all warning options"
|
||||
echo " profile Compile with profile option (analysis with gprof)"
|
||||
echo " cpu-profiler Link with Google cpu performance profiler"
|
||||
echo " gcov Compile with options for coverage analysis with gcov"
|
||||
echo " release Compile for release"
|
||||
exit 1
|
||||
|
|
|
@ -767,6 +767,7 @@ with_gnu_ld
|
|||
with_sysroot
|
||||
enable_libtool_lock
|
||||
with_gpm
|
||||
with_profiler
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
|
@ -1420,6 +1421,7 @@ Optional Packages:
|
|||
--with-sysroot=DIR Search for dependent libraries within DIR
|
||||
(or the compiler's sysroot if not specified).
|
||||
--without-gpm Disable GPM mouse support
|
||||
--with-profiler build extra google profiler binaries
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
|
@ -16906,6 +16908,59 @@ $as_echo "#define HAVE_LIBGPM 1" >>confdefs.h
|
|||
|
||||
fi
|
||||
|
||||
# profiling
|
||||
|
||||
# Check whether --with-profiler was given.
|
||||
if test "${with_profiler+set}" = set; then :
|
||||
withval=$with_profiler; with_profiler=yes
|
||||
else
|
||||
with_profiler=no
|
||||
fi
|
||||
|
||||
if test "x$with_profiler" = "xyes"
|
||||
then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ProfilerFlush in -lprofiler" >&5
|
||||
$as_echo_n "checking for ProfilerFlush in -lprofiler... " >&6; }
|
||||
if ${ac_cv_lib_profiler_ProfilerFlush+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_check_lib_save_LIBS=$LIBS
|
||||
LIBS="-lprofiler $LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char ProfilerFlush ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return ProfilerFlush ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_lib_profiler_ProfilerFlush=yes
|
||||
else
|
||||
ac_cv_lib_profiler_ProfilerFlush=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
LIBS=$ac_check_lib_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_profiler_ProfilerFlush" >&5
|
||||
$as_echo "$ac_cv_lib_profiler_ProfilerFlush" >&6; }
|
||||
if test "x$ac_cv_lib_profiler_ProfilerFlush" = xyes; then :
|
||||
LIBS="$LIBS -lprofiler"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
|
|
12
configure.ac
12
configure.ac
|
@ -69,4 +69,16 @@ then
|
|||
AC_DEFINE([HAVE_LIBGPM], 1, [Define to 1 if GPM mouse is enabled])
|
||||
fi
|
||||
|
||||
# profiling
|
||||
AC_ARG_WITH([profiler],
|
||||
[AS_HELP_STRING([--with-profiler], [build extra google profiler binaries])],
|
||||
[with_profiler=yes],
|
||||
[with_profiler=no])
|
||||
if test "x$with_profiler" = "xyes"
|
||||
then
|
||||
AC_CHECK_LIB([profiler],
|
||||
[ProfilerFlush],
|
||||
[LIBS="$LIBS -lprofiler"])
|
||||
fi
|
||||
|
||||
AC_OUTPUT
|
||||
|
|
|
@ -2,4 +2,5 @@
|
|||
|
||||
LD_LIBRARY_PATH=../src/.libs/ LD_PRELOAD="/usr/lib64/libprofiler.so.0" CPUPROFILE=../test/.libs/ui.prof ../test/.libs/ui
|
||||
pprof --gv ../test/.libs/ui ../test/.libs/ui.prof
|
||||
rm -f ../test/.libs/ui.prof
|
||||
|
||||
|
|
Loading…
Reference in New Issue