forked from OSchip/llvm-project
Add new configure option, --disable-timestamps, intended to turn off anything which would mess up binary/object comparisons. Currently:
- Disables 'Built on ...' in 'foo --version'. - Disables timestamps from being embedded into .dir files. llvm-svn: 103423
This commit is contained in:
parent
bf2fb95b7c
commit
dac182450b
|
@ -270,6 +270,9 @@ ENABLE_SHARED := @ENABLE_SHARED@
|
|||
# Use -fvisibility-inlines-hidden?
|
||||
ENABLE_VISIBILITY_INLINES_HIDDEN := @ENABLE_VISIBILITY_INLINES_HIDDEN@
|
||||
|
||||
# Do we want to allow timestamping information into builds?
|
||||
ENABLE_TIMESTAMPS := @ENABLE_TIMESTAMPS@
|
||||
|
||||
# This option tells the Makefiles to produce verbose output.
|
||||
# It essentially prints the commands that make is executing
|
||||
#VERBOSE = 1
|
||||
|
|
|
@ -447,6 +447,14 @@ else
|
|||
endif
|
||||
endif
|
||||
|
||||
# Support makefile variable to disable any kind of timestamp/non-deterministic
|
||||
# info from being used in the build.
|
||||
ifeq ($(ENABLE_TIMESTAMPS),1)
|
||||
DOTDIR_TIMESTAMP_COMMAND := $(DATE)
|
||||
else
|
||||
DOTDIR_TIMESTAMP_COMMAND := echo 'Created.'
|
||||
endif
|
||||
|
||||
ifeq ($(HOST_OS),MingW)
|
||||
# Work around PR4957
|
||||
CPP.Defines += -D__NO_CTYPE_INLINE
|
||||
|
@ -779,7 +787,7 @@ $(DESTDIR)$(PROJ_bindir) $(DESTDIR)$(PROJ_libdir) $(DESTDIR)$(PROJ_includedir) $
|
|||
# To create other directories, as needed, and timestamp their creation
|
||||
%/.dir:
|
||||
$(Verb) $(MKDIR) $* > /dev/null
|
||||
$(Verb) $(DATE) > $@
|
||||
$(Verb) $(DOTDIR_TIMESTAMP_COMMAND) > $@
|
||||
|
||||
.PRECIOUS: $(ObjDir)/.dir $(LibDir)/.dir $(ToolDir)/.dir $(ExmplDir)/.dir
|
||||
.PRECIOUS: $(LLVMLibDir)/.dir $(LLVMToolDir)/.dir $(LLVMExmplDir)/.dir
|
||||
|
|
|
@ -525,6 +525,20 @@ case "$enableval" in
|
|||
*) AC_MSG_ERROR([Invalid setting for --enable-shared. Use "yes" or "no"]) ;;
|
||||
esac
|
||||
|
||||
dnl Enable embedding timestamp information into build.
|
||||
AC_ARG_ENABLE(timestamps,
|
||||
AS_HELP_STRING([--enable-timestamps],
|
||||
[Enable embedding timestamp information in build (default is YES)]),,
|
||||
enableval=default)
|
||||
case "$enableval" in
|
||||
yes) AC_SUBST(ENABLE_TIMESTAMPS,[1]) ;;
|
||||
no) AC_SUBST(ENABLE_TIMESTAMPS,[0]) ;;
|
||||
default) AC_SUBST(ENABLE_TIMESTAMPS,[1]) ;;
|
||||
*) AC_MSG_ERROR([Invalid setting for --enable-timestamps. Use "yes" or "no"]) ;;
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED([ENABLE_TIMESTAMPS],$ENABLE_TIMESTAMPS,
|
||||
[Define if timestamp information (e.g., __DATE___) is allowed])
|
||||
|
||||
dnl Allow specific targets to be specified for building (or not)
|
||||
TARGETS_TO_BUILD=""
|
||||
AC_ARG_ENABLE([targets],AS_HELP_STRING([--enable-targets],
|
||||
|
|
|
@ -690,6 +690,7 @@ ENABLE_DOXYGEN
|
|||
ENABLE_THREADS
|
||||
ENABLE_PIC
|
||||
ENABLE_SHARED
|
||||
ENABLE_TIMESTAMPS
|
||||
TARGETS_TO_BUILD
|
||||
LLVM_ENUM_TARGETS
|
||||
LLVM_ENUM_ASM_PRINTERS
|
||||
|
@ -1410,6 +1411,8 @@ Optional Features:
|
|||
is YES)
|
||||
--enable-shared Build a shared library and link tools against it
|
||||
(default is NO)
|
||||
--enable-timestamps Enable embedding timestamp information in build
|
||||
(default is YES)
|
||||
--enable-targets Build specific host targets: all or
|
||||
target1,target2,... Valid targets are: host, x86,
|
||||
x86_64, sparc, powerpc, alpha, arm, mips, spu,
|
||||
|
@ -4923,6 +4926,30 @@ echo "$as_me: error: Invalid setting for --enable-shared. Use \"yes\" or \"no\""
|
|||
{ (exit 1); exit 1; }; } ;;
|
||||
esac
|
||||
|
||||
# Check whether --enable-timestamps was given.
|
||||
if test "${enable_timestamps+set}" = set; then
|
||||
enableval=$enable_timestamps;
|
||||
else
|
||||
enableval=default
|
||||
fi
|
||||
|
||||
case "$enableval" in
|
||||
yes) ENABLE_TIMESTAMPS=1
|
||||
;;
|
||||
no) ENABLE_TIMESTAMPS=0
|
||||
;;
|
||||
default) ENABLE_TIMESTAMPS=1
|
||||
;;
|
||||
*) { { echo "$as_me:$LINENO: error: Invalid setting for --enable-timestamps. Use \"yes\" or \"no\"" >&5
|
||||
echo "$as_me: error: Invalid setting for --enable-timestamps. Use \"yes\" or \"no\"" >&2;}
|
||||
{ (exit 1); exit 1; }; } ;;
|
||||
esac
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define ENABLE_TIMESTAMPS $ENABLE_TIMESTAMPS
|
||||
_ACEOF
|
||||
|
||||
|
||||
TARGETS_TO_BUILD=""
|
||||
# Check whether --enable-targets was given.
|
||||
if test "${enable_targets+set}" = set; then
|
||||
|
@ -11357,7 +11384,7 @@ else
|
|||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 11360 "configure"
|
||||
#line 11387 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
|
@ -21167,6 +21194,7 @@ ENABLE_DOXYGEN!$ENABLE_DOXYGEN$ac_delim
|
|||
ENABLE_THREADS!$ENABLE_THREADS$ac_delim
|
||||
ENABLE_PIC!$ENABLE_PIC$ac_delim
|
||||
ENABLE_SHARED!$ENABLE_SHARED$ac_delim
|
||||
ENABLE_TIMESTAMPS!$ENABLE_TIMESTAMPS$ac_delim
|
||||
TARGETS_TO_BUILD!$TARGETS_TO_BUILD$ac_delim
|
||||
LLVM_ENUM_TARGETS!$LLVM_ENUM_TARGETS$ac_delim
|
||||
LLVM_ENUM_ASM_PRINTERS!$LLVM_ENUM_ASM_PRINTERS$ac_delim
|
||||
|
@ -21175,7 +21203,6 @@ LLVM_ENUM_DISASSEMBLERS!$LLVM_ENUM_DISASSEMBLERS$ac_delim
|
|||
ENABLE_CBE_PRINTF_A!$ENABLE_CBE_PRINTF_A$ac_delim
|
||||
CLANGPATH!$CLANGPATH$ac_delim
|
||||
CLANGXXPATH!$CLANGXXPATH$ac_delim
|
||||
ENABLE_BUILT_CLANG!$ENABLE_BUILT_CLANG$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||
|
@ -21217,6 +21244,7 @@ _ACEOF
|
|||
ac_delim='%!_!# '
|
||||
for ac_last_try in false false false false false :; do
|
||||
cat >conf$$subs.sed <<_ACEOF
|
||||
ENABLE_BUILT_CLANG!$ENABLE_BUILT_CLANG$ac_delim
|
||||
OPTIMIZE_OPTION!$OPTIMIZE_OPTION$ac_delim
|
||||
EXTRA_OPTIONS!$EXTRA_OPTIONS$ac_delim
|
||||
BINUTILS_INCDIR!$BINUTILS_INCDIR$ac_delim
|
||||
|
@ -21313,7 +21341,7 @@ LIBOBJS!$LIBOBJS$ac_delim
|
|||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||
_ACEOF
|
||||
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 94; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 95; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
/* Define if threads enabled */
|
||||
#undef ENABLE_THREADS
|
||||
|
||||
/* Define if timestamp information (e.g., __DATE___) is allowed */
|
||||
#undef ENABLE_TIMESTAMPS
|
||||
|
||||
/* Define to 1 if you have the `argz_append' function. */
|
||||
#undef HAVE_ARGZ_APPEND
|
||||
|
||||
|
|
|
@ -1170,7 +1170,9 @@ public:
|
|||
std::string CPU = sys::getHostCPUName();
|
||||
if (CPU == "generic") CPU = "(unknown)";
|
||||
OS << ".\n"
|
||||
#if (ENABLE_TIMESTAMPS == 1)
|
||||
<< " Built " << __DATE__ << " (" << __TIME__ << ").\n"
|
||||
#endif
|
||||
<< " Host: " << sys::getHostTriple() << '\n'
|
||||
<< " Host CPU: " << CPU << '\n'
|
||||
<< '\n'
|
||||
|
|
Loading…
Reference in New Issue