[asterisk-commits] file: branch file/media r162992 - in /team/file/media: ./ agi/ apps/ autoconf...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Dec 10 20:24:16 CST 2008


Author: file
Date: Wed Dec 10 20:24:15 2008
New Revision: 162992

URL: http://svn.digium.com/view/asterisk?view=rev&rev=162992
Log:
Icanhazup2datetree.

Added:
    team/file/media/UPGRADE-1.6.txt
      - copied unchanged from r162930, trunk/UPGRADE-1.6.txt
    team/file/media/configs/cli_aliases.conf.sample
      - copied unchanged from r162930, trunk/configs/cli_aliases.conf.sample
    team/file/media/configs/cli_permissions.conf.sample
      - copied unchanged from r162930, trunk/configs/cli_permissions.conf.sample
    team/file/media/contrib/init.d/rc.archlinux.asterisk
      - copied unchanged from r162930, trunk/contrib/init.d/rc.archlinux.asterisk
    team/file/media/funcs/func_sprintf.c
      - copied unchanged from r162930, trunk/funcs/func_sprintf.c
    team/file/media/include/asterisk/optional_api.h
      - copied unchanged from r162930, trunk/include/asterisk/optional_api.h
    team/file/media/include/asterisk/xmldoc.h
      - copied unchanged from r162930, trunk/include/asterisk/xmldoc.h
    team/file/media/main/xmldoc.c
      - copied unchanged from r162930, trunk/main/xmldoc.c
    team/file/media/res/res_clialiases.c
      - copied unchanged from r162930, trunk/res/res_clialiases.c
    team/file/media/res/res_timing_timerfd.c
      - copied unchanged from r162930, trunk/res/res_timing_timerfd.c
Modified:
    team/file/media/   (props changed)
    team/file/media/.cleancount
    team/file/media/CHANGES
    team/file/media/Makefile
    team/file/media/Makefile.moddir_rules
    team/file/media/Makefile.rules
    team/file/media/README
    team/file/media/UPGRADE-1.2.txt
    team/file/media/UPGRADE-1.4.txt
    team/file/media/UPGRADE.txt   (contents, props changed)
    team/file/media/agi/Makefile
    team/file/media/apps/app_dial.c
    team/file/media/apps/app_directed_pickup.c
    team/file/media/apps/app_disa.c
    team/file/media/apps/app_followme.c
    team/file/media/apps/app_meetme.c
    team/file/media/apps/app_minivm.c
    team/file/media/apps/app_mixmonitor.c
    team/file/media/apps/app_playback.c
    team/file/media/apps/app_queue.c
    team/file/media/apps/app_readexten.c
    team/file/media/apps/app_rpt.c
    team/file/media/apps/app_sms.c
    team/file/media/apps/app_speech_utils.c
    team/file/media/apps/app_stack.c
    team/file/media/apps/app_voicemail.c
    team/file/media/apps/app_while.c
    team/file/media/autoconf/ast_gcc_attribute.m4
    team/file/media/build_tools/cflags-devmode.xml
    team/file/media/build_tools/make_buildopts_h
    team/file/media/build_tools/make_version
    team/file/media/build_tools/menuselect-deps.in
    team/file/media/cdr/Makefile
    team/file/media/cdr/cdr_adaptive_odbc.c
    team/file/media/cdr/cdr_csv.c
    team/file/media/cdr/cdr_custom.c
    team/file/media/cdr/cdr_manager.c
    team/file/media/cdr/cdr_odbc.c
    team/file/media/cdr/cdr_pgsql.c
    team/file/media/cdr/cdr_radius.c
    team/file/media/cdr/cdr_sqlite.c
    team/file/media/cdr/cdr_sqlite3_custom.c
    team/file/media/cdr/cdr_tds.c
    team/file/media/channels/   (props changed)
    team/file/media/channels/chan_agent.c
    team/file/media/channels/chan_alsa.c
    team/file/media/channels/chan_console.c
    team/file/media/channels/chan_dahdi.c
    team/file/media/channels/chan_features.c
    team/file/media/channels/chan_iax2.c
    team/file/media/channels/chan_local.c
    team/file/media/channels/chan_mgcp.c
    team/file/media/channels/chan_misdn.c
    team/file/media/channels/chan_oss.c
    team/file/media/channels/chan_phone.c
    team/file/media/channels/chan_sip.c
    team/file/media/channels/chan_skinny.c
    team/file/media/channels/chan_usbradio.c
    team/file/media/channels/chan_vpb.cc
    team/file/media/channels/iax2-parser.c
    team/file/media/channels/iax2-provision.c
    team/file/media/channels/misdn/   (props changed)
    team/file/media/channels/misdn/Makefile
    team/file/media/channels/misdn/ie.c
    team/file/media/channels/misdn_config.c
    team/file/media/channels/xpmr/xpmr.c
    team/file/media/codecs/gsm/Makefile
    team/file/media/codecs/gsm/src/   (props changed)
    team/file/media/configs/cdr_adaptive_odbc.conf.sample
    team/file/media/configs/chan_dahdi.conf.sample
    team/file/media/configs/sip.conf.sample
    team/file/media/configure
    team/file/media/configure.ac
    team/file/media/contrib/asterisk-ng-doxygen
    team/file/media/contrib/scripts/autosupport
    team/file/media/contrib/scripts/autosupport.8
    team/file/media/doc/appdocsxml.dtd
    team/file/media/doc/janitor-projects.txt
    team/file/media/doc/tex/misdn.tex
    team/file/media/doc/valgrind.txt
    team/file/media/formats/format_pcm.c
    team/file/media/funcs/Makefile
    team/file/media/funcs/func_callerid.c
    team/file/media/funcs/func_devstate.c
    team/file/media/funcs/func_dialgroup.c
    team/file/media/funcs/func_odbc.c
    team/file/media/funcs/func_realtime.c
    team/file/media/funcs/func_strings.c
    team/file/media/include/asterisk.h
    team/file/media/include/asterisk/_private.h
    team/file/media/include/asterisk/agi.h
    team/file/media/include/asterisk/astmm.h
    team/file/media/include/asterisk/astobj2.h
    team/file/media/include/asterisk/autoconfig.h.in
    team/file/media/include/asterisk/channel.h
    team/file/media/include/asterisk/cli.h
    team/file/media/include/asterisk/compat.h
    team/file/media/include/asterisk/config.h
    team/file/media/include/asterisk/devicestate.h
    team/file/media/include/asterisk/dlinkedlists.h
    team/file/media/include/asterisk/doxyref.h
    team/file/media/include/asterisk/dsp.h
    team/file/media/include/asterisk/dundi.h
    team/file/media/include/asterisk/enum.h
    team/file/media/include/asterisk/file.h
    team/file/media/include/asterisk/frame.h
    team/file/media/include/asterisk/linkedlists.h
    team/file/media/include/asterisk/lock.h
    team/file/media/include/asterisk/logger.h
    team/file/media/include/asterisk/manager.h
    team/file/media/include/asterisk/module.h
    team/file/media/include/asterisk/pval.h
    team/file/media/include/asterisk/res_odbc.h
    team/file/media/include/asterisk/stringfields.h
    team/file/media/include/asterisk/strings.h
    team/file/media/include/asterisk/term.h
    team/file/media/include/asterisk/utils.h
    team/file/media/include/asterisk/xml.h
    team/file/media/include/jitterbuf.h
    team/file/media/main/Makefile
    team/file/media/main/app.c
    team/file/media/main/ast_expr2.c
    team/file/media/main/asterisk.c
    team/file/media/main/astmm.c
    team/file/media/main/astobj2.c
    team/file/media/main/callerid.c
    team/file/media/main/cdr.c
    team/file/media/main/cli.c
    team/file/media/main/config.c
    team/file/media/main/db.c
    team/file/media/main/db1-ast/Makefile
    team/file/media/main/db1-ast/btree/   (props changed)
    team/file/media/main/db1-ast/db/   (props changed)
    team/file/media/main/db1-ast/hash/   (props changed)
    team/file/media/main/db1-ast/mpool/   (props changed)
    team/file/media/main/db1-ast/recno/   (props changed)
    team/file/media/main/dns.c
    team/file/media/main/dsp.c
    team/file/media/main/editline/readline.c
    team/file/media/main/event.c
    team/file/media/main/features.c
    team/file/media/main/file.c
    team/file/media/main/frame.c
    team/file/media/main/http.c
    team/file/media/main/logger.c
    team/file/media/main/manager.c
    team/file/media/main/pbx.c
    team/file/media/main/rtp.c
    team/file/media/main/srv.c
    team/file/media/main/stdtime/   (props changed)
    team/file/media/main/stdtime/Makefile
    team/file/media/main/taskprocessor.c
    team/file/media/main/translate.c
    team/file/media/main/udptl.c
    team/file/media/main/utils.c
    team/file/media/makeopts.in
    team/file/media/pbx/Makefile
    team/file/media/pbx/ael/   (props changed)
    team/file/media/pbx/pbx_ael.c
    team/file/media/pbx/pbx_config.c
    team/file/media/pbx/pbx_dundi.c
    team/file/media/pbx/pbx_realtime.c
    team/file/media/pbx/pbx_spool.c
    team/file/media/phoneprov/polycom_line.xml
    team/file/media/res/Makefile
    team/file/media/res/ael/   (props changed)
    team/file/media/res/ael/ael.flex
    team/file/media/res/ael/ael_lex.c
    team/file/media/res/ael/pval.c
    team/file/media/res/ais/   (props changed)
    team/file/media/res/ais/evt.c
    team/file/media/res/res_agi.c
    team/file/media/res/res_config_ldap.c
    team/file/media/res/res_config_pgsql.c
    team/file/media/res/res_config_sqlite.c
    team/file/media/res/res_convert.c
    team/file/media/res/res_crypto.c
    team/file/media/res/res_http_post.c
    team/file/media/res/res_indications.c
    team/file/media/res/res_jabber.c
    team/file/media/res/res_musiconhold.c
    team/file/media/res/res_odbc.c
    team/file/media/res/res_phoneprov.c
    team/file/media/res/res_realtime.c
    team/file/media/res/res_timing_dahdi.c
    team/file/media/res/res_timing_pthread.c
    team/file/media/res/snmp/   (props changed)
    team/file/media/res/snmp/agent.c
    team/file/media/utils/Makefile
    team/file/media/utils/astman.c
    team/file/media/utils/check_expr.c
    team/file/media/utils/conf2ael.c
    team/file/media/utils/extconf.c
    team/file/media/utils/frame.c
    team/file/media/utils/hashtest2.c
    team/file/media/utils/smsq.c

Propchange: team/file/media/
------------------------------------------------------------------------------
    automerge = *

Propchange: team/file/media/
------------------------------------------------------------------------------
Binary property 'branch-1.4-blocked' - no diff available.

Propchange: team/file/media/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Propchange: team/file/media/
------------------------------------------------------------------------------
    reviewboard:url = http://reviewboard.digium.com

Propchange: team/file/media/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Dec 10 20:24:15 2008
@@ -1,1 +1,1 @@
-/trunk:1-155677
+/trunk:1-162991

Modified: team/file/media/.cleancount
URL: http://svn.digium.com/view/asterisk/team/file/media/.cleancount?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/.cleancount (original)
+++ team/file/media/.cleancount Wed Dec 10 20:24:15 2008
@@ -1,1 +1,1 @@
-35
+36

Modified: team/file/media/CHANGES
URL: http://svn.digium.com/view/asterisk/team/file/media/CHANGES?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/CHANGES (original)
+++ team/file/media/CHANGES Wed Dec 10 20:24:15 2008
@@ -1,3 +1,13 @@
+======================================================================
+===
+=== This file documents the new and/or enhanced functionality added in
+=== the Asterisk versions listed below. This file does NOT include
+=== changes in behavior that would not be backwards compatible with
+=== previous versions; for that information see the UPGRADE.txt file
+=== and the other UPGRADE files for older releases.
+===
+======================================================================
+
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.6.1 to Asterisk 1.6.2  -------------
 ------------------------------------------------------------------------------
@@ -15,12 +25,22 @@
    remote services. For backwards compatibility, "secret" still has the
    same function as before, but now you can configure both a remote secret and a
    local secret for mutual authentication.
+ * Added a new 'faxdetect=yes|no' configuration option to sip.conf.  When this
+   option is enabled, a SIP channel will go to the fax extension (if it exists)
+   after T38 is negotiated.  This option is disabled by default.
+ * If ATTENDED_TRANSFER_COMPLETE_SOUND is set, the sound will be played to the
+   target of an attended transfer
 
 Skinny Changes
 --------------
  * The configuration file now holds seperate sections for devices and lines.
    Please have a look at configs/skinny.conf.sample and change your skinny.conf
    accordingly.
+
+DAHDI Changes
+-------------
+ * The UK option waitfordialtone has been added for use with BT analog
+   lines.
 
 Dialplan Functions
 ------------------
@@ -35,6 +55,11 @@
  * Added a new dialplan function, LISTFILTER, which permits removing elements
    from a set list, by name.  Uses the same general syntax as the existing CUT
    and FIELDQTY dialplan functions, which also manage lists.
+ * Added REALTIME_FIELD and REALTIME_HASH, which should aid users in better
+   obtaining realtime data from the dialplan.
+ * Added LOCAL_PEEK, which I have no idea how to use, but Leif Madsen wanted it.
+   Russell says it's, like, a scope resolution function for LOCAL variables.
+   Totally.  Hopefully, that means more to you than it does to me.
 
 Applications
 ------------
@@ -58,6 +83,23 @@
      same  =>     n,SomethingElse()
  * musiconhold.conf classes of type 'files' can now use relative directory paths,
    which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
+ * All deprecated CLI commands are removed from the sourcecode. They are now handled
+   by the new clialiases module. See cli_aliases.conf.sample file.
+
+Asterisk Manager Interface
+--------------------------
+ * When using the AMI over HTTP, you can now include a 'SuppressEvents' header (with
+   a non-empty value) in your request. If you do this, any pending AMI events will
+   *not* be included in the response to your request as they would normally, but
+   will be left in the event queue for the next request you make to retrieve. For
+   some applications, this will allow you to guarantee that you will only see
+   events in responses to 'WaitEvent' actions, and can better know when to expect them.
+   To know whether the Asterisk server supports this header or not, your client can
+   inspect the first response back from the server to see if it includes this header:
+
+   Pragma: SuppressEvents
+
+   If this is included, the server supports event suppression.
 
 ------------------------------------------------------------------------------
 --- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1  -------------
@@ -368,6 +410,12 @@
 
 CLI Changes
 -----------
+  * Added CLI permissions, config file: cli_permissions.conf
+     default is to allow all commands for every local user/group.
+     Also this new feature added three new CLI commands:
+      - cli check permissions {<username>|@<groupname>|<username>@<groupname>} [<command>]
+      - cli reload permissions
+      - cli show permissions
   * New CLI command "core show hint" (usage: core show hint <exten>)
   * New CLI command "core show settings"
   * Added 'core show channels count' CLI command.
@@ -929,3 +977,11 @@
     consoles, you may want to try using this option. This option is enabled by default
     on Darwin systems since it is known that the Darwin poll() implementation has
     odd issues.
+
+Timer Changes
+--------------------
+* In addition to timing from DAHDI, there is a new timing module called
+  res_timing_timerfd. In order to use this, you must be running Linux with
+  a kernel version 2.6.25 or newer as well as glibc 2.8 or newer. The configure
+  script will be able to tell if you have the requirements. From menuselect, select
+  res_timing_timerfd from the Resource Modules menu.

Modified: team/file/media/Makefile
URL: http://svn.digium.com/view/asterisk/team/file/media/Makefile?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/Makefile (original)
+++ team/file/media/Makefile Wed Dec 10 20:24:15 2008
@@ -92,6 +92,7 @@
 export AWK
 export GREP
 export ID
+export MD5
 
 # even though we could use '-include makeopts' here, use a wildcard
 # lookup anyway, so that make won't try to build makeopts if it doesn't
@@ -236,7 +237,13 @@
 ASTCFLAGS+=-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG)
 
 ifeq ($(AST_DEVMODE),yes)
-  ASTCFLAGS+=-Werror -Wunused -Wundef $(AST_DECLARATION_AFTER_STATEMENT) -Wmissing-format-attribute -Wformat-security #-Wformat=2
+  ASTCFLAGS+=-Werror
+  ASTCFLAGS+=-Wunused
+  ASTCFLAGS+=$(AST_DECLARATION_AFTER_STATEMENT)
+  ASTCFLAGS+=$(AST_FORTIFY_SOURCE)
+  ASTCFLAGS+=-Wundef 
+  ASTCFLAGS+=-Wmissing-format-attribute
+  ASTCFLAGS+=-Wformat=2
 endif
 
 ifneq ($(findstring BSD,$(OSARCH)),)
@@ -440,7 +447,9 @@
 $(SUBDIRS_DIST_CLEAN):
 	@$(SUBMAKE) -C $(@:-dist-clean=) dist-clean
 
-clean: $(SUBDIRS_CLEAN)
+clean: $(SUBDIRS_CLEAN) _clean
+
+_clean:
 	rm -f defaults.h
 	rm -f include/asterisk/build.h
 	rm -f main/version.c
@@ -450,7 +459,7 @@
 
 dist-clean: distclean
 
-distclean: $(SUBDIRS_DIST_CLEAN) clean
+distclean: $(SUBDIRS_DIST_CLEAN) _clean
 	@$(MAKE) -C menuselect dist-clean
 	@$(MAKE) -C sounds dist-clean
 	rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
@@ -563,8 +572,8 @@
 	mkdir -p $(DESTDIR)$(ASTDATADIR)/firmware
 	mkdir -p $(DESTDIR)$(ASTDATADIR)/firmware/iax
 	mkdir -p $(DESTDIR)$(ASTMANDIR)/man8
-	$(INSTALL) -m 644 doc/core-*.xml $(ASTDATADIR)/documentation
-	$(INSTALL) -m 644 doc/appdocsxml.dtd $(ASTVARLIBDIR)/documentation
+	$(INSTALL) -m 644 doc/core-*.xml $(DESTDIR)$(ASTDATADIR)/documentation
+	$(INSTALL) -m 644 doc/appdocsxml.dtd $(DESTDIR)$(ASTVARLIBDIR)/documentation
 	$(INSTALL) -m 644 keys/iaxtel.pub $(DESTDIR)$(ASTDATADIR)/keys
 	$(INSTALL) -m 644 keys/freeworlddialup.pub $(DESTDIR)$(ASTDATADIR)/keys
 	$(INSTALL) -m 644 doc/asterisk.8 $(DESTDIR)$(ASTMANDIR)/man8
@@ -809,6 +818,8 @@
 		elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then \
 			$(INSTALL) -m 755 contrib/init.d/rc.suse.asterisk $(DESTDIR)/etc/init.d/asterisk; \
 			if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
+		elif [ -f /etc/arch-release -o -f /etc/arch-release ]; then \
+			$(INSTALL) -m 755 contrib/init.d/rc.archlinux.asterisk $(DESTDIR)/etc/rc.d/asterisk; \
 		elif [ -f /etc/slackware-version ]; then \
 			echo "Slackware is not currently supported, although an init script does exist for it." \
 		else \
@@ -933,7 +944,7 @@
 asterisk.pdf:
 	$(MAKE) -C doc/tex asterisk.pdf
 
-.PHONY: menuselect menuselect.makeopts main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all pdf dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell installdirs validate-docs
+.PHONY: menuselect menuselect.makeopts main sounds clean dist-clean distclean all prereqs cleantest uninstall _uninstall uninstall-all pdf dont-optimize $(SUBDIRS_INSTALL) $(SUBDIRS_DIST_CLEAN) $(SUBDIRS_CLEAN) $(SUBDIRS_UNINSTALL) $(SUBDIRS) $(MOD_SUBDIRS_EMBED_LDSCRIPT) $(MOD_SUBDIRS_EMBED_LDFLAGS) $(MOD_SUBDIRS_EMBED_LIBS) badshell installdirs validate-docs _clean
 
 FORCE:
 

Modified: team/file/media/Makefile.moddir_rules
URL: http://svn.digium.com/view/asterisk/team/file/media/Makefile.moddir_rules?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/Makefile.moddir_rules (original)
+++ team/file/media/Makefile.moddir_rules Wed Dec 10 20:24:15 2008
@@ -110,8 +110,8 @@
 	@for file in $(patsubst %,$(SUBDIR)/%,$(filter-out %.eo,$^)); do echo "INPUT (../$${file})" >> $@; done
 
 clean::
-	rm -f *.so *.o *.oo *.eo
-	rm -f .*.o.d .*.oo.d
+	rm -f *.so *.o *.oo *.eo *.i *.ii
+	rm -f .*.d
 	rm -f *.s *.i
 	rm -f modules.link
 

Modified: team/file/media/Makefile.rules
URL: http://svn.digium.com/view/asterisk/team/file/media/Makefile.rules?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/Makefile.rules (original)
+++ team/file/media/Makefile.rules Wed Dec 10 20:24:15 2008
@@ -3,7 +3,7 @@
 # 
 # Makefile rules
 #
-# Copyright (C) 2006, Digium, Inc.
+# Copyright (C) 2006-2008, Digium, Inc.
 #
 # Kevin P. Fleming <kpfleming at digium.com>
 #
@@ -11,7 +11,6 @@
 # the GNU General Public License
 #
 
-# Rules for various build phases.
 # Each command is preceded by a short comment on what to do.
 # Prefixing one or the other with @\# or @ or nothing makes the desired
 # behaviour. ECHO_PREFIX prefixes the comment, CMD_PREFIX prefixes the command.
@@ -20,16 +19,23 @@
 
 .PHONY: dist-clean
 
+# If 'make' decides to create intermediate files to satisfy a build requirement
+# (like producing a .i from a .c), we want to keep them, so tell make to keep
+# all intermediate files
+.SECONDARY:
+
 # extra cflags to build dependencies. Recursively expanded.
-MAKE_DEPS= -MD -MT $@ -MF .$(subst /,_,$@).d -MP
+MAKE_DEPS=-MD -MT $@ -MF .$(subst /,_,$@).d -MP
 
 ifeq ($(NOISY_BUILD),)
     ECHO_PREFIX=@
     CMD_PREFIX=@
 else
-    ECHO_PREFIX=@\#
+    ECHO_PREFIX=@\# 
     CMD_PREFIX=
 endif
+
+OPTIMIZE?=-O6
 
 ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
     # More GSM codec optimization
@@ -38,30 +44,67 @@
     # ppro's, etc, as well as the AMD K6 and K7.  
     #K6OPT=-DK6OPT
 
-    OPTIMIZE?=-O6
     ASTCFLAGS+=$(OPTIMIZE)
 endif
 
-# build rules for various targets
-%.o: %.c
-	$(ECHO_PREFIX) echo "   [CC] $< -> $@"
-	$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+# shortcuts for common combinations of flags; these must be recursively expanded so that
+# per-target settings will be applied
+CC_CFLAGS=$(PTHREAD_CFLAGS) $(ASTCFLAGS)
+CXX_CFLAGS=$(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS))
+CC_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CXX_LDFLAGS_SO=$(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK)
+CC_LIBS=$(PTHREAD_LIBS) $(LIBS)
+CXX_LIBS=$(PTHREAD_LIBS) $(LIBS)
+
+# determine whether to double-compile so that the optimizer can report code path problems
+# this is only done when developer mode and DONT_OPTIMIZE are both enabled
+# in that case, we run the preprocessor to produce a .i or .ii file from the source
+# code, then compile once with optimizer enabled (and the output to /dev/null),
+# and if that doesn't fail then compile again with optimizer disabled
+ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS))$(AST_DEVMODE),DONT_OPTIMIZEyes)
+COMPILE_DOUBLE=yes
+endif
+
+%.o: %.s
+	$(ECHO_PREFIX) echo "   [AS] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+	$(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+	$(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
 
 %.o: %.i
 	$(ECHO_PREFIX) echo "   [CCi] $< -> $@"
-	$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+ifeq ($(COMPILE_DOUBLE),yes)
+	$(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE)
+endif
+	$(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS)
+
+ifneq ($(COMPILE_DOUBLE),yes)
+%.o: %.c
+	$(ECHO_PREFIX) echo "   [CC] $< -> $@"
+	$(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) $(MAKE_DEPS)
+endif
 
 %.i: %.c
 	$(ECHO_PREFIX) echo "   [CPP] $< -> $@"
-	$(CMD_PREFIX) $(CC) -o $@ -E $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+	$(CMD_PREFIX) $(CC) -o $@ -E $< $(CC_CFLAGS) $(MAKE_DEPS)
 
-%.o: %.s
-	$(ECHO_PREFIX) echo "   [AS] $< -> $@"
-	$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
+%.oo: %.ii
+	$(ECHO_PREFIX) echo "   [CXXi] $< -> $@"
+ifeq ($(COMPILE_DOUBLE),yes)
+	$(CMD_PREFIX) $(CXX) -o /dev/null -c $< $(CXX_CFLAGS) $(OPTIMIZE)
+endif
+	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS)
 
+ifneq ($(COMPILE_DOUBLE),yes)
 %.oo: %.cc
 	$(ECHO_PREFIX) echo "   [CXX] $< -> $@"
-	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS)) $(MAKE_DEPS)
+	$(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS) $(MAKE_DEPS)
+endif
+
+%.ii: %.cc
+	$(ECHO_PREFIX) echo "   [CPP] $< -> $@"
+	$(CMD_PREFIX) $(CXX) -o $@ -E $< $(CXX_CFLAGS) $(MAKE_DEPS)
 
 %.c: %.y
 	$(ECHO_PREFIX) echo "   [BISON] $< -> $@"
@@ -73,11 +116,11 @@
 
 %.so: %.o
 	$(ECHO_PREFIX) echo "   [LD] $^ -> $@"
-	$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
+	$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(CC_LDFLAGS_SO) $^ $(CC_LIBS)
 
 %.so: %.oo
 	$(ECHO_PREFIX) echo "   [LDXX] $^ -> $@"
-	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
+	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(CXX_LDFLAGS_SO) $^ $(CXX_LIBS)
 
 %.eo: %.o
 	$(ECHO_PREFIX) echo "   [EMBED] $< -> $@"
@@ -93,6 +136,6 @@
 
 %: %.o
 	$(ECHO_PREFIX) echo "   [LD] $^ -> $@"
-	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(PTHREAD_LIBS) $(LIBS)
+	$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(CXX_LIBS)
 
-dist-clean::
+dist-clean:: clean

Modified: team/file/media/README
URL: http://svn.digium.com/view/asterisk/team/file/media/README?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/README (original)
+++ team/file/media/README Wed Dec 10 20:24:15 2008
@@ -276,7 +276,7 @@
   If this release of Asterisk was downloaded from a tarball, then some
 additional documentation should have been included.
      * doc/tex/asterisk.pdf --- PDF version of the documentation
-	 * doc/tex/asterisk/index.html --- HTML version of the documentation
+     * doc/tex/asterisk/index.html --- HTML version of the documentation
 
   Finally, you may wish to visit the web site and join the mailing list if
 you're interested in getting more information.

Modified: team/file/media/UPGRADE-1.2.txt
URL: http://svn.digium.com/view/asterisk/team/file/media/UPGRADE-1.2.txt?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/UPGRADE-1.2.txt (original)
+++ team/file/media/UPGRADE-1.2.txt Wed Dec 10 20:24:15 2008
@@ -1,10 +1,17 @@
 =========================================================
+===
 === Information for upgrading from Asterisk 1.0 to 1.2
 ===
+=== This file documents all the changes that MUST be taken
+=== into account when upgrading between the Asterisk
+=== versions listed below. These changes may require that
+=== you modify your configuration files, dialplan or (in
+=== some cases) source code if you have your own Asterisk
+=== modules or patches. These files also includes advance
+=== notice of any functionality that has been marked as
+=== 'deprecated' and may be removed in a future release,
+=== along with the suggested replacement functionality.
 ===
-=== UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
-=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
-=== UPGRADE.txt     -- Upgrade info for 1.4 to 1.6
 =========================================================
 
 Compiling:

Modified: team/file/media/UPGRADE-1.4.txt
URL: http://svn.digium.com/view/asterisk/team/file/media/UPGRADE-1.4.txt?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/UPGRADE-1.4.txt (original)
+++ team/file/media/UPGRADE-1.4.txt Wed Dec 10 20:24:15 2008
@@ -1,10 +1,19 @@
 =========================================================
+===
 === Information for upgrading from Asterisk 1.2 to 1.4
 ===
+=== These files document all the changes that MUST be taken
+=== into account when upgrading between the Asterisk
+=== versions listed below. These changes may require that
+=== you modify your configuration files, dialplan or (in
+=== some cases) source code if you have your own Asterisk
+=== modules or patches. These files also includes advance
+=== notice of any functionality that has been marked as
+=== 'deprecated' and may be removed in a future release,
+=== along with the suggested replacement functionality.
 ===
 === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
-=== UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
-=== UPGRADE.txt     -- Upgrade info for 1.4 to 1.6
+===
 =========================================================
 
 Build Process (configure script):

Modified: team/file/media/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/team/file/media/UPGRADE.txt?view=diff&rev=162992&r1=162991&r2=162992
==============================================================================
--- team/file/media/UPGRADE.txt (original)
+++ team/file/media/UPGRADE.txt Wed Dec 10 20:24:15 2008
@@ -1,262 +1,62 @@
-=========================================================
-=== Information for upgrading from Asterisk 1.4 to 1.6
+===========================================================
 ===
+=== Information for upgrading between Asterisk 1.6 versions
+===
+=== These files document all the changes that MUST be taken
+=== into account when upgrading between the Asterisk
+=== versions listed below. These changes may require that
+=== you modify your configuration files, dialplan or (in
+=== some cases) source code if you have your own Asterisk
+=== modules or patches. These files also includes advance
+=== notice of any functionality that has been marked as
+=== 'deprecated' and may be removed in a future release,
+=== along with the suggested replacement functionality.
 ===
 === UPGRADE-1.2.txt -- Upgrade info for 1.0 to 1.2
 === UPGRADE-1.4.txt -- Upgrade info for 1.2 to 1.4
-=== UPGRADE.txt     -- Upgrade info for 1.4 to 1.6
-=========================================================
+=== UPGRADE-1.6.txt -- Upgrade info for 1.4 to 1.6
+===
+===========================================================
 
-AEL:
+From 1.6.0.1 to 1.6.1:
 
-* Macros are now implemented underneath with the Gosub() application.
-  Heaven Help You if you wrote code depending on any aspect of this!
-  Previous to 1.6, macros were implemented with the Macro() app, which
-  provided a nice feature of auto-returning. The compiler will do its
-  best to insert a Return() app call at the end of your macro if you did
-  not include it, but really, you should make sure that all execution
-  paths within your macros end in "return;".
+* The ast_agi_register_multiple() and ast_agi_unregister_multiple()
+  API calls were added in 1.6.0, so that modules that provide multiple
+  AGI commands could register/unregister them all with a single
+  step. However, these API calls were not implemented properly, and did
+  not allow the caller to know whether registration or unregistration
+  succeeded or failed. They have been redefined to now return success
+  or failure, but this means any code using these functions will need
+  be recompiled after upgrading to a version of Asterisk containing
+  these changes. In addition, the source code using these functions
+  should be reviewed to ensure it can properly react to failure
+  of registration or unregistration of its API commands.
 
-* The conf2ael program is 'introduced' in this release; it is in a rather
-  crude state, but deemed useful for making a first pass at converting
-  extensions.conf code into AEL. More intelligence will come with time.
+* The ast_agi_fdprintf() API call has been renamed to ast_agi_send()
+  to better match what it really does, and the argument order has been
+  changed to be consistent with other API calls that perform similar
+  operations.
 
-Core:
+From 1.6.0.x to 1.6.1:
 
-* The 'languageprefix' option in asterisk.conf is now deprecated, and
-  the default sound file layout for non-English sounds is the 'new
-  style' layout introduced in Asterisk 1.4 (and used by the automatic
-  sound file installer in the Makefile).
-
-* The ast_expr2 stuff has been modified to handle floating-point numbers.
-  Numbers of the format D.D are now acceptable input for the expr parser, 
-  Where D is a string of base-10 digits. All math is now done in "long double",
-  if it is available on your compiler/architecture. This was half-way between
-  a bug-fix (because the MATH func returns fp by default), and an enhancement.
-  Also, for those counting on, or needing, integer operations, a series of
-  'functions' were also added to the expr language, to allow several styles
-  of rounding/truncation, along with a set of common floating point operations,
-  like sin, cos, tan, log, pow, etc. The ability to call external functions
-  like CDR(), etc. was also added, without having to use the ${...} notation.
- 
-* The delimiter passed to applications has been changed to the comma (','), as
-  that is what people are used to using within extensions.conf.  If you are
-  using realtime extensions, you will need to translate your existing dialplan
-  to use this separator.  To use a literal comma, you need merely to escape it
-  with a backslash ('\').  Another possible side effect is that you may need to
-  remove the obscene level of backslashing that was necessary for the dialplan
-  to work correctly in 1.4 and previous versions.  This should make writing
-  dialplans less painful in the future, albeit with the pain of a one-time
-  conversion.  If you would like to avoid this conversion immediately, set
-  pbx_realtime=1.4 in the [compat] section of asterisk.conf.  After
-  transitioning, set pbx_realtime=1.6 in the same section.
-
-* For the same purpose as above, you may set res_agi=1.4 in the [compat]
-  section of asterisk.conf to continue to use the '|' delimiter in the EXEC
-  arguments of AGI applications.  After converting to use the ',' delimiter,
-  change this option to res_agi=1.6.
-
-* The logger.conf option 'rotatetimestamp' has been deprecated in favor of
-  'rotatestrategy'.  This new option supports a 'rotate' strategy that more
-  closely mimics the system logger in terms of file rotation.
-
-* The concise versions of various CLI commands are now deprecated. We recommend
-  using the manager interface (AMI) for application integration with Asterisk.
-
-* The following core commands dealing with dialplan has been deprecated: 'core
+* The following core commands dealing with dialplan have been deprecated: 'core
   show globals', 'core set global' and 'core set chanvar'. Use the equivalent
   'dialplan show globals', 'dialplan set global' and 'dialplan set chanvar'
   instead.
 
-* The silencethreshold used for various applications is now settable via a
-  centralized config option in dsp.conf.
-
-* The logical value of spaces immediately preceding a standalone 0 previously
-  evaluated to true.  It now evaluates to false.  This has confused a good
-  many people in the past (typically because they failed to realize the space
-  had any significance).  Since this violates the Principle of Least Surprise,
-  it has been changed.
-
-* The default console now will use colors according to the default background
-  color, instead of forcing the background color to black.  If you are using a
-  light colored background for your console, you may wish to use the option
-  flag '-W' to present better color choices for the various messages.  However,
-  if you'd prefer the old method of forcing colors to white text on a black
-  background, the compatiblity option -B is provided for this purpose.
-
-Voicemail:
-
-* The voicemail configuration values 'maxmessage' and 'minmessage' have
-  been changed to 'maxsecs' and 'minsecs' to clarify their purpose and
-  to make them more distinguishable from 'maxmsgs', which sets folder
-  size.  The old variables will continue to work in this version, albeit
-  with a deprecation warning.
-
-* If you use any interface for modifying voicemail aside from the built in
-  dialplan applications, then the option "pollmailboxes" *must* be set in
-  voicemail.conf for message waiting indication (MWI) to work properly.  This
-  is because Voicemail notification is now event based instead of polling
-  based.  The channel drivers are no longer responsible for constantly manually
-  checking mailboxes for changes so that they can send MWI information to users.
-  Examples of situations that would require this option are web interfaces to
-  voicemail or an email client in the case of using IMAP storage.
-
-* The externnotify script should accept an additional (last) parameter
-  containing the number of urgent messages in the INBOX.
-
-Applications:
-
-* SendImage() no longer hangs up the channel on transmission error or on
-  another type of error; in those cases, a FAILURE status is stored in 
-  SENDIMAGESTATUS and dialplan execution continues.  The possible return values
-  stored in SENDIMAGESTATUS are: SUCCESS, FAILURE, and UNSUPPORTED. ('OK' has
-  been replaced with 'SUCCESS', and 'NOSUPPORT' has been replaced with
-  'UNSUPPORTED').  This change makes the SendImage application more consistent
-  with other applications.
-
-* ChanIsAvail() now has a 't' option, which allows the specified device
-  to be queried for state without consulting the channel drivers. This
-  performs mostly a 'ChanExists' sort of function.
-
-* ChannelRedirect() will not terminate the channel that fails to do a
-  channelredirect as it has done previously. Instead CHANNELREDIRECT_STATUS
-  will reflect if the attempt was successful of not.
-
-* SetCallerPres() has been replaced with the CALLERPRES() dialplan function
-  and is now deprecated.
-
-* DISA()'s fifth argument is now an options argument.  If you have previously
-  used 'NOANSWER' in this argument, you'll need to convert that to the new
-  option 'n'.
-
-* Macro() is now deprecated.  If you need subroutines, you should use the
-  Gosub()/Return() applications.  To replace MacroExclusive(), we have
-  introduced dialplan functions LOCK(), TRYLOCK(), and UNLOCK().  You may use
-  these functions in any location where you desire to ensure that only one
-  channel is executing that path at any one time.  The Macro() applications
-  are deprecated for performance reasons.  However, since Macro() has been
-  around for a long time and so many dialplans depend heavily on it, for the
-  sake of backwards compatibility it will not be removed .  It is also worth
-  noting that using both Macro() and GoSub() at the same time is _heavily_
-  discouraged.
-
-* Read() now sets a READSTATUS variable on exit.  It does NOT automatically
-  return -1 (and hangup) anymore on error.  If you want to hangup on error,
-  you need to do so explicitly in your dialplan.
-
-* Privacy() no longer uses privacy.conf, so any options must be specified
-  directly in the application arguments.
-
-* MusicOnHold application now has duration parameter which allows specifying
-  timeout in seconds.
-
-* WaitMusicOnHold application is now deprecated in favor of extended MusicOnHold.
-
-* SetMusicOnHold is now deprecated. You should use Set(CHANNEL(musicclass)=...)
-  instead.
+* In the dialplan expression parser, the logical value of spaces
+  immediately preceding a standalone 0 previously evaluated to
+  true. It now evaluates to false.  This has confused a good many
+  people in the past (typically because they failed to realize the
+  space had any significance).  Since this violates the Principle of
+  Least Surprise, it has been changed.
 
 * While app_directory has always relied on having a voicemail.conf or users.conf file
   correctly set up, it now is dependent on app_voicemail being compiled as well.
 
-* The arguments in ExecIf changed a bit, to be more like other applications.
-  The syntax is now ExecIf(<cond>?appiftrue(args):appiffalse(args)).
-
-* The behavior of the Set application now depends upon a compatibility option,
-  set in asterisk.conf.  To use the old 1.4 behavior, which allowed Set to take

[... 21367 lines stripped ...]



More information about the asterisk-commits mailing list