Bug#23062 (GCOV build: helper scripts missing in the BUILD directory)
This patch provides compile helper scripts only, no server logic is affected. Before this patch, GCOV and GPROF build scripts were only provided for pentium platforms. With this patch, pentium, pentium64 and amd64 platforms have associated helper build scripts. The GCOV and GPROF specific compilation flags are set once in SETUP.sh, to avoid code duplication.
This commit is contained in:
parent
c290b26c0e
commit
c6a395af09
@ -138,3 +138,28 @@ then
|
||||
echo "$CC" | grep "ccache" > /dev/null || CC="ccache $CC"
|
||||
echo "$CXX" | grep "ccache" > /dev/null || CXX="ccache $CXX"
|
||||
fi
|
||||
|
||||
# gcov
|
||||
|
||||
# The -fprofile-arcs and -ftest-coverage options cause GCC to instrument the
|
||||
# code with profiling information used by gcov.
|
||||
# The -DDISABLE_TAO_ASM is needed to avoid build failures in Yassl.
|
||||
# The -DHAVE_gcov enables code to write out coverage info even when crashing.
|
||||
|
||||
gcov_compile_flags="-fprofile-arcs -ftest-coverage"
|
||||
gcov_compile_flags="$gcov_compile_flags -DDISABLE_TAO_ASM"
|
||||
gcov_compile_flags="$gcov_compile_flags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov"
|
||||
|
||||
# GCC4 needs -fprofile-arcs -ftest-coverage on the linker command line (as well
|
||||
# as on the compiler command line), and this requires setting LDFLAGS for BDB.
|
||||
|
||||
gcov_link_flags="-fprofile-arcs -ftest-coverage"
|
||||
|
||||
gcov_configs="--disable-shared $static_link"
|
||||
|
||||
# gprof
|
||||
|
||||
gprof_compile_flags="-O2 -pg -g"
|
||||
|
||||
gprof_link_flags="--disable-shared $static_link"
|
||||
|
||||
|
17
BUILD/compile-amd64-gcov
Executable file
17
BUILD/compile-amd64-gcov
Executable file
@ -0,0 +1,17 @@
|
||||
#! /bin/sh
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
|
||||
# Need to disable ccache, or we loose the gcov-needed compiler output files.
|
||||
CCACHE_DISABLE=1
|
||||
export CCACHE_DISABLE
|
||||
|
||||
export LDFLAGS="$gcov_link_flags"
|
||||
|
||||
extra_flags="$amd64_cflags $debug_cflags $max_cflags $gcov_compile_flags"
|
||||
c_warnings="$c_warnings $debug_extra_warnings"
|
||||
cxx_warnings="$cxx_warnings $debug_extra_warnings"
|
||||
extra_configs="$amd64_configs $debug_configs $gcov_configs $max_configs"
|
||||
|
||||
. "$path/FINISH.sh"
|
9
BUILD/compile-amd64-gprof
Executable file
9
BUILD/compile-amd64-gprof
Executable file
@ -0,0 +1,9 @@
|
||||
#! /bin/sh
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
|
||||
extra_flags="$amd64_cflags $gprof_compile_flags"
|
||||
extra_configs="$amd64_configs $debug_configs $gprof_link_flags"
|
||||
|
||||
. "$path/FINISH.sh"
|
@ -7,18 +7,11 @@ path=`dirname $0`
|
||||
CCACHE_DISABLE=1
|
||||
export CCACHE_DISABLE
|
||||
|
||||
# GCC4 needs -fprofile-arcs -ftest-coverage on the linker command line (as well
|
||||
# as on the compiler command line), and this requires setting LDFLAGS for BDB.
|
||||
export LDFLAGS="-fprofile-arcs -ftest-coverage"
|
||||
export LDFLAGS="$gcov_link_flags"
|
||||
|
||||
# The -fprofile-arcs and -ftest-coverage options cause GCC to instrument the
|
||||
# code with profiling information used by gcov.
|
||||
# The -DDISABLE_TAO_ASM is needed to avoid build failures in Yassl.
|
||||
# The -DHAVE_gcov enables code to write out coverage info even when crashing.
|
||||
extra_flags="$pentium_cflags -fprofile-arcs -ftest-coverage -DDISABLE_TAO_ASM $debug_cflags $max_cflags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov"
|
||||
extra_flags="$pentium_cflags $debug_cflags $max_cflags $gcov_compile_flags"
|
||||
c_warnings="$c_warnings $debug_extra_warnings"
|
||||
cxx_warnings="$cxx_warnings $debug_extra_warnings"
|
||||
extra_configs="$pentium_configs $debug_configs --disable-shared $static_link"
|
||||
extra_configs="$extra_configs $max_configs"
|
||||
extra_configs="$pentium_configs $debug_configs $gcov_configs $max_configs"
|
||||
|
||||
. "$path/FINISH.sh"
|
||||
|
@ -3,7 +3,7 @@
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
|
||||
extra_flags="$pentium_cflags -O2 -pg -g"
|
||||
extra_configs="$pentium_configs $debug_configs --disable-shared $static_link"
|
||||
extra_flags="$pentium_cflags $gprof_compile_flags"
|
||||
extra_configs="$pentium_configs $debug_configs $gprof_link_flags"
|
||||
|
||||
. "$path/FINISH.sh"
|
||||
|
17
BUILD/compile-pentium64-gcov
Executable file
17
BUILD/compile-pentium64-gcov
Executable file
@ -0,0 +1,17 @@
|
||||
#! /bin/sh
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
|
||||
# Need to disable ccache, or we loose the gcov-needed compiler output files.
|
||||
CCACHE_DISABLE=1
|
||||
export CCACHE_DISABLE
|
||||
|
||||
export LDFLAGS="$gcov_link_flags"
|
||||
|
||||
extra_flags="$pentium64_cflags $debug_cflags $max_cflags $gcov_compile_flags"
|
||||
c_warnings="$c_warnings $debug_extra_warnings"
|
||||
cxx_warnings="$cxx_warnings $debug_extra_warnings"
|
||||
extra_configs="$pentium64_configs $debug_configs $gcov_configs $max_configs"
|
||||
|
||||
. "$path/FINISH.sh"
|
9
BUILD/compile-pentium64-gprof
Executable file
9
BUILD/compile-pentium64-gprof
Executable file
@ -0,0 +1,9 @@
|
||||
#! /bin/sh
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
|
||||
extra_flags="$pentium64_cflags $gprof_compile_flags"
|
||||
extra_configs="$pentium64_configs $debug_configs $gprof_link_flags"
|
||||
|
||||
. "$path/FINISH.sh"
|
Loading…
x
Reference in New Issue
Block a user