Merged revisions 93180 via svnmerge from
authorKevin P. Fleming <kpfleming@digium.com>
Mon, 17 Dec 2007 07:25:35 +0000 (07:25 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Mon, 17 Dec 2007 07:25:35 +0000 (07:25 +0000)
commit100ef27af920de05dec41cdf281c3a9b8172d68f
treedfc78c051a3faabab03ba235d18d6e5ec1204ec6
parentf483cf28bbde151d07a1e14dd885b5c63e137a33
Merged revisions 93180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93180 | kpfleming | 2007-12-16 22:44:51 -0800 (Sun, 16 Dec 2007) | 23 lines

In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.

While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
18 files changed:
Makefile
Makefile.moddir_rules
apps/Makefile
build_tools/embed_modules.xml
build_tools/make_version
build_tools/prep_moduledeps [deleted file]
build_tools/prep_tarball
cdr/Makefile
channels/Makefile
codecs/Makefile
configure
configure.ac
formats/Makefile
funcs/Makefile
include/asterisk/autoconfig.h.in
makeopts.in
pbx/Makefile
res/Makefile