dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

38 Commits

Author SHA1 Message Date
kpfleming d271a946b1 Merged revisions 328879 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/2.0

................
  r328879 | kpfleming | 2011-07-19 16:31:16 -0500 (Tue, 19 Jul 2011) | 23 lines
  
  Merged revisions 328878 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328878 | kpfleming | 2011-07-19 16:29:07 -0500 (Tue, 19 Jul 2011) | 17 lines
    
    Revert partial attempt at handling pathnames with spaces.
    
    Revision 299794 attempted to improve the build system to be able to handle
    pathnames (primarily DESTDIR) with spaces in them, since this is common on
    some platforms (including Mac OSX). Unfortunately, the changes were incomplete
    and did not actually provide the desired behavior, and as a side effect the
    functionality that ensured that stale headers in the Asterisk 'include' directory
    were removed got broken. In addition, the check for stale (and possibly
    incompatible) modules in the Asterisk 'modules' directory also got broken, and
    would never report any stale modules. Users upgrading to this version or later
    versions would then see unexpected module load errors.
    
    Since there are few users who actually want to install Asterisk into paths
    that contain spaces, and a proper fix for the build system would take many hours,
    the best solution for now is to just revert the partial solution.
  ........
................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@328881 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-19 21:32:54 +00:00
tilghman 7251be831b Merged revisions 299794 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r299794 | tilghman | 2010-12-27 14:41:04 -0600 (Mon, 27 Dec 2010) | 2 lines
  
  Mac OS X spaces-in-pathnames fix.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@299795 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-27 20:42:01 +00:00
kpfleming a321328986 Allow symbol export filtering to work properly on platforms that have symbol prefixes.
Some platforms prefix externally-visible symbols in object files generated
from C sources (most commonly, '_' is the prefix). On these platforms,
the existing symbol export filtering process ends up suppressing all the symbols
that are supposed to be left visible. This patch allows the prefix string
to be supplied to the top-level Makefile in the LINKER_SYMBOL_PREFIX variable,
and then generates the linker scripts as required to include the prefix
supplied.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@255906 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-02 18:57:58 +00:00
kpfleming 4f7d300b2d Change per-file debug and verbose levels to be per-module, the way
users expect them to work.

'core set debug' and 'core set verbose' can optionally change the
level for a specific filename; however, this is actually for a
specific source file name, not the module that source file is included
in. With examples like chan_sip, chan_iax2, chan_misdn and others
consisting of multiple source files, this will not lead to the
behavior that users expect. If they want to set the debug level for
chan_sip, they want it set for all of chan_sip, and not to have to
also set it for reqresp_parser and other files that comprise the
chan_sip module.

This patch changes this functionality to be module-name based instead
of file-name based.

To make this work, some Makefile modifications were required to ensure
that the AST_MODULE definition is present in each object file produced
for each module as well.

Review: https://reviewboard.asterisk.org/r/574/



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@253917 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-23 14:22:27 +00:00
kpfleming 3dbaf0de9a Merged revisions 207647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r207647 | kpfleming | 2009-07-21 08:04:44 -0500 (Tue, 21 Jul 2009) | 12 lines
  
  Ensure that user-provided CFLAGS and LDFLAGS are honored.
  
  This commit changes the build system so that user-provided flags (in ASTCFLAGS
  and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided
  by the build system itself, so that the user can effectively override the
  build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now
  be provided *either* in the environment before running 'make', or as variable
  assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS
  is no longer necessary, so they are no longer documented, but are still supported
  so as not to break existing build systems that supply them when building Asterisk.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207680 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21 13:28:04 +00:00
kpfleming 0a6e138eed Add-ons related build system improvements.
Ensure that add-on modules can be embedded, fix up Makefile.moddir_rules
to allow module directory Makefiles to more easily specify the modules to
be built, and explicitly list the addons modules in its Makefile, since
the module names don't follow any pattern.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@204415 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-30 17:04:35 +00:00
kpfleming e2574a3f92 Merged revisions 159476 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r159476 | kpfleming | 2008-11-26 12:36:24 -0600 (Wed, 26 Nov 2008) | 7 lines
  
  simplify (and slightly bug-fix) the recent developer-oriented COMPILE_DOUBLE mode
  
  ensure that 'make clean' removes dependency files for .i files that are created in COMPILE_DOUBLE mode
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159534 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-26 19:08:56 +00:00
kpfleming 89ca122df3 Merged revisions 157859 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines
  
  the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.
  
  with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).
  
  while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157974 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20 00:08:12 +00:00
kpfleming 296092ed22 Merged revisions 157162-157163 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r157162 | kpfleming | 2008-11-15 20:24:24 +0100 (Sat, 15 Nov 2008) | 1 line
  
  dist-clean should remove dependency information files as well
........
  r157163 | kpfleming | 2008-11-15 20:31:03 +0100 (Sat, 15 Nov 2008) | 1 line
  
  when an individual directory dist-clean is run, run clean in that directory first, and when running top-level dist-clean, do not run subdirectory clean operations twice
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157164 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-15 19:45:19 +00:00
kpfleming db07a1f968 Merged revisions 144924-144925 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r144924 | kpfleming | 2008-09-27 10:00:48 -0500 (Sat, 27 Sep 2008) | 6 lines
  
  improve header inclusion process in a few small ways:
  
    - it is no longer necessary to forcibly include asterisk/autoconfig.h; every module already includes asterisk.h as its first header (even before system headers), which serves the same purpose
    - astmm.h is now included by asterisk.h when needed, instead of being forced by the Makefile; this means external modules will build properly against installed headers with MALLOC_DEBUG enabled
    - simplify the usage of some of these headers in the AEL-related stuff in the utils directory
........
  r144925 | kpfleming | 2008-09-27 10:13:30 -0500 (Sat, 27 Sep 2008) | 2 lines
  
  fix some minor issues with rev 144924
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@144949 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-27 15:52:56 +00:00
rizzo 0a965e2bdc make the code match documentation - now you can specify multiple
words in MODULE_PREFIX.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93580 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-18 08:56:16 +00:00
kpfleming d4e966efcc Merged revisions 93180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93180 | kpfleming | 2007-12-16 22:44:51 -0800 (Sun, 16 Dec 2007) | 23 lines

In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.

While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93184 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-17 07:25:35 +00:00
rizzo aa85540763 Put into Makefile.moddir_rules the common instructions used to
generate loadable and embedded module lists.

Individual Makefiles now are a lot simpler, possibly as simple as this:

    -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/menuselect.makedeps
    MODULE_PREFIX=cdr_
    all: _all
    include $(ASTTOPDIR)/Makefile.moddir_rules

and also more flexible because in a single directory we can combine
various types of modules (app_, cdr_, func_, ... ) by simply
listing them in the MODULE_PREFIX variable.

The individual Makefiles can also create list of modules to be
excluded by listing them in the variablel MODULE_EXCLUDE (see an
example in channels/Makefile).

With this change it becomes trivial to integrate a directory with
locally created/modified sources into the main build.




git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92082 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-10 03:50:38 +00:00
rizzo 8cc18059de make the install target a bit less noisy
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92063 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-10 02:06:40 +00:00
rizzo d37a251e2f another place where ../ should have been ASTTOPDIR
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92023 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-09 21:32:30 +00:00
rizzo 03ef197f9e Fix building of modules under cygwin.
After this commit we can actually load modules under windows,
and we can start debugging more interesting problems related
to the load order and functionality of modules.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89454 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 16:12:10 +00:00
rizzo e87c861cca initial makefile changes to build loadable modules under cygwin
(not complete yet - still need to sort out dependecies on res_*)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89443 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 07:42:38 +00:00
rizzo a1bcb3dd4e as discussed some time ago on the -dev list, create embedde object
with a .eo suffix even if they are coming from .cc sources.
This simplifies the handling in the build scripts.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89387 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 17:27:26 +00:00
rizzo 9abcc5eaec and this is the last one to have asterisk compile (not run yet)
natively under cygwin.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89375 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 11:10:16 +00:00
rizzo 8e07f5311c compatibility fix for mingw32
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89352 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 02:50:52 +00:00
rizzo 31dceeb247 comment out an unused variable. Remove it in a few days
if no problems arise.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88764 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-05 20:50:26 +00:00
rizzo a81a01d13c merge two rules with the same right hand;
document a bit what is done here.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88587 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-05 17:27:02 +00:00
kpfleming 5aafb5a5e4 clean up assembler and preprocessor files if they are here too
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87467 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-29 22:24:44 +00:00
russell fe453b5ef2 Merged revisions 60603 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60603 | russell | 2007-04-06 15:58:43 -0500 (Fri, 06 Apr 2007) | 13 lines

To be able to achieve the things that we would like to achieve with the
Asterisk GUI project, we need a fully functional HTTP interface with access
to the Asterisk manager interface.  One of the things that was intended to be
a part of this system, but was never actually implemented, was the ability for
the GUI to be able to upload files to Asterisk.  So, this commit adds this in
the most minimally invasive way that we could come up with.

A lot of work on minimime was done by Steve Murphy.  He fixed a lot of bugs in
the parser, and updated it to be thread-safe.  The ability to check
permissions of active manager sessions was added by Dwayne Hubbard.  Then,
hacking this all together and do doing the modifications necessary to the HTTP
interface was done by me.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@60604 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-06 21:16:38 +00:00
kpfleming ac1f0d5427 give embedded modules a helping hand by backing up and restoring their global variables when they are loaded and unloaded
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56092 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-22 02:36:00 +00:00
kpfleming 7fdeb17c60 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: http://svn.digium.com/svn/asterisk/trunk@48527 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-16 21:24:52 +00:00
kpfleming a8442c9b22 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: http://svn.digium.com/svn/asterisk/trunk@44056 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-29 22:48:43 +00:00
kpfleming 170dae49be 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: http://svn.digium.com/svn/asterisk/trunk@44013 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-29 18:54:21 +00:00
kpfleming 832b801856 revert this since, since some unnamed platforms are silly about it :-)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43213 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-18 19:54:46 +00:00
kpfleming 84ff6b300b minor performance improvement for platforms where -fPIC and -fpic are actually different (has no effect on x86/x86-64)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43166 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-18 15:54:57 +00:00
kpfleming 0439aaa76a more makefile tweaks to keep targets from being run when they don't need to be
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42505 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-09 03:27:21 +00:00
kpfleming 0ba6df7e01 GNU make already knows how to quietly ignore non-existent files in 'include' directives
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41209 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 23:58:47 +00:00
kpfleming da5141501b more optimizations for embedded systems:
when LOADABLE_MODULES is off, don't export symbols from the main binary
  when LOADABLE_MODULES is off, and the compiler/linker support it, strip out code not used in the final binary


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41166 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 16:45:35 +00:00
kpfleming 8b0c007ad9 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: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 02:11:39 +00:00
kpfleming 51482ed964 more Makefile cleanup and consistency stuff
don't reuse LIBS variable from top-level Makefile (oops)
build Asterisk binary after subdirs (preparing for embedded modules)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37661 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-15 19:59:35 +00:00
kpfleming 661a4f572c use LDFLAGS and LIBS properly, and allow dependencies to provide LDFLAGS if needed (although none do today)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37653 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-15 16:40:05 +00:00
kpfleming e319f5334e make the build output less noisy (optional, can be controlled by the NOISY_BUILD variable in the top-level Makefile)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37273 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-06 23:18:45 +00:00
kpfleming 84cc5e8bd0 move rules file to prepare for generic rules file
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37222 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-06 21:04:28 +00:00