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/branches/1.4@93180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
what build options were used. We agreed that we should remove this before
making a 1.4 release, and then we can put it back in. Then, we can take a
month or so to play around with it to get it how we want it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
If you upgrade to this version of Asterisk, you must rebuild *all* of your modules that came from other sources before trying to run this version. If you are using Digium's G.729 binary codec module, you will need v33 or newer.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
under dev mode, AST_DEVMODE will get defined in buildopts.h. Change 1.4 to
define it in the same way that trunk does. Also, revert the change that added
this define in the Makefile
The advantage to doing it this way is that buildopts.h gets installed when
you install Asterisk. Then, when building any out of tree modules, or
building asterisk-addons, these modules know which options the rest of Asterisk
was built with.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
still can't build *_odbc.so!", check for ltdl directly, instead of just listing
it as another library to include in the unixodbc check in the configure script.
This also makes ltdl show up as a dependency in menuselect so people know what
to go install. (related to issue #9989, patch by me)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
most of the lines in menuselect-tree were getting a "-e" at the beginning of
every line. I'm surprised nobody noticed this, but I think the XML parser was
being very nice and ignoring them.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
* Convert most of the doc directory into a single LaTeX formatted document
so that we can generate a PDF, HTML, or other formats from this
information.
* Add a CLI command to dump the application documentation into LaTeX format
which will only be include if the configure script is run with
--enable-dev-mode.
* The PDF turned out to be close to 1 MB, so it is not included. However, you
can simply run "make asterisk.pdf" to generate it yourself. We may include
it in release tarballs or have automatically generated ones on the web site,
but that has yet to be decided.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
app_voicemail and chan_zap. These modules use some preprocessor directives to
determine what it will report to Asterisk as its description. However, the way
we extract this information from the source files for menuselect is not smart
enough to figure this out.
(issue #8326, #8328)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This is needed because module embedding only works for gnu ld. GNU ld is now
listed as a dependency for all of the module embedding options in menuselect.
(issue #8143)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@46845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The last patch was slightly wrong. This'll get it for sure.
Solaris (and some others) don't have sed -r. perl -p is equivalent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1) Solaris sed doesn't have -r, which means things like \s and \S don't work.
2) GNU sed version 4.1.2 failed on a very simple test
echo "Test Test" | sed -r -e 's/\s/x/g'
should have returned "TestxxxTest", but did not (however, 4.1.4 did?).
3) The CFLAGS were never set, so that entire line actually did nothing. Now it's useful again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40964 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- restructured build tree and makefiles to eliminate recursion problems
- support for embedded modules
- support for static builds
- simpler cross-compilation support
- simpler module/loader interface (no exported symbols)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3