automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Byte-compile nobase_*_PYTHON files only once.


From: Benoit Sigoure
Subject: [PATCH] Byte-compile nobase_*_PYTHON files only once.
Date: Tue, 17 Sep 2013 09:57:53 -0700

Byte-compiling was occurring inside of a loop, causing an O(n^2)
number of byte-compilations instead of O(n).
---
 lib/am/python.am | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib/am/python.am b/lib/am/python.am
index 36f0b2d..06545b1 100644
--- a/lib/am/python.am
+++ b/lib/am/python.am
@@ -66,7 +66,7 @@ else !%?BASE%
          echo " $(MKDIR_P) '$(DESTDIR)$(%NDIR%dir)'"; \
          $(MKDIR_P) "$(DESTDIR)$(%NDIR%dir)" || exit 1; \
        fi; \
-       $(am__nobase_list) | while read dir files; do \
+       $(am__nobase_list) | { while read dir files; do \
          xfiles=; for p in $$files; do \
 ## A file can be in the source directory or the build directory.
            if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \
@@ -79,13 +79,13 @@ else !%?BASE%
 ## Don't perform translation, since script name is important.
            echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(%NDIR%dir)/$$dir'"; \
            $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(%NDIR%dir)/$$dir" || exit 
$$?; }; \
+       done; \
 ## Byte-compile must be done at install time, since file times are
 ## encoded in the actual files.
-         if test -n "$$dlist"; then \
-           $(am__py_compile) --destdir "$(DESTDIR)" \
-                             --basedir "$(%NDIR%dir)" $$dlist; \
-         else :; fi \
-       done
+       if test -n "$$dlist"; then \
+         $(am__py_compile) --destdir "$(DESTDIR)" \
+                           --basedir "$(%NDIR%dir)" $$dlist; \
+       else :; fi; }
 endif !%?BASE%
 endif %?INSTALL%
 
-- 
1.8.4.rc1.22.gb06e882




reply via email to

[Prev in Thread] Current Thread [Next in Thread]