3.3. Menuselect

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 Russell Bryant. This new system permits a finer grained selection as 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.

Sample menuselect screen

Figure 3.2. Sample menuselect screen


In Figure 3-1, 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 keyboard directional buttons. We can select one of the menu options by pressing ENTER or using the right button. The left button can be used to go back.

Figure 3-2 shows a list of possible dialplan applications which can be built for use in Asterisk. Modules to be built are marked as [*]. A module is marked as not being built by [ ]. Modules which 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, we can see that the app_flash module can not 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 re-run menuselect. Your module should now be available for building.

List of modules to be built

Figure 3.3. List of modules to be built


After you have finished making changes to menuselect, press the 'x' button to save and quit. The 'q' button will also quit out of menuselect, but it will not save the changes. If you make changes and press the 'q' button, your changes may be lost!