Commit Graph

314 Commits

Author SHA1 Message Date
Kevin P. Fleming 79c3038ee5 Merged revisions 107352 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107352 | kpfleming | 2008-03-11 06:04:29 -0500 (Tue, 11 Mar 2008) | 11 lines

fix up various compiler warnings found with gcc-4.3:

- the output of flex includes a static function called 'input' that is not used, so for the moment we'll stop having the compiler tell us about unused variables in the flex source files (a better fix would be to improve our flex post-processing to remove the unused function)

- main/stdtime/localtime.c makes assumptions about signed integer overflow, and gcc-4.3's improved optimizer tries to take advantage of handling potential overflow conditions at compile time; for now, suppress these optimizations until we can fiure out if the code needs improvement

- main/udptl.c has some references to uninitialized variables; in one case there was no bug, but in the other it was certainly possibly for unexpected behavior to occur

- main/editline/readline.c had an unused variable


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 11:36:51 +00:00
Steve Murphy 377e51c4d4 (closes issue #6002)
Reported by: rizzo
Tested by: murf

Proposal of the changes to be made, and then an announcement of how they were accomplished:

http://lists.digium.com/pipermail/asterisk-dev/2008-February/032065.html

and:

http://lists.digium.com/pipermail/asterisk-dev/2008-March/032124.html

Here is a recap, file by file, of what I have done:

pbx/pbx_config.c
pbx/pbx_ael.c

All funcs that were passed a ptr to the context list, now will ALSO be passed a hashtab ptr to the same set.
Why? because (for the time being), the dialplan is stored in both, to facilitate a quick, low-cost move to
hash-tables to speed up dialplan processing. If it was deemed necessary to pass the context LIST, well, it
is just as necessary to have the TABLE available. This is because the list/table in question might not be
the global one, but temporary ones we would use to stage the dialplan on, and then swap into the global
position when things are ready.

We now have one external function for apps to use, "ast_context_find_or_create()" instead of the pre-existing
"find" and "create", as all existing usages used both in tandem anyway.

pbx_config, and pbx_ael, will stage the reloaded dialplan into local lists and tables, and 
then call merge_contexts_and_delete, which will merge (now) existing contexts and 
priorities from other registrars into this local set by copying them. Then, merge_contexts_and_delete will
lock down the contexts, swap the lists and tables, and unlock (real quick), and then 
destroy the old dialplan.



chan_sip.c
chan_iax.c
chan_skinny.c

All the channel drivers that would add regcontexts now use the ast_context_find_or_create now.

chan_sip also includes a small fix to get rid of warnings about removing priorities that never got entered.


apps/app_meetme.c
apps/app_dial.c
apps/app_queue.c

All the apps that added a context/exten/priority were also modified to use ast_context_find_or_create instead.


include/asterisk/pbx.h

ast_context_create() is removed. Find_or_create_ is the new method.
ast_context_find_or_create()  interface gets the hashtab added.
ast_merge_contexts_and_delete() gets the local hashtab arg added.
ast_wrlock_contexts_version() is added so you can detect if someone else got a writelock between your readlocking and writelocking.
ast_hashtab_compare_contexts was made public for use in pbx_config/pbx_ael
ast_hashtab_hash_contexts was in like fashion make public.


include/asterisk/pval.h

ast_compile_ael2() interface changed to include the local hashtab table ptr.


main/features.c

For the sake of the parking context, we use ast_context_find_or_create().



main/pbx.c

I changed all the "tree" names to "table" instead. That's because the original
implementation was based on binary trees. (had a free library). Then I moved
to hashtabs. Now, the names move forward too.

refcount field added to contexts, so you can keep track of how many modules
wanted this context to exist.

Some log messages that are warnings were inflated from LOG_NOTICE to LOG_WARNING.

Added some calls to ast_verb(3,...) for debug messages

Lots of little mods to ast_context_remove_extension2, which is now excersized in ways
it was not previously; one definite bug fixed.

find_or_create was upgraded to handle both local lists/tables as well as the globals.

context_merge() was added to do the per-context merging of the old/present contexts/extens/prios into the new/proposed local list/tables

ast_merge_contexts_and_delete() was heavily modified.

ast_add_extension2() was also upgraded to handle changes. 

the context_destroy() code was re-engineered to handle the new way of doing things,
by exten/prio instead of by context.



res/ael/pval.c
res/ael/ael.tab.c
res/ael/ael.tab.h
res/ael/ael.y
res/ael/ael_lex.c
res/ael/ael.flex
utils/ael_main.c
utils/extconf.c
utils/conf2ael.c
utils/Makefile

Had to change the interface to ast_compile_ael2(), to include the hashtab ptr.
This ended up involving several external apps.  The main gotcha was I had to 
include lock.h and hashtab.h in several places.


As a side note, I tested this stuff pretty thoroughly, I replicated the problems
originally reported by Luigi, and made triply sure that reloads worked, and everything
worked thru "stop gracefully". I found a and fixed a few bugs as I was merging into
trunk, that did not appear in my tests of bug6002.

How's this for verbose commit messages?




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 18:57:57 +00:00
Tilghman Lesher 8718878490 Merged revisions 106552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r106552 | tilghman | 2008-03-07 00:36:33 -0600 (Fri, 07 Mar 2008) | 6 lines

Safely use the strncat() function.
(closes issue #11958)
 Reported by: norman
 Patches: 
       20080209__bug11958.diff.txt uploaded by Corydon76 (license 14)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07 06:54:47 +00:00
Russell Bryant 7da06e6cb8 Merged revisions 105116 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r105116 | russell | 2008-02-28 16:23:05 -0600 (Thu, 28 Feb 2008) | 8 lines

Fix a bug in the lock tracking code that was discovered by mmichelson.  The issue
is that if the lock history array was full, then the functions to mark a lock as
acquired or not would adjust the stats for whatever lock is at the end of the array,
which may not be itself.  So, do a sanity check to make sure that we're updating
lock info for the proper lock.

(This explains the bizarre stats on lock #63 in BE-396, thanks Mark!)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-28 22:39:26 +00:00
Tilghman Lesher f696089089 open(2) needs a mode argument when O_CREAT is specified.
(Closes issue #12083)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-27 15:34:28 +00:00
Tilghman Lesher a8e821d061 Ignore some more unused generated events.
(closes issue #12042)
 Reported by: junky
 Patches: 
       astman_events.diff uploaded by junky (license 177)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-21 05:21:39 +00:00
Tilghman Lesher 32a758d944 Remove extraneous copy
(closes issue #12002)
 Reported by: junky
 Patches: 
       conf2ael.diff uploaded by junky (license 177)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-15 15:45:33 +00:00
Tilghman Lesher 1dc86caf30 Merged revisions 102323 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r102323 | tilghman | 2008-02-04 15:06:09 -0600 (Mon, 04 Feb 2008) | 7 lines

Cross-platform fix:  OS X now deprecates the use of the daemon(3) API.
(closes issue #11908)
 Reported by: oej
 Patches: 
       20080204__bug11908.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@102329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-04 21:15:18 +00:00
Steve Murphy 71ad27409c The fixes in this commit are mainly to allow compiling of trunk with --enable-dev-mode, mutex profiling, lock debugging, etc. Mainly, the version.c needs to be in the OBJS line; asterisk.h was chosen to have the prototypes for ast_get_version, ast_get_version_num; and the ASTERISK_FILE_VERSION macro needs to be used after including asterisk.h in a few files. I hope I did the right thing. If not, let me know.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 00:50:39 +00:00
Joshua Colp 9c0c82d0d0 Make ast_atomic_fetchadd_int_slow magically appear in extconf.
(closes issue #11703)
Reported by: dmartin


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-08 15:26:50 +00:00
Luigi Rizzo 5e24835995 modify http://svn.digium.com/view/asterisk?view=rev&rev=93603
so that paths and filename are writable by asterisk.c without
causing segfaults.

This involves defining the variables as const char *,
and having them point to as static, writable buffer
defined in asterisk.c

On passing, fix some errors in using these variables
in some files in utils/ , and in res/snmp/agent.c
which was redefining a variable without using paths.h

(not applicable to 1.4)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@94168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-20 09:55:05 +00:00
Tilghman Lesher 53436f42f4 Add a canary process, for high priority mode (asterisk -p) to ensure that if
Asterisk goes into a busy loop, the machine will be recoverable.  We'd still
need to do a restart to put Asterisk back into high priority mode, but at
least a reboot won't be required. (Closes issue #11559)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 23:06:05 +00:00
Luigi Rizzo 10f70a8321 make configuration variable const so they are not accidentally
modified.
This requires casting the strings in asterisk.c when writing to
them, so we do it through a macro to do it consistently.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 10:24:58 +00:00
Luigi Rizzo fd88390af7 remove unnecessary (char *) casts for ast_config_AST_* variables.
There are some left in the .flex files, left to the maintainer...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 09:46:18 +00:00
Joshua Colp d7125b74c9 Add ast_atomic_fetchadd_int_slow to check_expr for platforms that need it.
(closes issue #11484)
Reported by: snuffy


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92206 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 16:48:18 +00:00
Luigi Rizzo 9e4ebbee87 remove relative paths and use ASTTOPDIR instead.
Give a default value to ASTTOPDIR if unset so we can at least
do a 'make clean' without too much trouble.

The proper fix, however, is to partition the top level
Makefile in a 'setup' and a 'main' part, in a way that the
'setup' part can be included from subdirs' Makefiles and
allow targets to be built without going through the
top level Makefile.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 08:40:59 +00:00
Luigi Rizzo ff8134d30f simplify this file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 08:35:35 +00:00
Luigi Rizzo 15d5e144b1 add hashtab.c to the list of files deleted
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 22:55:58 +00:00
Luigi Rizzo d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
the top level directory.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Luigi Rizzo 3fbcdac589 normalize header order, and add a comment on the need
to clean up this file.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-08 03:27:16 +00:00
Russell Bryant 248dac6e73 Fix the build of astman. Any file that includes any asterisk sub-headers
needs to first include asterisk.h.
(closes issue #11394)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 23:01:15 +00:00
Kevin P. Fleming 93615ecc22 let's try this again... *all* compilation and linking in Asterisk should be done using the standard compilation rules, not manually created ones. changing hashtest.c to use these rules caused the compiler to notice a large number of coding guidelines violations, so those are fixed too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-29 13:38:11 +00:00
Steve Murphy 4c992507f4 closes issue #11341; made changes to make utils again right with the MTX_PROFILE world.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-26 17:46:41 +00:00
Luigi Rizzo 6dfc36b639 enable support for stack backtrace for stuff built in utils/
(this was present in the main tree but forgotten here).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 21:30:24 +00:00
Kevin P. Fleming 3826d15993 move these forward declarations back to asterisk.h where they belong... even though asterisk.h includes compat.h, these declarations have nothing to do with the being platform-compatible and are directly related to being part of Asterisk
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89482 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 16:07:11 +00:00
Luigi Rizzo 04e1e0069f more header removal/normalization
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89473 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 00:23:49 +00:00
Luigi Rizzo b693c30a66 move the declaration of struct ast_channel ast_frame and ast_module
to compat.h so it is always available - hopefully this will let
us reduce the number of inclusions of channel.h and frame.h



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:36:32 +00:00
Luigi Rizzo 7cd78079ae more cygwin/mingw32 compatibility fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 10:54:52 +00:00
Luigi Rizzo 91475fd3dc add a return NULL to a function that is expected to return a value
so compilers that don't understand that this code is NOTREACHED
will not complain (the fault is not much on the compiler but on the
declaration of pthread_exit on certain platforms)
s/certain platform/cygwin/ if you are really curious



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89368 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 09:54:54 +00:00
Luigi Rizzo d82a631f9c more removal of duplicate #include lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo 4afe3b5ba9 remove redundant #include "asterisk/compat.h",
but make sure that asterisk/compiler.h is included everywhere



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89336 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 21:08:28 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Steve Murphy f033e50a15 Don't forget the ASTERISK_VERSION for the sake of the mtx_prof stuff.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 23:33:55 +00:00
Kevin P. Fleming c7773aa206 (closes issue #11221)
Reported by: eliel
Patches:
      utils.Makefile.patch uploaded by eliel (modified by me) (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 20:16:13 +00:00
Joshua Colp 098728eb64 Fix building on FreeBSD by including/not including some headers.
(closes issue #11218)
Reported by: ys
Patches:
      trunk89169.diff uploaded by ys (license 281)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89177 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 13:26:45 +00:00
Steve Murphy a897556f7f This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-09 16:00:22 +00:00
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Luigi Rizzo 1c55f8424e Move AUDIO_LIBS outside the top level Makefile. This too is used only
in one place.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:36:11 +00:00
Tilghman Lesher e8c781b215 Add pbx_lua as a method of doing extensions
Reported by: mnicholson
Patch by: mnicholson
Closes issue #11140


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 15:36:34 +00:00
Steve Murphy 63f2f04cf4 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 22:26:51 +00:00
Russell Bryant cac97aa8b4 Remove another copied source file on "make clean".
(closes issue #11137)
Reported by: IgorG
Patches: 
      addonclean-87971-1.patch uploaded by IgorG (license 20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88062 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 15:18:06 +00:00
Kevin P. Fleming 6ab27c871a UGH... while trying to fix #10995, I found all kinds of cruft in this Makefile. It should all be gone now, and as a side effect hashtest2 now builds with --enable-dev-mode enabled without a host of errors
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:44:49 +00:00
Kevin P. Fleming a4b8ca220d clean up assembler and preprocessor files if they are here too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:24:44 +00:00
Steve Murphy c9f3efc381 Merged revisions 87168 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87168 | murf | 2007-10-26 10:34:02 -0600 (Fri, 26 Oct 2007) | 1 line

closes issue #11086 where a user complains that references to following contexts report a problem; The problem was REALLy that he was referring to empty contexts, which were being ignored. Reporter stated that empty contexts should be OK. I checked it out against extensions.conf, and sure enough, empty contexts ARE ok. So, I removed the restriction from AEL. This, though, highlighted a problem with multiple contexts of the same name. This should be OK, also. So, I added the extend keyword to AEL, and it can preceed the 'context' keyword (mixed with 'abstract', if nec.). This will turn off the warnings in AEL if the same context name is used 2 or more times. Also, I now call ast_context_find_or_create for contexts now, instead of just ast_context_create; I did this because pbx_config does this. The 'extend' keyword thus becomes a statement of intent. AEL can now duplicate the behavior of pbx_config,
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 17:39:39 +00:00
Steve Murphy a69abc0179 and then, I noticed the clicompat stuff.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 20:06:28 +00:00
Steve Murphy e5fa15d812 more stub routines to allow linkage in stand-alone environment, with thread debugs turned on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 19:59:49 +00:00
Steve Murphy 65786f15fa more stub routines to allow linkage in stand-alone environment, with thread debugs turned on
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-17 19:58:20 +00:00
Tilghman Lesher 7adbd6bb16 Remove redundant includes (patch by snuffy) (Closes issue #10922)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-09 16:04:41 +00:00
Joshua Colp 648f67d4c8 Fix up tree so that it compiles when MTX Profiling is enabled.
(closes issue #10898)
Reported by: snuffy
Patches:
      10898-mtx_prof.diff uploaded by qwell (license 4)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85025 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-08 16:12:21 +00:00
Steve Murphy 0d2ee300e7 OK. THis a DEBUG_THREADS situation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 23:33:07 +00:00
Steve Murphy e8c8bb4a14 picky gcc versions... sigh.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 23:26:50 +00:00
Steve Murphy db26685460 This mod will allow check_expr to compile in the presence of DEBUG_THREAD situations. At least, it does for me. And it's less expensive than several other approaches I tried.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-01 23:20:20 +00:00
Russell Bryant 437b439c61 Add some files to the utils directory svn:ignore and Makefile clean target
(closes issue #10808, reported by mvanbaak)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83741 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-25 08:09:01 +00:00
Tilghman Lesher 1b949d24c0 Fix build of check_expr and hashtest2 when DEBUG_THREADLOCAL is defined
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83545 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-22 14:45:42 +00:00
Russell Bryant 9f64905d4e Merged revisions 83432 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r83432 | russell | 2007-09-21 09:37:20 -0500 (Fri, 21 Sep 2007) | 4 lines

gcc 4.2 has a new set of warnings dealing with cosnt pointers.  This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:40:10 +00:00
Russell Bryant 99fb378cdc Change the traversal to use ao2_callback() instead of an ao2_iterator. Using
ao2_callback() is a much more efficient way of performing an operation on every
item in the container.  This change makes hashtest2 run in about 25% of the
time it ran before on my system.

In general, I would say that it makes the most sense to use an ao2_iterator if
the operation being performed is going to take a long time and you don't want
to keep the container locked while you work with each object.  Otherwise,
the use of ao2_callback is preferred.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-12 15:53:40 +00:00
Steve Murphy c88e216a14 This solves an unreported solaris compile problem (missing -lnsl -lsocket).
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 22:37:20 +00:00
Steve Murphy 26d739ff5b fixing up the pthread stuff for hashtest2
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 17:16:16 +00:00
Joshua Colp 56a31d1d20 Include string compatibility file in hashtest2.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 13:46:08 +00:00
Joshua Colp c81d14226a Include compat.h to hopefully make it compatible with FreeBSD.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 13:41:03 +00:00
Joshua Colp 219470dc43 Fix building under FreeBSD. Make sure alloca.h exists before including it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 13:37:26 +00:00
Steve Murphy c4133cc03f Committing my test for astobj2, hashtest2.c, along with makefile changes in utils.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82140 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-10 16:59:18 +00:00
Steve Murphy b5cd67adc3 This code was in team/murf/bug8684-trunk; it should fix bug 8684 in trunk. I didn't add it to 1.4 yet, because it's not entirely clear to me if this is a bug fix or an enhancement. A lot of files were affected by small changes like ast_variable_new getting an added arg, for the file name the var was defined in; ast_category_new gets added args of filename and lineno; ast_category and ast_variable structures now record file and lineno for each entry; a list of all #include and #execs in a config file (or any of its inclusions are now kept in the ast_config struct; at save time, each entry is put back into its proper file of origin, in order. #include and #exec directives are folded in properly. Headers indicating that the file was generated, are generated also for each included file. Some changes to main/manager.c to take care of file renaming, via the UpdateConfig command. Multiple inclusions of the same file are handled by exploding these into multiple include files, uniquely named. There's probably more, but I can't remember it right now.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-29 20:55:40 +00:00
Steve Murphy 088d7ef8bc fix up the MODULEINFO in conf2ael.c as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24 15:42:25 +00:00
Russell Bryant 6814e7b77e Merged revisions 80722 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80722 | russell | 2007-08-24 10:28:05 -0500 (Fri, 24 Aug 2007) | 3 lines

Tweak the formatting of this MODULEINFO block.  I think this would have caused
a "*" to get in the menuselect-tree file.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24 15:29:16 +00:00
Steve Murphy 6419bd36ba Merged revisions 80717 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80717 | murf | 2007-08-24 08:48:49 -0600 (Fri, 24 Aug 2007) | 1 line

This change addresses JerJer's complaint that aelparse builds and installs even if pbx_ael is unchecked in the menuselect stuff.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24 14:55:34 +00:00
Russell Bryant 483c2bad07 Ensure that the object code for ast_atomic_fetchadd_int() gets included in the
check_expr binary when building with LOW_MEMORY defined.
(reported by Brian Capouch on the asterisk-dev list, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-22 16:27:39 +00:00
Steve Murphy b69734ae09 Stephn Davies reports that this will help make things work on 64-bit machines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-20 17:37:36 +00:00
Steve Murphy a9f86a939e pval.c should not be in svn, in the utils dir
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-20 15:27:35 +00:00
Joshua Colp 4edcf623f0 Bring pval.c in utils up to date with pval.c in res/ael.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80033 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-20 15:10:55 +00:00
Joshua Colp ab2c114cd7 (closes issue #10496)
Reported by: caio1982
Fix building on OSX.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-20 00:38:20 +00:00
Tilghman Lesher 488f6973cd Add strcompat dependency for check_expr (needed for platforms that don't have strndup)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-19 14:17:30 +00:00
Steve Murphy c0060cd99a Many thanks to mvanbaak for his update to translate hints; I added the -d option for local testing purposes. This is from bug 10472
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79736 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 19:40:28 +00:00
Steve Murphy c33e2ec2ae mvanbaak asks: why did you include that twice? Answer: dunno. removed redundant include
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 17:34:50 +00:00
Steve Murphy c11e482cc8 svn did me dirty for some reason. Left 5 files out of the commit; Tilghman copied them in from the branch, but I had made changes to these. Here they are.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 16:50:58 +00:00
Joshua Colp b10671b0b8 Make conf2ael build on 64-bit systems.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 15:27:33 +00:00
Tilghman Lesher 918348f03c Missing from murf's last trunk commit, which was why trunk won't compile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-15 21:25:13 +00:00
Steve Murphy 9836efb5fb This commit closes bug 7605, and half-closes 7638. The AEL code has been redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-15 19:21:27 +00:00
Steve Murphy d9b52497f0 Merged revisions 79255 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79255 | murf | 2007-08-13 11:49:54 -0600 (Mon, 13 Aug 2007) | 1 line

This patch fixes bug 10411. I added a new regression test, some regression test cleanups
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-14 14:32:21 +00:00
Russell Bryant 668a334f85 Add another big set of doxygen documentation improvements from snuffy.
(closes issue #9892)
(closes issue #10395)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-07 23:04:01 +00:00
Joshua Colp d9aee5e353 Merged revisions 77869 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77869 | file | 2007-08-01 14:56:59 -0300 (Wed, 01 Aug 2007) | 2 lines

Add some fixes for building on Solaris.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 18:01:33 +00:00
Steve Murphy 8a7732f067 via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 19:40:29 +00:00
Steve Murphy 6a4efe5d5a In regards to changes for 9508, expr2 system choking on floating point numbers, I'm adding this update to round out (no pun intended) and make this FP-capable version of the Expr2 stuff interoperate better with previous integer-only usage, by providing Functions syntax, with 20 builtin functions for floating pt to integer conversions, and some general floating point math routines that might commonly be used also. Along with this, I made it so if a function was not a builtin, it will try and find it in the ast_custom_function list, and if found, execute it and collect the results. Thus, you can call system functions like CDR(), CHANNEL(), etc, from within $\[..\] exprs, without having to wrap them in $\{...\} (curly brace) notation. Did a valgrind on the standalone and made sure there's no mem leaks. Looks good. Updated the docs, too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@73449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-05 18:15:22 +00:00
Steve Murphy 94b934c8f6 Merged revisions 72933 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r72933 | murf | 2007-07-02 14:16:31 -0600 (Mon, 02 Jul 2007) | 1 line

support for floating point numbers added to ast_expr2 $\[...\] exprs. Fixes bug 9508, where the expr code fails with fp numbers. The MATH function returns fp numbers by default, so this fix is considered necessary.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 21:50:15 +00:00
Steve Murphy 52efde5c65 Merged revisions 67526 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67526 | murf | 2007-06-05 15:30:18 -0600 (Tue, 05 Jun 2007) | 1 line

this fixes bug 9883, wherein macros were not allowing the includes construct. fixed and tested, looks OK. Now includes can serve as an adjunct to catch.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 22:04:22 +00:00
Steve Murphy 1613b4e58e Merged revisions 59145 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59145 | murf | 2007-03-22 08:40:53 -0600 (Thu, 22 Mar 2007) | 1 line

The stuff in utils was compiling with -O6 even if DONT_OPTIMIZE is set in menuconfig. Added the include to fix that
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-22 14:48:09 +00:00
Steve Murphy 91a9b97a73 Merged revisions 57426 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r57426 | murf | 2007-03-01 22:21:36 -0700 (Thu, 01 Mar 2007) | 1 line

I almost had comma escapes right, but 9184 points out the problem-- the escape is removed by pbx_config, and pbx_ael should also, before sending it down into the pbx engine. Also, you have to insert it back in, if you are generating extensions.conf code from the AEL.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@57438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-02 05:57:06 +00:00
Steve Murphy bf0fbdd09b Merged revisions 52052 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r52052 | murf | 2007-01-24 11:26:22 -0700 (Wed, 24 Jan 2007) | 9 lines

Merged revisions 52002 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r52002 | murf | 2007-01-24 10:43:50 -0700 (Wed, 24 Jan 2007) | 1 line

updated check_expr via 8322 (refactoring of expression checking impl); elfring contributed a nice code reorg, I contributed some time to get it working again, better messages
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-24 18:39:49 +00:00
Kevin P. Fleming 87b9abc892 Merged revisions 49676 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49676 | kpfleming | 2007-01-05 16:16:33 -0600 (Fri, 05 Jan 2007) | 2 lines

reduce stack consumption for AMI and AMI/HTTP requests by nearly 20K in most cases

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49678 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-05 22:43:18 +00:00
Steve Murphy 6c7f4c1e32 Jason is having problems with the inclusion of <err.h>; it appears to be unnecessary for sucessful builds, so I either removed or commented out the inclusions from all the AEL related code. New outputs from bison/flex are included, etc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@49019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-28 17:56:21 +00:00
Kevin P. Fleming 920de98f68 Merged revisions 48554 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48554 | kpfleming | 2006-12-18 05:59:24 -0600 (Mon, 18 Dec 2006) | 3 lines

remove some now-unnecessary explicit includes of autoconfig.h
clean up per-file dependencies during 'make clean'

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48555 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 11:59:48 +00:00
Kevin P. Fleming 89c41e2403 Merged revisions 48525 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r48525 | kpfleming | 2006-12-16 15:14:34 -0600 (Sat, 16 Dec 2006) | 2 lines

simplify dependency tracking system, using the compiler's built-in method for generating them, and only doing dependency tracking if developer mode is enabled via the configure script

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@48527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-16 21:24:52 +00:00
Russell Bryant aabf2ce6f0 Merged revisions 47331 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r47331 | russell | 2006-11-08 12:03:09 -0500 (Wed, 08 Nov 2006) | 5 lines

I occasionally get email from users that are trying to figure out what this
does, or due to some misunderstanding as to what it is supposed to do, can't
get it to work.  So, I have added some text here to hopefully explain what
this application does and does not do.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-08 17:06:33 +00:00
Russell Bryant 0f621aa13e check for failure after call to calloc() (issue #8295)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-06 18:05:11 +00:00
Joshua Colp 980ce017ec Add support for manager hooks, so you could fire off manager events over IRC if you were crazy enough. (issue #5161 reported by anthm with mods by moi)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-06 17:05:04 +00:00
Steve Murphy 6d81c47801 These changes submitted by moy via bug 6992, to add a Dial 'End' event to asterisk. I include some changes to astman to cover other events that have been added.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-30 23:11:55 +00:00
Joshua Colp 6948019465 Merged revisions 46377 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46377 | file | 2006-10-28 12:37:44 -0400 (Sat, 28 Oct 2006) | 2 lines

Don't build muted on OpenBSD, it is not supported.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-28 16:39:40 +00:00
Russell Bryant 283b1bdeb3 Merged revisions 46067 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r46067 | russell | 2006-10-23 21:27:42 -0400 (Mon, 23 Oct 2006) | 7 lines

In muted.c, check the return value of strdup.  In ael_main.c, check the return
value of calloc.  (issue #8157)

In passing fix a few minor bugs in ael_main.c.  The last argument to strncpy()
was a hard-coded 100, where it should have been 99.  I changed this to use
sizeof() - 1.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-24 01:28:45 +00:00
Steve Murphy d752a6e521 astman was slightly weirding out over the new Dial and Newcallerid events
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@45712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-19 19:32:25 +00:00
Kevin P. Fleming cd0457d14e Merged revisions 44436 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44436 | kpfleming | 2006-10-04 20:42:06 -0500 (Wed, 04 Oct 2006) | 2 lines

this change was correct, the old version is no longer needed

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-05 01:43:02 +00:00
Luigi Rizzo d16122c826 correct libraries for astman, at least so i think...
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 22:52:35 +00:00
Kevin P. Fleming e92c34cc38 Merged revisions 44055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44055 | kpfleming | 2006-09-29 17:47:40 -0500 (Fri, 29 Sep 2006) | 2 lines

fix a few build system bugs, and convert Makefiles to be compatible with GNU make 3.80

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-29 22:48:43 +00:00
Kevin P. Fleming 89050169c8 Merged revisions 43996-43997,44008,44011-44012 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r43996 | kpfleming | 2006-09-29 11:47:05 -0500 (Fri, 29 Sep 2006) | 2 lines

another cross-compile fix

........
r43997 | kpfleming | 2006-09-29 11:52:27 -0500 (Fri, 29 Sep 2006) | 2 lines

support --without-curl in configure script

........
r44008 | kpfleming | 2006-09-29 13:25:49 -0500 (Fri, 29 Sep 2006) | 2 lines

don't abuse CFLAGS and LDFLAGS for build of Asterisk components, because they are also then used for non-Asterisk components (like menuselect); use our own variables instead

........
r44011 | kpfleming | 2006-09-29 13:40:17 -0500 (Fri, 29 Sep 2006) | 2 lines

missed one conversion to ASTCFLAGS

........
r44012 | kpfleming | 2006-09-29 13:49:07 -0500 (Fri, 29 Sep 2006) | 2 lines

yet another place where we were not using the correct CFLAGS by default

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-29 18:54:21 +00:00
Jason Parker 8699205857 be a little more consistent with our variable usage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-19 14:16:12 +00:00
Jason Parker 9177d1143b Change the includes to work on FreeBSD
Linux has sys/soundcard.h, which does a #include <linux/soundcard.h>


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 22:35:40 +00:00
Jason Parker f18cbf77df Many Solaris fixes - this moves some of the stuff from utils.c to strcompat.c
Every OS uses strcompat now - this was done on purpose.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-15 17:16:00 +00:00
Kevin P. Fleming be29512d1e more makefile tweaks to keep targets from being run when they don't need to be
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@42505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-09 03:27:21 +00:00
Russell Bryant 1627052cf1 suppress compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-29 13:48:15 +00:00
Steve Murphy d5572fac38 My apologies, I missed the compiler warning in a previous commit for the ael_main.c;
I've fixed this.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-28 15:31:14 +00:00
Kevin P. Fleming d12f54f90b GNU make already knows how to quietly ignore non-existent files in 'include' directives
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-26 23:58:47 +00:00
Steve Murphy 51132bbdbf Changes to fix all problems reported in 7804 are included here.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-25 20:43:51 +00:00
Joshua Colp fbe03b3f30 Another compile time warning bites the dust
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-22 02:30:38 +00:00
Kevin P. Fleming 53b1c97c9a build muted by default, since there is no Makefile target for it anymore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 14:45:58 +00:00
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
- 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
2006-08-21 02:11:39 +00:00
Steve Murphy 1d2b76a0f8 added a -q for quiet, option to aelparse
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-11 21:30:03 +00:00
Steve Murphy f56d340b1c This commit adds the enhancemnt per bug 7606, adding
the -w option to aelparse.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-09 01:17:47 +00:00
Kevin P. Fleming 396ef6f9e7 use LDFLAGS and LIBS properly, and allow dependencies to provide LDFLAGS if needed (although none do today)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-15 16:40:05 +00:00
Russell Bryant bb628eac98 pointer signedness warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-07 16:20:28 +00:00
Kevin P. Fleming 4f826452cf make the build output less noisy (optional, can be controlled by the NOISY_BUILD variable in the top-level Makefile)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 23:18:45 +00:00
Russell Bryant 48ae9f0d4f - convert the 'uninstall' target to use separate targets to process each
subdirectory instead of a for loop
- remove the FORCE target from the main Makefile and add the couple places
  I used it to the .PHONY target.  .PHONY does the same thing and is a built-in
  more efficient way of doing it.
- add a bunch more targets to .PHONY ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:38:13 +00:00
Russell Bryant 55e8a60363 - specify that 'depend' is a .PHONY target
- use separate targets instead of a for loop for doing 'make depend' for
  each sub directory


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:08:08 +00:00
Russell Bryant 9db0520ff9 - specify that 'all' is a .PHONY target
- add a copyright header to the build_tools Makefile
- remove 'depend' from the 'all' target in agi/ and utils/ since it is handled
  by the main Makefile already


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 14:09:18 +00:00
Russell Bryant c399a06450 add the 'clean', 'clean-depend', and 'dist-clean' targets as .PHONY targets
since they are targets that do not have resulting files and are never listed
as prerequisites to real targets.  Using .PHONY in this manner improves make
performance by never having to check for resulting files.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 11:27:03 +00:00
Kevin P. Fleming 241cd6163a minor fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-13 15:11:29 +00:00
Russell Bryant 171992e505 don't use ast_copy_string when building for an external tool
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-10 04:41:34 +00:00
Russell Bryant 89672b86d0 don't redefine PATH_MAX
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-10 04:38:04 +00:00
Russell Bryant 0e140be311 convert a few more uses of AST_CONFIG_MAX_PATH to use PATH_MAX
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@33421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-10 04:34:48 +00:00
Kevin P. Fleming 274ce731e2 move autoconfig.h to the include/asterisk directory so it will get installed
install asterisk.h include the system's default include directory


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 19:05:35 +00:00
Kevin P. Fleming 472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Kevin P. Fleming e856010714 use module names, not file names, in menuselect
work around XML parsing bug in menuselect for default sounds package


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32407 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-05 20:46:27 +00:00
Joshua Colp 3872b97683 Be gone foul Makefile usage! er I mean use the correct variable... UTILS instead of TARGET. (issue #7239 reported by casper)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-30 16:23:34 +00:00
Kevin P. Fleming 0661a76fc7 don't force the compiler name
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@30012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-24 18:18:14 +00:00
Russell Bryant 3d022d073a fix the build of func_realtime and aelparse with MTX_PROFILE enabled
(issue #7187, #7188, casper)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-20 00:41:36 +00:00
Russell Bryant 4a8ed5c136 we have to build local copies of aelflex.o, aelbison.o, and pbx_ael.o as well
to make sure aelparse doesn't use versions of these objects compiled with astmm
support (issue #7122)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-19 19:46:10 +00:00
Russell Bryant c91382a0a0 Merged revisions 28790 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r28790 | russell | 2006-05-19 15:18:41 -0400 (Fri, 19 May 2006) | 3 lines

fix the build of smsq with -Werror.  I learned something new about format
strings from this patch!  (issue #7141, Mithraen)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28791 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-19 19:19:27 +00:00
Tilghman Lesher 9d07a0ffc6 Don't try to build aelparse if pbx_ael is disabled in menuselect (otherwise the build breaks)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-08 16:47:49 +00:00
Kevin P. Fleming b4b36d6b83 remove incorrect Makefile rule that was causing aelparse to be rebuilt unnecessarily
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-08 14:43:49 +00:00
Kevin P. Fleming a4e7ae1537 don't let make use implicit rules for bison/flex output files
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-08 14:34:32 +00:00
Russell Bryant 7c46ef67ad instead of just building local object files for ast_expr2.o and ast_expr2f.o,
actually link to them as well


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-02 17:17:19 +00:00
Russell Bryant 34e0ae0e6a The build of aelparse was still broken in some cases, so instead of having to
keep figuring out workarounds for build issues on various platforms, just go
ahead and remove what started all of this.  Two instances of ast_calloc have
been changed to calloc in pbx/ael/ael.y.

ast_copy_string isn't actually needed here because the only place it is used is
in ast_expr2f.c.  However, the utils Makefile already builds its own
ast_expr2f.o with -DSTANDALONE, which makes it use strncpy instead of
ast_copy_string.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-02 03:03:27 +00:00
Luigi Rizzo e635b463fc add missing functions - see the comment in the file explaining
in detail why this is needed and that hopefully this is a
temporary workaround.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 20:44:26 +00:00
Russell Bryant d2e78c7b35 make sure non-inlined versions of ast_copy_string and _ast_calloc are available
in the cases where they are needed (issue #7054)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 19:23:43 +00:00
Kevin P. Fleming 7343d311f1 simplify CFLAGS handling for subdirectories
don't put paths into the include search path when they are not needed
don't auto-rebuild the AEL bison/flex output based on make dependencies (the generated files are already checked in, and the timestamps generated by a checkout will usually cause them to be overwritten)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 11:40:06 +00:00
Kevin P. Fleming 3878a2a9fb and now with the correct filenames
add basic support for checking for C compiler attribute support


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 15:31:45 +00:00
Kevin P. Fleming 24f241bc72 add the other two files that should have been on this target... oops
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 15:15:21 +00:00
Kevin P. Fleming 54d6194340 fix up dependencies for aelparse so that bison/flex will not be run to rebuild source files (that should _only_ be done manually)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 14:48:32 +00:00
Luigi Rizzo d19f767c3c uncomment some functions in the flex code that were actually
used in the bison code - detected by making aelparse compile
again.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-27 00:05:05 +00:00
Kevin P. Fleming 5f58cc8770 Merge Steve Murphy's (murf) complete re-implementation of AEL, which is now no longer considered experimental :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:41:27 +00:00
Kevin P. Fleming 574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +00:00
Luigi Rizzo 2876a25505 add 'show threads' and 'show profile' commands.
These are momstly debugging tools for developers,
a bit documented in the header files (utils.h),
although more documentation is definitely necessary.

The performance impact is close to zero(*) so there is no
need to compile it conditionally.
(*) not completely true - thread destruction still needs
to search a list _but_ this can be easily optimized if we
end up with hundreds of active threads (in which case, though,
the problem is clearly elsewhere).



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-12 20:40:46 +00:00