diff options
author | stratakis <cstratak@redhat.com> | 2018-11-29 14:43:24 (GMT) |
---|---|---|
committer | Victor Stinner <vstinner@redhat.com> | 2018-11-29 14:43:24 (GMT) |
commit | e1b210342fa08685bf9b24eb449a2f079f1b50f5 (patch) | |
tree | b28df3ab8bd8edff2cd69c71847b90a1a23025ac | |
parent | cbf57674e257617977b35c016e861a52b5f65359 (diff) | |
download | cpython-e1b210342fa08685bf9b24eb449a2f079f1b50f5.zip cpython-e1b210342fa08685bf9b24eb449a2f079f1b50f5.tar.gz cpython-e1b210342fa08685bf9b24eb449a2f079f1b50f5.tar.bz2 |
[3.6] bpo-31625: Stop using ranlib (GH-10417)
* stop using ranlib (closes bpo-31625) (#3815)
Instead, simply pass 's' to ar.
* explicitly list objects for the ar command (#3824)
$^ is not portable.
closes bpo-31625
-rw-r--r-- | Makefile.pre.in | 11 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Build/2017-09-28-23-21-20.bpo-31625.Bb2NXr.rst | 1 | ||||
-rwxr-xr-x | configure | 96 | ||||
-rw-r--r-- | configure.ac | 3 |
4 files changed, 4 insertions, 107 deletions
diff --git a/Makefile.pre.in b/Makefile.pre.in index 82f7edd..258236d 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -37,7 +37,6 @@ CXX= @CXX@ MAINCC= @MAINCC@ LINKCC= @LINKCC@ AR= @AR@ -RANLIB= @RANLIB@ READELF= @READELF@ SOABI= @SOABI@ LDVERSION= @LDVERSION@ @@ -593,16 +592,9 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o # Build static library -# avoid long command lines, same as LIBRARY_OBJS $(LIBRARY): $(LIBRARY_OBJS) -rm -f $@ - $(AR) $(ARFLAGS) $@ Modules/getbuildinfo.o - $(AR) $(ARFLAGS) $@ $(PARSER_OBJS) - $(AR) $(ARFLAGS) $@ $(OBJECT_OBJS) - $(AR) $(ARFLAGS) $@ $(PYTHON_OBJS) Python/frozen.o - $(AR) $(ARFLAGS) $@ $(MODULE_OBJS) - $(AR) $(ARFLAGS) $@ $(MODOBJS) - $(RANLIB) $@ + $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS) libpython$(LDVERSION).so: $(LIBRARY_OBJS) if test $(INSTSONAME) != $(LDLIBRARY); then \ @@ -1435,7 +1427,6 @@ libainstall: @DEF_MAKE_RULE@ python-config $(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBPL) ; \ else \ $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ - $(RANLIB) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \ fi; \ else \ echo Skip install of $(LIBRARY) - use make frameworkinstall; \ diff --git a/Misc/NEWS.d/next/Build/2017-09-28-23-21-20.bpo-31625.Bb2NXr.rst b/Misc/NEWS.d/next/Build/2017-09-28-23-21-20.bpo-31625.Bb2NXr.rst new file mode 100644 index 0000000..dbd078f --- /dev/null +++ b/Misc/NEWS.d/next/Build/2017-09-28-23-21-20.bpo-31625.Bb2NXr.rst @@ -0,0 +1 @@ +Stop using ranlib on static libraries. Instead, we assume ar supports the 's' flag. @@ -694,8 +694,6 @@ READELF ARFLAGS ac_ct_AR AR -RANLIB -USE_INLINE GNULD LINKCC LDVERSION @@ -6029,98 +6027,6 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDLIBRARY" >&5 $as_echo "$LDLIBRARY" >&6; } -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - if test -n "$ac_tool_prefix"; then for ac_prog in ar aal @@ -6227,7 +6133,7 @@ fi if test -z "$ARFLAGS" then - ARFLAGS="rc" + ARFLAGS="rcs" fi if test -n "$ac_tool_prefix"; then diff --git a/configure.ac b/configure.ac index f9d406e..c003025 100644 --- a/configure.ac +++ b/configure.ac @@ -1196,7 +1196,6 @@ fi AC_MSG_RESULT($LDLIBRARY) -AC_PROG_RANLIB AC_SUBST(AR) AC_CHECK_TOOLS(AR, ar aal, ar) @@ -1204,7 +1203,7 @@ AC_CHECK_TOOLS(AR, ar aal, ar) AC_SUBST(ARFLAGS) if test -z "$ARFLAGS" then - ARFLAGS="rc" + ARFLAGS="rcs" fi AC_CHECK_TOOLS([READELF], [readelf], [:]) |