cpython: 52597f888e7a (original) (raw)
Mercurial > cpython
changeset 75694:52597f888e7a
- Issue #14321: Do not run pgen during the build if files are up to date. [#14321]
Matthias Klose doko@ubuntu.com | |
---|---|
date | Thu, 15 Mar 2012 18:08:34 +0100 |
parents | 59f0e6de54b3 |
children | fbbf9c187662 |
files | Makefile.pre.in Misc/NEWS configure configure.ac |
diffstat | 4 files changed, 88 insertions(+), 6 deletions(-)[+] [-] Makefile.pre.in 38 Misc/NEWS 5 configure 50 configure.ac 1 |
line wrap: on
line diff
--- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -58,6 +58,8 @@ INSTALL_DATA= @INSTALL_DATA@
Also, making them read-only seems to be a good idea...
INSTALL_SHARED= ${INSTALL} -m 555 +MKDIR_P= @MKDIR_P@ + MAKESETUP= $(srcdir)/Modules/makesetup
Compiler options
@@ -233,6 +235,18 @@ LIBFFI_INCLUDEDIR= @LIBFFI_INCLUDEDIR@
Parser
PGEN= Parser/pgen$(EXE) +PSRCS= [](#l1.16) + Parser/acceler.c [](#l1.17) + Parser/grammar1.c [](#l1.18) + Parser/listnode.c [](#l1.19) + Parser/node.c [](#l1.20) + Parser/parser.c [](#l1.21) + Parser/bitset.c [](#l1.22) + Parser/metagrammar.c [](#l1.23) + Parser/firstsets.c [](#l1.24) + Parser/grammar.c [](#l1.25) + Parser/pgen.c + POBJS= [](#l1.28) Parser/acceler.o [](#l1.29) Parser/grammar1.o [](#l1.30) @@ -247,6 +261,16 @@ POBJS= [](#l1.31) PARSER_OBJS= $(POBJS) Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o +PGSRCS= [](#l1.35) + Objects/obmalloc.c [](#l1.36) + Python/dynamic_annotations.c [](#l1.37) + Python/mysnprintf.c [](#l1.38) + Python/pyctype.c [](#l1.39) + Parser/tokenizer_pgen.c [](#l1.40) + Parser/printgrammar.c [](#l1.41) + Parser/parsetok_pgen.c [](#l1.42) + Parser/pgenmain.c + PGOBJS= [](#l1.45) Objects/obmalloc.o [](#l1.46) Python/dynamic_annotations.o [](#l1.47) @@ -262,7 +286,8 @@ PARSER_HEADERS= [](#l1.48) $(srcdir)/Include/parsetok.h [](#l1.49) $(srcdir)/Parser/tokenizer.h -PGENOBJS= (PGENMAIN)(PGENMAIN) (PGENMAIN)(POBJS) $(PGOBJS) +PGENSRCS= (PSRCS)(PSRCS) (PSRCS)(PGSRCS) +PGENOBJS= (POBJS)(POBJS) (POBJS)(PGOBJS) ##########################################################################
AST
@@ -591,12 +616,13 @@ Python/sysmodule.o: $(srcdir)/Python/sys (IOOBJS):(IO_OBJS): (IOOBJS):(IO_H) -# Use a stamp file to prevent make -j invoking pgen twice -$(GRAMMAR_H) $(GRAMMAR_C): Parser/pgen.stamp -Parser/pgen.stamp: (PGEN)(PGEN) (PGEN)(GRAMMAR_INPUT) - -@$(INSTALL) -d Include +$(GRAMMAR_H): (GRAMMARINPUT)(GRAMMAR_INPUT) (GRAMMARINPUT)(PGENSRCS) + @$(MKDIR_P) Include + (MAKE)(MAKE) (MAKE)(PGEN) (PGEN)(PGEN) (PGEN)(GRAMMAR_INPUT) (GRAMMARH)(GRAMMAR_H) (GRAMMARH)(GRAMMAR_C) - -touch Parser/pgen.stamp +$(GRAMMAR_C): (GRAMMARH)(GRAMMAR_H) (GRAMMARH)(GRAMMAR_INPUT) $(PGENSRCS) + (MAKE)(MAKE) (MAKE)(GRAMMAR_H) + touch $(GRAMMAR_C) (PGEN):(PGEN): (PGEN):(PGENOBJS) (CC)(CC) (CC)(OPT) (PYLDFLAGS)(PY_LDFLAGS) (PYLDFLAGS)(PGENOBJS) (LIBS)−o(LIBS) -o (LIBS)−o(PGEN)
--- a/Misc/NEWS +++ b/Misc/NEWS @@ -106,6 +106,11 @@ Library
- Issue #14210: pdb now has tab-completion not only for command names, but also for their arguments, wherever possible. +Build +----- + +- Issue #14321: Do not run pgen during the build if files are up to date. + Extension Modules -----------------
--- a/configure +++ b/configure @@ -640,6 +640,7 @@ BASECFLAGS OPT ABIFLAGS LN +MKDIR_P INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM @@ -5382,6 +5383,48 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCR test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' +{ asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then
- if ${ac_cv_path_mkdir+:} false; then :
- $as_echo_n "(cached) " >&6 +else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in PATHPATHPATHPATH_SEPARATOR/opt/sfw/bin +do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
for ac_exec_ext in '' $ac_executable_extensions; do[](#l3.27)
{ test -f "$as_dir/$ac_prog$ac_exec_ext" && <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><msub><mi>s</mi><mi>t</mi></msub><mi>e</mi><mi>s</mi><msub><mi>t</mi><mi>x</mi></msub><mi mathvariant="normal">"</mi></mrow><annotation encoding="application/x-tex">as_test_x "</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8444em;vertical-align:-0.15em;"></span><span class="mord mathnormal">a</span><span class="mord"><span class="mord mathnormal">s</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.2806em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">t</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord mathnormal">es</span><span class="mord"><span class="mord mathnormal">t</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.1514em;"><span style="top:-2.55em;margin-left:0em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">x</span></span></span></span><span class="vlist-s"></span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mord">"</span></span></span></span>as_dir/$ac_prog$ac_exec_ext"; } || continue[](#l3.28)
case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #([](#l3.29)
'mkdir (GNU coreutils) '* | \[](#l3.30)
'mkdir (coreutils) '* | \[](#l3.31)
'mkdir (fileutils) '4.1*)[](#l3.32)
ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext[](#l3.33)
break 3;;[](#l3.34)
esac[](#l3.35)
done[](#l3.36)
done[](#l3.37)
- done +IFS=$as_save_IFS + +fi +
- test -d ./--version && rmdir ./--version
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
- else
As a last resort, use the slow shell script. Don't cache a
value for MKDIR_P within a source directory, because that will
break other packages using the cache if that directory is
removed, or if the value is a relative name.
- MKDIR_P="$ac_install_sh -d"
- fi +fi +{ asecho"as_echo "asecho"as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } +
Not every filesystem supports hard links
@@ -14647,6 +14690,7 @@ gives unlimited permission to copy, dist ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' test -n "$AWK" || AWK=awk ACEOF @@ -15214,6 +15258,11 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir [\/$]* | ?:[\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\/$]* | ?:[\/]* ) ;;
- /) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 @@ -15268,6 +15317,7 @@ s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed "$ac_sed_extra" "$ac_file_inputs" | AWK−f"AWK -f "AWK−f"ac_tmp/subs.awk" [](#l3.87)
--- a/configure.ac +++ b/configure.ac @@ -848,6 +848,7 @@ bsdos*|hp*|HP*) fi esac AC_PROG_INSTALL +AC_PROG_MKDIR_P