asterisk-13.x: speed up menuselect calls

Currently the menuselect calls, for each category or item, step into a
directory and call menuselect once. So if all packages are build
menuselect will be called hundreds of times and as many directory
changes will be done.

Instead step into the directory only once, then generate the argument
string by iteratively adding to it and then call menuselect once. The
speedup is big.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
Sebastian Kemper 2017-12-05 20:58:01 +01:00
parent fb84fe64e3
commit 90121c4959

View file

@ -394,18 +394,20 @@ define Build/Compile
LDFLAGS="$(HOST_LDFLAGS) -Wl,-rpath,$(STAGING_DIR_HOSTPKG)/lib" \
$(MAKE) -C "$(PKG_BUILD_DIR)/menuselect"
$(MAKE) -C "$(PKG_BUILD_DIR)" menuselect-tree
cd "$(PKG_BUILD_DIR)" && MENUSELECT_ARGS= && \
for cat in $(MENUSELECT_CATEGORIES); do \
cd "$(PKG_BUILD_DIR)" && \
MENUSELECT_ARGS="$$$$MENUSELECT_ARGS --disable-category $$$$cat"; \
done; \
./menuselect/menuselect \
--disable-category $$$$cat \
menuselect.makeopts; \
done
$$$$MENUSELECT_ARGS \
menuselect.makeopts
cd "$(PKG_BUILD_DIR)" && MENUSELECT_ARGS= && \
for item in $(AST_EMB_MODULES) $$(AST_ENABLE); do \
cd "$(PKG_BUILD_DIR)" && \
MENUSELECT_ARGS="$$$$MENUSELECT_ARGS --enable $$$$item"; \
done; \
./menuselect/menuselect \
--enable $$$$item \
menuselect.makeopts; \
done
$$$$MENUSELECT_ARGS \
menuselect.makeopts
cd "$(PKG_BUILD_DIR)" && \
./menuselect/menuselect \
--disable BUILD_NATIVE \