In the current versions of FreeBSD, the apps of GNU autotools do not need to
be called with a version anymore. The latest version can be invoked directly.
Additionally, the script ./bootstrap.sh asked for autoconf 2.62 and
automake 1.9, versions which are not available as port anymore.
ASTERISK-27637
Change-Id: Id7b94b80e78cc943a40ba79b697e3f70019820a7
Because of a copy-and-paste from the script build_tools/download_externals,
the script build_tools/list_valid_installed_externals got its local variables.
However in the latter, three variables were not used actually.
Change-Id: I252de5a98c17ea54459174875357c22c2eebe8d5
This addresses all performance issues with 'module load' completion. In
addition to using ast_cli_completion_add we stop using libedit's
filename_completion_function, instead using ast_file_read_dir. This
ensures all results are produced from a single call to opendir.
Change-Id: I8bf51ffaa7ef1606f3bd1b5bb13f1905d72c6134
The previous fix broke the case
HAVE_SYSINFO = no
HAVE_SYSCTL = yes
HAVE_SWAPCTL = no
which occurs on FreeBSD 11.1 for example.
ASTERISK-26563
Change-Id: If77c39bc75f0b83a6c8a24ecb2fa69be8846160a
Because of a copy-and-paste error, the Asterisk project was using __typeof
instead of typeof. It works because typeof, __typeof, and __typeof__ are
supported by GCC, but here the escaped variant was not intended. Therefore,
for consistence, we change this to typeof.
Change-Id: I2a962c3e596e882f691a19345445b14571a5f07c
AC_COMPUTE_INT requires at least autoconf 2.60a.
This affects only those who contribute to Asterisk, only those who had to use
the script ./bootstrap.sh. Furthermore, this change just makes sure nobody is
using a too old autoconf.
ASTERISK-16951
Change-Id: Ibca850e2fe0e77d935207bd959bacf7197d7f637
Move initialization of units which do not require configuration to occur
before preload modules. This leaves only units which load config between
module preload and regular load stages.
Change-Id: I1d15384acad16a22c3498124421af474fa517478
This change causes the configure script to throw an error if neither
__sync nor __atomic builtin functions are available.
ASTERISK-27619
Change-Id: Ie01a281e0f5c41dfeeb5f250c1ccea8752f56ef9
The code which handled loading modules had too many situations which
would result in halting Asterisk startup. Treat most errors as declines
instead of failures. The exception is when the module load function
returns AST_MODULE_LOAD_FAILURE or an invalid code.
Clear the missingdeps vector when appropriate to ensure the next loop
starts clean.
ASTERISK-27620
Change-Id: I45547d9641fd45bd86d80250224417625631ad84
Add a check to configure.ac for __atomic_fetch_add support. If found
use the __atomic built-in operators for ast_atomic_dec_and_test and
ast_atomic_fetchadd_int.
ASTERISK~27619
Change-Id: I65b4feb02bae368904ed0fb03f585c05f50a690e
This removes references that are no longer needed due to automatic
references created by module dependencies.
In addition this removes most calls to ast_module_check as they were
checking modules which are listed as dependencies.
Change-Id: I332a6e8383d4c72c8e89d988a184ab8320c4872e
* Copy more than one character at a time when there is nothing to
substitute.
* Fix off by one error if a '}' or ']' is missing.
* Eliminated the requirement that the "used" parameter had to point to a
variable. The current callers were always declaring a variable to meet
the requirement and discarding the value put into that variable. Now it
can be NULL.
* In ast_str_substitute_variables_full() fixed using the bogus channel to
evaluate a function. We were not using the bogus channel we just created
to help evaluate a subexpression.
Change-Id: Ia83d99f4f16abe47f329eb39b6ff2013ae7c9854
I've audited all modules that include any header which includes
asterisk/optional_api.h. All modules which use OPTIONAL_API now declare
those dependencies in AST_MODULE_INFO using requires or optional_modules
as appropriate.
In addition ARI dependency declarations have been reworked. Instead of
declaring additional required modules in res/ari/resource_*.c we now add
them to an optional array "requiresModules" in api-docs for each module.
This allows the AST_MODULE_INFO dependencies to include those missing
modules.
Change-Id: Ia0c70571f5566784f63605e78e1ceccb4f79c606
The installation script and the new configure option --with-pjproject-bundled
aimed to accomplish the same. However, the installation script was out of
date. Users should go for the maintained configure option, or the Wiki.
ASTERISK-24598
Change-Id: Icbf4b562f81f7c05bd24a3805bd46c0beb4ebd44