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: Fix parallel make install


On Tue, Dec 2, 2008 at 4:53 PM, Diego Novillo <dnovillo@google.com> wrote:
> This fixes a bootstrap failure on trunk that may happen when make
> install in libgomp and fortran interleave just the right way.
> The fortran install was removing the finclude directory from
> under libgomp's feet.
>
> OK for trunk?

What ended up in trunk,

# Create or recreate the gfortran private include file directory.
install-finclude-dir: installdirs
        $(mkinstalldirs) -m a+rx $(DESTDIR)$(libsubdir)/finclude

now seems to end up creating finclude world-writable for some reason.  Following
patterns elsewhere omitting -m a+rx seems to be the canonical form of creating
installdirs.  This seems to be because mkinstalldirs passes the argument to -m
to mkdir which expects a mode like 0755, not a+rx.

Thus I installed the following as obvious.

Richard.

2008-12-11  Richard Guenther  <rguenther@suse.de>

        * Make-lang.in (install-finclude-dir): Use correct mode argument
        for mkinstalldirs.

Index: fortran/Make-lang.in
===================================================================
--- fortran/Make-lang.in        (revision 142661)
+++ fortran/Make-lang.in        (working copy)
@@ -211,7 +211,7 @@ doc/gfc-internals.pdf: $(GFC_INTERNALS_T

 # Create or recreate the gfortran private include file directory.
 install-finclude-dir: installdirs
-       $(mkinstalldirs) -m a+rx $(DESTDIR)$(libsubdir)/finclude
+       $(mkinstalldirs) -m 0755 $(DESTDIR)$(libsubdir)/finclude
 #^L
 # Install hooks:
 # f951 is installed elsewhere as part of $(COMPILERS).


>
> Diego.
>
>
> 2008-12-02  Jakub Jelinek  <jakub@redhat.com>
>            Diego Novillo  <dnovillo@google.com>
>
>        * Make-lang.in (install-finclude-dir): Use mkinstalldirs
>        and don't remove the finclude directory beforehand.
>
> Index: fortran/Make-lang.in
> ===================================================================
> --- fortran/Make-lang.in        (revision 142360)
> +++ fortran/Make-lang.in        (working copy)
> @@ -211,8 +211,7 @@ doc/gfc-internals.pdf: $(GFC_INTERNALS_T
>
>  # Create or recreate the gfortran private include file directory.
>  install-finclude-dir: installdirs
> -       -rm -rf $(DESTDIR)$(libsubdir)/finclude
> -       mkdir $(DESTDIR)$(libsubdir)/finclude
> +       $(mkinstalldirs) $(DESTDIR)$(libsubdir)/finclude
>        -chmod a+rx $(DESTDIR)$(libsubdir)/finclude
>  #
>  # Install hooks:
>


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