This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
s/ar rcu/ar rc/ during linking
authorDavid Mitchell <davem@iabyn.com>
Mon, 14 Mar 2016 15:41:46 +0000 (15:41 +0000)
committerDavid Mitchell <davem@iabyn.com>
Mon, 14 Mar 2016 15:46:06 +0000 (15:46 +0000)
The are a few places in Makefile.SH which do (approximately):

    rm $libfile
    ar rcu $libfile *.o

The 'u' in 'rcu' seems redundant since the old lib file is always deleted
just before being recreated; and more to the point, it generates warnings
on recent Linux builds:

    /bin/ar: `u' modifier ignored since `D' is the default (see `U')

This is because the 'u' modifier updates the archive, i.e. only replaces
the objects which are newer in an existing archive. On my Linux system,
ar by default operates in 'deterministic' mode, which means that it
doesn't add timestamps etc (so that repeated builds will give identical
binaries). In this mode 'u' can't work, hence the warning.

So this commit just removes the 'u' flag.

Cross/Makefile-cross-SH
Makefile.SH
os2/Makefile.SHs

index 4b6bf12..31e4aaf 100644 (file)
@@ -513,7 +513,7 @@ MINIPERL_NONSHR             = miniperl_nonshr$(EXE_EXT)
 
 $(LIBPERL_NONSHR): $(obj)
        $(RMS) $(LIBPERL_NONSHR)
-       $(AR) rcu $(LIBPERL_NONSHR) $(obj)
+       $(AR) rc $(LIBPERL_NONSHR) $(obj)
 
 $(MINIPERL_NONSHR): $(LIBPERL_NONSHR) miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT)
        $(CC) $(LDFLAGS) -o $(MINIPERL_NONSHR) miniperlmain$(OBJ_EXT) \
@@ -581,7 +581,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT)
        *)
                $spitshell >>$Makefile <<'!NO!SUBS!'
        rm -f $(LIBPERL)
-       $(AR) rcu $(LIBPERL) $(obj) $(DYNALOADER)
+       $(AR) rc $(LIBPERL) $(obj) $(DYNALOADER)
        @$(ranlib) $(LIBPERL)
 !NO!SUBS!
                ;;
index 5bd9f19..d877c72 100755 (executable)
@@ -768,7 +768,7 @@ MINIPERL_NONSHR             = miniperl_nonshr$(EXE_EXT)
 
 $(LIBPERL_NONSHR): $(obj)
        $(RMS) $(LIBPERL_NONSHR)
-       $(AR) rcu $(LIBPERL_NONSHR) $(obj)
+       $(AR) rc $(LIBPERL_NONSHR) $(obj)
 
 $(MINIPERL_NONSHR): $(LIBPERL_NONSHR) miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT)  perlmini$(OBJ_EXT)
        $(CC) $(LDFLAGS) -o $(MINIPERL_NONSHR) miniperlmain$(OBJ_EXT) \
@@ -814,7 +814,7 @@ LIBPERL_NONSHR              = libperl$(LIB_EXT)
 
 $(LIBPERL_NONSHR): $(obj)
        $(RMS) $(LIBPERL_NONSHR)
-       $(AR) rcu $(LIBPERL_NONSHR) $(obj)
+       $(AR) rc $(LIBPERL_NONSHR) $(obj)
 
 !NO!SUBS!
        ;;
@@ -875,7 +875,7 @@ $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT)
        *)
                $spitshell >>$Makefile <<'!NO!SUBS!'
        rm -f $(LIBPERL)
-       $(AR) rcu $(LIBPERL) $(obj) $(DYNALOADER)
+       $(AR) rc $(LIBPERL) $(obj) $(DYNALOADER)
        @$(ranlib) $(LIBPERL)
 !NO!SUBS!
                ;;
index 6ef04e5..33b51b0 100644 (file)
@@ -225,7 +225,7 @@ $(aout_static_ext) : $(static_ext) $(dynamic_ext)
 
 $(AOUT_LIBPERL) : $(aout_obj) perl$(AOUT_OBJ_EXT)
        rm -f $@
-       $(AOUT_AR) rcu $@ perl$(AOUT_OBJ_EXT) $(aout_obj)
+       $(AOUT_AR) rc $@ perl$(AOUT_OBJ_EXT) $(aout_obj)
        cp $@ perl$(AOUT_LIB_EXT)
 
 .c$(AOUT_OBJ_EXT):