add support for --disable-gcov
authorRasmus Villemoes <rv@rasmusvillemoes.dk>
Wed, 27 Jun 2018 10:04:25 +0000 (12:04 +0200)
committerRasmus Villemoes <villemoes@gcc.gnu.org>
Wed, 27 Jun 2018 10:04:25 +0000 (10:04 +0000)
For some targets (in my case VxWorks 5.5), libgcov does not compile due
to missing functions and macros such as getpid() and F_OK.

Incidentally, gcc/Makefile.in already contains comments such as

# Install gcov if it was compiled.

but there is no logic in place to actually allow gcov to not be
compiled.

So add an option for disabling build and install of libgcov and the
related host tools.

From-SVN: r262180

gcc/ChangeLog
gcc/Makefile.in
gcc/configure
gcc/configure.ac
gcc/doc/install.texi
libgcc/ChangeLog
libgcc/Makefile.in
libgcc/configure
libgcc/configure.ac

index 34a0e2507480d918f03a2fecaaad90157f591678..3604fd87e870d98eb110e181b296a0baaf4b9adf 100644 (file)
@@ -1,3 +1,10 @@
+2018-06-27  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
+
+       * configure.ac: Add --disable-gcov option.
+       * configure: Regenerate.
+       * Makefile.in: Honour @enable_gcov@.
+       * doc/install.texi: Document --disable-gcov.
+
 2018-06-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/arm-cpus.in (cortex-a76): New entry.
index d8f3e8861189604035b248b69bc484443f334c1c..1f38cacde7a16da62f129b068f97213d396db0b3 100644 (file)
@@ -137,8 +137,10 @@ SUBDIRS =@subdirs@ build
 
 # Selection of languages to be made.
 CONFIG_LANGUAGES = @all_selected_languages@
-LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) gcov-tool$(exeext) \
-            $(CONFIG_LANGUAGES)
+LANGUAGES = c $(CONFIG_LANGUAGES)
+ifeq (@enable_gcov@,yes)
+LANGUAGES += gcov$(exeext) gcov-dump$(exeext) gcov-tool$(exeext)
+endif
 
 # Default values for variables overridden in Makefile fragments.
 # CFLAGS is for the user to override to, e.g., do a cross build with -O2.
index 60d373982fd38fe51c285e2b02941754d1b833d6..bfef4be37826df9a00610df07559a13d002a1bef 100755 (executable)
@@ -779,6 +779,7 @@ REPORT_BUGS_TEXI
 REPORT_BUGS_TO
 PKGVERSION
 CONFIGURE_SPECS
+enable_gcov
 enable_shared
 enable_fixed_point
 enable_decimal_float
@@ -914,6 +915,7 @@ enable_vtable_verify
 enable_objc_gc
 with_dwarf2
 enable_shared
+enable_gcov
 with_specs
 with_pkgversion
 with_bugurl
@@ -1634,6 +1636,7 @@ Optional Features:
   --enable-objc-gc        enable the use of Boehm's garbage collector with the
                           GNU Objective-C runtime
   --disable-shared        don't provide a shared libgcc
+  --disable-gcov          don't provide libgcov and related host tools
   --enable-languages=LIST specify which front-ends to build
   --disable-rpath         do not hardcode runtime library paths
   --enable-sjlj-exceptions
@@ -7628,6 +7631,15 @@ fi
 
 
 
+# Check whether --enable-gcov was given.
+if test "${enable_gcov+set}" = set; then :
+  enableval=$enable_gcov;
+else
+  enable_gcov=yes
+fi
+
+
+
 
 # Check whether --with-specs was given.
 if test "${with_specs+set}" = set; then :
@@ -18448,7 +18460,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18451 "configure"
+#line 18463 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18554,7 +18566,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18557 "configure"
+#line 18569 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
index 010ecd2ccf609ded1f4d2849a2acc13aba43b55b..4fc851c644edc00f58fea69f92dbc2e9d9e54a08 100644 (file)
@@ -921,6 +921,11 @@ AC_ARG_ENABLE(shared,
 ], [enable_shared=yes])
 AC_SUBST(enable_shared)
 
+AC_ARG_ENABLE(gcov,
+[  --disable-gcov          don't provide libgcov and related host tools],
+[], [enable_gcov=yes])
+AC_SUBST(enable_gcov)
+
 AC_ARG_WITH(specs,
   [AS_HELP_STRING([--with-specs=SPECS],
                   [add SPECS to driver command-line processing])],
index 7c5cdc762d3ecca2b37c1ebc8caf99d22ff351b9..03eaeed4e871f725bfd99aa0f943ac77b44c0806 100644 (file)
@@ -1044,6 +1044,10 @@ virtual calls in verifiable mode at all.  However the libvtv library will
 still be built (see @option{--disable-libvtv} to turn off building libvtv).
 @option{--disable-vtable-verify} is the default.
 
+@item --disable-gcov
+Specify that the run-time library used for coverage analysis
+and associated host tools should not be built.
+
 @item --disable-multilib
 Specify that multiple target
 libraries to support different target variants, calling
index 356721ba86630a8b2c76c028cf449017716e2261..cef65b5321ef40a0cbae1a12ba1f60f59623292e 100644 (file)
@@ -1,3 +1,9 @@
+2018-06-27  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
+
+       * configure.ac: Add --disable-gcov option.
+       * configure: Regenerate.
+       * Makefile.in: Honour @enable_gcov@.
+
 2018-06-21  Christophe Lyon  <christophe.lyon@linaro.org>
 
        * config/arm/lib1funcs.S (__ARM_ARCH__): Remove definitions, use
index dd8cee99fd396ff53d720c005f6a536a87bd4e48..b7f20557214f62e21a4c6c078c295439bb4e0ab9 100644 (file)
@@ -36,6 +36,7 @@ SHELL = @SHELL@
 
 cpu_type = @cpu_type@
 enable_shared = @enable_shared@
+enable_gcov = @enable_gcov@
 double_type_size = @double_type_size@
 long_double_type_size = @long_double_type_size@
 decimal_float = @decimal_float@
@@ -941,7 +942,10 @@ libgcc.a libgcov.a libunwind.a libgcc_eh.a:
 
        $(RANLIB) $@
 
-all: libgcc.a libgcov.a
+all: libgcc.a
+ifeq ($(enable_gcov),yes)
+all: libgcov.a
+endif
 
 ifneq ($(LIBUNWIND),)
 all: libunwind.a
@@ -1164,9 +1168,11 @@ install-leaf: $(install-shared) $(install-libunwind)
        $(INSTALL_DATA) libgcc.a $(DESTDIR)$(inst_libdir)/
        chmod 644 $(DESTDIR)$(inst_libdir)/libgcc.a
        $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc.a
+ifeq ($(enable_libgcov),yes)
        $(INSTALL_DATA) libgcov.a $(DESTDIR)$(inst_libdir)/
        chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
        $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
+endif
 
        parts="$(INSTALL_PARTS)";                               \
        for file in $$parts; do                                 \
index b2f3f8708441e473b8e2941c4748748b6c7c40b8..79068536175f23017b2de4dc1c1fbd44628c3696 100644 (file)
@@ -620,6 +620,7 @@ build_cpu
 build
 with_aix_soname
 enable_vtable_verify
+enable_gcov
 enable_shared
 libgcc_topdir
 target_alias
@@ -667,6 +668,7 @@ with_target_subdir
 with_cross_host
 with_ld
 enable_shared
+enable_gcov
 enable_vtable_verify
 with_aix_soname
 enable_version_specific_runtime_libs
@@ -1306,6 +1308,7 @@ Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-shared        don't provide a shared libgcc
+  --disable-gcov          don't provide libgcov and related host tools
   --enable-vtable-verify    Enable vtable verification feature
   --enable-version-specific-runtime-libs    Specify that runtime libraries should be installed in a compiler-specific directory
   --enable-maintainer-mode
@@ -2199,6 +2202,15 @@ fi
 
 
 
+# Check whether --enable-gcov was given.
+if test "${enable_gcov+set}" = set; then :
+  enableval=$enable_gcov;
+else
+  enable_gcov=yes
+fi
+
+
+
 # Check whether --enable-vtable-verify was given.
 if test "${enable_vtable_verify+set}" = set; then :
   enableval=$enable_vtable_verify; case "$enableval" in
index b59aa746afc6c93cad70961c7a3a211a632538c6..9d0bbcaba8650d4190f383ca2a73bd8361bf6e19 100644 (file)
@@ -68,6 +68,11 @@ AC_ARG_ENABLE(shared,
 ], [enable_shared=yes])
 AC_SUBST(enable_shared)
 
+AC_ARG_ENABLE(gcov,
+[  --disable-gcov          don't provide libgcov and related host tools],
+[], [enable_gcov=yes])
+AC_SUBST(enable_gcov)
+
 AC_ARG_ENABLE(vtable-verify,
 [  --enable-vtable-verify    Enable vtable verification feature ],
 [case "$enableval" in