This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.24-166-gfc3e133
- From: fw at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 21 Sep 2016 09:02:42 -0000
- Subject: 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