This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [google] Install additional gcov files (issue4442052)


Hello,

* Diego Novillo wrote on Sat, Apr 16, 2011 at 10:14:32PM CEST:
> 2011-04-15  Rong Xu  <xur@google.com>
>     
>     	* Makefile.in (install-leaf): Install gcov-io.h, gcov-iov.h
>     	gcov-io.c and libgcov.c to $DESTDIR/$inst_libdir/gcov-src.

> --- a/libgcc/Makefile.in
> +++ b/libgcc/Makefile.in
> @@ -978,6 +978,18 @@ install-leaf: $(install-shared) $(install-libunwind)
>  	  esac;							\
>  	done
>  
> +	if [ "$(MULTIDIR)" == "." ]; then                       \

With '[' aka. test, '==' is a bashism while '=' is portable and Posix.
Please use that instead.

> +	  gcov_src_dest="$(DESTDIR)$(inst_libdir)/gcov-src";    \
> +	  $(mkinstalldirs) $$gcov_src_dest;                     \
> +	  cp ../../gcc/gcov-iov.h $$gcov_src_dest;              \

Is it relevant whether any of the commands fail?  If so, '&&' should be
preferred over ';' (we cannot assume that make obeys Posix 2008 rules of
invoking all shell commands with errexit set; GNU make does not do it).
Esp. a mkinstalldirs failure would lead to undesirable results.

I'm aware that there are prior issues in this area in the GCC build
system.

> +	  cp $(srcdir)/../gcc/gcov-io.h $$gcov_src_dest;        \
> +	  cp $(srcdir)/../gcc/gcov-io.c $$gcov_src_dest;        \
> +	  cp $(srcdir)/../gcc/libgcov.c $$gcov_src_dest;        \
> +	  chmod 644 $$gcov_src_dest/gcov-iov.h                  \
> +	    $$gcov_src_dest/gcov-io.h $$gcov_src_dest/gcov-io.c \
> +	    $$gcov_src_dest/libgcov.c;                          \
> +	fi
> +
>  install: install-leaf
>  	@: $(MAKE) ; $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install

Thanks,
Ralf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]