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.24-166-gfc3e133


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  fc3e1337be1c6935ab58bd13520f97a535cf70cc (commit)
       via  612148c6608fb2df34a8d01ccb3b552cd63eb263 (commit)
      from  1d2ea31ca95adcd68085f487629e0a1b569c7d63 (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=fc3e1337be1c6935ab58bd13520f97a535cf70cc

commit fc3e1337be1c6935ab58bd13520f97a535cf70cc
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Sep 21 10:45:32 2016 +0200

    Avoid running $(CXX) during build to obtain header file paths
    
    This reduces the build time somewhat and is particularly noticeable
    during rebuilds with few code changes.

diff --git a/ChangeLog b/ChangeLog
index 71fed8f..12a217a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 2016-09-21  Florian Weimer  <fweimer@redhat.com>
 
+	Avoid running $(CXX) during build to obtain header file paths.
+	* configure.ac (CXX_SYSINCLUDES, CXX_CMATH_HEADER): Set.
+	* config.make.in (c++-cstdlib-header, c++-cmath-header): Define.
+	* Makerules (cstdlib, cmath): Remove variables.  Use
+	$(c++-cstdlib-header), $(c++-cmath-header) instead.
+	* configure: Regenerate.
+
+2016-09-21  Florian Weimer  <fweimer@redhat.com>
+
 	* Makeconfig (all-object-suffixes): Include .op only if
 	$(build-profile).
 
diff --git a/Makerules b/Makerules
index 748790b..e865782 100644
--- a/Makerules
+++ b/Makerules
@@ -121,14 +121,10 @@ ifneq (,$(CXX))
 # will be used instead of /usr/include/stdlib.h and /usr/include/math.h.
 before-compile := $(common-objpfx)cstdlib $(common-objpfx)cmath \
 	          $(before-compile)
-cstdlib=$(shell echo "\#include <cstdlib>" | $(CXX) -M -MP -x c++ - \
-		| sed -n "/cstdlib:/{s/:$$//;p}")
-$(common-objpfx)cstdlib: $(cstdlib)
+$(common-objpfx)cstdlib: $(c++-cstdlib-header)
 	$(INSTALL_DATA) $< $@T
 	$(move-if-change) $@T $@
-cmath=$(shell echo "\#include <cmath>" | $(CXX) -M -MP -x c++ - \
-		| sed -n "/cmath:/{s/:$$//;p}")
-$(common-objpfx)cmath: $(cmath)
+$(common-objpfx)cmath: $(c++-cmath-header)
 	$(INSTALL_DATA) $< $@T
 	$(move-if-change) $@T $@
 endif
diff --git a/config.make.in b/config.make.in
index 95c6f36..04a8b3e 100644
--- a/config.make.in
+++ b/config.make.in
@@ -45,6 +45,8 @@ defines = @DEFINES@
 sysheaders = @sysheaders@
 sysincludes = @SYSINCLUDES@
 c++-sysincludes = @CXX_SYSINCLUDES@
+c++-cstdlib-header = @CXX_CSTDLIB_HEADER@
+c++-cmath-header = @CXX_CMATH_HEADER@
 all-warnings = @all_warnings@
 enable-werror = @enable_werror@
 
diff --git a/configure b/configure
index 17625e1..6ff2527 100755
--- a/configure
+++ b/configure
@@ -635,6 +635,8 @@ BISON
 INSTALL_INFO
 PERL
 BASH_SHELL
+CXX_CMATH_HEADER
+CXX_CSTDLIB_HEADER
 CXX_SYSINCLUDES
 SYSINCLUDES
 AUTOCONF
@@ -5054,6 +5056,18 @@ fi
 
 
 
+# Obtain some C++ header file paths.  This is used to make a local
+# copy of those headers in Makerules.
+if test -n "$CXX"; then
+  find_cxx_header () {
+    echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
+  }
+  CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
+  CXX_CMATH_HEADER="$(find_cxx_header cmath)"
+fi
+
+
+
 # Test if LD_LIBRARY_PATH contains the notation for the current directory
 # since this would lead to problems installing/building glibc.
 # LD_LIBRARY_PATH contains the current directory if one of the following
diff --git a/configure.ac b/configure.ac
index 33bcd62..9938ab0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1039,6 +1039,18 @@ fi
 AC_SUBST(SYSINCLUDES)
 AC_SUBST(CXX_SYSINCLUDES)
 
+# Obtain some C++ header file paths.  This is used to make a local
+# copy of those headers in Makerules.
+if test -n "$CXX"; then
+  find_cxx_header () {
+    echo "#include <$1>" | $CXX -M -MP -x c++ - | sed -n "/$1:/{s/:\$//;p}"
+  }
+  CXX_CSTDLIB_HEADER="$(find_cxx_header cstdlib)"
+  CXX_CMATH_HEADER="$(find_cxx_header cmath)"
+fi
+AC_SUBST(CXX_CSTDLIB_HEADER)
+AC_SUBST(CXX_CMATH_HEADER)
+
 # Test if LD_LIBRARY_PATH contains the notation for the current directory
 # since this would lead to problems installing/building glibc.
 # LD_LIBRARY_PATH contains the current directory if one of the following

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=612148c6608fb2df34a8d01ccb3b552cd63eb263

commit 612148c6608fb2df34a8d01ccb3b552cd63eb263
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Sep 21 10:45:19 2016 +0200

    Generate .op pattern rules for profiling builds only
    
    .op pattern rules are not used in non-profiling builds.
    
    This does not cause any changes to both profiling and non-profiling
    builds.

diff --git a/ChangeLog b/ChangeLog
index 2e29b7d..71fed8f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2016-09-21  Florian Weimer  <fweimer@redhat.com>
 
+	* Makeconfig (all-object-suffixes): Include .op only if
+	$(build-profile).
+
+2016-09-21  Florian Weimer  <fweimer@redhat.com>
+
 	* elf/sln.c: Remove HAVE_CONFIG_H, S_ISDIR, S_ISLNK preprocessor
 	conditionals.  Do not define PATH_MAX.
 
diff --git a/Makeconfig b/Makeconfig
index c1ce74b..a785860 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -905,7 +905,8 @@ endif
 # The compilation rules use $(CPPFLAGS-${SUFFIX}) and $(CFLAGS-${SUFFIX})
 # to pass different flags for each flavor.
 libtypes = $(foreach o,$(object-suffixes-for-libc),$(libtype$o))
-all-object-suffixes := .o .os .op .oS
+# .op may be added to all-object-suffixes below.
+all-object-suffixes := .o .os .oS
 object-suffixes :=
 CPPFLAGS-.o = $(pic-default)
 CFLAGS-.o = $(filter %frame-pointer,$(+cflags))
@@ -930,6 +931,7 @@ PIE-ccflag = -fPIE
 ifeq (yes,$(build-profile))
 # Under --enable-profile, we will build a static library of profiled objects.
 # The profiled object files are named foo.op.
+all-object-suffixes += .op
 object-suffixes += .op
 CPPFLAGS-.op = -DPROF $(pic-default)
 CFLAGS-.op = -pg

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

Summary of changes:
 ChangeLog      |   14 ++++++++++++++
 Makeconfig     |    4 +++-
 Makerules      |    8 ++------
 config.make.in |    2 ++
 configure      |   14 ++++++++++++++
 configure.ac   |   12 ++++++++++++
 6 files changed, 47 insertions(+), 7 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]