In the 1.4.0 version of Asterisk and its related packages, a new build system, autoconf, was implemented. This has changed the build process slightly, but has given more flexibilty to control what modules are being built at build time. This has an advantage in that we only have to build the modules we want and need instead of building everything.
Along with the new build system, a new menu-based selection system
was introduced, courtesy of Russell Bryant. This new system permits a
finer-grained selection to which modules are built before compiling the
software and no longer requires the user to edit
Makefiles. So instead of discussing how to use menuselect in every
“Compiling ...” section, we will discuss it here, so when you see make menuselect
you will understand what to do
once inside the menuselect configuration screen.
In Figure 3.1, “Sample menuselect screen”, we see the opening menuselect screen for the Asterisk software. Other packages will look extremely similar, but with less options. We can navigate up and down the list using the arrow keys. We can select one of the menu options by pressing Enter or by using the right arrow key. The left arrow key can be used to go back.
Figure 3.2, “List of modules to be built” shows a list of possible
dialplan applications that can be built for use in Asterisk. Modules to be
built are marked as [*]
. A module is
marked as not being built by [ ]
.
Modules that have XXX
in front of them
are missing a package dependency which must be satisfied before it will be
available to be built. In Figure 3.2, “List of modules to be built”, we can
see that the app_flash module cannot be built due to
a missing dependency of Zaptel (i.e., the Zaptel module has not been built
and installed on the system since the last time ./configure
was run). If you have satisfied
a dependency since the last time you ran ./configure
, then run it again, and rerun
menuselect. Your module should now be available for building.
After you have finished making changes to menuselect, type
x
to save and quit.
will also quit out of menuselect,
but it will not save the changes. If you make changes and type q
, your
changes may be lost!q