This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc 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]

GNU C Library master sources branch master updated. glibc-2.28.9000-229-gc6982f7


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  c6982f7efc1c70fe2d6160a87ee44d871ac85ab0 (commit)
      from  5c81be53407434ce22b849722a3d691295480016 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c6982f7efc1c70fe2d6160a87ee44d871ac85ab0

commit c6982f7efc1c70fe2d6160a87ee44d871ac85ab0
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Oct 29 15:28:05 2018 +0000

    Patch to require Python 3.4 or later to build glibc.
    
    This patch makes Python 3.4 or later a required tool for building
    glibc, so allowing changes of awk, perl etc. code used in the build
    and test to Python code without any such changes needing makefile
    conditionals or to handle older Python versions.
    
    This patch makes the configure test for Python check the version and
    give an error if Python is missing or too old, and removes makefile
    conditionals that are no longer needed.  It does not itself convert
    any code from another language to Python, and does not remove any
    compatibility with older Python versions from existing scripts.
    
    Tested for x86_64.
    
    	* configure.ac (PYTHON_PROG): Use AC_CHECK_PROG_VER.  Set
    	critic_missing for versions before 3.4.
    	* configure: Regenerated.
    	* manual/install.texi (Tools for Compilation): Document
    	requirement for Python to build glibc.
    	* INSTALL: Regenerated.
    	* Rules [PYTHON]: Make code unconditional.
    	* benchtests/Makefile [PYTHON]: Likewise.
    	* conform/Makefile [PYTHON]: Likewise.
    	* manual/Makefile [PYTHON]: Likewise.
    	* math/Makefile [PYTHON]: Likewise.

diff --git a/ChangeLog b/ChangeLog
index 5709c3c..dc267e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2018-10-29  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac (PYTHON_PROG): Use AC_CHECK_PROG_VER.  Set
+	critic_missing for versions before 3.4.
+	* configure: Regenerated.
+	* manual/install.texi (Tools for Compilation): Document
+	requirement for Python to build glibc.
+	* INSTALL: Regenerated.
+	* Rules [PYTHON]: Make code unconditional.
+	* benchtests/Makefile [PYTHON]: Likewise.
+	* conform/Makefile [PYTHON]: Likewise.
+	* manual/Makefile [PYTHON]: Likewise.
+	* math/Makefile [PYTHON]: Likewise.
+
 2018-10-28  Samuel Thibault  <samuel.thibault@ens-lyon.org>
 
 	* hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): Set to 60000.
diff --git a/INSTALL b/INSTALL
index 50bd113..3884ada 100644
--- a/INSTALL
+++ b/INSTALL
@@ -531,11 +531,11 @@ build the GNU C Library:
      work with any version of 'sed'.  As of release time, 'sed' version
      4.5 is the newest verified to work to build the GNU C Library.
 
-   * Python 2.7/3.4 or later
+   * Python 3.4 or later
 
-     Python is required to build the GNU C Library manual and to run
-     some tests.  As of release time, Python 3.6 is the newest verified
-     to work for testing the GNU C Library.
+     Python is required to build the GNU C Library.  As of release time,
+     Python 3.6 is the newest verified to work for building and testing
+     the GNU C Library.
 
    * PExpect 4.0
 
diff --git a/NEWS b/NEWS
index 270abc1..3d13b32 100644
--- a/NEWS
+++ b/NEWS
@@ -48,7 +48,7 @@ Deprecated and removed features, and other changes affecting compatibility:
 
 Changes to build and runtime requirements:
 
-* Python is required to build the GNU C Library manual.
+* Python 3.4 or later is required to build the GNU C Library.
 
 Security related changes:
 
diff --git a/Rules b/Rules
index 5abb727..dd325cb 100644
--- a/Rules
+++ b/Rules
@@ -114,11 +114,6 @@ tests-printers-programs := $(addprefix $(objpfx),$(tests-printers))
 # .out files with the output of running the pretty printer tests.
 tests-printers-out := $(patsubst %,$(objpfx)%.out,$(tests-printers))
 
-ifndef PYTHON
-# Mark tests-printers tests as unsupported if we don't have PYTHON.
-tests-unsupported += $(tests-printers)
-endif
-
 ifeq ($(build-programs),yes)
 others: $(addprefix $(objpfx),$(others) $(sysdep-others) $(extra-objs))
 else
@@ -277,7 +272,6 @@ endif
 
 endif	# tests
 
-ifdef PYTHON
 ifneq "$(strip $(tests-printers))" ""
 
 # Static pattern rule for building the test programs for the pretty printers.
@@ -300,7 +294,6 @@ $(tests-printers-out): $(objpfx)%.out: $(objpfx)% %.py %.c $(pretty-printers) \
 	    $(PYTHON) $*.py $*.c $(objpfx)$* $(pretty-printers) > $@; \
 	$(evaluate-test)
 endif
-endif
 
 
 .PHONY: distclean realclean subdir_distclean subdir_realclean \
diff --git a/benchtests/Makefile b/benchtests/Makefile
index 45aeb5f..d558db4 100644
--- a/benchtests/Makefile
+++ b/benchtests/Makefile
@@ -180,14 +180,7 @@ $(error Invalid BENCHSET value)
 endif
 endif
 
-# Define the bench target only if the target has a usable python installation.
-ifdef PYTHON
 bench: bench-build bench-set bench-func bench-malloc
-else
-bench:
-	@echo "The bench target needs python to run."
-	@exit 1
-endif
 
 # Target to only build the benchmark without running it.  We generate locales
 # only if we're building natively.
diff --git a/configure b/configure
index f30c31a..535e2f6 100755
--- a/configure
+++ b/configure
@@ -5344,19 +5344,30 @@ fi
 
   test -n "$PYTHON_PROG" && break
 done
-test -n "$PYTHON_PROG" || PYTHON_PROG="no"
 
-case "x$PYTHON_PROG" in
-xno|x|x:) PYTHON_PROG=no ;;
-*) ;;
-esac
-
-if test "x$PYTHON_PROG" = xno; then
-  aux_missing="$aux_missing python"
+if test -z "$PYTHON_PROG"; then
+  ac_verc_fail=yes
 else
-  PYTHON="$PYTHON_PROG -B"
+  # Found it, now check the version.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $PYTHON_PROG" >&5
+$as_echo_n "checking version of $PYTHON_PROG... " >&6; }
+  ac_prog_version=`$PYTHON_PROG --version 2>&1 | sed -n 's/^.*Python \([0-9][0-9.]*\).*$/\1/p'`
+  case $ac_prog_version in
+    '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+    3.[4-9]*|3.[1-9][0-9]*|[4-9].*|[1-9][0-9]*)
+       ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+    *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
 
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_prog_version" >&5
+$as_echo "$ac_prog_version" >&6; }
 fi
+if test $ac_verc_fail = yes; then
+  critic_missing="$critic_missing python"
+fi
+
+PYTHON="$PYTHON_PROG -B"
+
 
 test -n "$critic_missing" && as_fn_error $? "
 *** These critical programs are missing or too old:$critic_missing
diff --git a/configure.ac b/configure.ac
index e983fd8..6cc10ed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1050,18 +1050,12 @@ else
 fi
 
 # Check for python3 if available, or else python.
-AC_CHECK_PROGS(PYTHON_PROG, python3 python,no)
-case "x$PYTHON_PROG" in
-xno|x|x:) PYTHON_PROG=no ;;
-*) ;;
-esac
-
-if test "x$PYTHON_PROG" = xno; then
-  aux_missing="$aux_missing python"
-else
-  PYTHON="$PYTHON_PROG -B"
-  AC_SUBST(PYTHON)
-fi
+AC_CHECK_PROG_VER(PYTHON_PROG, python3 python, --version,
+  [Python \([0-9][0-9.]*\)],
+  [3.[4-9]*|3.[1-9][0-9]*|[4-9].*|[1-9][0-9]*],
+  critic_missing="$critic_missing python")
+PYTHON="$PYTHON_PROG -B"
+AC_SUBST(PYTHON)
 
 test -n "$critic_missing" && AC_MSG_ERROR([
 *** These critical programs are missing or too old:$critic_missing
diff --git a/conform/Makefile b/conform/Makefile
index 71e58a4..a2bbe0f 100644
--- a/conform/Makefile
+++ b/conform/Makefile
@@ -120,9 +120,7 @@ linknamespace-symlists-base := $(foreach std,$(conformtest-standards),\
 					     symlist-$(std))
 linknamespace-symlists-tests := $(addprefix $(objpfx),\
 					    $(linknamespace-symlists-base))
-ifdef PYTHON
 tests-special += $(linknamespace-symlists-tests)
-endif
 
 linknamespace-symlist-stdlibs-base := $(foreach std,$(conformtest-standards),\
 						    symlist-stdlibs-$(std))
@@ -130,9 +128,7 @@ linknamespace-symlist-stdlibs-tests := \
 	$(addprefix $(objpfx),\
 		    $(linknamespace-symlist-stdlibs-base))
 
-ifdef PYTHON
 tests-special += $(linknamespace-symlist-stdlibs-tests)
-endif
 
 linknamespace-header-base := $(foreach std,\
 				       $(conformtest-standards),\
@@ -141,9 +137,7 @@ linknamespace-header-base := $(foreach std,\
 						 $(std)/$(h)/linknamespace.out))
 linknamespace-header-tests := $(addprefix $(objpfx),\
 					  $(linknamespace-header-base))
-ifdef PYTHON
 tests-special += $(linknamespace-header-tests)
-endif
 
 include ../Rules
 
diff --git a/manual/Makefile b/manual/Makefile
index 9c35c9d..5f6006d 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -172,7 +172,7 @@ include ../Rules
 install-data subdir_install: install
 # Generated files requiring python: libm-err.texi
 # Generated files requiring perl: summary.texi
-ifneq ($(if $(PYTHON),$(PERL),no),no)
+ifneq ($(PERL),no)
 ifneq ($(strip $(MAKEINFO)),:)
 install: $(inst_infodir)/libc.info
 	@if $(SHELL) -c '$(INSTALL_INFO) --version' >/dev/null 2>&1; then \
diff --git a/manual/install.texi b/manual/install.texi
index 08a39f5..c190023 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -575,11 +575,11 @@ with any version of @code{sed}.  As of release time, @code{sed} version
 4.5 is the newest verified to work to build @theglibc{}.
 
 @item
-Python 2.7/3.4 or later
+Python 3.4 or later
 
-Python is required to build the @glibcadj{} manual and to run some
-tests.  As of release time, Python 3.6 is the newest verified to work
-for testing @theglibc{}.
+Python is required to build @theglibc{}.  As of release time, Python
+3.6 is the newest verified to work for building and testing
+@theglibc{}.
 
 @item PExpect 4.0
 
diff --git a/math/Makefile b/math/Makefile
index 750492b..34db021 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -255,7 +255,6 @@ tests += test-math-isinff test-math-iszero test-math-issignaling \
 	 test-math-iscanonical test-math-cxx11 test-math-iseqsig
 endif
 
-ifdef PYTHON
 libm-vec-tests = $(addprefix test-,$(libmvec-tests))
 libm-test-support = $(foreach t,$(test-types),libm-test-support-$(t))
 test-extras += $(libm-test-support)
@@ -351,9 +350,7 @@ $(libm-test-c-narrow-obj): $(objpfx)libm-test%.c: libm-test%.inc \
 						  auto-libm-test-out%
 	$(make-target-directory)
 	$(PYTHON) gen-libm-test.py -c $< -a auto-libm-test-out$* -C $@
-endif
 
-ifdef PYTHON
 tgmath3-macros = atan2 cbrt ceil copysign erf erfc exp2 expm1 fdim floor \
 		 fma fmax fmin fmod frexp hypot ilogb ldexp lgamma llrint \
 		 llround log10 log1p log2 logb lrint lround nearbyint \
@@ -380,7 +377,6 @@ tests-special += $(objpfx)test-tgmath3-macro-list.out
 $(objpfx)test-tgmath3-macro-list.out: gen-tgmath-tests.py
 	$(PYTHON) $< check-list $(tgmath3-macros) > $@; \
 	$(evaluate-test)
-endif
 
 libm-test-fast-math-cflags = -fno-builtin -D__FAST_MATH__ -DTEST_FAST_MATH
 libm-test-vec-cflags = $(libm-test-fast-math-cflags) -fno-inline \
@@ -476,7 +472,6 @@ $(objpfx)gen-libm-templates.stmp: Makefile
 $(foreach t, $(call type-foreach, $(gen-all-calls)), \
              $(objpfx)$(t).c): $(objpfx)gen-libm-templates.stmp
 
-ifdef PYTHON
 # This must come after the inclusion of sysdeps Makefiles via Rules.
 
 $(foreach t,$(libm-tests-normal),$(objpfx)$(t).c): $(objpfx)test-%.c:
@@ -637,11 +632,6 @@ regen-ulps: $(addprefix $(objpfx),$(libm-tests))
 	echo "Difference between the current baseline and the new baseline is:";\
 	diff -urN $(ulps-file) $(objpfx)NewUlps; \
 	echo "Copy $(objpfx)NewUlps to $(ulps-file) (relative to source)."
-else
-regen-ulps:
-	@echo "Automatic regeneration of ULPs requires python."; \
-	exit 1;
-endif
 
 # The generated sysd-rules file defines rules like this for sources
 # coming from sysdeps/ directories.  These rules find the generic sources.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog           |   14 ++++++++++++++
 INSTALL             |    8 ++++----
 NEWS                |    2 +-
 Rules               |    7 -------
 benchtests/Makefile |    7 -------
 configure           |   29 ++++++++++++++++++++---------
 configure.ac        |   18 ++++++------------
 conform/Makefile    |    6 ------
 manual/Makefile     |    2 +-
 manual/install.texi |    8 ++++----
 math/Makefile       |   10 ----------
 11 files changed, 50 insertions(+), 61 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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