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

--- 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

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

--- a/configure.ac +++ b/configure.ac @@ -848,6 +848,7 @@ bsdos*|hp*|HP*) fi esac AC_PROG_INSTALL +AC_PROG_MKDIR_P

Not every filesystem supports hard links

AC_SUBST(LN)